国家开放大学C语言程序设计A期末考试复习资料汇编.docx
试卷代号:1253国家开放大学2022年春季学期期末统一考试C语言程序设计试题2022年7月超越高度温馨提醒:可以使用word查找功能快速查找对应题目和答案。查找快捷键:CtrkF一、单项选择题(把合适的选项编号填写在括号内。每小题3分,共42分)L在C语言中,每条复合语句的开始标记符为()。.B.(C.(D.<2.一个程序文件开始使用的每条预处理命令,其首字符必须是()。A.B.#C.$D.%3 .C语言源程序文件的扩展名为()。A.cppB.exeC.objD.c4 .短整数类型的长度为()。A.1B.2C.4D.85 .运算符优先级最高的是()o.B,一C.+D.<6 .带有随机函数的表达式rand()%20的取值范围是()。A.119B.120CO19D.0207 .在循环语句for(i=lji<10ji+=3)S,中,循环体S被执行的次数为(A.3B.6C.4D.5)。8.假定有一个定义语句为“inta10=(3,4,2,8,6,",则元素a3的值为(,0B.2C.8D.69 .一个二维字符数组aMN能够存储的字符串个数至多为()。.MB.NC.M-ID.N-I10 .假定p是一个指向数据对象的指针,则通过p表示该数据对象为()。.pxB.p&C.&pD.*pIL已知“(hara35则元素a23的地址比该数组的首地址大()。A.13个字节B.26个字节C.52个字节D.48个字节12 .假定一个函数的数组参数说明为(hara,与之等价的指针参数说明为()。A.charaB.char*aC.charaD.char*a13 .假定要访问一个结构变量X中的由指针成员a所指向的对象,则表示方法为()。A.->aB.X.aC.*(a.x)D.*(X.a)14 .表示文件结束符的符号常量为()。A.eofB.EofC.EOFD.feof二、是非判断题(根据叙述正确与否在其括号内打对号“V”或叉号“X”。每小题2分,共30分)15 .若要在程序文件中使用标准输入和输出函数,则需要引入的系统头文件为stdio.ho()16 .常数-7.00是双精度定点数。()17 .在一条变量定义语句中,定义多个变量时需要使用空格隔开。()18 .表达式x=x+y表示成复合赋值表达式为X=+y。()19 .若x=15,y=10,则x!=y的逻辑值为真。()20 .d。-While循环语句的循环体,可以是简单语句,也可以是复合语句。()21 .在一维数组的定义语句中,数组名后带有一对花括号。()22 .在二维数组的定义语句中,不能给数组中每个元素赋初值。()23 .在C语言程序中,存储字符串的方法是使用字符数组。()24 .在定义指针变量的语句“int*p,*pp;”中,p和PP具有不同的指针类型。()25 .假定a是一个一维数组,则a+i的值与ai的值相等。()26 .在一个函数定义中,参数表中的参数说明项之间是采用逗号分开的。()27 .在C语言程序中,主函数可以是递归函数。()28 .定义结构类型的同时能够定义它的变量。()29 .每次只能向文本文件中写入一个字符,不能一次写入一个字符串。()三、程序填空题(分析程序后把合适的内容填写在括号内。每小题5分,共20分)30 .执行下面程序的输出结果为()。include<stdio.h>Voidmain()(intx=15,y=8,z=4;if(x>y)x-y;if(x>z)-z;printf(,%dnw,x);31 .执行下面程序的输出结果为()。ttinclude<stdio.h>Voidmain()inti,f=l;for(i=l;i<4;i+)f=3*f+l;printf(wf=%dnw,f);)32 .执行下面程序的输出结果为()。ttinclude<stdio.h>Voidmain()Inta8=2i5,6,8,4,9,3,6;Inti,x=a0+al;for(i=l;i<7;i+)inty=ai+ai+l;if(y>x)x=y;)printf(w%dnw,x);)33 .假定使用xxk3(4)调用下面函数,则返回值为()。intxxk3(intn)(inti,s=l,for(i=l;i<=n;i+)s*=i;returns;)四、编程题(按题目要求编写程序或函数。每小题4介,共8分)34 .补充完整下面的函数定义,计算出整型数组a中n个元素的所有偶数之和。Intxxk4(inta,intn)Inti,s=0,/在下面添上一行for循环语句,循环变量为i,累加变量为SReturns:35 .补充完整下面函数xxk5的定义,计算并返回数组an中所有元素的平均值。Doublexxk5(inta,intn)(inti,sum=0,/假定分别设置i和SUnl为循环变量和累加变量/在下面添上一行for循环语句,循环变量为i,累加变量为SUnIReturndouble(sum)/n;试卷代号:1253国家开放大学2022年春季学期期末统一考试C语言程序设计试题答案及评分标准(供参考)2022年7月一、单项选择题(把合适的选项编号填写在括号内。每小题3分,共42分)1.C2.B3.D4.B5.A6.C7.A8.C9.A10.D11.A12.B13.D14.C二、是非判断题(根据叙述正确与否在其括号内打对号或叉号“X”o每小题2分,共30分)15.16.17.X18.X19.20.21.X22.×23.24.25.X26.27.X28.29.X三、程序填空题(分析程序后把合适的内容填写在括号内。每小题5分,共20分)30.431.f=4032.1433.24四、编程题(按题目要求编写程序或函数。每小题4分,共8分)34. for(i=0;i<n;i+)if(ai%2=0)s+=ai;35. for(i=0;i<n;i+)sum+=ai;试卷代号:1253国家开放大学2020年春季学期期末统一考试C语言程序设计试题2020年7月一、单项选择题(把合适的选项编号填写在括号内。每小题3分,共42分)1 .在C语言中,一条简单语句的结束符是()。A.逗号B.冒号C.分号D.空格2 .一个程序文件开始使用的每条预处理命令,其首字符必须是()。B.#A.C.$D.%3 .用于从键盘上为变量输入值的标准输入函数是()。B.print()D. output()A. 1B. 口D. /A.printf()C. scanf()4. float类型的长度为()。8. 2D. 8C.45 .运算符优先级最高的是()。A.&&C.+6 .设X和y均为逻辑值,则x&&y为真的条件是()。A.它们均为真B.其中一个为真C.它们均为假D.其中一个为假7 .在循环语句"for(i1;i<10;i+2)s;”中,循环体S被执行的次数为()。B. 6A.10D.5C. 48.假定有一个定义语句为“inta103,4,2,8,6);",则元素a3的值为()。B.2A.4D. 6E. 89 .对于一维字符数组aN,用来存储一个字符串的长度至多为()。A.N2B.NC,N+lD.N-I10 .个指针类型的简单变量占用内存中的字节数为().B. 4A.2D.16C. 811 .已知己ntblo;int*pb;”,则下面不正确的赋值语句为()。A.pb=b:B.pb一&bo5C.pb=b+2;D.pb=b5;12 .假定一个函数原型语句为"intfl(inta,intn),与数组参数等价的表示为(A.int*aB.myaC.int&aD.int*a13 .与结构成员访问表达式p->name等价的表达式为()。B. (*p).nameA.p.nameD.*(p->name)C.*p.name14.在C语言中,关闭一个数据文件的系统函数为()。A.fclose()B.fopen()C. fread()D.fwrite()二、是非判断题(根据叙述正确与否在其后面的括号内打对号“或叉号“X”。每小题2分,共30分)15 .在C语言程序中,有两种使用注释语句的方法。()16 .常数3.26是双精度浮点数。()17 .表达式(int)14.6%5的值为4。()18 .关系表达式(x10)的等价表达式为(X)。()19 .WhiIe循环是先执行循环体,然后进行循环条件判断。()20 .在一维数组的定义语句中,数组名后带有一对中括号。()21 .字符串不允许为空,至少需要包含一个字符。()22 .有一条语句为“chars24="Sbcds2数组长度的定义是合适的。()23 .已知“inta10,*p-a则进行p+运算是允许的。()24 .函数定义格式中的参数表被称为实参表。()25 .在C语言程序中,对于递归函数和非递归函数,其函数头部无区别标志。()26 .在结构类型的定义中,其中的数据成员可以是本身类型的直接对象。()27 .在一个链表的结点结构中,必然包含有一个指向自身结点类型的指针域。()28 .在一个磁盘数据文件的文件名中,文件主名和扩展名都是必须的,不可省略。()29 .对二进制文件进行读和写操作将使用同一个系统函数。()三、程序填空题(分析程序后把合适的内容填写在括号内。每小题5分,共20分)30 .执行下面程序的输出结果为()。#include<stdio.h>voidmain()intx=5,y=0;switch(2*x+3)case4:y+=x;break;case7:y+=2*x+l;break;case10:y+=3*x;break;default:y+=x-l;)printf(,y=%dn"zy);31 .执行下面程序的输出结果为()。#include<stdio.h>voidmain()intx=12,s=0;dos十一x;x一3;)while(x>0);printf("s=6dn",s);)32 .执行下面程序的输出结果为()。#include<stdio.h>#defineN8voidmain()(intaN=3,5,8,10,15,20,32,66;inti,x;for(i=0;i<N9zi+)x=ai;ai=aN-l-i;aN-l-i=x;)printf(w%dnw,al+a3);)33 .执行下面程序的输出结果为()。#include<stdio.h>voidmain()inta33L13