C语言考试题库及答案(1)_第1页
C语言考试题库及答案(1)_第2页
C语言考试题库及答案(1)_第3页
C语言考试题库及答案(1)_第4页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、.C 语言理论上机考试选择题部分(共200 题,仅针对11 级定向专业)1、下面程序的输出是 _D_int x=023;#include<stdio.h>printf("%dn",-x);void main() int k=11;A) 17B) 18C) 23D) 24printf("k=%d,k=%o,k=%xn",k,k,k);11、下面程序的输出的是 _C_.#include<stdio.h>A) k=11,k=12,k=11B) k=11,k=13,k=13void main()C) k=11,k=013,k=0xbD)

2、k=11,k=13,k=bint x=10,y=3;printf("%dn",y=x/y);2、在下列选项中 ,不正确的赋值语句是 _D_.A) +t;B) n1=(n2=(n3=0);A) 0B) 1C) 3D)不确定的值C) k=i=j;D) a=b+c=1;12、已知字母A 的 ASCII 码为十进制的65,下面程序3、下面合法的C 语言字符常量是 _A_.的输出是 _A_.A) 't'B) "A"C) 65D) A#include<stdio.h>void main()4、表达式 : 10!=9 的值是 _D_.cha

3、r ch1,ch2;A) trueB) 非零值C) 0D) 1ch1='A'+'5'-'3'ch2='A'+'6'-'3'5、C 语言提供的合法的数据类型关键字是printf("%d,%cn",ch1,ch2);_B_.A) DoubleB) shortC) integerD) CharA) 67,DB) B,CC) C,DD)不确定的值6 、字符 (char) 型数据在微机内存中的存储形式是13、若要求在 if后一对圆括号中表示a 不等于 0 的关_D_.系,则能正确表示这一关

4、系的表达式为_D_.A) 反码B)补码C) EBCDIC码D) ASCII 码A) a<>0B) !aC) a=0D) a7、 C 语言程序的基本单位是_C_.14、以下程序的输出结果是 _D_.A) 程序行B)语句C) 函数D) 字符#include<stdio.h>void main()8、设 inta=12,则执行完语句a+=a-=a*a后 ,a 的值是 int x=10,y=10;_D_printf("%d %dn",x-,-y);A) 552B) 264C) 144D) -264A) 10 10B)99C)910D)1099、执行下面程序中

5、的输出语句后,输出结果是_B_.15、设有如下定义 :#include<stdio.h>int x=10,y=3,z;void main()则语句int a;printf("%dn",z=(x%y,x/y);printf("%dn",(a=3*5,a*4,a+5);的输出结果是 _D_.A) 1B) 0C) 4D) 3A) 65B) 20C) 15D) 1016 、为表示关系x y z,应使用C语言表达式10、下面程序的输出是 _B_._A_.#include<stdio.h>A) (x>=y)&&(y>

6、;=z)B) (x>=y)AND(y>=z)void main()C) (x>=y>=z)D) (x>=y) & (y>=z);.A) 8,10,8,10B) 9,11,8,1017、 C 语言中非空的基本数据类型包括_B_.C) 9,11,9,10D) 9,10,9,11A) 整型 ,实型 ,逻辑型B) 整型 ,实型 ,字符型C) 整型 ,字符型 ,逻辑型22 、 已 知 a=12, 则 表 达 式 a+=a-=a*=a的结果是D) 整型 ,实型 ,逻辑型 ,字符型_A_.18、若 x 和 y 都是 int 型变量 ,x=100,y=200, 且有

7、下面的A) 0B) 144C) 12D) -264程序片段 :23、若已定义int a,则表达式 a=10,a+10,a+ 的值是printf("%d",(x,y);_B_.上面程序片段的输出结果是 _A_.A) 20B) 10C) 21D) 11A) 200B) 100C) 100 200D) 输出格式符不够 ,输出不确定的值24、阅读下面的程序#include<stdio.h>19、阅读下面的程序void main()#include<stdio.h>void main()int i,j;scanf("%3d%2d",&

8、;i,&j);char ch;printf("i=%d,j=%dn",i,j);scanf("%3c",&ch);printf("%c",ch);如果从键盘上输入 1234567<回车 >,则程序的运行结果是_D_.如果从键盘上输入A) i=123,j=4567B) i=1234,j=567abc<回车 >C) i=1,j=2D) i=123,j=45则程序的运行结果是 _A_.A) aB) bC) cD)程序语法出错25、下面程序的输出结果是 _D_.#include<stdio.h&g

