c程序设计选择题期末复习练习-(不包含文件)-(1)资料_第1页
c程序设计选择题期末复习练习-(不包含文件)-(1)资料_第2页
c程序设计选择题期末复习练习-(不包含文件)-(1)资料_第3页
c程序设计选择题期末复习练习-(不包含文件)-(1)资料_第4页
c程序设计选择题期末复习练习-(不包含文件)-(1)资料_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

1、练习题1. 以下对C程序的描述中正确的是( C )。A) C程序总是从第一个定义的函数开始执行。B) C程序总是从最后一个定义的函数开始执行。C) C程序总是从main()函数开始执行。D) C程序中的main()函数必须放在程序的开始部分。2. 一个C程序的执行是从( A )。A) 本程序的main函数开始,到main函数结束B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C) 本程序文件的第一个函数开始,到本程序main函数结束D) 本程序的main函数开始,到本程序文件的最后一个函数结束3. 以下叙述正确的是( C )A) 在对一个C程序进行编译的过程中,可发现注释中的拼

2、写错误B) 在C程序中,main函数必须位于程序的最前面C) C语言本身没有输入输出语句D) C程序的每行中只能写一条语句4. 以下选项中正确的C语言常量是( C )。A) 0xEfGhB) 'XYZ'C) 12.34e5D) '5A' 5. 以下选项中,合法的C语言用户标识符是( D )。A) b-aB) 5abC) intD) INT 6. 以下选项中,三种类型都是C语言的基本类型的是( C )。A) int, long, realB) integer, short, doubleC) int, float, charD) int, decimal, cha

3、r 7.设有说明:char w; int x; float y; double z;则表达式w*x+z-y值的数据类型为( D )A) float B) char C) int D) double8. 设要定义n为整型变量,定义x为双精度实型变量,正确的语句是( C )。A) int n, double x,B) int n, double x;C) int n; double x;D) int n; double x, 9. 以下四项中,不合法的C语言用户标识符是( D )。A) tempB) my_programC) year2009D) int10有以下程序,程序运行后的输出结果是( A

4、 )。#include <stdio.h>void main() int a=15, b=21, m=0;switch (a%3) case 0: m+; break; case 1: m+; switch (b%2) default: m+; case 0: m+; break;printf(”%dn”,m);A1 B2 C3 D411. 设有:int a=1,b=2,c=3,d=4,m=2,n=2;表达式(m=a>b)&&(n=c>d)的结果为( A ) A) 0 B) 1 C) 2 D) 312. 设int n; 对应“n为二位数(10至99)”的

5、判断表达式是( B )。A) 10<=n<=99B) 10<=n && n<=99C) 10<=n | n<=99D) 10<=n, n<=99 13. 在C语言中,三种基本的语句结构是:( A )。A) 顺序结构,选择结构,循环结构B) 函数结构,选择结构,循环结构C) 顺序结构,嵌套结构,循环结构D) 递归结构,转移结构,循环结构 14. 设有如下语句int x,y; scanf("%d%d",&x,&y); 如果要使变量x得到数值11,变量y得到数值22,正确的输入应是(表示空格,表示回车

6、)( D )。A) x=11y=22B) x=11y=22C) 11,12D) 1122 15. 设有定义char c;且c表示一个小写字母,结果为对应大写字母的表达式是( C )。A) c - a + AB) c - A + aC) c - 'a' + 'A'D) c - 'A' + 'a' 16. 以下四项中不合法的C语言常量是( A )。A) 'xab'B) "x1f"C) 0x1234D) 2.1e3 17. 设char ch; 判断“ch为数字字符”的表达式是:( A )。A) ch&

7、gt;='0' && ch<='9'B) ch>0 && ch<9C) ch>='0' | ch<='9'D) ch>=0 | ch<=9 18. 有字符数组s10=A,0,B,C,0,D;有语句a=strlen(s),a的值( A )。A)1 B) 2 C) 5 D) 6 19. 以下能对二维数组a进行正确初始化的语句是:( B )。A)int a2=1,0,1,5,2,3B) int a3=1,2,3,4,5,6C)int a24=1,2,3,4,5,6

