C语言练习题a_第1页
C语言练习题a_第2页
C语言练习题a_第3页
C语言练习题a_第4页
C语言练习题a_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

1、C语言练习题一、单项选择题1. 一个C程序的执行是从( )。A. 本程序的main函数开始,到main函数结束B. 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C. 本程序的main函数开始,到本程序文件的最后一个函数结束D. 本程序文件的第一个函数开始,到本程序main函数结束2. 字符型数据使用( )括起来。A. 单引号 B. 双引号 C. 圆括号 D. #3. 下列符号中用来表示C语言中的回车换行的是( )。A. r            B. n 

2、60;        C. b           D. t4. 以下不能定义为用户标识符的是( )。A. MAIN        B. _HJ        C. 2ong         D. LINE15

3、. 被调函数通过( )语句,将值返回给主调函数。 A. if B. for C. while D. return 6. printf(“%d”,7%4); 执行之后,输出结果是( )。A. 2 B. 3 C. 4 D. 1.757. C语言中形参的默认存储类别是( )。A. 自动auto B. 静态static C. 寄存器register D. 外部extern8. 表达式1&&2&&3&&4的值为( )。A.1 B.2 C.3 D.49. 若x=0,y=3,z=3,以下表达式值为0的是( )。A. !x B.x<y? 1:0 C. x&

4、amp;&y&&z D. y=x|z/310. 若变量c为char类型,能正确判断出c为小写字母的表达式是( )。A. 'a'<=c<= 'z' B. (c>= 'a')|(c<= 'z') C. ('a'<=c)and ('z'>=c) D. (c>= 'a')&&(c<= 'z')11. 设有数组定义: char ch=“student”, 则数组ch 所占的空间为( )。A.

5、 5字节 B. 6字节 C. 7字节 D. 8个字节12. 数学比较表达式:5>x2对应的C语言逻辑表达式是( )。A.5>x>=2 B.5>x && x>2 && x=2 C.x<5 && x>=2 D.x<5 | (x>2)13. 若有定义: int a3=1,2,3,4,5,6,则a10的值是( )。A. 4 B. 1 C. 2 D. 514. 以下函数调用语句中,含有实参的个数为( )。fun(max(2,3),4); A. 1 B. 2 C.3 D.415. 在C语言中,若对函数类型

6、未另显示说明,则函数的隐含类型是( )类型。A.void B.double C.int D.char16. 在 C 语言中,每个语句必须以( )结束。 A. 回车符 B. 冒号 C. 逗号 D. 分号17. 字符串的结束标志是( )。 A. 0 B. '0' C. '0' D. "0"18. printf("%c,%d",'b', 'b');的输出结果是( )。 A. b,98 B. b 98 C. 98,b D. 98 b 19. 复合语句是用( )括起来的语句组。 A. ( ) B. C

7、. D. < >20. int a4=5,3,8,9;其中 a3的值为( )。A. 5 B. 3 C. 8 D. 921. 若有以下定义:float w20;,则w数组元素的下标最大为( )。A. 20 B. 19 C. 21 D. 022. for(i=1;i<9;i+=1);该循环共执行了( )次。A. 9 B. 8 C. 0 D. 123. 基本整型的数据类型符为( )。 A. int B. char C. float D. double24. 在 C语言 中, printf和scanf 函数均包含在头文件( )中。A. stdio.h B. math.h C. str

8、ing.h D. time.h25. C语言程序的基本单位是( )。 A过程        B函数     C 语句    D子程序26. 选出下列标识符中不合法的标识符的是( )。   Aanswer Bto Csigned Dmax 27. C语言用( )表示逻辑“真”值。Atrue Bt或y C非零值 D整型值028. 在C程序中有如下语句:char func(int x,int y); 它是( )。

9、A对函数func的定义。 B对函数func的调用。C对函数func的声明。 D不合法的29. 若有说明 int a10;则对a数组元素的不正确引用是( )。Aa0 Bai Ca10 Da 2+330. 以下对二维数组a的正确定义是( )。Aint a3  Bfloat a(3,4)  Cfloat a34  Dint a(3)(4)  31. C语言允许函数类型缺省定义,此时函数值隐含的类型是( )。Afloat Bint Clong&

10、#160;Ddouble 32. 一个C语言的执行是从( )。A本程序的主函数开始,到本程序的主函数结束 B本程序的第一个函数开始,到本程序的最后一个函数结束 C本程序的主函数开始,到本程序的最后一个函数结束 D本程序的第一个函数开始,到本程序的主函数结束 33. 在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是( )。A. 地址传递 B. 单向值传递C. 由实参传给形,再由形参传回实参 D. 传递方式由用户指定34. 以下程序的输出结果是( )。int x=10,y=10; printf(“%d,%dn”,x+,+

