1、完整word版湖南工业大学C语言期末考试复习题机房题库C语言期末考试复习题(机房题库)2、下列各选项中,合法的c语言关键字是( )。 A. integex B. sin C. string D. void 参考答案: D 3、C语言的程序一行写不下时,应该( )。 A. 用回车符换行 B. 在任意一个空格处换行 C. 用分号换行 D. 用逗号换行 答案: B 4、以下选项中正确的整型常量是( )。 A. 341 B. -80 C. 2,000 D. 1 2 3参考答案: B 5、在C程序中,可以作为用户标识符的一组标识符是( )。 A. void define WORD B. as_b3 _2
2、24 Else C. switch _wel ease D. 4b DO SIG答案: B 8、以下叙述不正确的是( ) A. 一个c源程序可由一个或多个函数组成 B. 一个C源程序必须包含一个main()函数 C. c程序的基本组成单位是函数 D. 在C程序中,注释说明只能位于一条语句的后面 答案: D 9、C语言规定:在一个源程序中,main()函数的位置( ) A. 必须在最开始 B. 必须在系统调用的库函数的后面 C. 可以任意 D. 必须在最后 参考答案: C 10、在C语言中,数字029是一个() A. 八进制数 B. 十六进制数 C. 十进制数 D. 非法数 参考答案: D 12
3、、C语言可执行程序的开始执行点是( ) A. 程序中的一条可执行语句 B. 程序中第一个函数 C. 程序中的main函数 D. 包含文件中的第一个函数 参考答案: C 13、C程序是( ) A. 顺序执行 B. 从Main函数开始 C. 从函数体开始 D. 任意语句 参考答案: B 16、以下说法中正确的是( )。 A. 语言程序中是从第一定义的函数开始执行 B. 在语言程序中,要调用的函数必须在main()函数中定义 C. 语言程序总是从main()函数开始执行 D. 语言程序中的main()函数必须放在程序的开始部分 参考答案: C 17、一个C程序的执行是从( ) A. 本程序的main
4、函数开始,到main函数结束 B. 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C. 本程序的main函数开始,到本程序文件的最后一个函数结束 D. 本程序文件的第一个函数开始,到本程序main函数结束 参考答案: A 18、以下叙述正确的是( ) A. 在C程序中,main函数必须位于程序的最前面 B. C程序的每行中只能写一条语句 C. C语言本身没有输入输出语句 D. 在对一个C程序进行编译的过程中,可发现注释中的拼写错误 答案: C 1、C源程序的基本单位是_函数 _ 2、一个C源程序中至少应包括一个_答案: main函数 3、在一个C源程序中,注释部分两侧的分界符分别
5、为_和_参考答案: /*,*/ 4、函数体用_开始,用_结束。 参考答案: , 6、C语言中的标识符只能由3种字符组成,它们是_、_和_ 参考答案: 字母 数字 下划线 7、设a,b和c都是int型变量,且a=3,b=4,c=5,则下面表达式的值为0的是_. A. a&b B. a=b C. a|b+c&b-c D. !(a b)&!c|1) 参考答案: D 10、判断字符型变量x是否是大写字母的正确的表达式_. A. A=x=A)&(x=Z) C. (Ax) D. (x=A)&(x=Z) 答案: D 1、已知char ch;则判断ch是英文字符的逻辑表达式是_ 参考答案: (ch=a)|(c
6、h=A) 2、表示条件:10 x 100或x 10&X100)| Xb)&!c|1 参考答案: 0,1,1 4、当a=3,b=2,c=1时,表达式f=a b c的值是_ 参考答案: 0 6、设y是int型变量,请写出判断y为奇数的关系表达_. 参考答案: (Y%2)=1 8、表示“整数x的绝对值大于5”时值为“真”的C语言表达式是。 参考答案: x5|xBCA|AB的值是。 参考答案: 0 1、以下选项中属于C语言的数据类型是 A. 复数型 B. 逻辑型 C. 双精度型 D. 集合型 参考答案: C 2、在C语言中,不正确的int类型的常数是 A. 32768 B. 0 C. 037 D. 0
7、xAF 参考答案: A 4、在C语言中,合法的长整型常数是 A. OL B. 4962710 C. 324562& D. 216D 参考答案: A 7、以下所列的C语言常量中,错误的是 A. 0xFF B. 1.2e0.5 C. 2L D. 72 参考答案: B 9、下列变量名合法的是( ) A. #1 B. $567 C. a-b D. m_number 参考答案: D 14、C语言提供的合法的数据类型关键字是: A. Double B. short C. integer D. Char 参考答案: B 15、在C语言中(以16位PC机为例),5种基本数据类型的存储空间长度的排列顺序为 A.
8、 char int long int =float double B. char=int long int=float double C. char int long int=float=double D. char=int=long int=float double 参考答案: A 16、下列四组选项中,均不是C语言关键字的选项是 A. define IF type B. getc char printf C. include scanf case D. while go pow 参考答案: A 17、下面四个选项中,均是合法整型常量的选项是 A. 160 -0xffff 011 B. -0
9、xcdf 01a 0xe C. -0x46a 2e5 0x D. -0x48a 2e5 0x 参考答案: A 18、下面四个选项中,均是合法的浮点数的选项是 A. +1e+1 5e-9.4 03e2 B. -.60 12e-4 -8e5 C. 123e 1.2e-.4 +2e-1 D. -e3 .8e-4 5.e-0 参考答案: B 20、下面四个选项中,均是不正确的八进制数或十六进制数的选项是 A. 016 0x8f 018 B. 0abc 017 0xa C. 010 -0x11 0x16 D. 0a12 7ff -123 参考答案: D 21、已知各变量的类型说明如下: int k,a,
10、b; unsigned long w=5; double x=1.42; 则以下不符合C语言语法的表达式是 A. x%(-3) B. w+=-2 C. k=(a=2,b=3,a+b) D. a+=a-=(b=4)*(a=3) 答案: A 25、设C语言中,一个int型数据在内存中占2个字节,则unsigned int型数据的取值范围 A. 0-255 B. 0-32767 C. 0-65535 D. 02147483647 参考答案: C 2、 设有以下变量定义,并已赋确定的值 char w; int x; float y; double z; 则表达式:w*x+z-y所求得的数据类型为_ :
11、double 5、表达式8/4*(int)2.5/(int)(1.25*(3.7+2.3)值的数据类型为_参考答案: int 6、表达式pow(2.8,sqrt(double(x)值的数据类型为_: double _ 7、设C语言中,一个int型数据在内存中占2个字节,则int型数据的取值范围为_ 参考答案: -32768至32767 1、算法的表示方法有_答案: 自然语言,传统流程图,N-S流程图,伪代码,计算机语言 1、若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系 的表达式为_。 A. a 0 B. !a C. a=0 D. a!=0 参考答案: D 2、以下程序输
12、出结果是 main ( ) int m=5; if (m+ 5) printf (%dn,m); else printf (%dn,m-); A. 7 B. 6 C. 5 D. 4 参考答案: B 4、若变量都已经说明,则以下程序段输出为( ) a=10;b=50;c=30; if (a b) a=b; b=c;c=a; printf(a=%db=%dc=%dn,a,b,c); A. a=10 b=50 c=10 B. a=10 b=30 c=10 C. a=50 b=30 c=10 D. a=50 b=30 c=50 参考答案: B 5、为避免嵌套的条件分支语句ifelse的二义性,C语言规
13、定,C程序中的 else总是与_组成配对关系。 A. 其上面距它最近的,并且没有其他else与其配对的if相配对 B. 在同一行上的if C. 缩排位置相同的if D. 在其之前未配对的if 参考答案: A 8、请读程序: main() float x,y; scanf(%f,&x); if(x 0.0) y=0.0 else if(x 5.0)&(x!=2.0) y=1.0/(x+2.0); else if( x 10.0) y=1.0/x; else y=10.0; printf(%fn,y); 若运行时从键盘上输入2.0(表示回车),则上面程序的输出结果是 A. 0.000000 B.
14、0.250000 C. 0.500000 D. 1.000000 参考答案: C 9、在执行以下程序时,为了使输出结果为t=4, 则给a和b输入的值应满足的条件是 Dmain( ) int s,t,a,b; scanf(%d,%d,&a,&b); s=1; t=1; if(a b)t=s+1; else if(a= =b)t=5; else t=2*s; printf(t=%dn,t); A. 0 a b B. a=0 b C. a=b 0 D. a b 010、若有定义: float w; int a, b; 则合法的switch语句是( ) A. switch(w) case1.0: pr
15、intf(*n); case2.0: printf(*n); B. switch(a); case 1 printf(*n); case 2 printf(*n); C. switch(b) case 1: printf(*n); case 2: printf(*n); D. switch(a+b); case 1: printf(*n); default: printf(n); case 2 参考答案: C 11、判断两个字符串S1 和 S2 相等的正确语句是_ A. if (S1=S2) B. if (S1=S2) C. if (strcpy(S1,S2) D. if (strcmp(S1
16、,S2)=0) 参考答案: D 15、当a=1,b=3,c=5,d=4时,执行完下面一段程序后x的值是 if(a b) if(c d) x=1; else if(a c) if(b =0) if(x0)y=1; else y=-1; prinff(”d”,y); 当从键盘输入32时,程序输出结果为( )。 A. 0 B. 1 C. -1 D. 不确定 参考答案: B 18、如下程序的输出结果是( )。 #include main() int a=12,b=5,c=-3; if(ab) if(b0)c=0; else c+; printf(”dn”,c); A. 0 B. 1 C. -2 D.
17、-3 参考答案: C 19、#include main() int x: scanf(”d”,&x); if(x- b c) temp=a B. if(a=b) 0) temp=a C. int a=b=c=4 D. int a;scanf(%d,a) 参考答案: B 26、有如下程序 main() int a=2,b=-1,c=2; if(a b) if(b 0?1:x 0) y=1; else if(x 0) y=1; else if(x -0) if(x 0) y=1; else y=-1; 参考答案: A 填空题:2、以下程序运行后的输出结果是。 #include main() int
18、 x=10,y=20,t=0; if(x=y)t=x;x=y;y=t; printf(”d,dn”,x,y); 参考答案: 0 3、若int i=10;,则执行下列程序后,变量i的正确结果是。 switch(i) case 9:i+=1; case 10:i+=1; case 11:i+=1: default:i+=1; 答案: (20X)&(X30)|(X-100) tr 4、下列程序段的输出结果是 _ 。 int n=c; switch(n+) default: printf(error);break; case a:case A:case b:case B:printf(good);br
19、eak; case c:case C:printf(pass); case d:case D:printf(warm); 参考答案: passwarm 已知int a3=1,2,3,4,5,6,7;,则数组a的第一维的大小是( )。 A. 2 B. 3 C. 4 D. 无确定值 参考答案: B 2、有如下程序: #include main() int n5=0,0,0,i,k=2; for(i=0;iprintf(”dn”,nk); 该程序的输出结果是( )。 A. 不定值 B. 2 C. 1 D. 0 答案: D 3、以下程序的输出结果是( )。 #include f(int b,int m
20、,int n) int i,s=0; for(i=m;ireturn s; main() int x,a=1,2,3,4,5,6,7,8,9; x=f(a,3,7); printf(”dn”,x); A. 10 B. 18 C. 8 D. 15 答案: A 4、以下程序中函数reverse()的功能是将a所指数组中的内容进行逆置。 #include void reverse(int a,int n) int i,t; for(i=0;it=ai;ai=an-1-i;an-1-i=t; main() int b10=1,2,3,4,5,6,7,8,9,10;int i,s=0; reverse(
21、b,8); A. 22 B. 10 C. 34 D. 30 参考答案: A 5、在c语言中,一维数组的定义方式为:类型说明符数组名( )。 A. 常量表达式 B. 整型表达式 C. 整型常量或整型表达式 D. 整型常量 参考答案: A 6、若有说明:int a34;,则对a数组元素的非法引用是( )。 A. aO2*1 B. a13 C. a4-20 D. a04 答案: D 7、下面程序中有错误的行是( )。 (1)main() (2) (3)int a3=1; (4)int i; (5)scanf(”d”,a); (6)for(i=1;i3;i+)a0=a0+ai; (7)prinff(”
22、fn”,a0); (8) A. 3 B. 6 C. 7 D. 5答案: D 11、下面程序_(每行程序前面的数字表示行号) 1 main() 2 3 float a3=0,0; 4 int i; 5 for(i=0;i3;i+) scanf(%d,&ai); 6 for(i=1;i10;i+) a0=a0+ai; 7 printf(%fn,a0); 8 A. 没有错误 B. 第3行有错误,虽然编译能够通过 C. 第5行有错误,虽然编译能够通过 D. 第7行有错误 ,虽然编译能够通过 参考答案: C 12、以下不正确的定义语句是 A. double x5=2.0,4.0,6.0,8.0,10.0
23、; B. int y5=0,1,3,5,7,9; C. char c1=1,2,3,4,5; D. char c2=x10,xa,x8 参考答案: B 13、执行下面的程序段后,变量k中的值为 s0=k; k=s1*10; A. 不定值 B. 33 C. 30 D. 10 答案: A 15、定义如下变题和数组: int i; int x33=1,2,3,4,5,6,7,8,9; 则下面语句的输出结果是 for(i=0;i 3;i+) printf(%d,xi2-1); A. 1 5 9 B. 1 4 7 C. 2 5 8 D. 3 6 9 参考答案: C 16、下列程序的输出结果是 main(
24、) static int s3=1,2,3,4,5,6; int t; t=(s00, s11,s01+s12); printf(%d n,t); A. 5 B. 6 C. 7 D. 8 参考答案: D 17、下列对数组赋值的语句正确的是( ) A. static a4=0,0,0,0 B. int a4=0*4 C. static a4=0 D. static a4;a=0; 答案: A 19、若有说明 int a34;则对a数组元素的正确引用是 A. a24 B. a1,3 C. a1+10 D. a(2)(1) 答案: C 20、若有说明 int a34;则a数组元素的非法引用是 A. a02*1 B. a13 C. a4-20 D. a04 答案: D 1、用来引用特定数组元素的数字称为:下标 2、把数组元素按顺序存放的过程称为_: 排序 4、在C语言中,二维数组元素在内存中的存放顺序是: 按行顺序存放 5、下面程序的运行结果是。 #include main() int i,f10; f0=fl=1; for(i=2;ifi=fi-2+fi一1; for(i=0;iif(i4=0)printf(”n”);
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1