大学C语言期末考试题库试题及答案汇总.docx

上传人:h**** 文档编号:139007 上传时间:2018-07-10 格式:DOCX 页数:43 大小:205.01KB
下载 相关 举报
大学C语言期末考试题库试题及答案汇总.docx_第1页
第1页 / 共43页
大学C语言期末考试题库试题及答案汇总.docx_第2页
第2页 / 共43页
大学C语言期末考试题库试题及答案汇总.docx_第3页
第3页 / 共43页
大学C语言期末考试题库试题及答案汇总.docx_第4页
第4页 / 共43页
大学C语言期末考试题库试题及答案汇总.docx_第5页
第5页 / 共43页
点击查看更多>>
资源描述

1、1 下列定义变量的语句中错误的是 _。 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 以下定义语句中正确的是 _。

2、 A、 char a=A b=B; B、 float a=b=10.0;(正解 a=10.0 b=10.0) C、 int a=10,*b= D、 float *a,b=? 答案: 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 语

3、言中最简单的数据类型包括 _。 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 语言中没有逻辑类型但有集合类型

4、C、 C 语言中有逻辑类型但 没有集合类型 D、 C 语言中既没有逻辑类型也没有集合类型 答案: D 知识点:常量、变量和标识符 11 当 c 的值不为 0时,在下列选项中能正确将 c的值赋给变量 a、 b 的是 _。 A、 c=b=a; B、 (a=c) (b=c); C、 (a=c) D、 a=c=b; 答案: C 知识点:赋值表达式 12 以下选项中非法的表达式是 _。 A、 0 main() int a,b,d=241; a=d/100%9; b=(-1) printf(“%d,%dn“,a,b);? A、 6,1 B、 2,1 C、 6,0 D、 2,0 答案: B 知识点:赋值表达

5、式 14 以下循环体的执行次数是 _。 main() int i,j; for (i=0,j=1; i0); D、 if(b=0) m=1;n=2;? 答案: D 知识点:简单 C 语言程序的构成和格式 26 有以下程序 main() int a=0,b=0; a=10; /* 给 a 赋值 */ b=20; /* 给 b 赋值 */ printf(“a+b=%dn“,a+b); 程序运行后的输出结果是 _。 A、 a+b=10 B、 a+b=30 C、 30 D、出错 答案: B 知识点:简单 C 语言程序的构成和格式 27 以下选项中,不能作为合法常量的是 _。 A、 1.234e04 B

6、、 1.234e0.4 C、 1.234e+4 D、 1.234e0 答案: B 知识点:实型数据 28 以下符合 C 语言语法的实型常量是 _。 A、 1.2E0.5 B、 3.14159E C、 .5E-3 D、 E15 答案: C 知识点:实型数据 30 表达式 3.6-5/2+1.2+5%2的值是 _。 A、 4.3 B、 4.8 C、 3.3 D、 3.8 答案: D 知识点:算术表达式 31 设 int a=12,则执行完语句 a+=a-=a*a 后, a的值是_。 A、 552 B、 264 C、 144 D、 -264 答案: D 知识点:算术表达式 32 以下变量 x、 y、

7、 z 均为 double 类型且已正确赋值,不能正确表示数字式子 x/(y*z)的 C 语言表达式是 _。 A、 x/y*z B、 x*(1/(y*z) C、 x/y*1/z D、 x/y/z 答案: A 知识点:算术表达式 33 若有定义: int a=8,b=5,c;,执行语句 c=a/b+0.4;后,c 的值是 _。 A、 1.4 B、 1 C、 2.0 D、 2 答案: B 知识点:算术表达式 34 设有定义: float a=2,b=4,h=3;,以下 C 语言表达式与代数式 1/2(a+b)h) 计算结果不相符的是 _。 A、 (a+b)*h/2 B、 (1/2)*(a+b)*h

