c语言期末测试题附答案_第1页
c语言期末测试题附答案_第2页
c语言期末测试题附答案_第3页
c语言期末测试题附答案_第4页
c语言期末测试题附答案_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

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

文档简介

1、课程代码: A100002座位号: 姓名: 学院: 计算机技术基础( C 语言)试卷 A 学号 :专业: 班级: 20 年 月 日 A) C) 2、 得分 评卷人 答对 1、以 一部分 选择题(共 30 分) 单项选择题 (本大题共 15 小题,每题只有一个正确答案, 一题得 2 下关 【 标识符可以由汉字组成 关键字可以作为用户标识符 使下列程序段输出“ 123, int i,j,k; 于 】。 B D 分,共 30 分) C 语言标识符的描述中, )标识符只能以字母开头 ) Area 与 area 是不同的标识符 456,78”,键盘输入数据,正确的输入是【 确的 】。 题号 一 二 三

2、四 五 六 七 总分 得分 scanf( “%d,%3d%”d , printf( “%d,%d,%dn”,i,j,k); 3、判断 char 类型的变量 c1 是否为数字字符的正确表达式为 A) (c1=0)i-) ; 后 , 变 量 i 的值 A)10 B )9 C )0 D )1 8、若有 int *p1, *p2 ,k; 不正确的语句是 A. p1= switch(x) case 2: a+; b+; case 1: +a; b-; break; case 0: b+; printf(a=%d, b=%dn, a, b); A. a=2, b=0B. a=2, b=1C. a=1, b