8、D)int a3=1,0,1,0 ,5,2,320. 设int n,m; 使m为n的十进制百位数的语句是( C )。A) m = n/100;B) m = n%100;C) m = n/100%10;D) m = n%10/100; 21. 设int n; 判断“n为0”的表达式是( D )。A) n=0B) n!=0C) !(n=0)D) n=0 22. 设float x,y; 使y为x的小数部分的语句是( C )。A) y = (int)x;B) y = int(x);C) y = x(int)x;D) y = xint(x); 23. 设有定义int a;判断a是一个偶数的表达式是( D

9、 )。A) a=2*nB) a/2=0C) a%2D) a%2=0 24. 设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中的值为0的是( D )。A)x&&y B) x<=y C) x|y+z&&y-z D) !(x<y)&&!z|1)25. 若又说明:int a3=1,2,3,4,5,6,7;则a数组第一维的大小是( B )。A) 2 B) 3 C) 4 D) 不确定 26. 设有int n10; 要求屏幕上显示“n=10”结果,正确的语句是( C )。A) printf( n );B) printf( &qu

10、ot;n=", n );C) printf( "n=%d", n );D) printf( "n=%d", &n ); 27. 以下程序的运行结果是( B )main() int a,b,d=241; a=d/100%9; b=(-1)&&(-1); printf(“%d,%d”,a,b);A) 6,1 B) 2,1 C) 6,0 D) 2,028.已知int x=10,y=20,z=30;以下语句执行后x,y,z的值是( B ) if(x>y) z=x; x=y; y=z;A) x=10, y=20, z=30

11、B) x=20, y=30, z=30C) x=20, y=30, z=10 D) x=20, y=30, z=2029. 以下程序的运行结果是( C )void main() int m=5; if(m+>5) printf(“%dn”,m); else printf(“%dn”,m-);A) 4 B) 5 C) 6 D) 730. 选择程序输出结果( D )f(int b ,int m,int n) int i,s=0; for(i=m;i<n;i+) s= s+bi;return s; void main() int x,a =1,2,3,4,5,6,7,8,9; x=f(a

12、,3,7); printf("%dn",x); A) 30 B) 15 C ) 18 D ) 2231. 以下程序段( C ) x=-1; do x=x*x; while(!x); A)是死循环 B)循环执行二次 C)循环执行一次 D)有语法错误32. 以下( B )语句输出字符'a'的ASCII编码。A) printf("%d",a);B) printf("%d",'a');C) printf("%c",'a');D) putchar(a); 33. 若有定义: i

13、nt a=2,b=3,c=1; 则以下程序段的运行结果是( D )。if(a>b)if(a>c) printf("%d,",a); else printf("%d,",b); printf("%d",c);A.3,1 B.2,1 C.3 D.134. 若i为整型变量,则以下循环执行次数是( B ) for(i=2;i=0;)printf("%d",i-); A)无限次 B)0次 C)1次 D)2次35. 语句printf("%.1f,%dn",10./4,10/8); 的输出是( B

14、 )。A) 2.5,1.25B) 2.5,1C) 1,1.25D) 2,1.25 36. 设int x,y,t; 能正确交换变量x与y值的语句序列是( C )。A) x=y; y=x;B) t=y; x=t; y=x;C) t=x; x=y; y=t;D) x=t; y=x; t=y; 37. 设有定义float x=3.567,y; 赋值使y为3.6的语句是( A )。A) y = (int)(10*x+0.5)/10.0;B) y = (int)(10*x)/10.0C) y = (int)(10*x)/10.0 + 0.5D) y = (%3.1f) x;38. 语句a=(3/4)+3%

15、2;运行后,a的值为(   B )。 A) 0  B)1  C)2  D)339.下列语句段的运行结果是( A )。 int a=1234;float x=56.789; printf("%3d,%4.2fn",a,x);A) 1234,56.79B) 1234 56.79C) 1234,56.789D) 1234 56.789 40. 设有double x; char s50; 输出双精度浮点数x和字符串s,正确的语句是( A )。A) printf("%lf %s",x,s);B)

16、 printf("%ld %s",x,s);C) printf("%lf %s",&x,s);D) printf("%lf %s",x,s50); 41. 下面程序段的运行结果是( D )char a7="abcdef"char b4="ABC"strcpy(a,b);printf("%c",a5); A)空格B)0 C)e D)f42. 设有int a,b; 满足以下判断的表达式是:( A )。 a是3的倍数,或者b不是5的倍数 A) a%3=0 | b%5!=0B

