视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
c语言考试题答案
2025-10-05 17:14:18 责编:小OO
文档
c语言考试题答案

【篇一:c语言考试题库及答案】

专业)

 1、下面程序的输出是___d______

 #includestdio.h void main() { int k=11;printf(k=%d,k=%o,k=%x\\n,k,k,k); } a) k=11,k=12,k=11  b) k=11,k=13,k=13 c) k=11,k=013,k=0xbd) k=11,k=13,k=b  2、在下列选项中,不正确的赋值语句是__d______.

 a) ++t; b) n1=(n2=(n3=0));c) k=i=j;  d) a=b+c=1;  3、下面合法的c语言字符常量是______a____. a) \  b) a c) 65d) a  4、表达式: 10!=9的值是________d____.

 a) true  b) 非零值 c) 0  d) 1

 5、c语言提供的合法的数据类型关键字是

 _____b____. a) doubleb) shortc) integer d) char  6、字符(char)型数据在微机内存中的存储形式是__d__. a) 反码b) 补码c) ebcdic码d) ascii码

 7、c语言程序的基本单位是_____c______. a) 程序行b) 语句 c) 函数  d) 字符

 8、设 int a=12,则执行完语句a+=a-=a*a后,a的值是

 ____d____ a) 552  b) 2c) 144  d) -2  9、执行下面程序中的输出语句后,输出结果是

 ____b__. #includestdio.h void main() {int a;  printf(%d\\n,(a=3*5,a*4,a+5)); } a) 65  b) 20  c) 15d) 10  10、下面程序的输出是____b______.

 #includestdio.h void main() {int x=023;  printf(%d\\n,--x); } a) 17  b) 18  c) 23 d) 24 11、下面程序的输出的是_____c____. #includestdio.h void main() {int x=10,y=3;  printf(%d\\n,y=x/y);

 } a) 0  b) 1 c) 3d) 不确定的值  12、已知字母a的ascii码为十进制的65,下面程序的输出是______a_____. #includestdio.h void main()

 {char ch1,ch2;  ch1=a+5-3;  ch2=a+6-3;

 printf(%d,%c\\n,ch1,ch2); } a) 67,db) b,c  c) c,dd) 不确定的值  13、若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为____d__.

 a) a0 b) !a c) a=0  d) a  14、以下程序的输出结果是____d_____.

 #includestdio.h void main()

 { int x=10,y=10;printf(%d %d\\n,x--,--y); } a) 10 10  b) 9 9 c) 9 10d) 10 9

 15、设有如下定义:

 int x=10,y=3,z; 则语句printf(%d\\n,z=(x%y,x/y)); 的输出结果是_____d_____. a) 1b) 0c) 4d) 3  16、为表示关系x≥y≥z,应使用c语言表达式

 ___a___. a) (x=y)(y=z)b) (x=y)and(y=z) c) (x=y=z)  d) (x=y)  (y=z)

 17、c语言中非空的基本数据类型包括____b____. a) 整型,实型,逻辑型b) 整型,实型,字符型 c) 整型,字符型,逻辑型 d) 整型,实型,逻辑型,字符型 18、若x和y都是int型变量,x=100,y=200,且有下面的程序片段:

 printf(%d,(x,y));

 上面程序片段的输出结果是____a___. a) 200b) 100

 c) 100 200  d) 输出格式符不够,输出不确定的值

 19、阅读下面的程序

 #includestdio.h void main() {

 char ch;

 scanf(%3c,ch); printf(%c,ch); }

 如果从键盘上输入  abc回车

 则程序的运行结果是__a_____.

 a) a  b) b  c) c d) 程序语法出错

 20、阅读下面的程序

 #includestdio.h void main() {

 int i,j;i=010;j=9;

 printf(%d,%d,i-j,i+j);  }

 则程序的运行结果是____d____.

 a) 1,19 b) -1,19c) 1,17 d) -1,17

 21、阅读下面的程序

 #includestdio.h void main()  {

 int i,j,m,n;i=8;j=10;m=++i;n=j++;

 printf(%d,%d,%d,%d,i,j,m,n); }

 程序的运行结果是______c____. a) 8,10,8,10b) 9,11,8,10  c) 9,11,9,10d) 9,10,9,11

 22、已知a=12,则表达式a+=a-=a*=a的结果是_____a__.

 a) 0b) 144  c) 12  d) -2 23、若已定义int a,则表达式a=10,a+10,a++的值是__b_.

 a) 20b) 10c) 21  d) 11

 24、阅读下面的程序

 #includestdio.h void main() {

 int i,j;

 scanf(%3d%2d,i,j);  printf(i=%d,j=%d\\n,i,j); }

 如果从键盘上输入1234567回车,则程序的运行结果是____d____.

 a) i=123,j=4567b) i=1234,j=567c) i=1,j=2  d) i=123,j=45

 25、下面程序的输出结果是____d____.

 #includestdio.h void  main()  {

 int a=-1, b=4, k;

 k=(++a=0)(b--=0);  printf(%d,%d,%d\\n,k,a,b); }

 a) 1,1,2b) 1,0,3 c) 0,1,2d) 0,0,3

 26、下面程序的输出结果是____a____.

 #includestdio.h void main() {

 int a=5,b=3;

 float x=3.14, y=6.5;

 printf(%d,%d\\n,a+b!=a-b,x=(y-=6.1)); }

 a) 1,0  b) 0,1c) 1,1  d) 0,0

 27、执行下面程序段后,输出结果是____a____.

 int a;

 int b=65536;  a=b;

 printf(%d\\n,a);