3、=1 D. a=1, b=0 11、表示关系 ab=c 的 C语言表达式为 B. (ab)AND(b=c) D. (ab) scanf( “ %d” , if(x=3); else %dn”,x); if(x !=10)printf( 程序运行时,输入的值在哪个范围才会有输出结果。 A.不等于 10的整数 B. 大于 3 且不等于 10 的整数 C.大于 3 或不等于 10 的整数D. 小于 3 的整数 13、break 语句的正确用法是【 】 A. 无论在任何情况下,都中断程序的执行,退出到系统下一层。 B. 在多重循环中,只能退出最靠近的那一层循环语句。 C. 跳出多重循环。 D. 只能修

4、改控制变量。 14、若 a, b, c, d 均为整型变量,执行以下程序段后的 t 的值为 【 】 #define MAX(A,B) (A)(B)?(A):(B) a=5; b=3; c=3; d=4; t=MAX(a+b,c+d) *10; A. 70 B. 7 C. 8 15、执行以下程序段后 , m 的值为 int a6=1,2,3,4,5,6, m, *p; p= m=(*p)*(*(p+2)*(*(p+4); A) 15B) 14C) 13 D) 12 D. 80 第二部分 非选择题(共 70 得分 评卷人 分) 二、判断题 示说法正确 . 需要修改 ) 1分,共 10 分,答 T表

5、 ( 本大题共 10 小题,每题 答 F 表示说法不正确 , 本题只需指出正确与错误 , 不 16. 字符型数据不可以进行加减运算。 17. 函数定义与函数的声明是一回事。 18. 在 C语言中函数能嵌套调用,也能嵌套定义。 19. 在 C 语言中 switch 语句必须使用 break 语句 20. for 循环中的三个表达式都可以省略。 】 】 【 【 【 【 】 】 】 】 21. do-while 循环是先进行循环体语句,后判断表达式 22. 只能在 main() 函数中定义静态变量。 23. char *s1= “I love china ”;定义了一个指针变量 s1,它的初值为字符

6、串“ I love china ”的首地址。 【 】 24. int *p4;与 int (*p)4; 的作用相同,都是定义了一个指向数组的指针。 【】 25. 预处理命令行最后也是以分号(; )结尾的。 得分 评卷人 】 三、填空题 (本大题共 6 小题,每题 3 分,共 18 分。) 26、在 C 语言中 * 作为单目运算符时表示 ,作为双 目运算符时表示 ,而作为一种标记时表示 ,整个表达式 27、表达式(a=3*5,a*4),a+5 中 a的值是 的值是 。 28、设有如下的类型说明 : int a10=1,2,3,4,5,6,7,8,9,10,*p=a; 若数组所占内存单元的起始地址

7、为 446且整型数据占 2个字节,则 p+5=, *(p+5)= 。 29、若定义了如下的共用体类型变量 x 和结构类型变量 y,则 x 和 y 所占用的内存 字节数分别为 _ union stu1 int num; char name5; char s; x; 和。 struct stu2 int num; char name5; char s; y; 30、在 TC中 CTRL+F9的功能是 31、有以下程序 #include main() char c1,c2; scanf( “ %c”, while(c196) scanf(“ %c”, c2=c1+32; printf( “ %c,%

8、c”,c1,c2); 程序运行输入 65 回车后,能否输出结果。 (请回答能或不能) 得分 评卷人 四、简答题 (本大题共 2 小题,每题 3 分,共 6 分。) 32、C语言中变量的存储类别有几种?局部变量的缺省存储类别 是哪种。 33、请解释以下与一个 C程序有关的 3 种文件(需要说明这些文 得分 评卷人 件是什么文件、如何形成的) :(1) file.c (2) file.obj (3) 阅读程序回答问题 (本大题共 34、#include void main() file.exe 4 小题,每题 5 分,共 20 int a=10,b=18; fun1(a,b); int fun1(

9、int x,int y) if(xy) printf(abn); else if(xy) printf(abn); else printf(a=bn); 问题:( 1)写出程序的运行结果; (2)分别列出形参和实参; ( 3)解释 #include 。 35、int fun(int a) int b=0; static int c=3; b=b+1; c=c+1; return(a+b+c); main( ) int a=2, i; for(i=0; i3; i+) printf( “ %d”, fun(a); 问题: (1) 写出该程序的运行结果; (2) 如果将 static int c=

10、3; 语句改 写成 int c=3; ,则运行结果如何变化?为什么? 36、main( ) int a23=1,2,3,4,5,6, b32, i, j; printf( “array a: n”); for(i=0;i=1;i+) for(j=0;j=2;j+) printf( “%5d”, aij); bji=aij; /* 第七行 */ printf( “ n”); printf( “ array b: n”); for(i=0;i=2;i+) for(j=0;j=1;j+) printf( printf( “ %5d”, bij); n”); 问题:(1) 写出程序的运行结果; (2)

11、 如果将第七行中的 bji=aij; bij=aij; ,则结果如何变化。 37、 #include 语句改写成 void fun(int *p1, int *p2) int t; t=*p1; *p1=*p2; *p2=t; void main() int x,y; int *p1,*p2; scanf(%d %d, p1= p2= if(xy) fun(p1,p2); printf(x=%d,y=%d, x, y); 问题:(1) 该程序的功能是什么; (2) 程序中的 * 和 j= ; for (i=0;istrlen(str)/2;i+,j-) k=stri; stri=strj; s

12、trj=; main() char test=abcde; invert(test); printf(%sn,test); 课程代码: A100002 座位号: 计算机技术基础( C语言)试卷 A 标准答案 学院 :班级: 20 年 月 日 第一部分 选择题(共 30 分) 一、单项选择题 (本大题共 15 小题,每题只有一个正确答案,答对一题得 2 分, 共 30 分) 1、D 2 、C 3 、B 4 、 D 5 、 B 6、A 7 、C 8 、D 9 、 C 10 、 A 11、A 12 、B 13 、 B 14 、 A 15 、 A 第二部分 非选择题(共 70 分) 二、判断题(本大题

13、共 10 小题,每题 1分,共 10 分,答T表示说法正确 .答F表示说 法不正确,本题只需指出正确与错误 ,不需要修改 ) 16、 F17、F18、F19、F20、 T 21、 T22、F23、T24、F25、 F 三、填空题 (本大题共 6 小题,每题 3 分,共 18 分。) 26、指向 (1 份 ) ,乘( 1 分);定义的变量是指针变量( 1 分) 27、15(2分),20(1 分) 28、456(2 分),6(1分) 29、5(2分)、8(1 分) 30、编译( 1 分)、连接( 1 分)、运行( 1 分) 31、不能( 3 分) 四、简答题 (本大题共 2 小题,每题 3 分,共

14、 6 分。) 32(3 分)、32、C语言中变量的存储类别有几种?局部变量的缺省存储类别是哪种。 变量的存储类别分为两大类:静态存储类和动态存储类。具体包含四种:自动的 (auto) 、静态的 (static) 、寄存器的 (register) 、外部的 (extern) 。局部变 量的缺省存储类别是 auto 变量。 33(3 分)、请简单说明 C 程序的执行过程。 答:(1) file.c 是源文件,通过编辑得到; (2) file.obj是目标文件,即计算机能够 处理的由二进制指令组成的文件,通过对源文件进行编译得到; (3) file.exe 是可执 行文件,通过将目标文件与其他目标文

15、件或库函数连接得到。 五、阅读程序回答问题 (本大题共 4 小题,每题 5 分,共 20 分) 34、(1)(2 分)程序的运行结果: ab (2)( 1 分)形参: x, y ;实参: a, b (3)(2 分)#include 是文件包含预处理命令, 是将标准输入输出头文 件 stdio.h 包含到该程序中。 35、(1)(2 分)运行结果 7 8 9( 2)(3分)运行结果变成 7 7 7 因为在原来的程序中用 static 定义的变量 c 是局部 静态变量,具有全局寿命,而修改后,变量 c 变成了局部动 36、 ( 1)(3 分)运行结果 array a : array b: 1 2 3 1 4 4 5 6 2 5 3 (2) ( 2 分) 输出结果为: array a: array b: 1 2 3 1 2 4 5 6 4 5 随机数 随机数 态变量,在函数调用出现时给这个变量分配内存单元 6 37、(1)该程序的功能是由小

温馨提示

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

评论

0/150

提交评论