《2022年C语言期末考试试卷附参考答案.docx》由会员分享,可在线阅读,更多相关《2022年C语言期末考试试卷附参考答案.docx(10页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -一、 单项挑选题 (请将答案填在下面表格中 20 1). 以下表达中正确选项();A. C 语言比其他语言高级B. C 语言可以不用编译就能被运算机识别执行C. C 语言以接近英语国家的自然语言和数学语言作为语言的表达形式D. C 语言显现的最晚,具有其他语言的一切优点. 以下表达中正确选项();A.构成 C 程序的基本单位是函数 C. main 函数必需放在其他函数之前 . 以下表达中正确选项();B.可在一个函数中定义另一个函数 D.全部被调用的函数肯定要在调用之前进行定义A. C 语言程序总是从第一个函
2、数开头执行B.在 C 语言程序中,要调用函数必需在main()函数中定义C. C 语言程序总是从 main()函数开头执行D. C 语言程序中的 main()函数必需放在程序的开头部分. 以下有关 for 循环的正确描述是();A. for 循环只能用于循环次数已经确定的情形B. for 循环是先执行循环体语句,后判定表达式C.在 for 循环中,不能用 break 语句跳出循环体D. for 循环的循环体语句中,可以包含多条语句,但必需用花括号括起来. 对下面程序段的描述,正确选项();x=1;dox=x*x;while.x;A.是死循环B. 循环执行一次C. 循环执行两次D. 有语法错误6
3、. 以下有关 C 语言数组说法正确选项();A.数组元素的数据类型可以不一样B.数组元素的个数可以不确定,答应随机变动C.可以使用动态内存安排技术,定义元素个数可变的数组D.定义一个数组后,就确定了它所容纳的具有相同数据类型元素的个数7.以下数组定义正确选项();A. int a20; B. int a =1,2,5,7,0; C. int an; D. int a2=1,2,4,6;8.在定义 int b210; 之后,对 b 数组元素引用正确选项 ;A. b09 B. b2,3 C. b15 D. b10 09. 如有定义语句 int c =1,5,3,4,6,7,0; ,就数组 c 有(
4、)个元素;A.0 B.不定 C. 6 D. 710.以下表达中不正确选项 ;A.字符数组中可以存放字符串B.可以对字符型数组进行整体输入、输出C.可以对整型数组进行整体输入、输出 D.不能通过“=” 对字符型数组进行整体赋值11.已知 char d =” 543210” ;,就数组 d 的长度是 ;A.5 B.6 C. 7 D. 812.已知 char s3 =” China ” ;,就以下程序段的输出结果是();printf“ %d” ,sizeofs3;A.5 B. 6 C. 7 D.813.已知 char s110,s2 =” China ” ; 就在程序中能将字符串” China ”赋
5、给数组 s1的是();1 / 5细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 1 页,共 5 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -A.s1= “ China” ;B.strcpys1,s2;C. s1=s2;D. strcpys2,s1;14.将字符串中大写字母换成小写字母的函数是 ;D.strlenA.strlwrB. struprC.string15.以下 排序方法中,执行一轮比较后,只交换一次数据D. 插入法A. 起泡法B. 次序比较法C. 挑选法16.
6、在 C 语言程序中,有关函数的定义正确选项();A.函数定义不行以嵌套,但函数调用可以嵌套B.函数定义可以嵌套,但函数调用不行以嵌套 C.函数定义和函数调用均不行以嵌套 D.函数定义和函数调用均可以嵌套 17.以下错误的说法是 ;A.实参可以是常量、变量或表达式 C.实参可以为任何类型B.形参可以是常量、变量或表达式 D.形参应与其对应的实参类型一样18.以下错误的描述是:函数调用可以;A.显现在执行语句中B.显现在一个表达式中C.作为一个函数调用的实参D.作为一个函数的形参19. 函数调用时,如形参和实参都是变量名,就正确的说法是 ;A. 形参不安排内存B. 形参安排内存C. 形参和实参占用
7、相同的内存D. 实参不安排内存20.以下函数值的类型是 ;funfloat x float y; y=3*x-4;return y;C. voidD. 不确定A. intB. float二、判定题 (正确的打 ,错误的打 ,10 1)1.一个循环体内又包含另一个完整的循环结构称为循环的嵌套;()2.break语句能提前终止循环;()3.二维数组可被看作一种特别的一维数组:它的元素又是一个一维数组;()4. 对 9 个元素使用冒泡法排序时,需要排9 轮,第一轮需要比较9 次;()5. strcat字符数组 1, 字符数组 2 的作用是将字符数组2 接到字符数组 1 后面;()6. strcmp“
8、 Beijing” , ” Korea” 的函数值是一个正整数;()7.语言中,数组元素的下标是从1 开头的,下标不能越界;()8.函数的形参在函数未调用时预安排了储备空间;()9.如函数值的类型和 return 语句中表达式的值不一样,就以函数类型为准;()10.调用函数时,实参是数组元素,就实现的是“ 值传递”;()三、填空题 (10 2)1. 定义二维数组的一般形式为:;2. 有一序列: 21,-5,8,11,9,0,34,4,-17,6 列中 10 个数的次序为:,引用一维数组元素的形式为:从小到大排序,用冒泡法经过二轮排序后,序,如使用次序比较法,经过三轮排序后,这 10 个数的次序
9、为:;2 / 5细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 2 页,共 5 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -3. 调用字符串处理函数时,应在程序的开头添加预编译命令:#include,puts 函数将一个以终止的字符序列(字符串)输出到终端4.C 语言中,函数分为系统供应的 数和 两类;和用户自定义函数两类,也可分为有参函5.函数的递归调用指在调用一个函数的过程中又;6.函数值只能通过 语句返回主调函数;四、程序改错 (求出两个非零正整数的最大公约数 在
10、右边写出正确内容, 5 2),并作为函数值返回; 在错误下面划横线,# includevoid main ” ;int funint a, b int n1,n2,a; int r,t;printf“ please input n1,n2:nifab t=a;b=a;a=t;scanf “ %d%d” , &n1,&n2;r=a%b;a=funn1,n2;whiler.=0printf 最大公约数是: %dn,a;a=b;b=r;r=a/b;return a; 五、阅读程序写出运行结果(4 5)1. # include int main void funint x;2. # include v
11、oid main char s1 =” This book ” ;fun8;char s2 =” THIS hook ” ;i+ printfn;int i;for i=0;s1i.=0 &s2i.=0 void funint xifs1i.=s2i printf“ %c” ,s1i;ifx/20 funx/2;printf%d,x; 运行结果为: 运行结果为:3. #include “ “ ;3 / 54. #include # includeint main int i,j,x;int main int a10 =12,3,14,5,26,97,38,9,0,2; int i,j,n=0;
12、fori=0;i=9;i+fori= 5;i=0&xaj forj=1;j=absi;j+ printfaj+1=aj;j ;forj=1;j=11 absi*2;j+ aj+1=x;printf“ %c“ ,64+n;printf 排序后为: n; printfn; fori=0;i=9;i+ printf“ %5d” ,ai;运行结果为:运行结果为:细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 3 页,共 5 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -六、程序填
13、空题 (结果按序号填在下方对应横线上,10 2 分)1、编程实现将十进制整数n 转换成十六进制、编写判定是否为素数的函数,在主函数数输出;中输入一整数,输出是否为素数;#include int main#include int psushu_ _ int n,a20,i=0,m=0; int i;char hex16 =0,1,2,3,4,5,6,7,fori=2; _ _;i+8,9,A,B,C,D,E,F; ifm%i=0 return 0;printf 请输入整数 n:n ; scanf_, &n; whilen0 ai+=n%16; return _ _; void main int
14、a, s; printf 请输入整数: n ;n= _; scanf “ %d” , _ _;printf 转化为十六进制的数为:; s=psushua;fori=i 1; _;i /倒序输出if _ _ printf“ %d 是素数 n ” ,a; m=ai;else printf%d不是素数 n,a;printf_ _,hexm; printfn; _ _ _ _ _ 附:参考答案一、单项挑选题_ _ _ _ _ 题 号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
15、A C A B D B A 二、判定题5 6 7 8 9 10 题 号1 2 3 4 答 案三、填空题数组名 下标 1.类型说明数组名 常量表达式 常量表达式 2. -5,8,9,0,11,4,-17,6,21,34 -17,-5,0,21,11,9,34,8,4,64 / 5细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 4 页,共 5 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -3. string.h 04. 库函数 无参函数5.直接或间接地调用该函数本身6. return四、程序改错# includeInt b void main ” ;int funint a, b int n1,n2,a; int r,t;a = b;b=tprintf“ please input n1,n2:nifa=0_ _%c_ _int m_ _im 或 i=m+1_ _1_ _&a_ _s 或 s=1_ 5 / 5细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 5 页,共 5 页 - - - - - - - - -