11、y); A10,11 B11,10   C10, 10 D11, 1135. 可用于跳出switch和循环结构的语句是( )。Abreak语句 Breturn语句 Ccontinue语句 D空语句36. 若x=5,y=3 则y*=x+5; y的值为( )。A10B20C15 D3037. 若有定义int x=3,y=2和float a=2.5,b=3.5,则表达式:(x+y)%2+(int)a/(int)b的值是( )。A 0     B2    

12、0;   C1.5         D138. 下列程序的输出结果是( )。char str110="abcd", str210="ABCDEF", strcpy(str1,str2); printf("%s",str1); Aabcd BABCDEF CabcdABCDEF DabcdEF39. 假定w、x、y、z、m均为int型变量,有如下程序段:    w=1;x=2;y=3;z=

13、4;    m=(w<x)?w:x;  m=(m<y)?m:y;   则该程序段执行后,m的值是( )。A4         B3         C2         D140.表达式:10!=9的值是( )。Atrue B非零值 C0

14、 D1 41.下面合法的C语言字符常量是( )。A 't'       B "A"        C 65      D A42. C语言的基本数据类型包括( )。A整型,实型,逻辑型       B整型,实型,字符型 C整

15、型,字符型,逻辑型     D整型,实型,逻辑型,字符型43. C语言中while和dowhile循环的主要区别是( )。Adowhile的循环体至少无条件执行一次  Bwhile的循环控制条件比dowhile的循环控制条件严格 Cdowhile允许从外部转到循环体内  Ddowhile循环体不能是复合语句44. 单精度实数的数据类型符为( )。A. int B. char C. float D. double45. 字符串常量使用( )括起来 。 A. 单引号 B. 双引号 C. 圆括号 D. #46.

16、 C语言规定,函数返回值的类型是由( )。A. return语句中的表达式类型所决定 B. 调用该函数时的主调函数类型所决定C. 调用该函数时系统临时决定 D. 在定义该函数时所指定的函数类型决定47. 设有说明:char w; int x; float y; 则表达式: w*x-y值的数据类型( )。Afloat        Bchar     Cint   &#

17、160;   Ddouble48. 在 C 语言中,每个语句必须以( )结束。A. 回车符 B. 冒号 C. 逗号 D. 分号49. C语言规定:在一个源程序中,main函数的位置( )。A. 必须在最开始B. 必须在系统调用的库函数的后面C. 可以任意 D. 必须在最后50. C语言程序的基本单位是( )。A. 函数 B. 过程 C. 子程序 D. 子例程51. 在下列字符串中,合法的标识符是( )。 A. p12&.a B. stud_100 C. water$12 D. 88sum52、 求标有/*/语句的执行次数( )。 int a=0,i; fo

18、r (i=0;i<20;i+) if (i%5!=0) break; a+=i; /*/ A. 0 B. 1 C. 20 D. 1953、现有以下定义,int a;double b;float c;char k; 则下面的表达式a*b+c/k值的类型是( )。A. int B. double C. float D. char54、C语言规定,调用一个函数时,实参变量和形参变量之间的数据传递是( )。A. 地址传递 B. 由实参传给形参,并由形参返回给实参C. 值传递 D. 由用户指定传递方式55、printf(“%d”,15/4); 执行之后,输出结果是( )。A. 2 B. 3 C.