a) 65536b) 0  c) -1d) 1

 28、若有以下定义和语句:  int a=010, b=0x10, c=10;  printf(%d,%d,%d\\n,a,b,c); 则输出结果是____b_____.

 a) 10,10,10 b) 8,16,10c) 8,10,10 d) 8,8,10 29、已知有double型变量x=2.5,y=4.7,整型变量a=7, 则表达式 x+a%3*(int)(x+y)%2/4 的值是_____b____. a) 2.4b) 2.5  c) 2.75 d) 0

 30、若已定义x和y是整型变量,x=2;,则表达式y=2.75+x/2的值是____c____.

 a) 5.5  b) 5c) 3  d) 4.0

 31、以下程序的输出结果是____d____.

 #includestdio.h void  main() {

 int a=12, b=12;

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

 a) 10,10  b) 12,12 c) 11,10 d) 11,13

 32、设有以下语句:int x=10;x+=3+x%(3),则x的值是.____a_____

 a) 14b) 15c) 11  d) 12

 33、若d为double型变量,则表达式d=1,d+5,d++的值是_____d__.

 a) 1  b) 6.0 c) 2.0  d) 1.0

 34、表达式5!=3的值是____d____.

 a) t  b) 非零值c) 0d) 1

 35、若有定义int a=12,n=5,则表达式a%=(n%2)运算后,a的值______a____.

 a) 0b) 1  c) 12  d) 6

 36、若有定义int x=3,y=2和float a=2.5,b=3.5,则表达式:(x+y)%2+(int)a/(int)b的值是__d__.

 a) 0b) 2  c) 1.5  d) 1

 37、在c语言中,以下叙述不正确的是_____a____. a) 在c程序中,无论是整数还是实数,都能被准确无误的表示

 b) 在c程序中,变量名代表存储器中的一个位置 c) 静态变量的生存期与整个程序的生存期相同 d) c语言中变量必须先定义后引用

 38、c语言中的变量名只能由字母,数字和下划线三种字符组成,且第一个字符____c____. a) 必须为字母  b) 必须为下划线

 c) 必须为字母或下划线

 d) 可以是字母,数字或下划线中的任意一种 39、设有说明:char w; int x; float y; double z; 则表达式: w*x+z-y值的数据类型是___d____.

 a) float  b) char  c) int d) double

 40、一个c语言的执行是从_____a______.

 a) 本程序的主函数开始,到本程序的主函数结束

 b) 本程序的第一个函数开始,到本程序的最后一个函数结束

 c) 本程序的主函数开始,到本程序的最后一个函数结束

 d) 本程序的第一个函数开始,到本程序的主函数结束

 41、设a为整型变量,不能正确表达数学关系10a15的c语言表达式是____a____.

 a) 10a15b) a==11||a==12||a==13||a==14 c) a10a15  d) !(a=10)!(a=15)

 42、下列程序执行后的输出结果是_____c____.  #include stdio.hvoid main( ){ int a=5,b=60,c;  if (ab)

 {c=a*b;printf(%d*%d=%d\\n,b,a,c);}  else

 {c=b/a;printf(%d/%d=%d\\n,b,a,c);}}

 a) 60/5=12  b) 300c) 60*5=300 d) 12

 43、如果c为字符型变量,判断c是否为空格不能使用____a____.(假设已知空格ascii码为32) a) if(c==32)  b) if(c==32) c) if(c==\\40) d) if(c==  )

 44、运行下面程序时,若从键盘输入3,5cr,则程序的输出结果是____d____.#include stdio.hvoid main( ) {

 int x,y;

 scanf(%d,%d,x,y);

