c语言期末测试题附答案.docx

上传人:doc321 文档编号:12900255 上传时间:2021-12-07 格式:DOCX 页数:14 大小:94.48KB
返回 下载 相关 举报
c语言期末测试题附答案.docx_第1页
第1页 / 共14页
c语言期末测试题附答案.docx_第2页
第2页 / 共14页
c语言期末测试题附答案.docx_第3页
第3页 / 共14页
c语言期末测试题附答案.docx_第4页
第4页 / 共14页
c语言期末测试题附答案.docx_第5页
第5页 / 共14页
亲,该文档总共14页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《c语言期末测试题附答案.docx》由会员分享,可在线阅读,更多相关《c语言期末测试题附答案.docx(14页珍藏版)》请在三一文库上搜索。

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

2、d,%3d%d”,&i,&j,&k);printf(“%d,%d,%dn”,i,j,k);3、判断 char 类型的变量 c1 是否为数字字符的正确表达式为 【 】。A) (c1>=0)&&(c1<=9) B) (c1>=0)&&(c1<=9)C) 0<=c1<=9 D) (c1>=0)|(c1<=9)4、若有语句 int a=1,b=2,c=3;则以下值为 0 的表达式是 【 】。A)a&&b B)a<=b C)(a>b)|(b<c) D)(!(a+b)=

3、c&&a)5、 已知:int a23; 则对数组元素的非法引用是 【 】 A. *(a0+2) B. a13 C . a10 D. *(*(a+1)+2)6、 在循环语句的循环体中执行 break 语句,其作用是 【 】。 A)跳出该循环体,提前结束循环B) 继续执行 break 语句之后的循环体各语句C) 结束本次循环,进行下次循环D) 终止程序运行7 、 执 行 语 句for(i=10;i>0;i-) ; 后 , 变 量 i的 值 为【 】。A)10 B)9 C)0 D)18、若有 int *p1, *p2,k;不正确的语句是 【 】A. p1=&k B. p

4、2=p1C. *p1=k+12 D. k=p1+p29、在函数中未指定存储类别的局部变量,其隐含的存储类别是 【 】 A. 静态(static) B. 外部(extern)C. 自动(auto) . 寄存器(register)10、如下程序的输出结果是main( ) int x=2,a=0,b=0;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=0 B. a=2, b=1 C. a=1, b=1 D. a=1, b=0 11

5、、表示关系 a<b<=c 的 C 语言表达式为 【 A. (a<b)&&(b<=c) B. (a<b)AND(b<=c)C. (a<b<=c) D. (a<b)&(b<=c)12、 有以下程序#include <stdio.h>main()int x;scanf(“%d”,&x);if(x<=3) ; elseif(x !=10)printf(“%dn”,x); 程序运行时,输入的值在哪个范围才会有输出结果。 【 】 A.不等于 10 的整数 B.大于 3 且不等于 10 的整数C.大

6、于 3 或不等于 10 的整数 D.小于 3 的整数13、break 语句的正确用法是 【 】A. 无论在任何情况下,都中断程序的执行,退出到系统下一层。B. 在多重循环中,只能退出最靠近的那一层循环语句。C. 跳出多重循环。 D. 只能修改控制变量。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 D. 80 15、执行以下程序段后, m 的值为 【 】int a6=1,2,3

7、,4,5,6, m, *p;p=&a0;m=(*p)*(*(p+2)*(*(p+4);A) 15 B) 14 C) 13 D) 12第二部分非选择题(共 70分)得分评卷人二 、 判 断 题 示说法正确 .(本大题共 10 小题,每题 1 分,共 10 分,答 T 表 答 F 表示说法不正确,本题只需指出正确与错误,不需要修改)16. 字符型数据不可以进行加减运算。 【 】17. 函数定义与函数的声明是一回事。 【 】16. 在 C 语言中函数能嵌套调用,也能嵌套定义。 【 】16. 在 C 语言中 switch 语句必须使用 break 语句。 【 】17. for 循环中的三个表达

8、式都可以省略。 【 】18. do-while 循环是先进行循环体语句,后判断表达式。 【 】19. 只能在 main()函数中定义静态变量。 【 】20. char *s1=“I love china”;定义了一个指针变量 s1,它的初值为字符串“I love china”的首地址。 【 】21. int *p4; 与 int (*p)4; 的作用相同,都是定义了一个指向数组的指针。 【 】22. 预处理命令行最后也是以分号(;)结尾的。 【 】三、填空题 (本大题共 6 小题,每题 3 分,共 18 分。)得分评卷人26、 在 C 语言中 * 作为单目运算符时表示_,作为双 目运算符时表示

9、_,而作为一种标记时表示 _。27、 表达式(a=3*5,a*4),a+5 中 a 的值是_,整个表达式的值是 _。28、设有如下的类型说明:int a10=1,2,3,4,5,6,7,8,9,10,*p=a;若数组所占内存单元的起始地址为 446 且整型数据占 2 个字节,则 p+5=_, *(p+5)=_。29、若定义了如下的共用体类型变量 x 和结构类型变量 y,则 x 和 y 所占用的内存 字节数分别为_和_。union stu1 struct stu2 int num; int num;char name5; char name5;char s; x; char s; y;30、 在

