C语言程序设计题库附答案.docx

上传人:b****7 文档编号:23811035 上传时间:2023-05-21 格式:DOCX 页数:68 大小:73.33KB
下载 相关 举报
C语言程序设计题库附答案.docx_第1页
第1页 / 共68页
C语言程序设计题库附答案.docx_第2页
第2页 / 共68页
C语言程序设计题库附答案.docx_第3页
第3页 / 共68页
C语言程序设计题库附答案.docx_第4页
第4页 / 共68页
C语言程序设计题库附答案.docx_第5页
第5页 / 共68页
点击查看更多>>
下载资源
资源描述

C语言程序设计题库附答案.docx

《C语言程序设计题库附答案.docx》由会员分享,可在线阅读,更多相关《C语言程序设计题库附答案.docx(68页珍藏版)》请在冰豆网上搜索。

C语言程序设计题库附答案.docx

C语言程序设计题库附答案

一、选择题

1、可以在C语言中使用的一组用户标识符是()。

A、3BsizeofDOB、ab34c1_c2_for

C、_123t2_a1_printfD、void6bhat

2、以下均是字符常量或数值常量的选项是()。

A、0.00f8.9e‘&’B、”A”3.9e-2.51e1

C、’3’0110xff000aD、0xabcd2e350.

3、以下选项中正确的实型常量是()。

A、0B、0.618*10C、567D、3.1415

4、将汇编语言编写的程序翻译为目标程序的是()程序。

A、解释B、编译C、汇编D、目标

5、不属于面向机器的语言是()。

A、符号语言B、机器语言C、汇编语言D、C语言

6、程序段的基本结构中,不包含()。

A、函数结构B、循环结构C、顺序结构D、分支结构

7、下列符号中,不属于转义字符的是()。

A、\\B、\0xaaC、\0D、\t

8、正确的C语言标识符是()。

A、_sum_1B、1_sumC、?

_sumD、sum?

9、增1减1运算只能作用于()。

A、常量B、变量C、表达式D、函数

10、设“inta=2,b=2;”,则++a+b的结果是(),a的结果是(),b的结果是()。

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

11、下列运算符中优先级最高级的是()。

A、++B、%C、*D、=

12、设“inta=2;”,则表达式“(a++*1/3)”的值是(),a的值是()。

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

13、字符数据在内存中的存储代码采用的是()。

A、反码B、补码C、EBCDIC码D、ASCII码

14、chara;intb;floatc;doubled;

则表达式a*b+d-c值的类型为()。

A、intB、floatC、doubleD、char

15、字符串”\”\123\n\321a”的长度是()。

A、1B、5C、9D、13

16、下列常量中,不属于字符常量的是()。

A、’\1x’B、’0’C、’\’’D、’\n’

17、语句printf("a\bre\'hi\'y\\\bou\n");的输出结果是

A.a\bre\'hi\'y\\\bouB.a\bre\'hi\'y\bou

C.re'hi'youD.abre'hi'y\bou

18、设整型变量k的值为011,下列表达式中值不为1的是()。

A、k%8B、k/8C、++k-8D、k++-8

19、设整型变量m的值为2,则执行printf("%d,",m+++m---m++);

printf("%d\n",m);后的结果是()。

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

20、整型变量x、y和z已定义并已赋值,下列表达式正确的是()。

A、x=5++B、5=x++C、x=y=z==xD、x=y+1=z

21、设整型变量m的值为8,则表达式“m-=m+=m*=m/=m”的值是()。

A、8B、1C、0D、-1

22、设有整型变量x、y和z,则下列表达式中不属于逗号表达式的是()。

A、x>y,z=0B、x,y=zC、x++,(y,z)D、x=(y,z)

23、在C语言数据类型转换原则中,以下错误的是()。

A、若+、-、*、/运算的两个数中有一个数为实型,则结果为实型。

B、如果int型与double型数据进行运算,结果是double型。

C、char型与int型进行运算,把字符型数据的ASCII码与整型数据进行运算,结果为整型。

D、char型与int型进行运算,运算结果为char型。

24、设有整型变量x和单精度型变量y,最终运算结果不是单精度型的表达式是()。

A、(int)y+xB、(int)x+y

C、(float)y+xD、(float)x+y

25、若已定义x和y为double类型,则表达式:

x=1,y=x+3/2的值是( )。

A、1  B、 2   C、 2.0  D、 2.5

26、以下叙述正确的是()。

A、在C程序中无论是整数还是浮点数,只要允许的范围内都准确无误地表示。

B、若有“doublea,b;”定义,可以直接执行语句“a=b+3.456;”因为b已正确定义。