if (x==y)

 printf(x==y);else if (xy)

 printf(xy);else

 printf(xy); }

 a) 35 b) 53 c) xy d) xy 45、运行下面程序时,若从键盘输入数据为6,5,7cr,则输出结果是____c___.#include stdio.h void main( )  { int a,b,c;

 scanf(%d,%d,%d,a,b,c);if (ab) if (ac)

 printf(%d\\n,a); else

 printf(%d\\n,c);else

 if (bc)

 printf(%d\\n,b); else

 printf(%d\\n,c); }

 a) 5  b) 6c) 7 d) 不定值

 46、执行下面程序时,若从键盘输入2cr,则程序的运行结果是____a____.#include stdio.h void main( ) { int k; char cp;cp=getchar( );

 if (cp=0  cp=9)k=cp-0;

 else if (cp=a  cp=f)  k=cp-a+10;else  k=cp-a+10;printf(%d\\n,k); }

 a) 2b) 4c) 1d) 10

 47、运行下面程序时,从键盘输入2.0cr,则输出结果是___b_____.#include stdio.h void main( ) { float a,b;

 scanf(%f,a);if (a0.0) b=0.0;

 else if ((a0.5)  (a!=2.0))  b=1.0/(a+2.0);else if (a10.0) b=1.0/2;else b=10.0;printf(%f\\n,b); }

 a) 0.000000  b) 0.500000 c) 1.000000  d) 0.250000

 48、执行下面程序后,运行结果是____a____.#include stdio.h void main( ) { int x=41,y=1;

 if (x%3==0  x%7==0)

 { y+=x;printf(y=%d\\n,y);}else

 {y=x;printf(y=%d,y);}  }

 a) y=41b) y=43c) y=42d) y=1

 49、运行下面程序时,从键盘输入12,34,9cr,则输出结果是___a___.#include stdio.h void main( ) { int x,y,z;

 scanf(%d,%d,%d,x,y,z);  if (xy)

 if (yz)printf(%d\\n,z);else printf(%d\\n,y); else if (xz)printf(%d\\n,z); else printf(%d\\n,x); }

 a) 34 b) 12  c) 9 d) 不确定的值

 50、运行下面程序时,从键盘输入字母h,则输出结果是_____c___.#include stdio.h void main( ) { char ch;

 ch=getchar( );switch(ch)

 { case h: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! bye_bye!

 51、执行下列程序段后的输出结果是_____a____.  int x=1,y=1,z=1; x+=y+=z;

 printf(%d\\n,xy?y:x);

 a) 3b) 2 c) 1d) 4 52、设ch是char型变量,值为a,则表达式ch=(ch=a  ch=z)?ch+32:ch的值是__b___.

 a) z  b) a  c) z d) a

 53、下面程序的输出结果是____c____.#include stdio.h void main( )

 { int x=8,y=-7,z=9;if (xy)

 if (y0) z=0;else z-=1;printf(%d\\n,z); }

 a) 8 b) 1  c) 9 d) 0  54、运行下面程序时,若从键盘输入5 cr,则程序的输出结果是_____b___. #include stdio.hvoid main( ){ int a ;

 scanf(%d,a);

 if (a++5)printf(%d\\n,a);  else printf(%d\\n,a--) ;}

 a) 7b) 6 c) 5d) 4

 55、运行下面程序时,若从键盘输入3,4 cr,则程序的输出结果是____b___.  #include stdio.h  void main( ){ int a,b,s;

 scanf(%d,%d,a,b);  s=a;

 if (sb) s=b;  s=s*s;

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

 a) 14 b) 16  c) 18  d) 20

 56、下列程序的执行结果是_____d____.  #include stdio.h  void main( )

 { int x=0,y=1,z=0;  if (x=z=y)x=3;

 printf(%d,%d\\n,x,z);}

 a) 3,0  b) 0,0c) 0,1  d) 3,1 57、假定等级和分数有以下对应关系:等级:a 分数:85~100  等级:b 分数:60~84  等级:c 分数:60 以下

 对于等级grade输出相应的分数区间,能够完成该功能的程序段是____d____. a) switch (grade) {

 case a:printf(85--100\\n);  case b:printf(60--84\\n);  case c:printf(60以下\\n);  default:printf(等级错误!\\n); }

 b)  switch (grade) {

 case a:printf(85--100\\n);break;  case b:printf(60--84\\n);  case c:printf(60以下\\n);  default:printf( 等级错误!\\n); }

 c)  switch (grade) {

 case a:printf(85--100\\n);break;  case b:printf(60--84\\n);break;  case c:printf(60以下\\n);  default:printf(等级错误!\\n); }

 d) switch (grade) {

 case a:printf(85--100\\n);break;  case b:printf(60--84\\n);break;  case c:printf(60以下 \\n);break;  default:printf(等级错误!\\n); }

 58、能够完成如下函数计算的程序段是__b____. ┌ -1x0 y= ┤  0x=0 └  1x0

 a) y=1; b) if (x=0)