17、) a%3!=0 | b%5=0C) a%3!=0 | b%5!=0D) a%3=0 | b%5=0 43. 设有变量定义char str80; 下列( B )语句能将字符串“shanghai 2011”从键盘输入到数组变量str中。A) printf("%s",str);B) gets(str);C) scanf("%s",str);D) puts(str); 44. 设int n; 下列选择中“结果恒为真”的表达式是( C )。A) n=0B) n!=0C) n=1D) n=n 45. 以下对二维数组a的正确说明是( C ) A)int a3; B)

18、float a(3,4); C)double a14 D)float a(3)(4);46. 判断字符串s1是否大于字符串s2,应当使用( D ) A)if(s1>s2) B)if(strcmp(s1,s2) C)if(strcmp(s2,s1)>0) D)if(strcmp(s1,s2)>0)47. 以下程序段运行时,若从键盘输入5,则运行结果是( D )。 int a,y=10; scanf("%d",&a); if (a>10) y=a+6; printf("%dn",y+a);A)10 B)11 C)16 D)15

19、48. C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式为(B ) A) 地址传递 B)单向值传递 C)由实参传给形参,再由形参传回给实参 D)由用户指定传递方式49. ( A )是不正确的叙述。A)注释说明只能位于一条语句的后面 B)C源程序的基本组成单元是函数C)C源程序可由一个或多个函数组成 D)每条语句最后必须有一个分号50. 若有定义:int k,i=2,j=4; 则表达式 k=(+i)*(j-) 的值是( B )。  A) 8  B) 12  C) 6 

20、0;D) 951. 下面叙述正确的是( D )。A)每行最多只能写两条语句 B)程序中必需含有自定义函数 C)main()函数必须位于源程序文件的开头 D)所有语句都必须以分号""结束52. 设有int i=0; 下列语句的运行结果是( A )。 while (i<=6) printf("%d",i); i=i+1; A) 0123456B) 012345C) 01234D) 0123 53. 设有int n=60; 下列语句的运行结果是( D )。 switch (n/10) case 6: printf(""); case

21、5: printf("#"); default: printf("$"); A) B) #$C) $D) #$ 54.若有说明语句:char c='95' 则变量c包含( A )个字符。A)1B)2C.)3D. 语法错误55. 以下一维数组定义中,正确的是( A )。A) int a5 = 1,2,3,4,5 ;B) int a5 = 1,2,3,4,5;C) int a1 to 5;D) int a; 56. 若有定义:int x=1234,y=123,z=12;则语句printf("%4d+%3d+%2d"

22、;, x, y, z);运行后的输出结果为( D)。 A. 123412312   B. 12341234123412341231231231212  C. 1234+1234+1234  D. 1234+123+1257. 设有char ch; 下列语句的运行结果是( C )。for(ch='B'ch<='F'ch+) printf(“%c”,ch);A) ABCDEFGB) ABCDEFC) BCDEFD) BCDEFG 58. 已知一个字符串

23、的最大字符长度为8,要使用字符数组str存放该字符串,以下哪种定义是正确的:( A ) A) char str9;B) char str8;C) char str;D) char str(9); 59. 设有int a=70; 写出下列语句的运行结果:( A )。 if ( a>=60 ) if (a>=80) printf("Very Good"); else printf("Good"); else if (a>=40) printf("Bad"); else printf("Very Bad"

24、;);A) GoodB) Very GoodC) BadD) Very Bad60. 设有int i; 以下语句中,循环次数为100次的语句是( B )。A) for ( i=0; i<=100; i+ )B) for ( i=0; i<100; i+ )C) for ( i=0; i<99; i+ )D) for ( i=1; i<99; i+ )61. 下列运算符中,不属于关系运算符的是( D ).A) <B) >C) >=D) !62. 在字符串常用函数中,用于复制字符串的函数是( B )。A) strlenB) strcpyC) strcatD

25、) strcmp63. 设有char str80;则下列输入字符串的语句中正确的是( C )。A) scanf("%s",&str);B) scanf("%s",str80);C) scanf("%s",str);D) scanf("%s",str0); 64. 若有以下的定义:int t32;则 t数组最后一个元素是( D )。A) t32B) t23C) t2D) t2165. C语言中规定函数的返回值的类型是由( D )A) return语句中的表达式类型所决定B) 调用该函数时的