9、t;20、阅读下面的程序void main()#include<stdio.h>void main()int a= -1, b=4, k;k=(+a<=0)&&(b-<=0);int i,j;printf("%d,%d,%dn",k,a,b);i=010;j=9;A) 1,1,2B) 1,0,3C) 0,1,2D) 0,0,3printf("%d,%d",i-j,i+j);26、下面程序的输出结果是 _A_.则程序的运行结果是 _D_.#include<stdio.h>A) 1,19B) -1,19C)

10、 1,17D) -1,17void main()21、阅读下面的程序int a=5,b=3;#include<stdio.h>float x=3.14, y=6.5;void main()printf("%d,%dn",a+b!=a-b,x<=(y-=6.1);int i,j,m,n;A) 1,0B) 0,1C) 1,1D) 0,0i=8;j=10;m=+i;27、执行下面程序段后,输出结果是 _A_.n=j+;int a;printf("%d,%d,%d,%d",i,j,m,n);int b=65536;a=b;程序的运行结果是 _C

11、_.printf("%dn",a);.A) 65536B) 0C) -1D) 128、若有以下定义和语句:int a=010, b=0x10, c=10;printf("%d,%d,%dn",a,b,c);则输出结果是 _B_.A) 10,10,10B) 8,16,10C) 8,10,10D) 8,8,1029、已知有double 型变量 x=2.5,y=4.7, 整型变量a=7,则表达式x+a%3*(int)(x+y)%2/4的值是 _B_.A) 2.4B) 2.5C) 2.75D) 030 、若已定义x和 y是整型变量,x=2;, 则表达式y=2.7

12、5+x/2 的值是 _C_.A) 5.5B) 5C) 3D) 4.031、以下程序的输出结果是_D_.#include<stdio.h>voidmain()int a=12, b=12;printf("%d,%dn",-a,+b);A) 10,10B) 12,12C) 11,10D) 11,1332、设有以下语句:intx=10;x+=3+x%(3), 则x 的值是 ._A_A) 14B) 15C) 11D) 1233、若 d 为 double 型变量 ,则表达式d=1,d+5,d+ 的值是 _D_.A) 1B) 6.0C) 2.0D) 1.034、表达式 5!

13、=3 的值是 _D_.A) TB) 非零值C) 0D) 135、若有定义int a=12,n=5,则表达式a%=(n%2) 运算后 ,a 的值 _A_.A)0B)1C)12D)636、若有定义int x=3,y=2 和 float a=2.5,b=3.5,则表达式 :(x+y)%2+(int)a/(int)b 的值是 _D_.A)0B)2C)1.5D)137、在 C 语言中 ,以下叙述不正确的是_A_.A) 在 C 程序中 ,无论是整数还是实数 ,都能被准确无误的表示B) 在 C 程序中 ,变量名代表存储器中的一个位置C) 静态变量的生存期与整个程序的生存期相同.D) C 语言中变量必须先定义

14、后引用38、C 语言中的变量名只能由字母 ,数字和下划线三种字符组成 ,且第一个字符 _C_.A) 必须为字母B) 必须为下划线C) 必须为字母或下划线D) 可以是字母 ,数字或下划线中的任意一种39、设有说明 :char w; int x; float y; double z;则表达式 :w*x+z-y 值的数据类型是_D_.A) floatB) charC) intD) double40、一个 C 语言的执行是从_A_.A) 本程序的主函数开始 ,到本程序的主函数结束B) 本程序的第一个函数开始 ,到本程序的最后一个函数结束C) 本程序的主函数开始 ,到本程序的最后一个函数结束D) 本程序

15、的第一个函数开始 ,到本程序的主函数结束41、设 a 为整型变量 ,不能正确表达数学关系10<a<15的 C 语言表达式是 _A_.A) 10<a<15B) a=11|a=12|a=13|a=14C) a>10&&a<15D) !(a<=10)&&!(a>=15)42、下列程序执行后的输出结果是_C_.#include <stdio.h>void main( ) int a=5,b=60,c;if (a<b)c=a*b;printf("%d*%d=%dn",b,a,c);els

16、ec=b/a;printf("%d/%d=%dn",b,a,c);A) 60/5=12B) 300C) 60*5=300D) 1243、如果 c 为字符型变量,判断c 是否为空格不能使用_A_.( 假设已知空格 ASCII 码为 32)A) if(c='32')B) if(c=32)C) if(c='40')D) if(c='')44、运行下面程序时,若从键盘输入 "3,5<CR>" ,则程序的输出结果是_D_.#include <stdio.h>void main( )int x,

