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