C、在C语言中,常量、变量、函数调用都是表达式的一种

D、在main函数中,一旦定义一个变量,系统将自动赋给它初值。

27、以下选项中,不正确的赋值语句是()。

A、i++;B、i+=7;C、x+y=z;D、y=(int)x+4;

28、以下选项中不是C语言语句的是()。

A、{inti=1;i++;}B、;

C、k=5,a=10D、{;;}

29、设整形变量n的值为9,下列表达式中值为1的表达式是()。

A、!

nB、!

n>1C、!

n!

=1D、!

n!

==1

30、不能正确表达数学中逻辑关系“y在x和z之间(x

A、(x

((x>=y)||(y>=z))

C、!

(!

(x

(y

31、设整形变量m和n的值均为1,计算表达式“(m=m!

=n)&&(n=m==n)”后,m和n的值是()。

A、1,1B、1,0C、0,1D、0,0

32、设整形变量x的值为8,则表达式“x>5?

x++:

--x”的值是()。

A、9B、8C、7D、1

33、设有整形变量m,n和k的值均为6,则表达式“n=k=++m,m=n!

=k”的值是()。

A、0B、1C、6D、7

34、下列表达式中,值不为4的表达式是()。

A、sizeof(double)B、sizeof(float)

C、sizeof(long)D、sizeof(unsignedlong)

35、能判断整形变量m是偶数的正确表达式是()。

A、m/2B、m%2C、m%2!

=0D、m%2==0

36、设字符型变量ch的值为’A’,整型变量m的值为1,假定执行ch=getchar();m=getchar();时,从键盘输入B<回车>,则变量ch和m的值分别为()。

A、’A’和’1’B、’B’和’1’

C、’B’和‘□’D、’B’和’\n’

(注:

□表示空格)

37、设字符型变量ch的值为’A’,整型变量m的值为’1’,假定执行putchar(m);putchar(‘□‘);putchar(ch);后,则输出结果是()。

A、A1B、1AC、A□1D、1□A

38、设整型变量a和b的值分别为8和9,printf(“%d,%d”,(a++,++b),b--);的输出是()。

A、8,8B、8,7C、9,9D、10,9

39、设有下列程序段,则其正确的输出是()。

intx=011,y=0x11;

printf(“x=%-3dy=%3d”,x,y);

A、□□917□B、x=9□□y=□17

C、x=□□9y=17□D、x=11y=x11

40、运行下列程序的输出是()。

main()

{charch=’B’;

printf(“%c%d”,ch,ch++);

}

A、C65B、B65C、B66D、C66

41、若a、b、c均为int类型,要给a、b、c输入数据,正确的输入语句是()。

A、read(a,b,c);B、scanf(“%d%d%d”,a,b,c);

C、scanf(“%D%D%D”,a,b,c);D、scanf(“%d%d%d”,&a,&b,&c);

42、以下程序,输入ABC<回车>后,执行结果是()。

main()

{charc;

scanf(“%3c”,&c);

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

}

A、ABCB、AC、BD、C

43、以下程序()。

main()

{intx=0,y=0,z=0;

if(x=y+z)printf(“******\n”);

elseprintf(“######\n”);

}

A、有语法错误,不能编译通过B、输出******

C、可以通过编译,但不能通过连接,因此不能运行D、输出######

44、以下程序输出结果为()。

main()

{inta=2,b=-1,c=2;

if(a

if(b<0)c=0;

elsec+=1;

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

}

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

45、以下程序输出结果为()。

main()

{inta=2,b=-1,c=2;

if(a

{if(b<0)c=0;}

elsec+=1;

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

}

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

46、以下()为不正确的if语句。

A、if(x

B、if(x!

=y)scanf(“%d”,&x)elsescanf(“%d”,&y);

C、if(x==y)x+=y;

D、if(x

47、若执行以下程序时从键盘输入5,则输出结果为()。

main()

{intx;

scanf(“%d”,&x);

if(x++<5)printf(“%d\n”,x);

elseprintf(“%d\n”,x--);

}

A、7B、6C、5D、4

48、设字符型变量ch已有值,下列语句中错误的是()。

A、scanf(“%c%c”,ch,ch);B、{intch=6;printf(“%d”,ch);}

C、5;D、ch>48&&ch<0x3A;

49、设整形变量x,y,z的值值分别为3,2,1,则下列程序段的输出是()。

if(x>y)x=y;if(x>z)x=z;printf(“%d,%d,%d\n”,x,y,z);

A、1,1,1B、1,2,1

C、1,2,3D、3,2,1

50、执行下列程序段后,变量x的值是()。

inta=8,b=7,c=6,x=1;

if(a>6)if(b>7)if(c>8)x=2;elsex=3;

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

51、运行下列程序的结果是()。

main()

{floatx=-28.9,y;

if(x<0)y=-x;else

if(x<0)y=x;elsey=0;

printf(“%f\n”,y);

}

A、-28.9B、28.9C、-28D、28

52、运行下列程序的结果是()。

main()

{inta1=10,a2=-9,a3=0,a4=100,x;

if(a1

if(a1

if(a2

printf(“%d,%d,%d,%d\n”,a1,a2,a3,a4)

}

A、-9,0,10,100B、100,10,0,-9

C、0,-9,10,100D、100,10,-9,0

53、运行下列程序的结果是()。

main()

{inta1=1,a2=1,a3=1,a4=1;

if(a1>0)a3++;

if(a1>a2)a3--;

elseif(a1==a2)a3++;

elsea3--;

printf(“%d,%d,%d,%d\n”,a4,a3,a2,a1);

}

A、1,1,1,1B、1,2,3,4

C、4,3,2,1D、1,3,1,1

54、下列正确的switch语句是()。

A、switch(x)

{case1.0:

printf(“*\n”);

case2.0:

printf(“**\n”);}

B、switch(intx)

{case1:

printf(“*\n”);

case2:

printf(“**\n”);}

C、switch(a+b)

{case1:

printf(“*\n”);

case1+2:

printf(“***\n”);}

D、switch(a+b);

{case1:

printf(“*\n”);

case2:

printf(“*\n”);}

(说明:

switch后面的表达式(由常数、符号常量组成的表达式)必须为整型,也可用字符表达式。

因此,选项A的case后出现实型常量是不对的,选项Bswitch后面的括号中只能出现变量名,而出现类型说明符是不对的,选项C中switch后面的表达式多了一个分号)

55、以下程序段的输出结果是()。

intx=0,y=2,z=3;

switch(x+1)

{case1:

switch(y==2)

{case1:

printf(“*”);break;

case2:

printf(“%”);break;}

case2:

switch(z)

{case1:

printf(“$”);

case2:

printf(“*”);break;

default:

printf(“#”);}

}

A、*#B、*$*C、*%$*#D、*

56、以下语句中,()不可能做到提前退出循环体语句。

A、gotoB、breakC、continueD、return

57、执行下列语句后,整型变量x的值为()。

switch(x=1){case0:

x=10;break;

case1:

switch(x=2){case1:

x=20;break;

case2:

x=30;

}

}

A、30B、20C、10D、1

58、执行下列程序后的输出结果是()。

charx=’9’;

while(x>’7’)

printf(“%c”,x--);

A、99B、98C、987D、87

59、执行下列程序段后的输出结果是()。

intm=8;

while(m>=5)m--,--m,n=m---m;

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

A、2,0B、5,-1C、5,0D、5,1

60、设整型变量x的值为1,执行下列程序段后,变量x的值是()。

dox++;while(x++<2);

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

61、下列语句的输出结果是()。

for(i=2;i>0;i--)for(j=0;j

A、**B、***C、****D、******

62、执行下列语句后,变量k的值是()。

for(k=0;k<=5;k++)dok++;while(k<5);

A、5B、6C、7D、8

63、下列程序段中,不能使变量m的值等于10的程序段是()。

A、m=0;

while(m++<9);

B、dom=0;

while(m++<10);

C、for(m=8;m<10;m++);

D、m=0;

L:

m++;if(m<10)gotoL;

64、执行下列程序的输出结果是()。

main()

{inti,m,n1=1,n2=1,n3;

for(m=n1+n2,i=1;i<5;i++)

{n3=n1+n2;m=m+n3;n1=n2,n2=n3;}

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

}

A、6B、12C、20D、33

65、如果在程序执行时输入:

abc12.3xz和回车键,则输出结果为()。

main()

{charch;

floatx=0;

do{ch=getchar();

if((‘0’<=ch)&&(ch<’9’))x=x*10+ch-48;

}while(ch!

=’\n’);

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

}

A、abcB、12.3C、123D、123.0

66、下列叙述正确的是()。

A、continue和break只能用在循环体中

B、continue只能用在循环体中

C、break只能用在循环体中

D、continue只能用在循环体外

67、执行下列程序的输出结果是()。

main()

{intk;

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

if(k/3==0)continue;

elseprintf(“%d”,k);

}

A、875421B、9876543C、987654321D、963

68、下列程序的主要功能是计算并输出1!

+2!

+…+10!

缺少的内容是()。

main()

{floaty=1.0,x;

inti,n;

for(n=2;n<11;n++)

{;

for(i=2;i<=n;i++)x=x*i;

y=y+x;

}

printf(“%f\n”,y);

}

A、x=0.0B、x=0C、x=1.0D、x=(float)n

69、下列程序的功能是根据以下公式求π值(直到最后一项小于10-6为止),程序中缺少的是()。

main()

{doubles=0.0,t=1.0;

intn;

for(n=1;t>=1e-6;n++)

{s+=t;;}

printf(“%f\n”,2.0*s);

}

A、t*=n/2*n+1B、t=n*t/(2*n+1)

C、t=t*n/2*n+1D、t=t*n/(2*n-1)

70、设某网站成立第一天有10人点击,以后每天的点击数都是前一天的3倍多10人。

下列程序是计算第11天有多少人点击,其中缺少是()。

main()

{longs=10;

inti;

for()s=3*s+10;

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

}

A、i=1;i<=11;i++B、i=1;i<12;i++

C、i=2;i<12;i++D、i=2;i<=12;i++

71、定义数组时,代表数组长度的不能是()。

A、整型表达式B、符号常量

C、整型常量D、整型常量表达式

72、在选用数组元素的下标时,可能造成程序运行出错的下标是()。

A、正实数B、整型变量C、0D、-1

73、设有语句“inta[]={1,2,3,9,8,7};”,则表达式“a[2]-a[4]”的值是()。

A、-2B、-4C、-5D、-7

74、以下程序运行后,输出结果是()。

main()

{inty=18,i=0,j,a[8];

do

{a[i]=y%2;i++;

y=y/2;

}while(y>=1);

for(j=i-1;j>=0;j--)

printf(“%d”,a[j]);

printf(“\n”);

}

A、10000B、10010C、00110D、10100

75、下列程序的运行结果是()。

main()

{inta[6],i;

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

{a[i]=9*(i-2+4*(i>3))%5;

printf(“%2d”,a[i]);

}

}

A、-40404B、-40403

C、-40443D、-40440

76、设有下列定义语句,则表达式“x[1][1]*x[2][2]”的值是()。

floatx[3][3]={{1.0,2.0,3.0},{4.0,5.0,6.0}};

A、0.0B、4.0C、5.0D、10.0

77、设有定义语句“chars1[4]=”abc”;”,则表达式s1[3]的值()。

A、0.0B、0C、‘0’D、‘c’

注:

printf(“%d”,s1[3]);显示0

printf(“%c”,s1[3]);无显示(ascii值为0)

78、若有下列定义和语句,则运行后的输出结果是()。

chars1[4]=”12”;printf(“%s”,s1);

A、1B、12C、□□12D、12\0

□表示空格

79、设有定义语句“chara[]=”123”,b[]={‘1’,’2’,’3’};”

则正确的说法是()。

A、a[3]是不可知的任意字符B、数组a和b的长度相等

C、b[3]的值为’\0’D、数组a长度大于数组b的长度

(注:

不是a中和b中保存的字符串的长度)

80、下列语句在编译时,出错的语句是()。

main()

{floats[][2]={1,2,3,4};/*第1条语句*/

s[1][0]=10;/*第2条语句*/

s[0][0]=s[0]+s[1]+s[2]+s[3];/*第3条语句*/

printf(“%f\n”,s[1][1]);/*第4条语句*/

}

A、第1条语句B、第2条语句

C、第3条语句D、第4条语句

81、运行下列程序的输出结果是()。

main()

{inti,j,k,n[2];

for(i=0;i<2;i++)n[i]=0;

k=2;

for(i=0;i

for(j=0;j

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

}

A、1B、3C、程序出错D、不确定的值

82、运行下列程序的输出结果是()。

#defineN7

main()

{intI,j,temp,a[N]={1,2,3,4,5,6,7};

for(i=0;i

{j=N-1-i;

temp=a[i];a[i]=a[j];a[j]=temp;

}

for(i=0;i

}

A、1234567B、7654321C、1357D、246

83、运行下列程序的输出结果是()。

main()

{intx=123,a1[6]={100,50,10,5,2,1},a2[6],j;

while(x!

=0)

{a2[0]=a2[1]=a2[2]=a2[3]=a2[4]=a2[5]=0;

for(j=0;j<6;j++)

{a2[j]=x/a1[j];

x=x%a1[j];}

printf(“%d,%d,%d,%d,%d,%d,\n”,a2[0],a2[1],a2[2],a2[3],a2[4],a2[5]);

}

}

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

84、运行下列程序的输出结果是()。

main()

{inta[10],a1[]={1,3,6,9,10},a2[]={2,4,7,8,15},i=0,j=0,k;

for(k=0;k<4;k++)

if(a1[i]

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

当前位置:首页 > 高中教育 > 高中教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1