【篇二:大学c语言期末考试题库试题及答案汇总】

的语句中错误的是______。

 a、int _int b、double int_

 c、char for d、float us$

 答案:d

 知识点:常量、变量和标识符

 2.

 以下不合法的用户标识符是______。

 a、j2_key b、double

 c、4d d、_8_

 答案:c

 知识点:常量、变量和标识符

 3.

 以下4组用户定义标识符中,全部合法的一组是______。

 a、_main enclude sin

 b、if -max turbo

 c、txt real 3com

 d、int k_2 _001 ?

 答案:a

 知识点:常量、变量和标识符

 4.

 以下定义语句中正确的是______。

 a、char a=a b=b;

 b、float a=b=10.0;(正解a=10.0 b=10.0)

 c、int a=10,*b=a;

 答案:c

 知识点:常量、变量和标识符

 5.

 以下不能定义为用户标识符的是______。

 a、scanf b、void

 c、_3com_ d、int

 答案:d

 知识点:常量、变量和标识符

 6.

 以下有4组用户标识符,其中合法的一组是______。

 a、for -sub case

 b、4d do size

 c、f2_g3 if abc

 d、word void define

 答案:c

 知识点:常量、变量和标识符

 7.

 c语言中最简单的数据类型包括______。

 a、整型、实型、逻辑型

 b、整型、实型、字符型

 c、整型、字符型、逻辑型

 d、整型、实型、逻辑型、字符型

 答案:b

 知识点:常量、变量和标识符

 8.