19、4 D. 3.7556、在 C 语言中,以下正确的描述是( )。A. 函数的定义可以嵌套,但函数的调用不可以嵌套 B. 函数的定义不可以嵌套,但函数的调用可以嵌套 C. 函数的定义和函数的调用均不可以嵌套 D. 函数的定义和函数的调用均可以嵌套 57、若变量c为char类型,能正确判断出c为大写字母的表达式是( )。A. 'A'<=c<= 'Z' B. (c>= 'A')|(c<= 'Z') C. ('A'<=c)and ('Z'>=c) D. (c>= &

20、#39;A')&&(c<= 'Z')58、若x=0,y=3,z=3,以下表达式值为0的是( )。 A. !x B. x<y? 1:0 C. x&&y&&z D. y=x|z/359、数学比较表达式:5>x2对应的C语言逻辑表达式是( )。A. 5>x>=2 B. 5>x && x>2 && x=2 C. x<5 && x>=2 D. x<5 | x>260、设有数组定义: char ch=“computer”,

21、 则数组ch 所占的空间为( )。A. 6字节 B. 7字节 C. 8字节 D. 9字节 61、在C语言中,若对函数类型未显式说明,则函数的隐含类型是 类型。A. void B. double C. int D. char62、在 C 语言中,每个语句必须以 结束。 A. 回车符 B. 冒号 C. 逗号 D. 分号63、字符串的结束标志是 。 A. 0 B. '0' C. '0' D. "0"64、复合语句是用 括起来的语句组。 A. ( ) B. C. D. < >65、C语言程序的基本单位是( )。 A. 子程序 B. 程序

22、C. 函数 D. 过程66、 以下不正确的C语言标识符是( )。A. ABC B. abc C. a_bc D. ab.c67. C语言允许函数值类型缺省定义,此时该函数值隐含的类型是( )。A. float型 B. int型 C. long型 D. double型68. C语言规定,函数返回值的类型是由( )。A. return语句中的表达式类型所决定B. 调用该函数时的主调函数类型所决定C. 调用该函数时系统临时决定D. 在定义该函数时所指定的函数类型决定69. printf(“%d”,17/5); 执行之后,输出结果是( )。A. 3.4 B. 4 C. 3.6D. 370. print

23、f(“%d”,7%4); 执行之后,输出结果是( )。A. 2 B. 3 C. 4 D. 1.7571. 复合语句是用( )括起来的语句组。 A. ( ) B. C. D. < >72. 在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是( )。A. 地址传递 B. 值传递C. 由实参传给形参,再由形参传回实参 D. 传递方式由用户指定73. 若x=0,y=3,z=3,以下表达式值为0的是 ( ) 。 A. !x B.x<y? 1:0 C. x&&y&&z D. y=x|z/374. 若有定义: int a3=1,2,3,4,5

24、,6,则a10的值是 ( )。A. 4 B. 1 C. 2 D. 575. 设有数组定义: char ch=student”, 则数组ch 所占的空间为( )。A. 5字节 B. 6字节 C. 7字节 D. 8个字节76. 若有数组定义: int a10, 则( )数组引用是合法的。A. a0 B. a(0) C. a10 D.a(10)77. 求标有/*/语句的执行次数( )。 int a=0,i; for (i=1;i<20;i+) if (i%5!=0) break; a+=i; /*/ A. 0 B. 1 C. 20 D. 1978. 有定义语句:int a=l,b=2,c=3,

25、x;则以下各程序段执行后,x的值不为3的是( )。 A. if (c<a) x=l; B. if(a<3) x=3; else if(b<a) x=2; else if(a<2) x=2; else x=3; else x=l; C. if (a<3) x=3; D. if(a<b) x=b; if (a<2) x=2; if(b<c) x=c; if (a<1) x=l; if(c<a) x=a;79. 字符型数据使用( )括起来。 A. 单引号 B. 双引号 C. 圆括号 D. #80. 执行下面语句后,a的值为( )。int a

26、=1 ;if (a>0)  a+=1; if (a>1)  a=0;A. 0 B. 1 C. 2 D. 381. 以下程序段的执行结果为( )。main() char c1,c2; c1=97; c2=98; printf(“%c,%cn”,c1,c2); A. 97,98 B. a,b C. A,B D. 以上都不对82. 在C语言中,要求运算数必须是整型的运算符是( )。A. % B. / C. D. 以上都不对83. 以下说法中正确的是( )。A. C语言程序总是从第一个定义的函数开始执行 B. 在C语言程序中,要调用的函数必

27、须放在main()函数中定义 C. C语言程序总是从main()函数开始执行 D. C语言程序中的main()函数必须放在程序的开始部分 84. 下列程序段的输出结果是( )。 #define N 10 main() int x=8;printf(“%d”,N+x); A. 8 B. N C. 10 D. 18二、判断题(每小题1分,共10分)注意:正确的填A,错误的填B1. C语言有三种结构化程序设计方法,分别为顺序结构、选择结构和循环结构。() 2.在C程序中,min 和Min代表不同的变量。( ) 3.C语言本身不提供输入输出语句,输入和输出操作是由库函数来实现的。 ( )4.

28、C语言规定:在一个源程序中,main函数的位置必须在最开始。 ( )5.在C语言中,要求运算数必须是整型的运算符是/ 。 ( ) 6.在C语言中,逗号运算符的优先级最低。( )7.字符串是C语言中一种基本数据类型,字符串总是以n作为结束标志。( )8.有数组定义int a22=1,2,3;则a22的值为3。( )9.在调用函数时,实参的个数与形参的个数可以不一致。( )10.C语言程序的变量必须先定义再使用。( )11、C语言有三种结构化程序设计方法,分别为顺序结构、选择结构和循环结构。      (  )12、C

29、语言中的逻辑值“真”是用T表示的,逻辑值“假”是用F表示的。 (  )                                           &#

30、160;     13、利用printf函数可以输出一个字符串。(  )14、一个C程序必须有且只能有一个main()函数。(  )15、for语句作为循环控制语句时,从语法上将其括号内各个表达式都可缺省,但表达式内的分号却不可以省。( )  16、在C语言中,虽然有逻辑运算,但没有逻辑型变量。(  )17、在调用函数时,实参的个数与形参的个数可以不一致。(  )18、C语言本身没有输入输出语句,是用输入输出函数实现输入输出操作。(  )19、C程序的基本组成单位是函数。(&

31、#160; )20、字符串是C语言中一种基本数据类型,字符串总是以n作为结束标志。 (  )21、数组大小固定,所有元素的类型必须相同( )22、C 语言中,数组的各元素必须具有相同的类型。(  )23、C语言规定:标识符应由字母、下划线和数字组成,且可以是上述字符的任意组合,其长度也是任意的。(    )                   &#

32、160;                                   24、数组在定义时没有必要指定数组的长度,其长度可以在程序中根据元素个数再决定。(  )25、if语句有多种使用方法,其中if子句和else 子句也都可以单独使用。(

33、60; )26、for语句作为循环控制语句时,从语法上将其括号内各个表达式都可缺省,但表达式内的分号却不可以省。( )  27、在C语言中,虽然有逻辑运算,但没有逻辑型变量。(  )28、在对一个C程序进行编译的过程中,可以发现注释中的拼写错误。(  )29、C语言本身没有输入输出语句,是用输入输出函数实现输入输出操作的。(  )30、C程序中数组名可以与其他变量名相同。( )31、字符串是C语言中一种基本数据类型,字符串总是以n作为结束标志。(  )32利用函数 putchar( )可以输出一个字符串。( )33. 一个循环的循环体

34、中还可以包含另外一个循环,称为循环嵌套。( )33. C语言不区分大小写字母,如ABC和 abc 是相同的标识符。( )34. 在C程序中,语句之间必须要用分号“;”分隔( )35. 一个C程序必须有且只能有一个main()函数。( )36. C语言中标识符不能与保留字同名。( )37. C语言中数组名可以与其他变量名相同。( )38. 字符数据在计算机内部也是以二进制形式来表示的。( )39. 在调用函数时,实参的个数与形参的个数可以不一致。( )40. while 循环是“先执行,后判断”,即不管循环条件是否满足,循环体至少执行一次。( )三、程序分析题(每小题4分,共24分)1.分析程序

35、的运行结果_#include <stdio.h>   void main( )   int  a,b,x;a=3;b=a-;x=a+b;printf(“%d”,x);  2.分析程序的运行结果_#include<stdio.h> void main() int a=5,b=3;if(a>b) printf(“yes”);else printf(“no”);3. 分析程序的运行结果_# include<stdio.h>void main()int i,t;t=1;for(i=2;i<=10

36、;i+)t=(t+1)*2;printf("%dn",t); 4. 若i=7,下列程序的运行结果是 。 switch(i) case 6: i+=1; break;case 7: i+=2; break;case 8: i+=3; break;case 9: i+=4; break;printf("%dn",i);5. 利用一维数组求斐波那契数列,补充完整以下程序。#include<stdio.h> void main() int i, f20=1,1;for(i=2;i<20;i+)_for(i=0;i<20;i+)printf

37、("%12d",fi);6. 判断某一年是否是闰年,请补充完整以下程序。#include <stdio.h>void main() int year; printf(“please input a year:”); scanf(“%d”,year); if ( ) printf(“%d is a leap year!n”,year); else printf(“%d is not a leap year!n”,year);7.写出下面程序的执行结果 。main() int num=0; while(num<=2) num+; printf(“%dn”,nu

38、m); 8.以下程序段的输出结果是_。 int x=5;if(x>0) y=1;else if(x=0) y=0;else y= 1;printf("%d",y);9.计算1+1/2+1/4+1/50的值,请填空使完整。 main() int i=2; float sum=1.0; while(i<= ) sum+=1.0/i; i+=2; printf(“sum=%fn”,sum); 10写出下面程序的执行结果。            

39、60;    (1)#include <stdio.h>main() int num=0; while (num<=2) num+; printf(“%dn”,num); 执行结果: 11写出下面程序的执行结果。#include <stdio.h>main()int x=5,y; if (x>0) y=1;else if (x=0) y=0;else y= 1;printf("y=%d",y);执行结果: 12阅读程序并填空。(1)编写程序实现两个数互换。void main () int , x , y ;scanf (“%d ,%d ”, &x, &y );temp=x; ; ;printf (“%d , %d ”, x, y );13 判断某一年是否是闰年。#include <stdio.h>main() ; print

温馨提示

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

评论

0/150

提交评论