8、C、 (a+b)*h*1/2 D、 h/2*(a+b) 答案: B 知识点:算术表达式 35 假定 x 和 y为 double型,表达式 x=2,y=x+3/2的值是 _。 A、 3.500000 B、 3 C、 2.000000 D、 3.000000 答案: D 知识点:算术表达式 36 若已定义 x 和 y为 double类型,则表达式x=1,y=x+3/2 的值是 _。 A、 1 B、 2 C、 2.000000 D、 2.500000 答案: C 知识点:算术表达式 37 若有以下程序段 int c1=1,c2=2,c3; c3=1.0/c2*c1; 则执行后, c3 中的值是 _。

9、 A、 0 B、 0.5 C、 1 D、 2 答案: A 知识点:算术表达式 38 设有 int x=11;则表达式( x+ * 1/3)的值是_。? A、 3 B、 4 C、 11 D、 12 答案: A 知识点:算术表达式 39 下列程序的输出结果是 _。 main() double d=3.2; int x,y; x=1.2;y=(x+3.8)/5.0; printf(“%d n“,d*y); A、 3 B、 3.2 C、 0 D、 3.07 答案: C 知识点:算术表达式 40 请读程序片段: int i=65536; printf(“%dn“,i); 上面程序片段的输出结果是 _。

10、A、 65536 B、 0 C、有语法错误,无输出结果 D、 -1 答案: B 知识点:整型数据 41 若有以下定义和语句 : int u=010,v=0x10,w=10; printf(“%d,%d,%dn“,u,v,w); 则输出结果是 : _。 A、 8,16,10 B、 10,10,10 C、 8,8,10 D、 8,10,10 答案: A 知识点:整型数据 42 在 C 语言中,不正确的 int 类型的常数是 _。 A、 32768 B、 0 C、 037 D、 0xAF 答案: A 知识点:整型数据 43 以下程序的输出结果是 _。 main( ) int k=17; printf

11、(“%d,%o,%x n“,k,k,k); A、 17,021,0x11 B、 17,17,17 C、 17,0x11,021 D、 17,21,11 答案: D 知识点:整型数据 44 下面程序的输出是 _。 main() unsigned a=32768; printf(“a=%dn“,a); A、 a=32768 B、 a=32767 C、 a=-32768 D、 a=-1 答案: C 知识点:整型数据 45 在 C 语言中,合法的长整型常数是 _。 A、 0L B、 4962710 C、 324562 else printf(“%dn“,x-); 则输出是 _。 A、 7 B、 6 C

