《2022年广播电视大学期末考试C语言程序设计课程重点考试小抄整理打印版.docx》由会员分享,可在线阅读,更多相关《2022年广播电视大学期末考试C语言程序设计课程重点考试小抄整理打印版.docx(29页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选学习资料 - - - - - - - - - 最新广播电视高校(电大)期末考试C+ 语言程序设计课程重点考试小抄整理打印版一、单项题(每道题2 分,共 20 分)A );C )1在每个 C+ 程序中都必需包含有这样一个函数,该函数的函数名为(A. main B. MAIN C. name D. function p 所指数据的地址大(2设 x 和 y 均为 bool量,就 x & y为真的条件是(D );A. 其中一个为假B. 其中一个为真C. 它们均为假D. 它们均为真3. 规律表达式x0 | y=5的相反表达式为(B );A. x=0 | y.=5 B. x0 | y.=5 D. x0
2、 & y=5 4. 假定 p 是一个指向float型数据的指针,就p+1 所指数据的地址比个字节;A. 1 B. 2 C. 4 D. 8 ( A );5. 枚举类型中的每个枚举常量的值都是一个(A );A. 整数B. 浮点数C. 字符D. 规律值6. 循环体至少被执行一次的语句为(C )语句;A. for循环B. while循环C. do 循环D. 任一种循环7. 在下面的字符数组定义中,(D )语句有语法错误;A. char a20=”abcdefg”; B. char a=”x+y=55.” ;C. char a15=1, 2D. char a10=5;8. 如用数组名作为函数调用的实参,
3、传递给形参的是(A );A. 数组的首地址B. 数组中第一个元素的值C. 数组全部元素的值D. 数组元素的个数9假定 AB 为一个类,就执行“ AB a4, b5, *p2;” 语句时,自动调用该类构造函数的次数为A. 6 B. 7 C. 9 D. 11 D );10 当使用 fstream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为(A. ios:in B. ios:out C. ios:in | ios:out D. 没有二、填空题(每道题2 分,共 20 分)1. 如需要定义一个标识符常量,并且使 _ const _ ;C+ 能够进行类型检查,就应在定义语句的开头使用保留
4、字2. 算术表达式xy24b1对应的 C+ 表达式为 _x*y*y/3*a+4*b-1 _;_ 3a3. 规律表达式xy & x.=10的相反表达式为_ x=y | x=10_;4. 每个字符指针变量占用内存_4_个字节;5. 执行“typedef int DataType; ” 语句后,在使用int定义整型变量的地方都可以使用标识符DataType _ 来定义整型变量;6. 对于在全部函数定义之外定义的变量,如没有被初始化就系统隐含对它给予的初值为 _0_;7假定 p 所指对象的值为 25 , p+1 所指对象的值为 46 ,就执行“*p+; ” 语句后, p 所指对象的值为 _46_;8假
5、定一个结构类型的定义为“struct Aint a; double* b; A* c;” ,就该类型的大小为_12_字节;名师归纳总结 9假定一维数组的定义为“int a8; ” ,就该数组所含元素的个数为_8_;第 1 页,共 16 页- - - - - - -精选学习资料 - - - - - - - - - 10. 如 while循环语句的开头为”whilei+=10i 的初值为0,同时在循环体中不会修改i的值,就其循环体将被重复执行 _11_次后正常终止;三、写出以下每个程序运行后的输出结果(每道题 6 分,共 30 分)1. #include void main int s1=0, s
6、2=1; forint i=1; i=6; i+ s1+=i; s2*=i; couts1,s2endl; 输出结果: 21,720 2. #include void main int a10=68,79,86,65,46,94,37,78,60,53; int c=0; forint i=0;i=60 c+; cout” c= ” cendl; 输出结果: c=7 3. #include void main int a34=1,2,7,8,5,6,11,15,9,20,3,4; int m=a00; forint i=0;i3;i+ forint j=0;jm m=aij; coutmend
7、l; 输出结果: 20 4. #include void main int a=10, b=15; couta b ; a*=3; int b=a+20; couta b ; couta bendl; 输出结果: 10 15 30 50 30 15 5. #include void main int a8=6,19,4,12,20,5,18,25; int* p=a; 名师归纳总结 - - - - - - -第 2 页,共 16 页精选学习资料 - - - - - - - - - forp=a; pa+8;p+ if*p10 cout*p; coutendl; 输出结果: 6 4 5 四、写出
8、以下每个函数的功能(每道题 8 分,共 24 分)1. bool WBint a, int n, int x forint i=0;in;i+ ifai=x return true; return false; 函数功能:从数组a 中次序查找值为x 的元素,如查找胜利就返回真,否就返回假;2. int LJint a, int n int k=0; forint i=1;iak k=i; return ak; 函数功能:求出数组 a 中 n 个元素的最大值并返回;3. 假定结构类型 Dnode 中的 data 域为结点值域,next 域为结点指针域;DNode* QBint n ifn=0 r
9、eturn NULL; DNode* f=new DNode; cinf-data; DNode* p=f; while-n p=p-next=new DNode; cinp-data; p-next=NULL; return f; 函数功能:建立一个具有 n 个结点的链表,每个结点的值依次由键盘输入,该函数返回其表头指针;五、按题目要求编写程序(6 分)的全部整数组解;如 13,20 就是其中 已知 6a30 、15 b 36 ,求出满意不定方程 2a+5b=126的一组解,并按此格式输出每组解;答:#include void main int a,b; fora=6;a=30; a+ fo
10、rb=15;b=36;b+ if2*a+5*b=126 couta,bendl; 名师归纳总结 - - - - - - -第 3 页,共 16 页精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 4 页,共 16 页精选学习资料 - - - - - - - - - 训练其次套一、单项题(每道题 2 分,共 20 分)1. 枚举类型中的每个枚举常量的值都是一个(A )值;A. 整数 B. 浮点数 C. 字符 D. 规律2设 x 和 y 均为 bool 量,就规律表达式 x | y 为假的条件是(C );A. 它们均为真 B. 其中一个为真C. 它们均为
11、假 D. 其中一个为假3. 声明或定义一个内联函数时,必需在函数开头使用保留字(D );A. static B. const C. extern D. inline 4. 在下面的函数声明中,存在着语法错误选项(D );A. BCint a, int; B. BCint, int; C. BCint, int=5; D. BCint x; int y; 5. 假定 a 为一个整型数组名,就元素 a4 与(C )的表示等价;A. a+4 B. *a+4 C. *a+4 D. *a+16 6. 下面循环语句执行终止后输出的 i 值为(B )的值;forint i=0; in/2 coutiendl
12、; break; A. n/2 B. n/2+1 C. n-1 D. n 7. 将两个字符串连接起来组成一个字符串时,选用(C )函数;A. strlen B. strcpy C. strcat D. strcmp 8. 预处理命令在程序中都是以 B 字符开头的;A. * B. # C. & D. 9. 假定有定义“struct BOOKchar title40; float price;” ,就不正确的变量定义语句为(D );A. BOOK x; ; B. BOOK x=C+ Programming,27.0; C. BOOK *x=new BOOK; D. BOOK x=new BOOK;
13、 10. 假定 AB 为一个类, px 为指向该类动态对象数组的指针,该数组长度为 n,就执行 “ delete px;”语句时,自动调用该类析构函数的次数为(B );A. 1 B. n C. n-1 D. n+1 二、填空题(每道题 2 分,共 20 分)1已知 A Z 的 ASCII 码为 65 90 ,当执行“char ch=14*4+12;coutch;” 语句序列后,得到的输出结果为 _D_;2 double 类型的长度为 _8_;3. 表达式 x=x+1 表示成增量表达式为 _+x _;4. 规律表达式 ab & b.=15_;5. 假定一个二维数组的定义为“char* a54;”
14、 ,就该数组所含元素的个数为 _20_,所占储备空间的字节数为 _80_;6当函数中的 _局部 _变量没有被赋初值时,它的值是不确定的;7假定一个结构类型的定义为“struct Adouble a,b; A* c;” ,就该类型的大小为 _20_字节;8. 假定要拜访一个结构指针 p 所指对象中的数据成员 data ,就表示方法为 _ p-data _;9假定用户没有给一个名为 AB 的类定义构造函数,就系统为其隐含定义的构造函数为 AB_ ;10. 当在程序中执行到 break 语句时,就立刻终止本层循环类语句或 switch 语句的执行;三、写出以下每个程序运行后的输出结果(每道题 6 分
15、,共 30 分)1. #include void main int s=0; 名师归纳总结 - - - - - - -第 5 页,共 16 页精选学习资料 - - - - - - - - - forint i=1;i=8;i=+2 s+=i*i; couts=sendl; 输出结果: s=84 2. #include void main int i=1,s=0; whiles20 ifi%2.=0 s+=i; i+; couti , sendl; 输出结果: 10,25 3. #include void main int a8=36,25,48,14,55,20,47,82; int b1,
16、b2; b1=b2=a0; forint i=1; i8; i+ ifaib2 b2=ai; coutb1,b2endl; 输出结果: 14,82 4. #include int LBint *a, int n int s=1; forint i=0;in;i+ s*=*a; a+; return s; void main int a5=1,2,3,4,5; coutLBa,5endl; 输出结果: 120 5. #include struct Worker 名师归纳总结 char name15; / 姓名第 6 页,共 16 页int age; / 年龄- - - - - - -精选学习资料
17、 - - - - - - - - - float pay; / 工资 ; void main Worker x=wangfong,46,1640; Worker y, *p; y=x; p=&x; couty.name y.age y.payendl; coutname age+5 pay-300endl; 输出结果: wangfong 46 1640 wangfong 51 1340 四、写出以下每个函数的功能(每道题 8 分,共 24 分)1. int WCint a, int n, int k int c=0; forint i=0;i=k c+; return c; 函数功能:统计出数
18、组 a 的 n 个元素中大于等于参数 k 的值的元素个数并返回;/x 为大于等于 2 的整数 2. bool SGint x int a=intsqrtx; /sqrtx 为求 x 的平方根 int i=2; whileia return true; else return false; 函数功能:判定 x 是否为一个素数(或质数),如是就返回真,否就返回假;中的 name 域表示姓名, age 域表示年龄, pay 域表示工资;3. 假定结构类型 Worker void QAWorker a, int n forint i=0; iai.nameai.ageai.pay; 函数功能:从键盘上
19、输入 n 个 Worker 结构类型的记录依次储存到一维数组 a 的对应元素中;五、按题目要求编写函数(6 分)假定函数声明为“void Printint a, int n;” ,在函数体中按下标从大到小的次序输出数组 a 中的 n 个元素的值,并要求每行输出 6 个元素,当然最终一行可以不足 6 个;答: void Printint a, int n int i,j=0; fori=n-1; i=0; i- coutai ;if+j%6=0 coutendl; 名师归纳总结 - - - - - - -第 7 页,共 16 页精选学习资料 - - - - - - - - - coutendl;
20、 名师归纳总结 - - - - - - -第 8 页,共 16 页精选学习资料 - - - - - - - - - 训练第三套一、单项题(每道题 2 分,共 20 分)1. 由 C+ 源程序文件编译而成的目标文件的缺省扩展名为(A );A. obj B. lik C. exe D. cpp 2. 程序运行中需要从键盘上输入多于一个数据时,各数据之间应使用 D 符号作为分隔符;A. 空格或逗号 B. 逗号或回车 C. 逗号或分号 D. 空格或回车3. 设 x 是一个 bool 型的规律量, y 的值为 10 ,就表达式 x & y 的值为(C );A. 1 B. 0 C. 与 x 值相同 D.
21、与 x 值相反4. for 语句能够被改写为(D )语句;A. 复合 B. if C. switch D. while 5. 在下面的 do 循环语句中,其循环体被执行的次数为(A );int i=0; do i+; whilei*i10; A. 4 B. 3 C. 5 D. 2 6. 在下面的一维数组定义中,(C )语句有语法错误;A. int a=1,2,3; B. int a10=0; C. int a; D. int a5; 7. 下面的(C )保留字不能作为函数的返回类型;A. void B. int C. new D. long 8. 下面的函数声明中, B 是“void BCin
22、t a, int b;” 的重载函数;A. int BCint x, int y; B. void BCint a, char b; C. float BCint a, int b, int c=0; D. int BCint a, int b=0; 9. 当类中一个字符指针成员指向具有( C );n 个字节的储备空间时,它所能储备字符串的最大长度为A. n B. n+1 C. n-1 D. n-2 10. 假定 AB 为一个类,就该类的拷贝构造函数的声明语句为(D );A. AB&AB x; B. ABAB x; C. ABAB* x; D. ABAB&; 二、填空题(每道题 2 分,共 2
23、0 分)1执行“cout5 的相反表达式为 _ x+y=5_ 5. 假定一个二维数组的定义为“int a36;” ,就该数组含有 _18_个元素;6. 执行“typedef int ABC20;” 语句把 ABC 定义为具有 20 个整型元素的 _数组类型 _;7假定 p 所指对象的值为 36 , p+1 所指对象的值为 49,就 *+p 的值为 _49_;8. 假定 a 是一个一维数组,就 ai 的指针拜访方式为 _*a+i_ 9对一个类中的数据成员的初始化可以通过构造函数中的初始化表实现,也可以通过构造函数中的 _函数体 _实现;10 当一个类对象离开它的作用域时,系统将自动调用该类的 _
24、析构函数 _;三、写出以下每个程序运行后的输出结果(每道题 6 分,共 30 分)1. #include #include int SDint a, int b, char op switchop case +: return a+b; 名师归纳总结 - - - - - - -第 9 页,共 16 页精选学习资料 - - - - - - - - - case -: return a-b; default: cout操作符 op 出错,退出运行.;exit1; void main int x=20, y=6; coutSDx,y,+ SDx,y,-endl; 运行结果: 26 14 2. #in
25、clude #include void main char* a5=student,worker,cadre,soldier,apen; char *p1; p1=a0; forint i=1;i0 p1=ai; coutp1endl; 运行结果: worker 3. #include int WFint x, int y x=x+y; y=x+y; return x+y; void main coutWF8,5endl; 运行结果: 31 4. #include const int n=9; void main int an=2,4,6,8,10,12,14,16,18; int s=0;
26、forint i=0; in; i+ ifi%3=0 s+=ai; cout” s= ” sendl; 运行结果: 24 5. #include 名师归纳总结 - - - - - - -第 10 页,共 16 页精选学习资料 - - - - - - - - - void main int* d=new int5; int i; fori=0;i5;i+ di=2*i+1; coutdi ; coutx; y+=x*x; while-n0; return y; 函数功能:求出从键盘上输入的 n 个整数的平方和并返回;2. bool WEint a, int b, int n forint i=0
27、;in;i+ ifai.=bi break; ifi=n return true; return false; 函数功能:判定具有n 个元素的两个数组a 和 b 中对应元素值是否全部相等,如是就返回真,否就返回假;3. void LKint a, int n, int& m float s=0; int i; fori=0;in;i+ s+=ai; s/=n; m=0; fori=0;i=s m+; 函数功能:统计出数组 a 的前 n 个元素中大于等于其平均值的元素个数并由引用参数 m 带回;五、按题目要求编写函数(6 分)假定一个函数声明为“void ADint a, int n;” ,要求
28、把数组 a 中的 n 个元素值按相反的次序仍储存 在数组 a 中;答: void ADint a, int n fori=0; in/2; i+ 名师归纳总结 - - - - - - -第 11 页,共 16 页精选学习资料 - - - - - - - - - int x=ai; ai=an-1-i; an-1-i=x; 名师归纳总结 - - - - - - -第 12 页,共 16 页精选学习资料 - - - - - - - - - 训练第四套一、单项题(每道题 2 分,共 20 分)1. C+ 程序的基本功能模块为(D );A. 表达式 B. 标识符 C. 语句 D. 函数2. 储备以下数
29、据,占用储备字节最多的是(A );A. 0 B. 0C. ” 0”D. n3. 在下面的一维数组定义中,有语法错误选项(C );A. int a=1,2,3; B. int a10=0; C. int a; D. int a5; 4. 在下面的语句或语句组中,(B )不正确;A. int a5; B. int M=10; int aM; C. int a=1,5,10,45; D. const int N=12; int aN; 5 C+ 语言中的每条简洁语句以 _B_作为终止符;A. 逗号 B. 分号 C. 空格 D. 换行符6. 含随机函数的表达式 rand%20 的值在 C 区间内;A.
30、 119 B. 120 C. 019 D. 020 7. 当处理一个特定的问题时,如循环次数已知,就通常采纳(A )来解决;A. for 循环 B. while 循环 C. do 循环 D. switch 语句8. 在下面循环语句中内层循环体 S 语句的执行总次数为(D );forint i=0; in; i+ forint j=i; jy 的规律值为 _假( false 或 0)_;6假定一个一维数组的定义为“char* a8;” ,就该数组所占用储备空间的字节数为 _32_;7. 假定 x=10 ,就表达式 2+x+ 的值为 _12_;8假定 p 所指对象的值为 25 , p+1 所指对象
31、的值为 46,就 *p+ 的值为 _25_;9. 假定要动态安排一个类型为 Worker 的具有 n 个元素的数组,并由 r 指向这个动态数组,就使用的语句为 Worker* r=_ new Workern;_;10. 设 px 指向一个类的动态安排的对象,就执行“delete px;” 语句时,将自动调用该类的 _析构函数_;三、写出以下每个程序运行后的输出结果(每道题 6 分,共 30 分)1. #include void SBchar ch switchch 名师归纳总结 case A: case a: coutwell.; break; 第 13 页,共 16 页- - - - - -
32、 -精选学习资料 - - - - - - - - - case B: case b: coutgood.; break; case C: case c: coutpass.; break; default: coutbad.;break; void main SBA; SB c ; SBb;coutendl; 运行结果: well. pass. good. 2. #include void main int a6=36,25,48,14,55,40; int b1=a0; forint i=1;ib1 b1=ai; cout” b1= ” b1endl; 运行结果: 55 3. #includ
33、e void main int a9=3,5,7,9,11,13,15,17,25; int *p=a; forint i=0;i9;i+ ifi+1%3=0 cout*p+i; coutendl; 运行结果: 7 13 25 4. #include int* LGint m int* a=new intm; forint i=0;im;i+ ai=3*i+1; return a; void main int* b=LG5; forint i=0;i5;i+ coutbi ; coutendl; deleteb; 名师归纳总结 - - - - - - -第 14 页,共 16 页精选学习资料 - - - - - - - - - 运行结果: 1 4 7 10 13 5. #include #include struct Worker char name15; / 姓名 int age; / 年龄 float pay; / 工资 ; void main Worker x; strcpyx.name, WeiRong; x.age=45; x.pay=1235; coutx.name x.age x.payendl; 运行结果: WeiRong 45 1235 四、写出以下每个函数的功能(每道题 8 分,共 24 分)1. int SCint a, int b, int c if
限制150内