17、y;scanf("%d,%d",&x,&y);.if (x=y)printf("x=y");else if (x>y)printf("x>y");elseprintf("x<y");A) 3<5B) 5>3C) x>yD) x<y45、运行下面程序时,若从键盘输入数据为 "6,5,7<CR>" ,则输出结果是 _C_.#include <stdio.h>void main( ) int a,b,c; scanf(&

18、quot;%d,%d,%d",&a,&b,&c); if (a>b)if (a>c) printf("%dn",a);elseprintf("%dn",c);elseif (b>c)printf("%dn",b);elseprintf("%dn",c);A)5B)6C)7D) 不定值46、执行下面程序时,若从键盘输入"2<CR>" ,则程序的运行结果是_A_.#include <stdio.h>void main( )

19、int k; char cp;cp=getchar( );if (cp>='0' && cp<='9')k=cp-'0'else if (cp>='a' && cp<='f')k=cp-'a'+10;elsek=cp-'A'+10;printf("%dn",k);A) 2B) 4C) 1D) 1047、运行下面程序时,从键盘输入 "2.0<CR>" ,则输出结果是 _B_.#i

20、nclude <stdio.h>void main( ) float a,b; scanf("%f",&a);.if (a<0.0) b=0.0;else if (a<0.5) && (a!=2.0) b=1.0/(a+2.0); else if (a<10.0) b=1.0/2;else b=10.0;printf("%fn",b);A) 0.000000B) 0.500000C) 1.000000D) 0.25000048、执行下面程序后,运行结果是 _A_.#include <stdio.

21、h>void main( ) int x=41,y=1;if (x%3= =0 && x%7=0) y+=x;printf("y=%dn",y); elsey=x;printf("y=%d",y);A) y=41B) y=43C) y=42D) y=149、运行下面程序时,从键盘输入"12,34,9<CR>" ,则输出结果是 _A_.#include <stdio.h>void main( ) int x,y,z; scanf("%d,%d,%d",&x,&am

22、p;y,&z); if (x<y)if (y<z)printf("%dn",z);else printf("%dn",y);else if (x<z)printf("%dn",z);else printf("%dn",x);A) 34B)12C)9D) 不确定的值50、运行下面程序时,从键盘输入字母H,则输出结果是 _C_.#include <stdio.h>void main( ) char ch; ch=getchar( );switch(ch) case 'H&#

23、39;:printf("Hello!n");case 'G':printf("Good morning!n");default:printf("Bye_Bye!n");A) Hello!B) Hello!Good Morning!C) Hello!D) Hello!;.Good morning!Bye_Bye!#include <stdio.h>Bye_Bye!void main( ) int x=0,y=1,z=0;51、执行下列程序段后的输出结果是_A_.if (x=z=y)int x=1,y=1,z=

24、1;x=3;x+=y+=z;printf("%d,%dn",x,z);printf("%dn",x<y?y:x);A) 3B) 2C) 1D) 4A) 3,0B) 0,0C) 0,1D) 3,152、设 ch 是 char 型变量 ,值为 'A', 则表达式 ch=(ch>='A'57、假定等级和分数有以下对应关系:&& ch<='Z')?ch+32:ch 的值是 _B_.等级: A分数: 85100A) ZB) aC) zD) A等级: B分数: 6084等级: C分数:

25、 60 以下53、下面程序的输出结果是 _C_.对于等级 grade 输出相应的分数区间,能够完成该功#include <stdio.h>能的程序段是 _D_.void main( )A) switch (grade) int x=8,y=-7,z=9;if (x<y)case 'A':printf("85-100n");if (y<0) z=0;case 'B':printf("60-84n");else z-=1;case 'C':printf("60以下 n"

26、;);printf("%dn",z);default:printf("等级错误 !n");A) 8B) 1C) 9D) 0B)switch (grade)54、运行下面程序时 ,若从键盘输入 "5 <CR>", 则程序的case 'A':printf("85-100n");break;输出结果是 _B_.case 'B':printf("60-84n");#include <stdio.h>case 'C':printf(&

27、quot;60以下 n");void main( )default:printf("等级错误 !n"); int a ;scanf("%d",&a);C)switch (grade)if (a+>5)printf("%dn",a);else printf("%dn",a-) ;case 'A':printf("85-100n");break;case 'B':printf("60-84n");break;A) 7B) 6

