《国家开放大学C语言程序设计A期末考试复习资料汇编12468.pdf》由会员分享,可在线阅读,更多相关《国家开放大学C语言程序设计A期末考试复习资料汇编12468.pdf(16页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、国家开放大学2022年春季学期期末统一考试 C语言程序设计试题超越高度温馨提醒:可以使用word查找功能快速查找对应题目和答案。查找快捷键:Ctrl+F 一、单项选择题(把合适的选项编号填写在括号内。每小题3分,共42分).在C语言中,每条复合语句的开始标记符为()o A.B.(C.(D.1.一个程序文件开始使用的每条预处理命令,A.C.$.C语言源程序文件的扩展名为()o A.cpp C.obj,短整数类型的长度为()。A.1 C.4.运算符优先级最高的是()。A.C.+5.带有随机函数的表达式rand(A.1-19 C.0-19.在循环语句“for(i=L;i10;i+=3)S;”中,A.
2、3 C.4D.58假定有一个定义语句为“int a10=(3,4,2,8,6,”,则元素a3的值为()。A.0B.2 C.8D.6.一个二维字符数组aM N能够存储的字符串个数至多为()。A.MB.N C.M-lD.N-1.假定P是一个指向数据对象的指针,则通过P表示该数据对象为()o A.pxB.p&C.&pD.*pIL已知“(har a3 5;则元素a2 3的地址比该数组的首地址大()。A.13个字节B.26个字节 C.52个字节D.48个字节.假定一个函数的数组参数说明为(har a,与之等价的指针参数说明为()。A.char aB.char*a C.char&aD.char*a.假定要
3、访问一个结构变量x中的由指针成员a所指向的对象,则表示方法为()o A.stdinB.stdout C.stderrD.stdio.从一个文本文件中读取一个字符的系统函数为()。试卷代号:1253 2022年7月 其首字符必须是()。B.#D.%B.exe D.c B.2 D.8 B.一 其首字符必须是()。B.#D.%B.exe D.c B.2 D.8 B.一)%20的取值范围是()%20的取值范围是(B.120 D.0-20 循环体S被执行的次数为()A.fputc()B.fgets()C.fputs()D.fgetc()二、是非判断题(根据叙述正确与否在其后面的括号内打对号“或叉号“义”
4、。每小题 2分,共30分)15.在C语言字符集中,包含有全部26个英文大写字母和对应的小写字母。()16.一个C语言程序只能够包含一个用户头文件。()17.定点数既有双精度表示,又有单精度表示。()18.表达式(float)25/4的值为6。()19.关系表达式(x!=0)的等价表达式为(以)。()20.while循环是先执行循环体,然后进行循环条件判断。()21.continue只能使用在任一种循环语句的循环体中。()22,在二维数组的定义语句中,可以给数组中每个元素赋初值。()23.在C语言中,在定义一个字符数组时,不能利用一个字符串进行初始化。()24.在定义指针变量的语句“int*p,
5、pp;中,p和pp具有不同的数据类型。()25.进行动态存储分配的malloc()函数带有一个参数。()26.在一个函数定义中,函数体是一条简单语句。()27.在结构类型的定义中,结构类型名在关键字struct和定义体之间。()28.访问结构成员访问运算符只有一种方式,即使用点运算符。()29.在一个磁盘数据文件的文件名中,文件主名是必须的,扩展名可任选使用。()三、程序填空题(分析程序后把合适的内容填写在括号内。每小题5 分,共20分).执行下面程序的输出结果为()。#includeVoid main()int x=5,y=0;switch(2*x-3)case4:y+=x;break;ca
6、se7:y+=2*x+l;break;caselO:y+=3*x;break;)printf(y=%dn”,y);)30.执行下面程序的输出结果为()o#include Void main()Int i=0,s=0;while(s30)i+=2;s+=i*i;printf(as=%dnv,s);)31.执行下面程序的输出结果为()。#includeVoid main()int a8=10.8,16,15,9,21,7,16;int i,x=a0;for(i=l;i8;i+)if(ai x)x=ai;printf(ux=%an?x);.执行下面程序的输出结果为()。#includeVoid ma
7、in()int a3 3=3,8,6,5,9,2,8,5,12;int i,j,s=0;for(i=0;i3;i+)for(j=0;j3;j+)if(aij%3=0)s+=aij;printf(s一%d n,s);)四、编程题(按题目要求编写程序或函数。每小题4分,共8分).按照“int FF(int a,int n)”的函数声明,补充完整下面的递归函数的定义,求出 数组a中所有n个元素之积并返回。Int FF(int a,int n)(if(n=0)printf(n 值非法n”),exit(1);).补充完善下面的一个主函数,假定函数体中定义的整数变量 a 和 b 的取值范围分别为:6WaW
8、50,10WbW30,求出满足不定方程 3a+2b=120 的全部整数组解。如(20,30)就是 其中的一组解。Void main()int a,b;试卷代号:1253国家开放大学2020年秋季学期期末统一考试 C语言程序设计 试题答案及评分标准(供参考)2021年1月 2021年1月 一、单项选择题(把合适的选项编号填写在括号内。每小题3分,共42分)1.A2.C3.C4.A5.B 6.D7.A8.D9.D10.B 11.A12.B13.A14.D二、是非判断题(根据叙述正确与否在其括号内打对号“r或叉号“x”。每小题2分,共 30分)15.V16.X17.V18.X19.X 20.X21.
9、V22.J23.X24.V 25.V26.X27.V28.X29.V三、程序填空题(分析程序后把合适的内容填写在括号内。每小题5分,共20分)30.y=ll 3Ls=56 32.x=7 33.s=30四、编程题(按题目要求编写程序或函数。每小题4分,共8分)评分标准:根据程序或函数编写的正确与完整程度酌情给分。34.intFF(inta,intn)(if(n=0)printf(n 值非法n),exit(1);if(n=l)returna0;elsereturnan-l*FF(a,nl);)35.void main()inta,b;for(a=6;a=50;a+)for(b=10;b=30;b+
10、)if(3*a+2*b=120)printf(%d,%d)n,a,b);/2分 2分/I分 2分 1分 试卷代号:1253国家开放大学2021年春季学期期末统一考试 C语言程序设计试题答案及评分标准(供参考)2021年7月一、单项选择题(把合适的选项编号填写在括号内。每小题 3 分,共 42 分)1.A2.A3.B4.A5.D 6.C7.C8.D9.C10.B 11.B12.B13.A14.D二、是非判断题(根据叙述正确与否在其括号内打对号 f 或叉号“X”。每小题2分,共30分)15.V 16.V 17.J 18.X 19.X 20.V 21.J 22.X 23.X 24.V 25.V 26
11、.V 27.X 28.V 29.X 三、程序填空题(分析程序后把合适的内容填写在括号内。每小题5分,共20分)30.4 31.f2=27 32.13 33.X=27 四、编程题。(按题目要求编写程序或函数。每小题 4 分,共 8 分)评分标准:根据编写程序或函数的正确与完整程度酌情给分。34.for(i=l;imax)max=ai;35.for(i=a;i=b;i+)if(i%2=0)sum+=i;试卷代号:1253国家开放大学2021年春季学期期末统一考试 C语言程序设计试题 2021年7月一、单项选择题(把合适的选项编号填写在括号内。每小题 3 分,共 42 分)1.C语言中使用的字符常量
12、,其起止标记符是()o A.单引号B.双引号 C.中括号D.尖括号一个函数定义所包含的两个部分是()o A.函数头和函数体B.函数头和函数尾 C.函数原型和函数体D.函数名和参数表在printf()函数调用的格式字符串中,若使用格式符为“%d,则对应输出的数据 类型为()o A.charB.int C.floatD.double4.char类型的长度为()o A.1B.2 C.3D.4.要利用const保留字定义整型常量ABC的值为10,则对应的定义语句为()。A.const int ABC 10;B.const int ABC,10;C.const int ABC;10;D.const in
13、t ABC=10,.已知x的初值为15,则下列各表达式中的最小值为()。A.x%=20B.x+=10 C.x/=2D.x*=27在循环语句“for(i=0;ia C.x:aD.x(a).表示文件结束符的符号常量EOF的值为()o A.127B.0 C.1D.-l二、是非判断题(根据叙述正确与否在其括号内打对号“或叉号“义”。每小题2分,共30分).在C语言字符集中,一个大写英文字母和它的小写英文字母被视为不同的字符。()10.一个C语言程序能够包含多个用户头文件。().在定义一个变量时,可以同时给它赋初值。()18,表达式14%5的值为5。()关系表达式(x!=0)的等价表达式为(以)。()1
14、9.while循环是先判断循环条件,当条件为真时执行循环体。()continue语句只有保留字,没有语句体。()22,在二维数组的定义语句中,数组名后带有两对圆括号。().在C语言程序中,存储字符串的方法是使用字符指针。()23.在定义指针变量的语句“int*p,*pp;”中,p和pp具有不同的指针类型。().假定a是一个一维数组,则a+i的值与&ai的值相等。()24.在一个函数定义中,参数表中的参数说明项之间是采用逗号分开的。().在C语言程序中,主函数可以是递归函数。()25.定义结构类型的同时能够定义它的变量。().每次只能向文本文件中写入一个字符,不能一次写入一个字符串。()三、程序
15、填空题(分析程序后把合适的内容填写在括号内。每小题5分,共20分).执行下面程序的输出结果为()o#includevoid main()int x=5,y=8,z=4;if(xy)x=y;if(xz)x=z;printf(%dn,x);)26.执行下面程序的输出结果为()o#include void main()int i,f 1=1,f2;for(i=2;i5;i+)f2=3*f1;fl=f2;.执行下面程序的输出结果为()o#includettdefine N 6 void main()int aN;int i:a0=l;al=2;for(i=2;iN;i+)aEi=ai-2+ai-l;p
16、rintf(%dn,aNT);(27.执行下面程序的输出结果为()o#include void main()int a 8=10,8,12,15,9,27,8,16);int i,x=a 0;for(i=l;ix)x=ai;printf(x=%dn,x);四、编程题(按题目要求编写程序或函数。每小题 4 分,共 8 分)28.完善下面程序中xxkl函数的定义,使程序能够输出数组a中所有元素的最大值。#include int xxkl(int a,int n);Void main()(int x:int a 6=15,20,36,48,24,44);x=xxkl(a,6);printf(x=%d
17、 n,x);(int xxkl(int a,int n)int i,x=a 0,max=a 0;/向下补充内容,用一个for循环实现 return max,29.补充完整下面xxk2函数定义,假定函数参数表中a的值小于等于b,函数功能是求出返 回a到b之间(包含a和b值在内)所有偶数之和。int xxk2(int a,int b)int i,sum=O;/向下补充内容,用一个for循环实现 return sum;A.x-aB.X.a C.*(a.x)D.*(X.a).表示文件结束符的符号常量为()o A.eofB.Eof C.EOFD.feof 二、是非判断题(根据叙述正确与否在其括号内打对号
18、“或叉号“X”。每小题 2分,共 30 分)14.若要在程序文件中使用标准输入和输出函数,则需要引入的系统头文件为stdio.ho().常数-7.00是双精度定点数。()15.在一条变量定义语句中,定义多个变量时需要使用空格隔开。().表达式x=x+y表示成复合赋值表达式为x=+y。()16.若x=15,y=10,则x!二y的逻辑值为真。().do-while循环语句的循环体,可以是简单语句,也可以是复合语句。()20.在一维数组的定义语句中,数组名后带有一对花括号。()22,在二维数组的定义语句中,不能给数组中每个元素赋初值。()23.在C语言程序中,存储字符串的方法是使用字符数组。().在
19、定义指针变量的语句“int*p,*pp;”中,p和pp具有不同的指针类型。()24.假定a是一个一维数组,则a+i的值与的值相等。().在一个函数定义中,参数表中的参数说明项之间是采用逗号分开的。()25.在C语言程序中,主函数可以是递归函数。().定义结构类型的同时能够定义它的变量。()26.每次只能向文本文件中写入一个字符,不能一次写入一个字符串。()三、程序填空题(分析程序后把合适的内容填写在括号内。每小题5分,共20分)27.执行下面程序的输出结果为()。#includeVoid main()intx=15,y=8,z=4;if(xy)x-y;if(xz)x-z;printf(d/n,
20、x);.执行下面程序的输出结果为()o#includeVoid main()inti,f=l;for(i=l;i4;i+)f=3*f+l;printf(f二%d/n”,f);.执行下面程序的输出结果为()o#includeVoid main()Int a8=2,5,6,8,4,9,3,6;Int i,x=a0+al;for(i=l;ix)x=y;)printf(%d/n”,x);).假定使用xxk3(4)调用下面函数,则返回值为()o int xxk3(int n)int i,s=l,for(i=l;i=n;i+)s*=i;return s;四、编程题(按题目要求编写程序或函数。每小题 4 介
21、,共 8 分)28.补充完整下面的函数定义,计算出整型数组a中n个元素的所有偶数之和。Int xxk4(inta,int n)Int i,s=0,/在下面添上一行for循环语句,循环变量为i,累加变量为s Return s:).补充完整下面函数xxk5的定义,计算并返回数组an中所有元素的平均值。Double xxk5(int a,int n)int i,sum=0,/假定分别设置i和sum为循环变量和累加变量/在下面添上一行for循环语句,循环变量为i,累加变量为sum Return double(sum)/n;试卷代号:1253 国家开放大学2022年春季学期期末统一考试 C语言程序设计试
22、题答案及评分标准(供参考)2022年7月一、单项选择题(把合适的选项编号填写在括号内。每小题 3 分,共 42 分)1.C 2,B 3.D 4.B 5.A6.C 7.A 8.C 9.A 10.D 11.A 12.B 13.D 14.C 二、是非判断题(根据叙述正确与否在其括号内打对号“或叉号“X”。每小题2 分,共30分)15.V16.V17.X18.X19.V 20.V21.X22.X23.V24.V25.X26.V27.X28.V29.X 三、程序填空题(分析程序后把合适的内容填写在括号内。每小题5分,共20分)30.4 31.f=40 32.14 33.24 四、编程题(按题目要求编写程
23、序或函数。每小题4分,共8分)for(i=0;in;i+)if(ai%2=0)s+=ai;34.for(i=0;in;i+)sum+=ai;一、单项选择题(把合适的选项编号填写在括号内。每小题3分,共42分)1.在C语言中,一条简单语句的结束符是()o A.逗号B.冒号 C.分号D.空格.一个程序文件开始使用的每条预处理命令,其首字符必须是()。A.B.#C.$D.%3.用于从键盘上为变量输入值的标准输入函数是()o A.printf()C.scanf()4.float 类型的长度为()o B.2 D.8 C.4 5.运算符优先级最高的是()o A.&C.+.设 x 和 y 均为逻辑值,则 x
24、&y 为真的条件是()。A.它们均为真B.其中一个为真 C.它们均为假D.其中一个为假.在循环语句“for(i-l;iname等价的表达式为()。B.(*p).nameA.p.name D.*(p-name)C.*p.name 13.在C语言中,关闭一个数据文件的系统函数为()o A.fclose()B.fopen()C.fread()D.fwrite()二、是非判断题(根据叙述正确与否在其后面的括号内打对号“或叉号“X”。每小题 2 分,共 30 分)15.在C语言程序中,有两种使用注释语句的方法。()16.常数3.26是双精度浮点数。()17.表达式(int)14.6%5的值为4。()18
25、.关系表达式(x!0)的等价表达式为(X)。()19.while循环是先执行循环体,然后进行循环条件判断。()20.在一维数组的定义语句中,数组名后带有一对中括号。()21.字符串不允许为空,至少需要包含一个字符。()22.有一条语句为“char s24=abed s2数组长度的定义是合适的。()23.已知*p-a/则进行p+运算是允许的。()24.函数定义格式中的参数表被称为实参表。()25.在C语言程序中,对于递归函数和非递归函数,其函数头部无区别标志。()26.在结构类型的定义中,其中的数据成员可以是本身类型的直接对象。()27.在一个链表的结点结构中,必然包含有一个指向自身结点类型的指
26、针域。()28.在一个磁盘数据文件的文件名中,文件主名和扩展名都是必须的,不可省略。()29.对二进制文件进行读和写操作将使用同一个系统函数。()三、程序填空题(分析程序后把合适的内容填写在括号内。每小题5分,共20分)30.执行下面程序的输出结果为()o#include void main()int x=5,y=0;switch(2*x+3)case 4:y+=x;break;case 7:y+=2*x+l;break;case 10:y+=3*x;break;default:y+=x-l;)printf(y=%dn,y);、31.执行下面程序的输出结果为()o#include void m
27、ain()int x=12,s=0;dos+一 x;x3;)while(x0);printf(Hs=6dn,s);)32.执行下面程序的输出结果为()o#include#define N 8 void main()(int aN=3,5,8,10,15,20,32,66;int i,x;for(i=0;iN/9,i+)x=ai;ai=aN-l-i;aN-l-i=x;)printf(u%dn,?,al+a3);)33.执行下面程序的输出结果为()o#include void main()int a33-13,18,16)415,19,12,8,15,22);int i,j,x=aOIO;for(
28、i=0;i3;i+)for(jO;j3;j+)if(aijx)x-aij;printf(zzx=o/dn,x);)四、编程题(按题目要求编写程序或函数。每小题 4 分,共 8 分)34.补充完整下面的函数定义,要求返回二维数组中所有元素的平均值。假定 在计算过程中采用变量s存放累加值,采用i和j作为扫描数组的循环变量。double Mean(double aNJnt mjnt n)(int i,j;double s=0.0;/在下面添上合适的for双重循环语句 35.补充完整下面的函数定义,利用for循环计算1+21+22+2”的值,最后返回计算 结果。假定计数变量用i表示,每次累乘2的变量用
29、p表示,每次累加一个数据项值的变量 用sum表示。int FFfint n)(int i,p=b sum-1;/在下面一行的后面补上for循环语句的语句体 for(i=l;i-n;i+)return sum;国家开放大学2020年春季学期期末统一考试 C语言程序设计试题答案及评分标准(供参考)2020年7月 一、单项选择题(把合适的选项编号填写在括号内。每小题3分,共42分)I.C2.B3.C4.C5.B 6.A7.D8.C9.D10.B II.D12.D13.B14.A二、是非判断题(根据叙述正确与否在其括号内打对号“或叉号“X”。每小题2分,三、程序填空题(分析程序后把合适的内容填写在括号
30、内。每小题5分,共20分)30.y=4 31.s-=30 32.47 33.X=8 四、编程题(按题目要求编写程序或函数。每小题 4 分,共 8 分)评分标准:根据程序或函数编写的正确与完整程度酌情给分。34.for(i=0;im;i+)/I 分for(j=O;jn;j+)/l 分 s+=aij;/2 分 35.p*=2;sum+=p;)/4 分 试卷代号:1253国家开放大学2020年秋季学期期末统一考试 C语言程序设计试题 2021年1月一、单项选择题(把合适的选项编号填写在括号内。每小题 3 分,共 42 分)1.在每个C语言程序中都必须包含有这样一个函数,该函数的函数名为()o A.m
31、ainB.MAIN C.nameD.function.用于输出表达式值的标准输出函数是()。A.scanf()B.print()C.printf()D.output().由C语言源程序文件编译而成的目标文件的扩展名为()。A.cppB.exe C.objD.C.运算符优先级最高的是()o A.()B.一 C.+D.已知x的初值为15,则下列各表达式中的最大值为()o A.x+B.+x C.x-D.-x.for循环语句能够被改写为()o A.复合语句B.if语句 C.switch 语句D.while 语句7.在一个数组中,数组元素前面的元素个数为()o A.iB.i+1 试卷代号:1253 共3
32、0分)15.V 20.V 16.X 21.X 26.X 17.V 22.X 27.V 18.VL9.X 23.V24.X 28.X29.X C.i-1D.2xi8假定二维数组的定义语句为则该数组所占用的存储空间的字节数为()o A.120B.15 C.30n60.对于一个二维字符数组aM N,存储每个字符串的长度至多为()o A.MB.N C.M-lD.N-I.假定a为-Ai数组名,则下面表达式中错误的是()。A.aiB.*a+c*a D.*(a+l)n.假定一个函数的原型语句为“int ff(intx);,一个整型变量为a,则下面函数调用表达式不正确的是()o A.ff(*a)B.ff(a)C.ff(a+10)D.ff(3).假定要访问一个结构指针变量x所指对象中的数据成员a,则表示方法为()o A.x.aB.x 一a C.x(a)D.x a.标准输入设备键盘的文件流标识符是()o