下列选项中,合法的c语言关键字是______。

 a、var b、cher c、integer d、default

 答案:d

 知识点:常量、变量和标识符

 9.

 以下不能定义为用户标识符的是______。

 a、main b、_0 c、_int d、sizeof

 答案:d

 知识点:常量、变量和标识符

 10.

 下列叙述中正确的是______。

 a、c语言中既有逻辑类型也有集合类型

 b、c语言中没有逻辑类型但有集合类型

 c、c语言中有逻辑类型但没有集合类型

 d、c语言中既没有逻辑类型也没有集合类型

 答案:d

 知识点:常量、变量和标识符

 11.

 当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b的是______。

 a、c=b=a; b、(a=c)‖(b=c);

 c、(a=c)(b=c); d、a=c=b;

 答案:c

 知识点:赋值表达式

 12.

 以下选项中非法的表达式是______。

 a、0=x100 b、i=j==0

c、(char)(65+3) d、x+1=x+1

 答案:d

 知识点:赋值表达式

 13.

 以下程序的输出结果是______。

 #include stdio.h

 main()

 {

 int a,b,d=241;

 a=d/100%9;

 b=(-1)(-1);

 printf(%d,%d\\n,a,b);???

 }

 a、6,1 b、2,1 c、6,0 d、2,0

 答案:b

 知识点:赋值表达式

 14.

 以下循环体的执行次数是______。

 main()

 {

 int i,j;

 for (i=0,j=1; i=j+1;i+=2,j--)

 printf(%d \\n,i);

 }

 a、3 b、2 c、1 d、0

 答案:c

知识点:赋值表达式

 15.

 有以下定义语句

 double a,b; int w; long c;

 若各变量已正确赋值,则下列选项中正确的表达式是______。

 a、a=a+b=b++

 b、w%((int)a+b)

 c、(c+w)%(int)a

 d、w=a=b;

 答案:c

 知识点:赋值表达式

 16.

 有如下程序

 main()

 {

 int a; char c=10;

 float f=100.0; double x;

 a=f/=c*=(x=6.5);

 printf(%d %d %3.1f%3.1f\\n,a,c,f,x);

 }

 程序运行后输出结果是______。

 a、1 65 1 6.5

 b、1 65 1.5 6.5

 c、1 65 1.0 6.5

 d、2 65 1.5 6.5

 答案:b

【篇三:《国家计算机二级c语言历年真题及答案》】

class=txt>c语言程序设计

 (考试时间90分钟,满分100分)

 一、选择题((1)—(10)、(21)—(40)每题2分,(11)—(20)每题1分,共70分)

 (1)下列数据结构中,属于非线性结构的是

 a)循环队列

 b) 带链队列

 c) 二叉树

 d)带链栈

 (2)下列数据结果中,能够按照“先进后出”原则存取数据的是

 a) 循环队列

 b) 栈

 c)队列

 d)二叉树

 (3)对于循环队列,下列叙述中正确的是

 a)队头指针是固定不变的

 b)队头指针一定大于队尾指针

 c)队头指针一定小于队尾指针

 d)队头指针可以大于队尾指针,也可以小于队尾指针

 (4)算法的空间复杂度是指

 a)算法在执行过程中所需要的计算机存储空间

 b)算法所处理的数据量

 c)算法程序中的语句或指令条数

 d)算法在执行过程中所需要的临时工作单元数

 (5)软件设计中划分模块的一个准则是

 a) 低内聚低耦合

 b) 高内聚低耦合

 c) 低内聚高耦合

 d) 高内聚高耦合

 (6)下列选项中不属于结构化程序设计原则的是

 a) 可封装

 d) 自顶向下

 c) 模块化

 d) 逐步求精

 (7)软件详细设计产生的图如下:

  该图是

 a) n-s图

 b) pad图

 c) 程序流程图

 d) e-r图

 (8)数据库管理系统是

 a)操作系统的一部分

 b) 在操作系统支持下的系统软件

 c) 一种编译系统

 d) 一种操作系统

 (9)在e-r图中,用来表示实体联系的图形是

 a) 椭圆图

 b) 矩形

 c) 菱形

 d) 三角形

 (10)有三个关系r,s和t如下:

  其中关系t由关系r和s通过某种操作得到,该操作为

 a) 选择

 b)  投影

 c) 交

 d) 并

 (11)以下叙述中正确的是

 a)程序设计的任务就是编写程序代码并上机调试

 b)程序设计的任务就是确定所用数据结构

 c)程序设计的任务就是确定所用算法