26、主调用函数类型所决定C) 调用该函数时系统临时决定D) 在定义该函数时所指定的类型所决定  66. 设有定义:int a10=6,7,8,9,10;正确的解释是( B )。A) 将5个初值依次赋给a1至a5B) 将5个初值依次赋给a0至a4C) 将5个初值依次赋给a6至a10D) 将5个初值依次赋给a5至a967. 先用语句定义字符型变量c,然后要将字符a 赋给c,则下列语句中正确的是( A ).A)c='a'B)c="a"C)c="97"D)C='97'68. 以下字符串定义与赋值中,正确的

27、是( D )。A) char s80; s = 'A', 'B', 'C'B) char s80; s = "ABC"C) char s80 = "A", "B", "C"D) char s80 = "ABC"69. 设有下列变量说明与函数说明,则合法的函数调用语句是( B )。 int func( int a, int n ); int a10, n, x;A) func( a, n ) = x;B) x = func( a, n );C) x

28、= func( a, n );D) x = func( a10, n ); 70. 下列程序的输出结果为( A )。void main()int m=7,n=4;float a=38.4,b=6.4,x;x=m/2+n*a/b+1/2;printf("%fn",x);A:27.000000B:27.500000C:28.000000 D:28.50000071. 下列选项中合法的函数说明语句是( A )。A) double func( int a, int b );B) double func( int a, b );C) double func( a, int b );D

29、) double func( a, b ); 72.  以下程序的运行结果是(   B )。void main()  int n='a'  switch(n)          case 'a':    case 'b': printf("good ");

30、60;break;    case 'c': printf("pass ");    case 'd': printf("warn ");default: printf("error ");    A) error  B) good  C) error good  D

31、) warn 73. 有定义:int a=8,b=5,c;, 执行语句c=a/b+0.4;后,c 的值为 ( B ) A)1.4B)1C)2.0D)274. printf函数中用到格式符%5s ,其中数字5表示输出的字符串占用5列。如果字符串长度大于5,则输出按方式( B )A)从左起输出该字串,右补空格B)按原字符长从左向右全部输出C)右对齐输出该字串,左补空格D)输出错误信息75. 设有说明int n; char str80;与函数调用:n=hex2dec(str); 则函数hex2dec正确的函数说明应该是: ( A )。A) int hex2dec(char str);B) void

32、hex2dec(char str);C) int hex2dec(char str);D) void hex2dec(char str);76. 在c语言中while循环和do-while循环的主要区别是(  B )。 A) do-while循环体内可以使用break语句,while循环体内不能使用break语句 B)do-while的循环体至少无条件执行一次,while的循环体不是 C)do-while循环体内可以使用continue语句,while循环体内不能使用continue语句 D) while的循环体至少无条件执

33、行一次,do-while的循环体不是77. 以下程序的运行结果是( B  )。void main()  int sum = 0, item = 0;  while(item < 5)      item+;    sum = sum +item;    if(sum= =5)

34、0;     break;    printf("%dn",sum); A) 10  B) 15  C) 5  D)  678. putchar()函数的功能是向终端输出( B )。A. 多个字符B. 一个字符C. 一个实型变量值D. 一个整型变量表达式79. 设有如下程序段:则执行该程序段后,s的值是(  C  )。int a33=1,0,2,1,0,2,1,0,1,i,j,s=0;for(i=0;i&l

35、t;3;i+)  for(j=0;j<i;j+)     s=s+aij; A) 0  B)1  C)2  D)380. 若有定义:int a34=1,2,0,1,2,3;则a11的值为( A )。A. 0B. 1,2C. 1D. 381. C 语言程序中必须有的函数是( B ).A)#include "stdio.h"B)mainC)printfD)scanf82. 以下程序的运行结果是(  A   )。void fu

36、n(int array44) int j;  for(j=0;j<4;j+) printf("%2d",array2j);  printf("n");main() int a44=0,1,2,0,1,0,0,4,2,0,0,5,0,4,5,0;  fun(a); A)2 0 0 5  B) 1 0 0 4  C)0 1&#

37、160;2 0  D) 0 4 5 083.  如下fun函数的类型应该是(   C )。fun(float x)double y; int z  y=x * x  z=(int)y   return(z); A)void  B)double  C)int  D)float84. 在C语言中,表示结束当前函数的语句是 ( A )。A) return语句B) break语句C) continue语句D) end语句85.  以下程序运行后屏幕输出为( B  )。#include<stdio.h>int f(int x,int y)  return(x+y);main()  int a=2,b=3,c;&

温馨提示

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

评论

0/150

提交评论