C语言期末考试试卷附参考答案.docx
《C语言期末考试试卷附参考答案.docx》由会员分享,可在线阅读,更多相关《C语言期末考试试卷附参考答案.docx(5页珍藏版)》请在咨信网上搜索。
一、 单项选择题〔请将答案填在下面表格中20×1〕 1. 以下表达中正确的选项是〔〕。 A. C语言比其他语言高级 B. C语言可以不用编译就能被计算机识别执行 C. C语言以接近英语国家的自然语言和数学语言作为语言的表达形式 D. C语言出现的最晚,具有其他语言的一切优点 2. 以下表达中正确的选项是〔〕。 A.构成C程序的根本单位是函数 B.可在一个函数中定义另一个函数 C. main函数必须放在其他函数之前 D.所有被调用的函数一定要在调用之前进展定义 3. 以下表达中正确的选项是〔〕。 A.C语言程序总是从第一个函数开始执行 B.在C语言程序中,要调用函数必须在main〔〕函数中定义 C. C语言程序总是从main〔〕函数开始执行 D. C语言程序中的main〔〕函数必须放在程序的开始局部 4.以下有关for循环的正确描述是〔〕。 A. for循环只能用于循环次数已经确定的情况 B. for循环是先执行循环体语句,后判断表达式 C.在for循环中,不能用break语句跳出循环体 D. for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来 5. 对下面程序段的描述,正确的选项是〔〕。 x=-1; do {x=x*x;}while(!x); A.是死循环 B. 循环执行一次 C. 循环执行两次 D. 有语法错误 6.以下有关C语言数组说确的是〔〕。 A.数组元素的数据类型可以不一致 B.数组元素的个数可以不确定,允许随机变动 C.可以使用动态存分配技术,定义元素个数可变的数组 D.定义一个数组后,就确定了它所容纳的具有一样数据类型元素的个数 7.以下数组定义正确的选项是〔〕。 A. int a(20); B. int a[ ]={1,2,5,7,0}; C. int a[n]; D. int a[2]={1,2,4,6}; 8.在定义int b[2][10];之后,对b数组元素引用正确的选项是( )。 A. b[0][9] B. b[2,3] C. b(1)(5) D. b[10] [0] 9. 如有定义语句int c[ ]={1,5,3,4,6,7,0};,那么数组c有〔〕个元素。 A.0 B.不定 C. 6 D. 7 10.以下表达中不正确的选项是( )。 A.字符数组中可以存放字符串 B.可以对字符型数组进展整体输入、输出 C.可以对整型数组进展整体输入、输出 D.不能通过“=〞对字符型数组进展整体赋值 11.char d[ ]={〞543210〞};,那么数组d的长度是( )。 A.5 B.6 C. 7 D. 8 12.char s3[ ]=〞China〞;,那么以下程序段的输出结果是〔〕。 printf(“%d〞,sizeof(s3)); A.5 B. 6 C. 7 D.8 13.char s1[10],s2[ ]={〞China〞};那么在程序中能将字符串〞 China〞赋给数组s1的是〔〕。 A.s1={“China〞}; B.strcpy(s1,s2); C. s1=s2; D. strcpy(s2,s1); 14.将字符串写字母换成小写字母的函数是( )。 A.strlwrB. struprC.stringD.strlen 15.以下( )排序方法中,执行一轮比拟后,只交换一次数据。 A. 起泡法B. 顺序比拟法C.选择法D. 插入法 16.在C语言程序中,有关函数的定义正确的选项是〔〕。 A.函数定义不可以嵌套,但函数调用可以嵌套 B.函数定义可以嵌套,但函数调用不可以嵌套 C.函数定义和函数调用均不可以嵌套 D.函数定义和函数调用均可以嵌套 17.以下错误的说法是( )。 A.实参可以是常量、变量或表达式 B.形参可以是常量、变量或表达式 C.实参可以为任何类型 D.形参应与其对应的实参类型一致 18.以下错误的描述是:函数调用可以( )。 A.出现在执行语句中 B.出现在一个表达式中 C.作为一个函数调用的实参 D.作为一个函数的形参 19. 函数调用时,假设形参和实参都是变量名,那么正确的说法是( )。 A. 形参不分配存B. 形参分配存 C.形参和实参占用一样的存D. 实参不分配存 20.以下函数值的类型是( )。 fun(float x) { float y; y=3*x-4;return y;} A. intB. floatC.voidD. 不确定 二、判断题〔正确的打√,错误的打×,10×1〕 1.一个循环体又包含另一个完整的循环结构称为循环的嵌套。〔〕 2.break语句能提前终止循环。〔〕 3.二维数组可被看作一种特殊的一维数组:它的元素又是一个一维数组。〔〕 4. 对9个元素使用冒泡法排序时,需要排9轮,第一轮需要比拟9次。〔〕 5. strcat(字符数组1, 字符数组2)的作用是将字符数组2接到字符数组1后面。〔〕 6. strcmp(“Beijing〞,〞Korea〞)的函数值是一个正整数。〔〕 7.C语言中,数组元素的下标是从1开始的,下标不能越界。〔〕 8.函数的形参在函数未调用时预分配了存储空间。〔〕 9.如函数值的类型和return语句中表达式的值不一致,那么以函数类型为准。〔〕 10.调用函数时,实参是数组元素,那么实现的是“值传递〞。〔〕 三、填空题〔10×2〕 1.定义二维数组的一般形式为:,引用一维数组元素的形式为: 。 2.有一序列:21,-5,8,11,9,0,34,4,-17,6从小到大排序,用冒泡法经过二轮排序后,序列中10个数的顺序为:,假设使用顺序比拟法,经过三轮排序后,这10个数的顺序为:。 3.调用字符串处理函数时,应在程序的开头添加预编译命令:#include<>,puts( )函数将一个以完毕的字符序列〔字符串〕输出到终端 4.C语言中,函数分为系统提供的和用户自定义函数两类,也可分为有参函数和两类。 5.函数的递归调用指在调用一个函数的过程中又。 6.函数值只能通过语句返回主调函数。 四、程序改错〔求出两个非零正整数的最大公约数,并作为函数值返回。在错误下面划横线,在右边写出正确容,5×2〕 void main( ) { int n1,n2,a; printf(“please input n1,n2:\n〞); scanf(“%d%d〞, &n1,&n2); a=fun(n1,n2); printf("最大公约数是:%d\n",a); } # include<stdio.h> int fun(int a, b ) { int r,t; if(a<b) {t=a;b=a;a=t;} r=a%b; while(r!=0) {a=b;b=r;r=a/b;} return a; } } 2. # include <stdio.h> void main ( ) { char s1[ ]=〞This book〞; char s2[ ]=〞THIS hook〞; int i; for (i=0;s1[i]!=’\0’&&s2[i]!=’\0’;i++) if(s1[i]!=s2[i]) printf(“%c〞,s1[i]); } 运行结果为: 五、阅读程序写出运行结果 〔4×5〕 1. # include<stdio.h> int main( ) { void fun(int x); fun(8); printf("\n"); } void fun(int x) {if(x/2>0) fun(x/2); printf("%d",x); } 运行结果为: 3. #include <stdio.h> # include<math.h> int main( ) { int i,j,n=0; for(i=―5;i<=5;i++) { if(i%2!=0) n++; for(j=1;j<=abs(i);j++) printf(“ “); for(j=1;j<=11-abs(i)*2;j++) printf(“%c“,64+n); printf("\n"); } } 运行结果为: 4. #include <stdio.h> int main( ) {int i,j,x; int a[10] ={12,3,14,5,26,97,38,9,0,―2}; for(i=0;i<=9;i++) {x=a[i];j=i-1; while(j>=0&&x<a[j]) {a[j+1]=a[j];j――;} a[j+1]=x;} printf("排序后为:\n"); for(i=0;i<=9;i++) printf(“%5d〞,a[i]); } 运行结果为: 六、程序填空题〔结果按序号填在下方对应横线上,10×2分〕 1、编程实现将十进制整数n转换成十六进制数输出。 #include<__①___ > int main() { int n,a[20],i=0,m=0; char hex[16] ={'0','1','2','3','4','5','6','7', '8','9','A','B','C','D','E','F'}; printf("请输入整数n:\n "); scanf(___②____, &n); while(n>0) { a[i++]=n%16; n= ____③___; } printf("转化为十六进制的数为:"); for(i=i―1; ____④___;i――) //倒序输出 { m=a[i]; printf("__⑤___",hex[m]); } printf("\n"); } 2、编写判断是否为素数的函数,在主函数中输入一整数,输出是否为素数。 #include<stdio.h> int psushu(___⑥____) {int i; for(i=2; ___⑦___;i++) if(m%i==0) return 0; return ___⑧___;} void main() { int a, s; printf("请输入整数:\n "); scanf(“%d〞, __⑨__); s=psushu(a); if (__⑩__) printf(“%d是素数\n〞,a); else printf("%d不是素数\n",a); } ①______________________________ ⑥______________________________ ②______________________________ ⑦______________________________ ③______________________________ ⑧______________________________ ④______________________________ ⑨______________________________ ⑤______________________________ ⑩______________________________ 附:参考答案 一、单项选择题 题 号 1 2 3 4 5 6 7 8 9 10 答 案 C A C D B D B A D C 题 号 11 12 13 14 15 16 17 18 19 20 答 案 B B B A C A B D B A 二、 判断题 题 号 1 2 3 4 5 6 7 8 9 10 答 案 √ √ √ × √ × × × √ √ 三、 填空题 1.类型说明 数组名[常量表达式][常量表达式] 数组名[下标] 2. -5,8,9,0,11,4,-17,6,21,34 -17,-5,0,21,11,9,34,8,4,6 3. string.h \0 4. 库函数 无参函数 5.直接或间接地调用该函数本身 6. return Int b a = b;b=t a%b r 或 b } # include<stdio.h> int fun(int a, b ) { int r,t; if(a<b) {t=a;b=a;a=t;} r=a%b; while(r!=0) {a=b;b=r;r=a/b;} return a; } } 四、程序改错 void main( ) { int n1,n2,a; printf(“please input n1,n2:\n〞); scanf(“%d%d〞, &n1,&n2); a=fun(n1,n2); printf("最大公约数是:%d\n",a); } 五、阅读程序写出运行结果 1.1248 2.hisb A AAA BBBBB BBBBBBB CCCCCCCCC CCCCCCCCCCC DDDDDDDDD DDDDDDD EEEEE EEE F 3. 4. -2 0 3 5 9 12 14 26 38 97 六、程序填空题 ①__stdio.h_____________________ ⑥____int m_____________________ ②__〞%d〞______________________ ⑦___i<m 或 i<=m+1____________ ③__n/16_______________________ ⑧___1_________________________ ④__i>=0_______________________ ⑨__&a______________________ ⑤___%c_______________________ ⑩___s 或 s==1________________ 5 / 5- 配套讲稿:
如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。
关于本文