收藏 分销(赏)

湖南工业大学C语言期末考试复习题(机房题库).doc

上传人:二*** 文档编号:4464396 上传时间:2024-09-23 格式:DOC 页数:36 大小:89KB
下载 相关 举报
湖南工业大学C语言期末考试复习题(机房题库).doc_第1页
第1页 / 共36页
亲,该文档总共36页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

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_b

2、3 _224 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. 非法数 参考答案:

3、D 12、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. 本程序的

4、main函数开始,到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

6、)|(ch=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

7、D. 0xAF 参考答案: 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种基本数据类型的存储空间长度的排列顺序

8、为 A. 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

9、. -0xcdf 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

10、k,a,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的二义性,

13、C语言规定,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

14、 B. 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

15、: printf(*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 (strcm

16、p(S1,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

17、 D. -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()

18、 int 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

19、);break; 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,i

20、nt m,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; reve

21、rse(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)prin

22、ff(”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,

23、10.0; 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、下列程序的输出结果是 m

24、ain() 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数组元素的非法引用是

25、 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”); printf(”3d”,fi); 参考答案: 1 1 2 3 5 8 13 21 34 55 7、在C语言中,一维数组的定义方式为:类型说明符数组名。 参考答案:

26、 常量表达式 8、阅读程序,写出执行结果。 #include func(int b) int j; for(j=0;j4;j+) bj=j; main() int a4,i; func(a); for(i=0;i4;i+) printf(”d”,ai); 参考答案: 0 1 2 3 1、编写程序,将一个不大于256的十进制正整数转化为8位的二进制数,若不足8位,则在前面补0,例如十进制数2转化位8位二进制数后是00000010,37转化后是00100101。 试求出十进制数5、23、189转化位8位二进制分别是多少?(要求必须使用循环语句实现) 参考答案: main() int a,i,b8;

27、 printf(Please Input a Number =256:n); scanf(%d,&a); for(i=1;i =1) bi=a%2; a=a/2; if (a=0) break; i-; for(i=1;i =8;i+) printf(%d,bi); printf( 2、编写程序,求一正整数等差数列的前五项的立方和,该数列前四项之和是26、之积是880。 参考答案: main() long a0,d; long s; for(a0=1;a0=26;a0+) for(d=1;d=26;d+) if(a0+a0+d+a0+2*d+a0+3*d)=26&a0*(a0+d)*(a0+2

28、*d)*(a0+3*d)=880) s=a0*a0*a0+(a0+d)*(a0+d)*(a0+d)+(a0+2*d)*(a0+2*d)*(a0+2*d) +(a0+3*d)*(a0+ 3、本程序演示打印出杨辉三角形(要求打印出10行如下图) 程序分析 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10105 1 参考答案: main() int i,j; int a1010; printf(n); for(i=0;i10;i+) ai0=1; aii=1; for(i=2;i10;i+) for(j=1;jaij=ai-1j-1+ai-1j; for(i=0;i10;i+

29、) for(j=0;j10;j+ 3、以下关于运算符优先顺序的描述中正确的是 A. 关系运算符 算术运算符 赋值运算符 逻辑运算符 B. 逻辑运算符 关系运算符 算术运算符 赋值运算符 C. 赋值运算符 逻辑运算符 关系运算符 算术运算符 D. 算术运算符 关系运算符 赋值运算符 逻辑运算符 参考答案: C 7、有如下程序段 int a=14,b=15,x; char c=A; x=(a&b)&(cB); 执行该程序段后,x的值为 A. ture B. false C. 0 D. 1 答案: D 8、 设有 int x=11; 则表达式 (x+ * 1/3) 的值是 A. 3 B. 4 C.

30、11 D. 12 答案: A 13、在C语言中,如果下面的变量都是int类型,则输出结果是_ sum=pad=5; pAd=sum+,pAd+,+pAd; printf(%dn,pad); A. 7 B. 6 C. 5 D. 4 参考答案: B 14、设有int i=10,j=10; 则printf(%d,%dn,+i,j-)的输出是_. A. 11, 10 B. 9 10 C. 10 9 D. 10,9 参考答案: A 16、设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 5|xs2) B. if(strcmp(sl,s2) C. if(strcmp(s2,s1)0) D. if(strcmp(sl,s2)0) 参考答案: D 8、当运行以下程序时,从键盘输入:AhaMA空格Aha,则下面程序的运行结果是( )。 #include m

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服