12、、 5 D、 4 答案: B 知识点:自加、自减运算符和逗号运算符 50 有以下程序 main () char a1=M, a2=m; printf(“%cn“, (a1,a2); 以下叙述中正确的是 _。 A、程序输出大写字母 M B、程序输出小写字母 m C、格式说明符不足,编译出错 D、程序运行时产生出错信息 答案: B 知识点:自加、自减运算符和逗号运算符 51 以下程序的输出结果是 _。 main() int a; printf(“%dn“,(a=3*5,a*4,a+5); A、 65 B、 20 C、 15 D、 10 答案: B 知识点:自加、自减运算符和逗号运算符 53 设有如

13、下程序段 int x=2002,y=2003; printf(“%dn“,(x,y); 则以下叙述中正确的是 _。 A、输出语句中格式说明符的个数少于输出项的个数,不能正确输出 B、运行时产生错误信息 C、输出值为 2002 D、输出值为 2003 答案: D 知识点:自加、自减运算符和逗号运算符 54 有以下程序 main() int x,y,z; x=y=1; z=x+,y+,+y; printf(“%d,%d,%dn“,x,y,z); 程序运行后的输出结果是 _。 A、 2,3,3 B、 2,3,2 C、 2,3,1 D、 2,2,1 答案: C 知识点:自加、自减运算符和逗号运算符 5

14、5 设有以下定义 int a=0; double b=1.25; char c=A; #define d 2 则下面语句中错误的是 _。 A、 a+; B、 b+; C、 c+; D、 d+; 答案: D 知识点:自加、自减运算符和逗号运算符 56 以下程序的输出结果是 _。 main() int x=10,y=10; printf(“%d %dn“,x-,-y); A、 10 10 B、 99 C、 9 10 D、 10 9 答案: D 知识点:自加、自减运算符和逗号运算符 57 若 x 和 y 都是 int 型变量, x=100、 y=200,且有下面的程序片段 printf(“%d“,(

15、x,y); 上面程序片段的输出结果是 _。 A、 200 B、 100 C、 100 200 D、输则格式符不够 , 输出不确定的值 答案: A 知识点:自加、自减运算符和逗号运算符 58 设有如下定义 : int x=10,y=3,z; 则语句 printf(“%dn“,z=(x%y,x/y); 的输出结果是 _。 A、 1 B、 0 C、 4 D、 3 答案: D 知识点:自加、自减运算符和逗号运算符 59 两次运行下面的程序 ,如果从键盘上分别输入 6和 4,则输出结果是 _。 main( ) int x; scanf(“%d“, if(x+ 5) printf(“%d“,x); els

16、e printf(“%dn“,x-); A、 7 和 5 B、 6 和 3 C、 7和 4 D、 6和 4 答案: A 知识点:自加、自减运算符和逗号运算符 60 若 t 为 double类型,表达式 t=1,t+5,t+的值是_。 A、 1 B、 6.0 C、 2.0 D、 1.0 答案: D 知识点:自加、自减运算符和逗号运算符 61 以下程序的输出结果是 _。 #include main() int i=10,j=10; printf(“%d,%dn“,+i,j-); A、 11,10 B、 9,10 C、 010,9 D、 10,9 答案: A 知识点:自加、自减运算符和逗号运算符 6

17、2 有以下程序 main() int y=10; while(y-); printf(“y=%dn“,y); 程序执行后的输出结果是 _。 A、 y=0 B、 y=-1 C、 y=1 D、 while 构成无限循环 答案: B 知识点:自加、自减运算符和逗号运算符 63 以下叙述中正确的是 _。 A、全局变量的作用域一定比局部变量的作用域范围大 B、静态 (static)类别变量的生存期贯穿于整个程序的运行期间 C、函数的形参都属于全局变量 D、未在定义语句中赋初值的 auto变量和 static变量的初值都是随机值 答案: B 知识点:局部变量及其作用域和生存期 64 下面程序的输出是 _。

18、 fun3(int x) static int a=3; a+=x; return(a); main() int k=2, m=1, n; n=fun3(k); n=fun3(m); printf(“%dn“,n); A、 3 B、 4 C、 6 D、 9 答案: C 知识点:局部变量及其作用域和生存期 65 以下叙述中正确的是 _。 A、局部变量说明为 static 存储类,其生存期将得到延长 B、全局变量说明为 static 存储类,其作用域将被扩大 C、任何存储类的变量在未赋初值时,其值都是不确定的 D、形参可以使用的存储类说明符与局部变量完全相同 答案: A 知识点:局部变量及其作用域

19、和生存期 66 有以下程序 int fun(int x,int n) static int sum=0,i; for(i=0;iy) f(x,y); else if(yz) f(y,z); else f(x,z); printf(“%d,%d,%dn“,x,y,z); 执行后输出结果是 _。 A、 1,2,3 B、 3,1,2 C、 1,3,2 D、 2,3,1 答案: C 知识点:调用函数和被调用函数之间的数据传递 74 有以下程序 void f(int x,int y) int t; if(x2) return(fib(n-1)+fib(n-2); else return(2); main

20、() printf(“%ldn“,fib(3); 该程序的输出结果是 _。 A、 2 B、 4 C、 6 D、 8 答案: B 知识点:函数的调用 83 设函数 fun 的定义形式为 void fun(char ch,float x) 则以下对函数 fun 的调用语句中,正确的是 _。 A、 fun(“abc“,3.0); B、 t=fun(D,16.5); C、 fun (65,2.8); D、 fun(32,32); 答案: D 知识点:函数的调用 84 有以下程序 char fun(char x,char y) if(x void f(int n) main() void f(int n

21、); f(5); void f(int n); printf(“%dn“,n); 则以下叙述不正确的是 _。 A、若只在主函数中对函数 f 进行说明,则只能在主函数中正确调用函数 f B、若在主函数前对函数 f进行说明,则在主函数和其 它函数中都可以正确调用函数 f C、对于以上程序,编译时系统会出提示出错信息:提示对 f 函数重复说明 D、函数 f 无返回值,所以可用 void将其类型定义为无值型 答案: C 知识点:函数的说明 99 下列叙述中正确的是 _。 A、 C 语言编译时不检查语法 B、 C 语言的子程序有过程和函数两种 C、 C 语言的函数可以嵌套定义 D、 C 语言所有函数都是

22、外部函数 答案: D 知识点:库函数 101 以下不能正确定义二维数组的选项是 _。 A、 int a22=1,2; B、 int a2=1,2,3,4; C、 int a22=1,2,3; D、 int a2=1,2,3,4; 答案: D 知识点:二维数组的定义和二维数组元素的引用 102 以下能正确定义二维数组的是 _。 A、 int a3; B、 int a3=2*3; C、 int a3=; D、 int a23=1,2,3,4; 答案: B 知识点:二维数组的定义和二维数组元素的引用 103 以下程序的输出结果是 _。 main() int a33=1,2,3,4,5,6,i,j,s

23、=0; for (i=1;i,则输出结果为 _。 A、 2 0 0 B、 2 0 4 C、 2 4 0 D、 2 4 6 答案: B 知识点:二维数组的定义和二维数组元素的引用 114 以下程序的输出结果是 _。 main() char w10=“ABCD“,“EFGH“,“IJLK“,“MNOP“,k; for(k=1;k f(int b,int n) int i,r; r=1; for(i=0;i=0;i-) ai=10-i; printf(“%d%d%d“,a2,a5,a8); A、 258 B、 741 C、 852 D、 369 答案: C 知识点:一维数组的定义和一维数组元素的引用

24、 147 执行下面的程序段后,变量 k中的值为 _。 int k=3,s2; s0=k; k=s1*10; A、不定值 B、 33 C、 30 D、 10 答案: A 知识点:一维数组的定义和一维数组元素的引用 170 以下能正确计算定义且赋初值的语句是 _。 A、 int n1=n2=10; B、 char c=32; C、 fioat f=f+1.1; D、 double x=12.3E2.5 答案: B 知识点:赋值语句 171 以下合法的赋值语句是 _。 A、 x=y=100 B、 d-; C、 x+y; D、 c=int(a+b); 答案: B 知识点:赋值语句 172 下列语句中符

25、合 C 语言语法的赋值语句是 _。 A、 a=7+b+c=a+7; B、 a=7+b+=a+7; C、 a=7+b,b+,a+7 D、 a=7+b,c=a+7; 答案: D 知识点:赋值语句 173 请选出合法的 C 语言赋值语句 _。 A、 a=b=58 B、 i+; C、 a=58,b=58 D、 k=int(a+b); 答案: B 知识点:赋值语句 174 下面程序的输出是 _。 main() int x=10,y=3; printf(“%dn“,y=x/y); A、 0 B、 1 C、 3 D、不确定的值 答案: C 知识点:数据输出 175 已知字母 A 的 ASCII 码为十进制的

26、 65,下面程序的输出是 _。 main() char ch1,ch2; ch1=A+5-3; ch2=A+6-3; printf(“%d,%cn“,ch1,ch2); A、 67,D B、 B,C C、 C,D D、不确定的值 答案: A 知识点:数据输出 176 下列程序的运行结果是 _。 #include main() int a=2,c=5; printf(“a=%d,b=%d n“,a,c); A、 a=%2,b=%5 B、 a=2,b=5 C、 a=d,b=d D、 a=%d,b=5d 答案: B 知识点:数据输出 177 以下程序的输出结果是 _。 #include main()

27、 int a=2,c=5; printf(“a=%d,b=%dn“,a,c); A、 a=%2,b=%5 B、 a=2,b=5 C、 a=%d,b=%d D、 a=%d,b=%d 答案: D 知识点:数据输出 178 有以下程序 main( ) int x=102,y=012; printf(“%2d,%2dn“,x,y); 执行后输出结果是 _。 A、 10,01 B、 02,12 C、 102,10 D、 02,10 答案: C 知识点:数据输出 179 有以下程序 main() int a=666,b=888; printf(“%dn“,a,b); 程序运行后的输出结果是 _。 A、错误

28、信息 B、 666 C、 888 D、 666,888 答案: B 知识点:数据输出 180 有以下程序 #include main() char c1=1,c2=2; c1=getchar(); c2=getchar(); putchar(c1); putchar(c2); 当运行时输入: a 后,以下叙述正确的是_。 A、变量 C1 被赋予字符 a, c2 被赋予回车符 B、程序将等待用户输入第 2 个字符 C、变量 c1被赋予字符 a, c2 中仍是原有字符 2 D、变量 c1 被赋予字符 a,c2 中将无确定值 答案: A 知识点:数据输入 181 执行下列程序时输入: 1234567

29、89,输出结果是 _。 main() char s100; int c,i; scanf(“%c“, scanf(“%d“, scanf(“%s“,s); printf(“%c,%d,%s n“,c,i,s); A、 123,456,789 B、 1,456,789 C、 1,23,456,789 D、 1,23,456 答案: D 知识点:数据输入 182 有定义语句: int b;char c10;,则正确的输入语句是_。 A、 scanf(“%d%s“, B、 scanf(“%d%s“, C、 scanf(“%d%s“,b,c); D、 scanf(“%d%s“,b, 答案: B 知识点

30、:数据输入 184 若要求从键盘读入含有空格字符的字符串,应使用函数_。 A、 getc() B、 gets() C、 getchar()D、 scanf() 答案: B 知识点:数据输入 186 有以下程序 #include main() char c1,c2,c3,c4,c5,c6; scanf(“%c%c%c%c“, c5=getchar(); c6=getchar(); putchar(c1); putchar(c2); printf(“%c%cn“,c5,c6); 程序运行后,若从键盘输入 (从第 1列开始 ) _。 123 45678 则输出结果是 A、 1267 B、 1256

31、C、 1278 D、 1245 答案: D 知识点:数据输入 188 有以下程序 main() int m,n,p; scanf(“m=%dn=%dp=%d“, printf(“%d%d%dn“,m,n,p); 若想从键盘上输入数据,使变量 m 中的值为 123, n 中的数值为 456, p 中的值为 789,则正确的输入是_。 A、 m=123n=456p=789 B、 m=123 n456 p=789 C、 m=123,n=456,p=789 D、 123 456 789 答案: A 知识点:数据输入 189 有以下程序段 int m=0,n=0; char c=a; scanf(“%d%c%d“, printf(“%d,%c,%dn“,m,c,n); 若从键盘上输入: 10A10,则输出结果是_。 A、 10,A,10 B、 10,a,10 C、 10,a,0 D、 10,A,0 答案: A 知识点:数据输入 据输入 192 有定义语句: int x,y;,若要通过scanf(“%d,%d“,语句使变量 x 得到数据 11,变量 y 得到数值 12,下面四组输入形式中,错误的是_。 A、 11 12 B、 11,12 C、 11, 12 D、 11, 12 答案: A 知识点:数据输入 193

展开阅读全文
相关资源
相关搜索
资源标签

当前位置:首页 > 教育教学资料库 > 参考答案

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。