《c程序设计》考试试题2.docx

上传人:b****1 文档编号:2673788 上传时间:2023-05-04 格式:DOCX 页数:19 大小:19.22KB
下载 相关 举报
《c程序设计》考试试题2.docx_第1页
第1页 / 共19页
《c程序设计》考试试题2.docx_第2页
第2页 / 共19页
《c程序设计》考试试题2.docx_第3页
第3页 / 共19页
《c程序设计》考试试题2.docx_第4页
第4页 / 共19页
《c程序设计》考试试题2.docx_第5页
第5页 / 共19页
《c程序设计》考试试题2.docx_第6页
第6页 / 共19页
《c程序设计》考试试题2.docx_第7页
第7页 / 共19页
《c程序设计》考试试题2.docx_第8页
第8页 / 共19页
《c程序设计》考试试题2.docx_第9页
第9页 / 共19页
《c程序设计》考试试题2.docx_第10页
第10页 / 共19页
《c程序设计》考试试题2.docx_第11页
第11页 / 共19页
《c程序设计》考试试题2.docx_第12页
第12页 / 共19页
《c程序设计》考试试题2.docx_第13页
第13页 / 共19页
《c程序设计》考试试题2.docx_第14页
第14页 / 共19页
《c程序设计》考试试题2.docx_第15页
第15页 / 共19页
《c程序设计》考试试题2.docx_第16页
第16页 / 共19页
《c程序设计》考试试题2.docx_第17页
第17页 / 共19页
《c程序设计》考试试题2.docx_第18页
第18页 / 共19页
《c程序设计》考试试题2.docx_第19页
第19页 / 共19页
亲,该文档总共19页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

《c程序设计》考试试题2.docx

《《c程序设计》考试试题2.docx》由会员分享,可在线阅读,更多相关《《c程序设计》考试试题2.docx(19页珍藏版)》请在冰点文库上搜索。

《c程序设计》考试试题2.docx

《c程序设计》考试试题2

C语言测试题

一、选择题

1、下列不属于C语言关键字的是_______

A.defaultB.registerC.enumD.external

 

2、以下运算符中优先级最低的为_______

A,&&B,&C,||D,=

 

3、已知:

floatx=1,y;则:

y=++x*++x的结果为

A,y=9B,y=6C,y=1D,表达式是错误的

 

4、有关宏代换叙述中错误的是_______

A,宏代换不占用运行时间B,宏名无类型C,宏代换只是字符替换

D,宏名必须用大写字母表示

 

5、若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为_______

A,a<>0B,!

aC,a=0D,a

 

6、已知:

intx,a,b;下列选项中错误的if语句是_______