10、 TC 中 CTRL+F9 的功能是_、_和_。31、 有以下程序#include <stdio.h>main()char c1,c2;scanf(“%c”,&c1) ;while(c1<65|c1>96) scanf(“%c”,&c1) ;c2=c1+32;printf(“%c,%c”,c1,c2);程序运行输入 65 回车后,能否输出结果。(请回答能或不能)_。四、简答题 (本大题共 2 小题,每题 3 分,共 6分。)得分评卷人 32、C 语言中变量的存储类别有几种?局部变量的缺省存储类别是哪种。得分33、请解释以下与一个 C 程序有关的 3 种文

11、件(需要说明这些文件是什么文件、如何形成的):(1) file.c (2) file.obj (3) file.exe得分 评卷人五、阅读程序回答问题(本大题共 4 小题,每题 5 分,共 20 分)34、#include <stdio.h>void main() int a=10,b=18;fun1(a,b);int fun1(int x,int y) if(x>y)printf("a>bn");else if(x<y) printf("a<bn");else printf("a=bn");问题:

12、(1 )写出程序的运行结果;(2)分别列出形参和实参;(3)解释 #include <stdio.h>。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; i<3; i+)printf(“%d”, fun(a); 问题:(1) 写出该程序的运行结果; (2) 如果将 static int c=3; 语句改 写成 int c=3; ,则运行结果如何变化?为什么?36、main( ) int a23=1,2,3,4,5,6, b32, i,

13、 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(“%5d”, bij);printf(“n”);问题:(1) 写出程序的运行结果;(2)如果将第七行中的 bji=aij;语句改写成 bij=aij;,则结果如何变化。37、#include<stdio.h>void fun(int *p1

14、, int *p2) int t;t=*p1; *p1=*p2; *p2=t; void main() int x,y;int *p1,*p2;scanf("%d %d",&x,&y);p1=&x; p2=&y;if(x>y) fun(p1,p2);printf("x=%d,y=%d", x, y); 问题:(1) 该程序的功能是什么; (2) 程序中的 * 和 & 分别代表什么运算符?(3)若输入 5 3 ,则运行结果如何?得分评卷人六、编写程序 (本大题共 1 小题,共 10 分。)38、输入两个正整数

15、m 和 n,求其最大公约数和最小公倍数。(先得分画得分 评卷人 int i,j,k;N-S 图,然后再编写程序代码)七、程序填空 (本大题共 1 小题,共 6 分。)39、invert( )函数的功能是将一个字符串 str 的内容倒序存放。 例如:字符串 str 原内容为:abcde,函数调用后变为:edcba。 void invert(char str)j= _;for (i=0;i<strlen(str)/2;i+,j-) k=stri;stri=strj;strj=_;main() char test="abcde"invert(test);printf(&qu

16、ot;%sn",test);课程代码: A100002 座位号:计算机技术基础(C 语言)试卷 A 标准答案学院:班级:20年月日第一部分选择题(共 30 分)一、单项选择题 (本大题共 15 小题,每题只有一个正确答案,答对一题得 2 共 30 分)1、D 2、C 3、B 4、D 5、B6、A 7、C 8、D 9、C 10、A11、A 12、B 13、B 14、A 15、A分,第二部分非选择题(共 70 分)二、判断题 (本大题共 10 小题,每题 1 分,共 10 分,答 T 表示说法正确.答 F 表示说 法不正确,本题只需指出正确与错误,不需要修改)16、F 17、F 18、F

17、 19、F 20、T21、T 22、F 23、T 24、F 25、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 分,共 6分。)32(3 分)、32、C 语言中变量的存储类别有几种?局部变量的缺省存储类别是哪种。 变量的存储类别分为两大类:静态存储类和动态存储类。具体包含四种:自动

18、的(auto)、静态的 (static)、寄存器的 (register)、外部的 (extern)。局部变 量的缺省存储类别是 auto 变量。33(3 分)、请简单说明 C 程序的执行过程。答:(1) file.c 是源文件,通过编辑得到;(2) file.obj 是目标文件,即计算机能够 处理的由二进制指令组成的文件,通过对源文件进行编译得到;(3) file.exe 是可执 行文件,通过将目标文件与其他目标文件或库函数连接得到。五、阅读程序回答问题 (本大题共 4 小题,每题 5 分,共 20 分)34、(1)(2 分)程序的运行结果:a<b(2) (1 分)形参:x, y;实参:

19、a, b(3) (2 分)#include<stdio.h>是文件包含预处理命令,是将标准输入输出头文 件 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 44 5 6 2 53 6(2)(2 分) 输出结果为:array a: array b:1 2 3 1 24 5 6

20、4 5随机数 随机数37、(1)该程序的功能是由小到大输出两个数(2) * 表示指向运算符; &表示取地址运算符。(3) x=3,y=5六、编写程序 (本大题共 1 小题,共 10 分。)38、输入两个正整数 m 和 n,求其最大公约数和最小公倍数。(先画 N-S 流程图, 然后编写程序)。main( )输入 n,mn<mT int p,r,m,n,t;Fscanf(“%d,%d”,&n,&m);t=n;if(n<m)n=m;t=n ;n=m ;m=t ;m=t;p=n*m ;while(m!=0)r=n%m ;n=m ;m=r ;printf("zui da gong yue shu :%dn”,n);printf("zui xiao gong bei shu :%dn”,p/n); 七、程序填空 (本大题共 1 小题,共 6 分。)39、(1) strlen(str)-1(3 分),(2) k (3 分)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1