28、C) 5D) 4case 'C':printf("60以下 n");default:printf("等级错误 !n");55、运行下面程序时,若从键盘输入"3,4 <CR>" ,则程序的输出结果是 _B_.D) switch (grade)#include <stdio.h>void main( )case 'A':printf("85-100n");break; int a,b,s;case 'B':printf("60-84n&q

29、uot;);break;scanf("%d,%d",&a,&b);case 'C':printf("60以下 n");break;s=a;default:printf("等级错误 !n");if (s<b) s=b;s=s*s;printf("%dn",s) ;58、能够完成如下函数计算的程序段是_B_. -1x<0A) 14B) 16C) 18D) 20y= 0x=01x>056、下列程序的执行结果是_D_.A) y=1;B) if (x>=0);.if(x

30、!=0)if(x>0) y=1;if (a) d=d-10;if(x>0) y=1;else y=0;else if(!b)else y=0;else y=-1;if (!c) x=15;C) y=0;D) y=-1;else x=25;if (x>=0)if (x>0) y=1;printf("d=%dn",d);if (x>0) y=1;else y=0;else y=-1;A) d=20B) d=10C) d=15D) 2559、有如下程序62、有如下程序 :#include <stdio.h>#include <std

31、io.h>void main( )void main( ) float x=5.0,y; int a=2,b=-1,c=2;if(x<0.0) y=0.0;if (a<b)else if (x<10.0) y=1.0/x;if (b<0) c=0;else y=1.0;else c+;printf("%fn",y);printf("%dn",c);该程序的输出结果是 _C_.该程序的输出结果是 _C_.A) 0.000000B) 0.50000A) 0B) 1C) 2D) 3C) 0.200000D) 1.00000063、

32、下列程序执行后的输出结果是_B_.60、以下程序的执行结果是 _B_.#include <stdio.h>#include <stdio.h>void main( )void main( ) int x,y=1,z; int x=1,y=0;if (z=y)<0)x=4;switch (x)else if (y=0) x=5;else x=6;case 1:printf("%d,%dn",x,y);switch (y)A) 4,1B) 6,1C) 5,0D) 出错信息case 0:printf("firstn");break

33、;case 1:printf("secondn");break;64、有如下程序#include <stdio.h>case 2:printf("thirdn");void main( ) int x=1,a=0,b=0;switch(x)A) firstB) firstsecondthirdcase 0: b+;C) firstD) secondcase 1: a+;thirdcase 2: a+;b+;61、以下程序的执行结果是 _A_.printf("a=%d,b=%dn",a,b);#include <std

34、io.h>void main( )该程序的输出结果是 _A_. int a,b,c,d,x;A) a=2,b=1B) a=1,b=1C) a=1,b=0D) a=2,b=2a=c=0;b=1;65、下面程序的输出结果是 _C_.d=20;#include <stdio.h>.void main( )else printf("%dn",x-); int a= -1,b=1,k;if (+a<0) && (b-<=0)A) 7B) 6C) 5D) 4printf("%d %dn",a,b);else71、以下程序

35、段运行结果是 _A_.printf("%d %dn",b,a);int x=1,y=1,z=-1;x+=y+=z;A)-11B)01C)10D)00printf("%dn",x<y?y:x);66、假定 w、 x、 y、 z、 m 均为 int 型变量,有如下程A) 1B) 2C) 4D)不确定的值序段:72、有以下程序w=1;x=2;y=3;z=4;#include <stdio.h>m=(w<x)?w:x;m=(m<y)?m:y;m=(m<z)?m:z;void main( )则该程序段执行后,m 的值是 _D_.

36、 int a,b,c=246;A) 4B) 3C) 2D) 1a=c/100%9;b=(-1)&&(-1);67、以下程序的输出结果是 _D_.printf("%d,%dn",a,b);main( ) int a=100;输出结果是 _A_.if (a>100) printf("%dn",a>100);A) 2,1B) 3,2C) 4,3D) 2,-1else printf("%dn",a<=100);73、运行下面程序时,若从键盘输入数据为"123" ,A) a<=100B

37、) 100C) 0D) 1则输出结果是 _C_.#include "stdio.h"68、若执行下面的程序从键盘上输入9,则输出结果void main()是 ._B_ int num,i,j,k,place;#include <stdio.h>scanf("%d",&num);void main( )if (num>99)int n;place=3;scanf("%d",&n);else if(num>9)if (n+<10) printf("%dn",n);place

