C语言模拟测验试题.docx

上传人:b****3 文档编号:11168640 上传时间:2023-05-29 格式:DOCX 页数:30 大小:44.64KB
下载 相关 举报
C语言模拟测验试题.docx_第1页
第1页 / 共30页
C语言模拟测验试题.docx_第2页
第2页 / 共30页
C语言模拟测验试题.docx_第3页
第3页 / 共30页
C语言模拟测验试题.docx_第4页
第4页 / 共30页
C语言模拟测验试题.docx_第5页
第5页 / 共30页
C语言模拟测验试题.docx_第6页
第6页 / 共30页
C语言模拟测验试题.docx_第7页
第7页 / 共30页
C语言模拟测验试题.docx_第8页
第8页 / 共30页
C语言模拟测验试题.docx_第9页
第9页 / 共30页
C语言模拟测验试题.docx_第10页
第10页 / 共30页
C语言模拟测验试题.docx_第11页
第11页 / 共30页
C语言模拟测验试题.docx_第12页
第12页 / 共30页
C语言模拟测验试题.docx_第13页
第13页 / 共30页
C语言模拟测验试题.docx_第14页
第14页 / 共30页
C语言模拟测验试题.docx_第15页
第15页 / 共30页
C语言模拟测验试题.docx_第16页
第16页 / 共30页
C语言模拟测验试题.docx_第17页
第17页 / 共30页
C语言模拟测验试题.docx_第18页
第18页 / 共30页
C语言模拟测验试题.docx_第19页
第19页 / 共30页
C语言模拟测验试题.docx_第20页
第20页 / 共30页
亲,该文档总共30页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

C语言模拟测验试题.docx

《C语言模拟测验试题.docx》由会员分享,可在线阅读,更多相关《C语言模拟测验试题.docx(30页珍藏版)》请在冰点文库上搜索。

C语言模拟测验试题.docx

C语言模拟测验试题

本次模拟测验是开卷形式,请大家认真对待,不懂得可以看书讨论,下午5:

30之前,把答案提交,文件名为:

学号(10位)+姓名。

一、选择题

1.C语言规定:

在一个源程序中,main函数的位置____。

A.必须在最开始。

B.可以任意。

C.必须在系统调用的库函数的后面。

D.必须在最后。

2.以下叙述正确的是____。

A.在C程序中,main函数必须位于程序的最前面。

B.C程序的每行中只能写一条语句。

C.C语言本身没有输入输出语句。

D.在对一个C程序进行编译的过程中,可以发现注释中的拼写错误。

3.一个C程序的执行是从____。

A.本程序的第一个函数开始,到本程序main函数结束

B.本程序的第一个函数开始,到本程序文件的最后一个函数结束

C.本程序的main函数开始,到本程序文件的最后一个函数结束

D.本程序的main函数开始,到main函数结束

4.下面四个选项中,均是不合法的用户标识符的选项是____。

A.A,P_0,doB.float,1a0,_A

C.b-a,goto,intD._123,temp,INT

5.在C语言中(以16位PC机为例),5种基本数据类型的存储空间长度的排列为____。

A.char

B.char=int

C.char

D.char=int=longint<=float

6.C语言中的标识符只能由字母、数字和下划线3中字符组成,且第一个字符____。

A.必须为字母或下划线B.必须为下划线

C.必须为字母D.可以是字母、数字和下划线中任一种字符

7.在C语言中,char型数据在内存中的存储形式是____。

A.补码B.反码C.原码D.ASCII码

8.若有说明语句:

charc='\72';则变量c____。

A.包含1个字符B.包含2个字符

C.包含3个字符D.说明不合法,c的值不确定

9.已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2='A'+'5'-'3';之后,c2中的字符为____。

A.67B.‘B’C.不确定的值D.‘C’

10.若有说明语句:

inta;charb;,以下输入函数语句正确的是____。

A.scanf("%f,%c",&a,&b);

B.scanf("%f,%c",a,b);

C.scanf("%d,%c",&a,&b);

D.scanf("%d,%c",a,b);

11.以下针对scanf函数的叙述中,正确的是____。

A.输入项可以为一实型常量,如scanf(“%f”,3.5);

B.只有格式控制,没有输入项,也能正确输入,如scanf(“a=%d,b=%d”);

C.当输入一个实型数据时,格式控制部分必须规定小数点后的位数,如scanf(“%4.2f”,&f);

D.当输入数据时,必须指明变量的地址,如scanf(“%f”,&f);

12.有定义语句:

