收藏 分销(赏)

C语言期末考试试卷附参考答案.docx

上传人:二*** 文档编号:4452253 上传时间:2024-09-23 格式:DOCX 页数:5 大小:38KB 下载积分:5 金币
下载 相关 举报
C语言期末考试试卷附参考答案.docx_第1页
第1页 / 共5页
本文档共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
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服