d)以上三种说法都不完整

 (12)以下选项中,能用作用户标识符的是

 a)void

 b)8_8

 c)_0_

 d)unsigned

 (13)阅读以下程序

 #include

 main()

 { int case; float printf;

 printf(“请输入2个数:”);

 scanf(“%d %f”,case,pjrintf);

 printf(“%d %f\\n”,case,printf);

 }

 该程序编译时产生错误,其出错原因是

 a)定义语句出错,case是关键字,不能用作用户自定义标识符

 b)定义语句出错,printf不能用作用户自定义标识符

 c)定义语句无错,scanf不能作为输入函数使用

 d)定义语句无错,printf不能输出case的值

 (14)表达式:(int)((double)9/2)-(9)%2的值是

 a)0

 b)3

 c)4

 d)5

 (15)若有定义语句:int x=10;,则表达式x-=x+x的值为

 a)-20

 b)-10

 c)0

 d)10

 (16)有以下程序

 #include

 main()

 { int a=1,b=0;

 printf(“%d,”,b=a+b);

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

 }

 程序运行后的输出结果是

 a)0,0

c)3,2

 d)1,2

 17)设有定义:int a=1,b=2,c=3;,以下语句中执行效果与其它三个不同的是

 a)if(ab) c=a,a=b,b=c;

 b)if(ab) {c=a,a=b,b=c;}

 c)if(ab) c=a;a=b;b=c;

 d)if(ab) {c=a;a=b;b=c;}

 (18)有以下程序

 #include

 main()

 { int c=0,k;

 for (k=1;k3;k++)

 switch (k)

 { default: c+=k

 case 2: c++;break;

 case 4: c+=2;break;

 }

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

 }

 程序运行后的输出结果是

 a)3

 b)5

 c)7

 d)9

 (19)以下程序段中,与语句:k=ab?(bc?1:0):0;功能相同的是

 a)if((ab)(bc)) k=1;

 else k=0;

 b)if((ab)||(bc) k=1;

 else k=0;

 c)if(a=b) k=0;

 else if(b=c) k=1;

 d)if(ab) k=1;

 else if(bc) k=1;

 else k=0;

 20)有以下程序

 #include

{ char s[]={“012xy”};int i,n=0;

 for(i=0;s[i]!=0;i++)

 if(s[i]=’a’s[i]=’z’) n++;

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

 }

 程序运行后的输出结果是

 a)0

 b)2

 c)3

 d)5

 (21)有以下程序

 #include

 main()

 { int n=2,k=0;

 while(k++n++2);

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

 }

 程序运行后的输出结果是

 a)0 2

 b)1 3

 c)5 7

 d)1 2

 (22)有以下定义语句,编译时会出现编译错误的是

 a)char a=’a’;

 b)char a=’\\n’;

 c)char a=’aa’;

 d)char a=’\\x2d’;

 (23)有以下程序

 #include

 main()

 { char c1,c2;

 c1=’a’+’8’-‘4’;

 c2=’a’+’8’-‘5’;

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

 }

 已知字母a的ascii码为65,程序运行后的输出结果是

 a)e,68下载本文

显示全文
专题