“intx,y;”,若要通过“scanf(“%d,%d”,&x,&y);”语句使变量x得到数值2,变量y得到数值6,下面四组输入形式中,错误的是____。

表示回车)

A.26B.2,6

C.2,6D.2,6

13.能正确表示“x的取值在[1,10]范围内”的表达式是____。

A.(x>1)&&(x<=10)B.(x>=1)||(x<10)

C.(x>=1)&&(x<=10)D.(x>=1)||(x<=10)

14.判断char型变量ch为大写字母的正确表达式是____。

A.'A'<=ch<='Z'B.(ch>='A')&(ch<='Z')

C.(ch>='A')&&(ch<='Z')D.('A'<=ch)AND('Z'>=ch)

15.设有说明语句:

intx=43,y=0;charch=’A’;则表达式(x>=y&&ch<’B’&&!

y)的值是___。

A.1B.语法错C.0D.假

16.以下程序____。

main()

{inta=5,b=0,c=0;

if(a==b+c)printf("***\n");

elseprintf("$$$\n");}

A.有语法错不能通过编译B.输出$$$

C.输出***D.可以通过编译但不能通过连接

17.为了避免在嵌套的条件语句if-else中产生二义性,C语言规定else子句总是与____配对。

A.缩排位置相同的ifB.其之后最近的if

C.其之前最近的ifD.同一行上的if

18.在C语言中,紧跟在关键字if后一对圆括号里的表达式是____。

A.只能用逻辑表达式B.只能用关系表达式

C.只能用逻辑表达式或关系表达式D.可以是任意表达式

19.C语言中while和do-while循环的主要区别是____。

A.do-while的循环体不能是复合语句

B.while的循环控制条件比do-while的循环控制条件严格

C.do-while允许从外部转到循环体内

D.do-while的循环体至少无条件执行一次

20.设有程序段

intk=10;

while(k=0)k=k-1;

则下面描述中正确的是____。

A.while循环执行10次B.循环是无限循环

C.循环体语句一句也不执行D.循环体语句执行一次

21.下面程序的运行结果是____。

#include

main()

{inta=1,b=6;

do{b-=a;a++;}while(b--<0);

printf("a=%d,b=%d\n",a,b);

}

A.a=3,b=3B.a=2,b=4C.a=1,b=-1D.a=4,b=2

22.下面程序的运行结果是____。

#include

main()

{inty;

for(y=9;y>0;y--)

{if(y%3)

{printf("%d",--y);

continue;}

}

}

A.741B.852C.963D.875421

23.下面程序的运行结果是____。

#include

main()

