c语言期末测试题(附答案).doc
《c语言期末测试题(附答案).doc》由会员分享,可在线阅读,更多相关《c语言期末测试题(附答案).doc(11页珍藏版)》请在咨信网上搜索。
. 课程代码:A100002 座位号: 《计算机技术基础(C语言)》试卷A 姓名: 学号: 专业: 学院: 班级: 20 年 月 日 题号 一 二 三 四 五 六 七 总分 得分 第一部分 选择题(共 30 分) 得分 评卷人 一、单项选择题(本大题共 15 小题,每题只有一个正确答案,答对一题得 2 分,共 30 分) 1、以下关于C语言标识符的描述中,正确的是 【 】。 A)标识符可以由汉字组成 B)标识符只能以字母开头 C)关键字可以作为用户标识符 D)Area与area是不同的标识符 2、使下列程序段输出“123,456,78”,键盘输入数据,正确的输入是【 】。 int i,j,k; scanf(“%d,%3d%d”,&i,&j,&k); printf(“%d,%d,%d\n”,i,j,k); A)12345678 B)123,456,78 C)123,45678 D)123,*45678 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)==c&&a) 5、已知:int a[2][3]; 则对数组元素的非法引用是 【 】 A. *(a[0]+2) B. a[1][3] C . a[1][0] 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)1 8、若有int *p1, *p2,k; 不正确的语句是 【 】 A. p1=&k B. p2=p1 C. *p1=k+12 D. k=p1+p2 9、在函数中未指定存储类别的局部变量,其隐含的存储类别是 【 】 A. 静态(static) B. 外部(extern) C. 自动(auto) D. 寄存器(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=%d\n", a, b);} A. a=2, b=0 B. a=2, b=1 C. a=1, b=1 D. a=1, b=0 11、表示关系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) ; else if(x !=10)printf(“%d\n”,x); } 程序运行时,输入的值在哪个范围才会有输出结果。 【 】 A.不等于10的整数 B.大于3且不等于10的整数 C.大于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 a[6]={1,2,3,4,5,6}, m, *p; p=&a[0]; m=(*p)*(*(p+2))*(*(p+4)); A) 15 B) 14 C) 13 D) 12 第二部分 非选择题(共 70 分) 得分 评卷人 二、判断题(本大题共 10 小题,每题1分,共 10 分,答T表示说法正确.答F表示说法不正确,本题只需指出正确与错误,不需要修改) 16. 字符型数据不可以进行加减运算。 【 】 17. 函数定义与函数的声明是一回事。 【 】 18.在C语言中函数能嵌套调用,也能嵌套定义。 【 】 19. 在C 语言中switch 语句必须使用break 语句。 【 】 20. for循环中的三个表达式都可以省略。 【 】 21. do-while循环是先进行循环体语句,后判断表达式。 【 】 22. 只能在main()函数中定义静态变量。 【 】 23. char *s1=“I love china”;定义了一个指针变量s1,它的初值为字符串“I love china”的首地址。 【 】 24. int *p[4];与int (*p)[4];的作用相同,都是定义了一个指向数组的指针。 【 】 25. 预处理命令行最后也是以分号(;)结尾的。 【 】 得分 评卷人 三、填空题(本大题共 6 小题,每题 3 分,共 18 分。) 26、在C语言中 * 作为单目运算符时表示____________,作为双目运算符时表示__________,而作为一种标记时表示______________。 27、表达式(a=3*5,a*4),a+5中a的值是__________,整个表达式的值是 _________。 28、设有如下的类型说明: int a[10]={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 name[5]; char name[5]; char s; }x; char s; }y; 30、在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种文件(需要说明这些文件是什么文件、如何形成的):(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>b\n"); else if(x<y) printf("a<b\n"); else printf("a==b\n"); } 问题:(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 a[2][3]={1,2,3,4,5,6}, b[3][2], i, j; printf(“array a:\n”); for(i=0;i<=1;i++) { for(j=0;j<=2;j++) {printf(“%5d”, a[i][j]); b[j][i]=a[i][j];} /*第七行*/ printf(“\n”);} printf(“array b:\n”); for(i=0;i<=2;i++) {for(j=0;j<=1;j++) printf(“%5d”, b[i][j]); printf(“\n”);} } 问题:(1) 写出程序的运行结果;(2)如果将第七行中的b[j][i]=a[i][j];语句改写成b[i][j]=a[i][j];,则结果如何变化。 37、#include<stdio.h> 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",&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、输入两个正整数m和n,求其最大公约数和最小公倍数。(先画N-S图,然后再编写程序代码) 得分 评卷人 七、程序填空(本大题共1小题,共 6 分。) 39、invert( )函数的功能是将一个字符串str的内容倒序存放。 例如:字符串str原内容为:abcde,函数调用后变为:edcba。 void invert(char str[]) { int i,j,k; j= ______________; for (i=0;i<strlen(str)/2;i++,j--) { k=str[i]; str[i]=str[j]; str[j]=_____________; } } main() { char test[]="abcde"; invert(test); printf("%s\n",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 分) 二、判断题(本大题共 10 小题,每题1分,共 10 分,答T表示说法正确.答F表示说法不正确,本题只需指出正确与错误,不需要修改) 16、F 17、F 18、F 19、F 20、T 21、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语言中变量的存储类别有几种?局部变量的缺省存储类别是哪种。 变量的存储类别分为两大类:静态存储类和动态存储类。具体包含四种:自动的(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;实参: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 4 4 5 6 2 5 3 6 (2)(2分) 输出结果为: array a: array b: 1 2 3 1 2 4 5 6 4 5 随机数 随机数 37、(1)该程序的功能是由小到大输出两个数 (2)* 表示指向运算符; &表示取地址运算符。 (3)x=3,y=5 六、编写程序(本大题共1小题,共 10 分。) 输入n,m n<m T F t=n; n=m; m=t; p=n*m; m!=0 r=n%m;n=m;m=r; 最大公约数n,最小公倍数p/n 38、输入两个正整数m和n,求其最大 公约数和最小公倍数。(先画N-S流程图, 然后编写程序)。 main( ) { int p,r,m,n,t; scanf(“%d,%d”,&n,&m); if(n<m) {t=n ;n=m ;m=t ;} p=n*m ; while(m!=0) {r=n%m ;n=m ;m=r ;} printf("zui da gong yue shu :%d\n”,n); printf("zui xiao gong bei shu :%d\n”,p/n); } 七、程序填空(本大题共1小题,共 6 分。) 39、(1) strlen(str)-1 (3分),(2) k (3分) 欢迎您的光临,Word文档下载后可修改编辑.双击可删除页眉页脚.谢谢!希望您提出您宝贵的意见,你的意见是我进步的动力。赠语; 1、如果我们做与不做都会有人笑,如果做不好与做得好还会有人笑,那么我们索性就做得更好,来给人笑吧! 2、现在你不玩命的学,以后命玩你。3、我不知道年少轻狂,我只知道胜者为王。4、不要做金钱、权利的奴隶;应学会做“金钱、权利”的主人。5、什么时候离光明最近?那就是你觉得黑暗太黑的时候。6、最值得欣赏的风景,是自己奋斗的足迹。 7、压力不是有人比你努力,而是那些比你牛×几倍的人依然比你努力。 . .- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 期末 测试 答案
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【丰****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【丰****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【丰****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【丰****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文