38、=2;else printf("%dn",n-);elseA) 11B) 10C) 9D) 8place=1;i=num/100;69、以下程序输出结果是 _D_.j=(num-i*100)/10;#include <stdio.h>k=(num-i*100-j*10);void main( )switch (place) int m=4; case 3: printf("%d%d%dn",k,j,i);if (+m>5) printf("%dn",m-);break;else printf("%dn&qu

39、ot;,-m);case 2: printf("%d%dn",k,j);break;A) 7B) 6C) 5D) 4case 1: printf("%dn",k);70、若执行下面的程序从键盘上输入5,则输出结果是 .#include <stdio.h>A) 123B) 1,2,3C) 321D) 3,2,1void main( )int x;74、执行下列程序后的输出结果是_D_.scanf("%d",&x);#include <stdio.h>if (x+>5) printf("%d

40、n",x);void main( );. int k=4,a=3,b=2,c=1; printf("%dn",k<a?k:c<b?c:a);A)4B)3C)2D)175、以下条件表达式中能完全等价于条件表达式x 的是 _B_.A) (x=0)B) (x!=0)C) (x=1)D) (x!=1)76、若运行下面程序时,给变量a 输入 15,则输出结果是 _A_.#include <stdio.h>void main( ) int a,b; scanf("%d",&a); b=a>15?a+10:a-10; p

41、rintf("%dn",b) ;A)5B)25C)15D)1077、运行下面程序后,输出是 _D_.#include <stdio.h>void main( ) int k=-3;if (k<=0) printf("*n");else printf("#n")A) #B) *C) #*D) 有语法错误不能通过编译78、执行下面程序的输出结果是_C_.#include <stdio.h>void main( ) int a=5,b=0,c=0;if (a=a+b) printf("*n"

42、);elseprintf("#n");A) 有语法错误不能编译B) 能通过编译,但不能通过连接C) 输出 *D) 输出 #79、为了避免嵌套的if-else 语句的二义性,C 语言规定 else 总是与 _C_组成配对关系 .A) 缩排位置相同的 ifB) 在其之前未配对的 if.C) 在其之前尚未配对的最近的ifD) 同一行上的 if80、设 x 、y 、z 、t 均为 int 型变量 ,则执行以下语句后,t 的值为 _C_.x=y=z=1;t=+x | +y && +z;A) 不定值B) 4C) 1D) 081、以下程序段_C_.x=-1;dox=x*x

43、; while (!x);A) 是死循环B) 循环执行两次C)循环执行一次D) 有语法错误82、对下面程序段描述正确的是_B_.int x=0,s=0;while (!x!=0) s+=+x;printf("%d",s);A) 运行程序段后输出 0B) 运行程序段后输出 1C) 程序段中的控制表达式是非法的D) 程序段循环无数次83、下面程序段的输出结果是_C_.x=3;do y=x-;if (!y) printf("*");continue;printf("#"); while(x=2);A) #B) #*C) 死循环D)输出错误信

44、息84、下面程序的运行结果是_B_.#include<stdio.h>void main( ) int a=1,b=10;do b-=a;a+; while(b-<0); printf("%d,%dn",a,b);A) 3,11B) 2,8C) 1,-1D) 4,985、下面程序段的运行结果是_B_.int n=0;.while (n+<=2)a=-1;printf("%d",n);b=0;A) 012B) 123C) 234D) 错误信息do +a;86、下面程序段的运行结果是 _D_.+a;int x=0,y=0;b+=a;w

45、hile (x<15) y+,x+=+y; while(a<9);printf("%d,%d",y,x);printf("%dn",b);A) 20,7B) 6,12C) 20,8D)8,2087、下面程序的运行结果是 _B_.A) 34B) 24C) 26D) 25#include<stdio.h>91、下面程序段的运行结果是 _D_.void main()for(i=1;i<=5;) int s=0,i=1;printf("%d",i);while (s<=10)i+; s=s+i*i;A) 12345B) 1234C) 15D) 无限循环i+;92、下面程序的输出结果是 _B_.printf("%d",-i);#include<stdio.h>voidmain( )A) 4B) 3C) 5D) 6 int n=4;while (n-) printf("%d ",n-);88、函数pi 的功能是根据以下近似公式求值:_C_A)20B)31C)321D)210( * )/6=1+1/(2*2)+1/(3*3)+.+1/(n*n)请填空,完成求的功能。93、以下程序运行后的输出结果是_D_.#include &l

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论