{inti;

for(i=1;i<=5;i++)

{if(i%2)printf(“*”);

elsecontinue;

printf(“#”);}

printf(“$\n”);}

A.*#*#*#$B.#*#*#*$C.*#*#$D.#*#*$

24.下面程序的功能是在输入的一批正整数中求出最大者,输入0结束循环,请选择填空。

#include

main()

{inta,max=0;

scanf("%d",&a);

while(____)

{if(max

scanf("%d",&a);}

printf("%d",max);}

A.a!

=0B.a==0C.!

a==1D.!

a

25.下面程序段是从键盘输入的字符中统计数字字符的个数,用换行符结束循环。

请选择填空。

#include

main()

{intn=0,c;

c=getchar();

while(____)

{if(c<=’9’&&c>=’0’)n++;

c=getchar();}

}

A.c!

=’\n’B.c=’\n’C.c==’\n’D.c

26.以下对一维整型数组a的正确说明是____。

A.inta(10);B.intn=0,a[n];

C.intn;D.#defineSIZE10

scanf(“%d”,&n);inta[SIZE]

inta[n];

27.若有定义floatx[3]={1.3,2.4,5.6},y=6;,则错误的语句是____。

A.y=x[2];B.y=x[2]+1;C.y=x+1;D.x[0]=y;

28.若有说明:

inta[10];,则对a数组元素的正确引用是____。

A.a[10]B.a[3.5]C.a(5)D.a[9]

29.下面程序____。

(每行程序前面的数字表示行号)

1#include

2main()

3{

4inta[3]={0};

5inti;

6for(i=0;i<3;i++)scanf("%d",&a[i]);

7for(i=1;i<4;i++)a[0]=a[0]+a[i];

8printf("%d\n",a[0]);

9}

A.第4行有错误B.第6行有错误C.第7行有错误D.没有错误

30.下面程序____。

(每行程序前面的数字表示行号)

1#include

2main()

3{

4floata[3]={0.0};

5inti;

6for(i=0;i<3;i++)scanf("%d",&a[i]);

7for(i=1;i<3;i++)a[0]=a[0]+a[i];

8printf("%f\n",a[0]);

9}

A.第4行有错误B.第6行有错误C.第7行有错误D.没有错误

31.下面程序中有错误的行是____。

(每行程序前面的数字表示行号)

1#include

2main()

3{

4inta[3]={1};

5inti;

6scanf("%d",&a);

7for(i=1;i<3;i++)a[0]=a[0]+a[i];

8printf("%d\n",a[0]);

9}

A.第4行有错误B.第6行有错误C.第7行有错误D.没有错误

32.对两个数组a和b进行如下初始化,

chara[]="ABCDEF";

charb[]={'A','B','C','D','E','F'};

则以下叙述正确的是____。

A.a和b数组完全相同B.a与b长度相同

C.a的长度比b短D.a的长度比b长

33.判断字符串a和b相等,应当使用____。

A.if(a==b)B.if(a=b)

C.if(strcpy(a,b))D.if(!

strcmp(a,b))

34.下面程序段的运行结果是____。

chara[7]="abcdef";

charb[4]="ABC";

strcpy(a,b);

printf("%c\n",a[0]);

A.□(□表示一个空格)B.\0C.aD.A

35.C语言规定,函数返回值的类型是由____。

A.return语句中的表达式类型所决定

B.调用该函数时的主调函数类型所决定

C.调用该函数时系统临时决定

D.在定义该函数时所指定的函数类型所决定

36.若用数组名作为函数调用的实参,传递给形参的是____。

A.数组元素的个数

B.数组第一个元素的值

C.数组中全部元素的值

D.数组的首地址

37.C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是____。

A.地址传递

B.单向值传递

C.由实参传递给形参,再由形参传回给实参

D.由用户指定传递方式

38.以下正确的函数定义形式是____。

A.intf(intx,inty);

B.intf(intx;inty){…}

C.intf(intx,inty){…}

D.intf(intx,y){…}

39.在C语言程序中以下正确的描述是____。

A.函数的定义可以嵌套,但函数的调用不可以嵌套

B.函数的定义不可以嵌套,但函数的调用可以嵌套

C.函数的定义和函数的调用均不可以嵌套

D.函数的定义和函数的调用均可以嵌套

40.以下程序的运行结果是____。

#include

intfun(intn)

{intm=0,f=-1,i;

for(i=1;i<=n;i++){m=m+i*f;f=-f;}

returnm;

}

main()

{printf("%d\n",fun

(2));}

A.1B.-1C.2D.-2

41.以下程序的运行结果是____。

#include

intfun(inta,intb)

{if(a>b)return(a+b);

elsereturn(a-b);}

main()

{intx=3,y=8,z=6,r;

r=fun(fun(x,y),3*z);

printf("%d\n",r);}

A.-22B.-23C.23D.22

42.以下程序的运行结果是____。

#include

intfun(inta,intb)

{return(a-b)*a;}

main()

{intx=3,y=4,z=5,r;

r=fun(fun(x,z),fun(z,y));

printf("%d\n",r);}

A.-16B.-66C.66D.16

43.若已定义inta=5;下面对①、②两个语句的正确解释是____。

①int*p=&a;②*p=a;

A.语句①和②中的*p含义相同,都表示给指针变量p赋值

B.①和②语句的执行结果,都是把变量a的地址值赋给指针变量p

C.①在对p进行说明的同时进行初始化,使p指向a;②将变量a的值赋给指针变量p

D.①在对p进行说明的同时进行初始化,使p指向a;②将变量a的值赋为*p

44.若需要建立如下图所示的存储结构,且已有说明char*p,a=’A’;则正确的赋值语句是____。

A.p=&a;B.p=a;C.*p=a;D.*p=&a;

45.有如下语句inta=10,b=20,*p1,*p2;p1=&a;p2=&b;如图1所示;若要实现图2所示的存储结构,可选用的赋值语句是____。

图1图2

A.*p1=*p2;B.p1=*p2;C.p1=p2;D.*p1=p2;

46.若有定义:

inta[5];则a数组中首元素的地址可以表示为____。

A.&aB.aC.a+1D.&a[1]

47.若有定义:

inta[4],*p=a;则对a数组元素的正确引用是____。

A.*&a[4]B.a+2C.*(p+4)D.*(a+2)

48.若有定义:

inta[5],*p=a;则对a数组元素地址的正确引用是____。

A.p+5B.*a+1C.&a+1D.&a[1]

49.设p1和p2是指向同一个字符串的指针变量,c为字符变量,则以下不能正确执行的赋值语句是____。

A.c=*p1+*p2;B.p2=c;C.p1=p2;D.c=*p1

50.下面程序段的运行结果是____。

char*s=”abcde”;

s+=2;printf(“%d”,s);

A.cdeB.字符c的地址C.字符cD.无确定的输出结果

51.下面程序段的运行结果是____。

chara[]="language",*p;

p=a;

while(*p!

='g'){printf("%c",*p-32);p++;}

A.LANGUAGEB.languageC.LAND.language

52.下面程序的运行结果是____。

#include

voidsub(intx,inty,int*z)

{*z=y+x;}

main()

{inta;

sub(10,5,&a);

printf("%d\n",a);}

A.5B.15C.10D.-10

53.下面程序的运行结果是____。

#include

voidfun(int*x,int*y)

{printf("%d%d",*x,*y);

*x=3+*x;

*y=4+*y;}

main()

{intx=1,y=2;

fun(&x,&y);

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

A.1246B.1212C.1234D.2112

54.下面程序的运行结果是____。

#include

main()

{int*p1,*p2,a=2,b=3;

p1=&a;

p2=&b;

if(a

p2=&a;}

printf("%d,%d\n",a,b);}

A.3,2B.2,2C.2,3D.3,3

55.下面关于结构体的说法错误的是____。

A.结构体是由用户构造的一种数据类型

B.结构体成员可以具有不同的数据类型

C.结构体中的成员不可以与结构体变量同名

D.结构体中的成员可以是指向自身结构的指针类型

56.设有以下说明语句

structstu

{inta;

floatb;

}stutype;

则下面的叙述不正确的是____。

A.struct是结构体类型的关键字

B.structstu是用户定义的结构体类型

C.stutype是用户定义的结构体类型名

D.a和b都是结构体成员名

57.以下scanf函数调用语句中对结构体变量成员的不正确引用是____。

structpupil

{charname[20];

intage;

intsex;

}pup[5],*p;

p=pup;

A.scanf("%s",pup[0].name);B.scanf("%d",&pup[0].age);

C.scanf("%d",&(p->sex));D.scanf("%d",(p->age);

二、程序阅读题

1.下面程序的运行结果是________。

#include

main()

{intx=5;

switch(x)

{case1:

case2:

case3:

case4:

printf("x<5");

case5:

printf("x=5");

default:

printf("Thevalueofxisunknown.\n");

}

}

2.若运行以下程序时输入35*,则程序的运行结果是________。

#include

main()

{intx,y,r;

charop;

scanf("%d%d%c",&x,&y,&op);

switch(op)

{case'+':

r=x+y;break;

case'-':

r=x-y;break;

case'*':

r=x*y;break;

}

printf("%d\n",r);

}

3.若a、b、c均已正确定义且a=0、b=2、c=3,则下面程序段的输出是____。

switch(a)

{case0:

switch(b==2)

{case1:

printf("&");break;

case2:

printf("%");break;

}

case1:

switch(c)

{case1:

printf("$");break;

case2:

printf("*");break;

default:

printf("#");

}

}

4.下面程序的运行结果是________。

#include

main()

{inti,s,t;

s=0;

t=1;

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

{t=t*i;

s=s+t;

}

printf("%d\n",s);

}

5.以下程序运行的结果是________。

#include

main()

{intx=5;

If(x==2)printf("OK\n");

else

if(x<2)printf("%d\n",x);

elseprintf("QUIT\n");

}

6.当运行以下程序时,从键盘输入12,则下面程序的运行结果是_______。

#include

main()

{inta,b,m,n;

m=1;

n=1;

scanf("%d%d",&a,&b);

do

{if(a>0){m=2*n;b++;}

else{n=m+n;a+=2;b++;}

}while(a==b);

printf("m=%d,n=%d",m,n);

}

7.下面程序的运行结果是________。

#include

main()

{inti;

chara[]="Time",b[]="Tom";

for(i=0;a[i]!

='\0'&&b[i]!

='\0';i++)

if(a[i]==b[i])

if(a[i]>='a'&&a[i]<='z')printf("%c",a[i]-32);

elseprintf("%c",a[i]+32);

elseprintf("*");

}

8.下面程序的运行结果是_______

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

当前位置:首页 > PPT模板 > 国外设计风格

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

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