A,if(a=b)x++B,if(a=

 

7执行语句“for(i=0;i++<3;);”后,变量i的值为_______

A,2B,3C,4D,5

 

8在while(x)中的x与下面条件表达式等价的是_______

A,x==0B,x==1C,x!

=1D,x!

=0

 

9、定义inti=1;执行语句“while(i++<5);”后,i的值为

A,3B,4C,5D,6

 

10、C语言中进行乘方运算,例如求a的3次方,可以使用_______

A,a^3B,a**3C,pow(a,3)D,power(a,3)

 

11、C语言中的返回值是由_______决定的。

A,return语句中的表达式类型B,调用该函数的主调函数类型

C,调用函数时临时决定D,定义函数时所指定的函数类型

 

12、在一个源文件中定义的外部变量的作用域是_______

A,本文件的全部范围B,本程序的全部范围C,本函数的全部范围

D,从定义该变量的位置开始至本文件结束

 

13、在一个C圆程序文件中,若要定义一个只允许在该源文件中所有函数使用的变量,则该变量需要的存储类别是_______

A,externB,registerC,autoD,static

 

14、调用strlen(“abcd\0ef\0g”)的返回值是_______

A,4B,5C,8D,9

 

15、若用数组名作为函数调用时的实参,则实际上传递给形参的是_______

A,数组首地址B,数组的第一个元素值C,数组中全部元素的值

D,数组元素的个数

 

16、已知:

charstr1[20]=”abcde”,str[20]=”xyz”;则执行语句:

printf(“%d”,strlen(strcpy(str1,str2)));

输出结果是_______

A,9B,3C,5D,8

 

17、以下不能对二维数组a进行正确初始化的语句是_______

A,inta[2][3]={0}B,inta[][3]={{1,2},{0}}

C,inta[2][3]={{1,2},{3,4},{5,6}}D,inta[][3]={1,2,3,4,5,6}

 

18、在C语言中,二维数组在内存中的存放顺序是_______

A,按行存放B,按列存放C,由用户自己定义D,由编译器决定

 

19、选择正确的说明语句

A,inta[‘a’]B,inta[3,4]C,inta[][]D,inta(*a)[10]

 

20、已知:

chars[10],*p=s,则在下列语句中,错误的语句是_______

A,p=s+5;B,s=p+sC,s[2]=p[4]D,*p=s[0]

 

21、C语言主函数main最多允许有_______个参数

A,1B,2C,0D,3

 

22、已知:

intx[]={1,3,5,7,9,11},*ptr=x;则能正确引用数组元素的语句是_______

A,xB,*(ptr--)C,x[6]D,*(--ptr)

 

23、下列结论中正确的有_______

A,所有的递归程序均可以采用非递归算法实现

B,只有部分递归程序可以用非递归算法实现

C,所有的递归程序均不可以采用非递归算法实现

D,以上说法都不对

 

24、在C语言的函数调用过程中,如果函数funA调用了函数funB,函数funB又调用了funA,则_______

A,称为函数的直接递归B,称为函数的间接递归

C,称为函数的递归定义D,C语言中不允许这样的递归形式

 

二、阅读程序

1、编译执行下列程序,结果是

#include

main()

{

inti=6,y=4,z=2;pintf(“%d\n”,i/y%z);

}

A,错误信息,不能执行B,0C,1D,2

 

2、下面程序的输出是

#defineSUB(X,Y)(X)*Y

main()

{inta=3,b=4;

printf(“%d\n”,SUB(a++,b++));

}

A,12B,15C,16D,20

 

3、阅读程序,选择运行结果

#include

main()

{charc=’A’;

if(‘0’<=c<=’9’)

printf(“YES”);

else

printf(“%d,%d\n”,a,b);

}

A,YESB,NOC,YESNOD,语句错误

 

4、阅读程序,选择运行结果

#include

main()

{inta,b,c;

a=1;b=2;c=3;

if(a>b)

if(a>c)

printf(“%d”,a);

elseprintf(“%d”,a);

printf(“%d\n”,c);

}

A,12B,23C,3D,以上都不对

 

5、若运行下列程序时,输入以下指定数据,请选择正确的执行结果

#include

main()

{ints;

while((s=getchar())!

=’\n’)

{switch(s-‘2’)

{case0:

case1:

putchar(s+4);

case2:

putchar(s+4);break;

case3:

putchar(s+3);

default:

putchar(s+2);break;

}

}

printf(“\n”);

}

自第一列开始输入:

2473〈CR〉

A,6688766B,66778777C,668966D,668977

 

6、下面程序的运行结果是

#include

main()

{inti=1;

while(i<=15)

if(++i%3!

=2)continue;

elseprintf(“%d”,I);

printf(“\n”);

}

 

7、下面程序的运行结果是

#include

voidmain()

{intj,i,k=0;

for(j=11;j<=30;j++)

{if(k%10==0)printf(“\n”);

for(i=2;i

if(!

(j%i))break;

if(i>=j-1)

{printf(“%d\t”,j);

k++;

}

}

}

 

8、请选择下列程序的运行结果

#include

fun(int*p)

{inta=10;

p=&a;

++a;

}

main()

{inta=5;

fun(&a);

printf(“%d\n”,a);

}

A,5B,6C,10D,11

 

9、请选择下列程序的运行结果

#include

try()

{staticintx=3;

x++;

return(x);

}

main()

{inti,x;

for(i=0;i<=2;i++)

x=try();

printf(“%d\n”,x);

}

A,3B,4C,5D,6

 

10、请选择下列程序的运行结果

#include

intd=1;

fun(intp)

{intd=5;d+=a++;

printf(“%d“,d)

}

main()

{inta=3;

fun(a);

d+=a++;

printf(“%d”,d);

}

A,84B,96C,94D,85

 

11、写出程序执行结果

#include

main()

{intx=10;

{intx=20;

printf(“%d,“,x);

}

printf(“%d\n”,x);

}

 

12、写出程序执行结果

#include

main()

{intx=1;

voidf1(),f2();

f1();f2(x);

printf(“x=%d\n”,x);

}

voidf1(void)

{intx=3;

printf(“x=%d\t”,x);

}

voidf2(x)

intx;

{printf(“x=%d\t”,++x);

}

 

13、请选择下列程序的运行结果

#include

main()

{inti,k,a[10],p[3];

k=5;

for(i=0;i<10;i++)

a[i]=i;

for(i=0;i<3;i++)

p[i]=a[i*(i+1)];

for(i=0;i<3;i++)

k+=p[i]*2;

printf(“%d\n”,k);

}

A,20B,21C,22D,23

 

14、写出程序执行结果

#include“stdio.h”

main()

{charstr[30];

gets(str);

printf(“%s\n”,str);

}

运行程序,输入:

FortranLanguage

 

15、写出程序执行结果

#include

#include

main()

{charstr[100]=”Howdoyoudo”;

strcopy(str+strlen(str)/2,”esshe”);

printf(“%s\n”,str);

}

 

16、下面程序的功能是把字符串s中所有的‘c’删除。

请选择填空。

#include

main()

{chars[80];

inti,j;

gets(s);

for(i=j=0;s[i]!

=’\0’;I++)

if(s[i]!

=’c’)();

s[j]=’\0’;

puts(s);

}

A,s[j++]=s[i]B,s[++j]=s[i]C,s[j]=s[i]D,s[j]=s[i]

 

17、请选择下列程序的运行结果

#include

main()

{staticinta[2][3]={{1,2,3},{4,5,6}};

intm,*ptr;

ptr=&a[0][0];

m=(*ptr)*(*(ptr+4));

printf(“%d\n”,m);

}

A,15B,48C,24D,无定值

 

18、请选择下列程序的运行结果

#include

main()

{staticchara[]=”language”;

char*ptr=a;

while(*ptr)

{printf(“%c”,*ptr-32);

ptr++;

}

}

A,LANGUAGEB,陷入死循环C,有语法错误D,language

 

19、写出程序的运行结果

#include

charb[]=”program”;

char*a=”PROGREM”;

main()

{inti=0;

printf(“%c%s\n”,*a,b+1);

while(putchar(*(a+i)))i++;

printf(“i=%d\n”,i);

while(--i)

putchar(*(b+i));

printf(“\n%s\n”,&b[3]);

}

 

20、写出程序的运行结果

#include

#include

voidfun(char*w,intm)

{chars,*p1,*p2;

p1=w;

p2=w+m-1;

while(p1

{s=*p1++;p1=p2--;*p2=s;}

}

main()

{staticchara[]=”ABCDEFG”;

fun(a,strlen(a));

puts(a);

}

 

21、选择程序的运行结果

#include”stdio.h”

main()

{intx;

x=try(5);

printf(“%d\n”,x);

}

try(intn)

{if(n>0)

return(n*try(n-2));

else

return

(1);

}

A,15B,120C,1D,以上都不对

 

22、选择程序的运行结果

#include”stdio.h”

longfib(intn)

{if(n>2)

return(fib(n-1)+fib(n-20);

else

return

(2);

}

main()

{printf(“%ld\n”,fib(6));

}

A,8B,16C,30D,以上都不对

 

23、选择程序的运行结果

#include“stdio.h”

main()

{inta,i,j;

for(i=0;i<2;i++)

{a=f(4+i);

printf(“%d\n”,a);

}

}

f(intm)

{staticintn=0;

m/=2;m=m*2;

if(m)

{n*=m;return(f(m-2));

}

elsereturn(n);

}

1、第一次输出结果:

A,8B,0C,64D,4

2、第二次输出结果:

A,8B,0C,64D,4

 

24、写出程序的运行结果

#include

bin(intx)

{if(x/2>0)bin(x/20;

printf(“%d”,x%2);

}

main()

{bin(12);

}

 

三、程序填空:

1、函数primedec(m)是求整m的所有素数因子,并输出。

例如:

m=120时,输出的素数因子为:

2,2,2,3,5,

程序如下:

primedec(intm)

{intk=2;

while(k<=m)

if(m%k__1__)

{printf("%d,",k);

__2__;

}

else

__3__;

}

2、main函数利用函数abcd来交换main中的两个变量的值。

#include

main()

{intx=10,y=20;

abcd(__1__);

printf("%d,%d\n",x,y);

}

abcd(x,y)

{inttemp;

temp=__2__;

__3__;

__4__;

}

 

3、程序读入20个整数,统计非负数个数,并计算非负数之和。

#include

main()

{inti,a[20],s,count;

s=count=0;

for(i=0;i<20;i++)

scanf("%d",__1__);

for(i=0;i<20;i++)

{if(a[i]<0)

__2__;

s+=a[i];

count++;

}

printf("s=%d\tcount=%d\n",s,count);

}

4、下面程序的功能是:

从键盘上输入一行字符,存入一个字符数组中,然后输出该字符串。

main()

{charstr[81],*ptr;

inti;

for(i=0;i<80;i++)

{str[i]=getchar();

if(str[i]=='\n')break;

}

str[i]=__1__;

sptr=str;

while(*sptr)

putchar(*sptr__2__);

}

 

四、编程:

1编程解决“百钱百鸡”问题。

其中:

一只公鸡五块钱,一只母鸡三块钱,三只小鸡一块钱,请编程输出所有的解。

2编写一个程序,要求能提示用户输入年月日,并输出该天为该年的第几天。

例:

输入:

2001,3,19输出:

78

3输入n值,输出相对应的图形。

##

##

n=3#

##

##

例:

##

n=2#

##

n=1#

 

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2