2022年广播电视大学期末考试C语言程序设计课程重点考试小抄整理打印版_第1页
2022年广播电视大学期末考试C语言程序设计课程重点考试小抄整理打印版_第2页
2022年广播电视大学期末考试C语言程序设计课程重点考试小抄整理打印版_第3页
2022年广播电视大学期末考试C语言程序设计课程重点考试小抄整理打印版_第4页
2022年广播电视大学期末考试C语言程序设计课程重点考试小抄整理打印版_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、最新广播电视大学(电大)期末考试c+ 语言程序设计课程重点考试小抄整理打印版一、单选题(每小题2 分,共 20 分)1在每个 c+ 程序中都必须包含有这样一个函数,该函数的函数名为(a )。a. main b. main c. name d. function 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 & y=5 4. 假定 p 是一个指向float型数据的指

2、针,则p+1 所指数据的地址比p 所指数据的地址大(c )个字节。a. 1 b. 2 c. 4 d. 8 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 , 2 ; d. char a10= 5;8. 若用数组名作为函数调用的实参,传递给形参的是(a ) 。

3、a. 数组的首地址b. 数组中第一个元素的值c. 数组全部元素的值d. 数组元素的个数9 假定 ab 为一个类,则执行 “ab a(4), b5, *p2;” 语句时,自动调用该类构造函数的次数为( a ) 。a. 6 b. 7 c. 9 d. 11 10当使用 fstream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为(d )。a. ios:in b. ios:out c. ios:in | ios:out d. 没有二、填空题(每小题2 分,共 20 分)1. 若需要定义一个标识符常量,并且使c+ 能够进行类型检查,则应在定义语句的开始使用保留字_ const _ 。2.

4、算术表达式1432baxy对应的 c+ 表达式为 _(x*y*y)/(3*a)+4*b-1 _。3. 逻辑表达式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_

5、。8假定一个结构类型的定义为“struct aint a; double* b; a* c;”,则该类型的大小为_12_字节。9假定一维数组的定义为“int a8; ” ,则该数组所含元素的个数为_8_ 。精品学习资料 可选择p d f - - - - - - - - - - - - - - 第 1 页,共 16 页 - - - - - - - - -10. 若 while循环语句的开始为”while(i+=10)”,若i 的初值为0,同时在循环体中不会修改i的值,则其循环体将被重复执行_11_ 次后正常结束。三、写出下列每个程序运行后的输出结果(每小题6 分,共 30 分)1. #inclu

6、de void main() int s1=0, s2=1; for(int 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; for(int 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; for(int i=0;i3

7、;i+) for(int j=0;jm) m=aij; coutmendl; 输出结果: 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; 精品学习资料 可选择p d f - - - - - - - - - - - - - - 第 2 页,共 16 页 - - - - - - - - -

8、for(p=a; pa+8;p+) if(*p10) cout*p ; coutendl; 输出结果: 6 4 5 四、写出下列每个函数的功能(每小题8 分,共 24 分)1. bool wb(int a, int n, int x) for(int i=0;in;i+) if(ai=x) return true; return false; 函数功能:从数组a 中顺序查找值为x 的元素,若查找成功则返回真,否则返回假。2. int lj(int a, int n) int k=0; for(int i=1;iak) k=i; return ak; 函数功能:求出数组a 中 n 个元素的最大值

9、并返回。3. 假定结构类型dnode中的 data 域为结点值域,next 域为结点指针域。dnode* qb(int n) if(n=0) return 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 分)已知 6a30、15b 36,求出满足不定方程2a+5b=126的全部整数组解。如(13,20)

10、 就是其中的一组解,并按此格式输出每组解。答:#include void main() int a,b; for(a=6;a=30; a+) for(b=15;b=36;b+) if(2*a+5*b=126) cout(a,b)endl; 精品学习资料 可选择p d f - - - - - - - - - - - - - - 第 3 页,共 16 页 - - - - - - - - - 精品学习资料 可选择p d f - - - - - - - - - - - - - - 第 4 页,共 16 页 - - - - - - - - -训练第二套一、单选题(每小题2 分,共 20 分)1. 枚举类

11、型中的每个枚举常量的值都是一个(a )值。a. 整数b. 浮点数c. 字符d. 逻辑2设 x 和 y 均为 bool量,则逻辑表达式x | y 为假的条件是(c )。a. 它们均为真b. 其中一个为真c. 它们均为假d. 其中一个为假3. 声明或定义一个内联函数时,必须在函数开始使用保留字(d )。a. static b. const c. extern d. inline 4. 在下面的函数声明中,存在着语法错误的是(d )。a. bc(int a, int); b. bc(int, int); c. bc(int, int=5); d. bc(int x; int y); 5. 假定 a

12、为一个整型数组名,则元素a4 与(c )的表示等价。a. a+4 b. *a+4 c. *(a+4) d. *(a+16) 6. 下面循环语句执行结束后输出的i 值为(b )的值。for(int i=0; in/2) coutiendl; 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 b

13、ookchar title40; float price;” ,则不正确的变量定义语句为(d ) 。a. book x; ; b. book x=c+ programming,27.0; c. book *x=new book; d. book x=new book; 10. 假定 ab 为一个类, px 为指向该类动态对象数组的指针,该数组长度为n,则执行“delete px;”语句时,自动调用该类析构函数的次数为(b )。a. 1 b. n c. n-1 d. n+1 二、填空题(每小题2 分,共 20 分)1已知 az 的 ascii 码为 65 90 ,当执行“ char ch=14*

14、4+12;coutch;”语句序列后,得到的输出结果为 _d_ 。2double类型的长度为 _8_ 。3. 表达式 x=x+1表示成增量表达式为_+x _。4. 逻辑表达式ab & b!=15_。5. 假定一个二维数组的定义为“char* a54;”,则该数组所含元素的个数为_20_ ,所占存储空间的字节数为 _80_。6当函数中的 _局部 _ 变量没有被赋初值时,它的值是不确定的。7假定一个结构类型的定义为“struct adouble a,b; a* c;”,则该类型的大小为_20_字节。8. 假定要访问一个结构指针p 所指对象中的数据成员data ,则表示方法为_ p-data

15、 _。9假定用户没有给一个名为ab 的类定义构造函数,则系统为其隐含定义的构造函数为ab()_ 。10. 当在程序中执行到break 语句时,就立即结束本层循环类语句或switch语句的执行。三、写出下列每个程序运行后的输出结果(每小题6 分,共 30 分)1. #include void main() int s=0; 精品学习资料 可选择p d f - - - - - - - - - - - - - - 第 5 页,共 16 页 - - - - - - - - -for(int i=1;i=8;i=+2) s+=i*i; couts=sendl; 输出结果: s=84 2. #includ

16、e void main() int i=1,s=0; while(s20) if(i%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, b2; b1=b2=a0; for(int i=1; i8; i+) if(aib2) b2=ai; coutb1,b2endl; 输出结果: 14,82 4. #include int lb(int *a, int n) int s=1; for(int i=0;in;i+) s*=*a; a+;

17、 return s; void main() int a5=1,2,3,4,5; coutlb(a,5)endl; 输出结果: 120 5. #include struct worker char name15; / 姓名int age; / 年龄精品学习资料 可选择p d f - - - - - - - - - - - - - - 第 6 页,共 16 页 - - - - - - - - -float pay; / 工资; void main() worker x=wangfong,46,1640; worker y, *p; y=x; p=&x; y.age

18、y.payendl; coutname age+5 pay-300endl; 输出结果: wangfong 46 1640 wangfong 51 1340 四、写出下列每个函数的功能(每小题8 分,共 24 分)1. int wc(int a, int n, int k) int c=0; for(int i=0;i=k) c+; return c; 函数功能:统计出数组a 的 n 个元素中大于等于参数k 的值的元素个数并返回。2. bool sg(int x) /x 为大于等于2 的整数int a=int(sqrt(x); /sqrt(x)为求 x 的平方根int i=2; while(i

19、a) return true; else return false; 函数功能:判断x 是否为一个素数(或质数),若是则返回真,否则返回假。3. 假定结构类型worker中的 name域表示姓名, age 域表示年龄, pay 域表示工资。void qa(worker a, int n) for(int i=0; ai.ageai.pay; 函数功能:从键盘上输入n 个 worker结构类型的记录依次保存到一维数组a 的对应元素中。五、按题目要求编写函数(6 分)假定函数声明为“void print(int a, int n);”,在函数体中按下标从大到小的次序输出数组a 中的

20、 n个元素的值,并要求每行输出6 个元素,当然最后一行可以不足6 个。答: void print(int a, int n) int i,j=0; for(i=n-1; i=0; i-) coutai ;if(+j%6=0) coutendl; 精品学习资料 可选择p d f - - - - - - - - - - - - - - 第 7 页,共 16 页 - - - - - - - - - coutendl; 精品学习资料 可选择p d f - - - - - - - - - - - - - - 第 8 页,共 16 页 - - - - - - - - -训练第三套一、单选题(每小题2 分,

21、共 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. 与 x 值相反4. for 语句能够被改写为(d )语句。a. 复合b. if c. switch d. while 5. 在下面的 do 循环语句中,其循环

22、体被执行的次数为(a ) 。int i=0; do i+; while(i*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 bc(int a, int b);”的重载函数。a. int bc(int x, int y); b. void bc(int a, char b); c.

23、 float bc(int a, int b, int c=0); d. int bc(int a, int b=0); 9. 当类中一个字符指针成员指向具有n 个字节的存储空间时,它所能存储字符串的最大长度为( c )。a. n b. n+1 c. n-1 d. n-2 10. 假定 ab 为一个类,则该类的拷贝构造函数的声明语句为(d )。a. ab&(ab x); b. ab(ab x); c. ab(ab* x); d. ab(ab&); 二、填空题(每小题2 分,共 20 分)1执行“ cout5的相反表达式为 _ x+y=5_ 5. 假定一个二维数组的定义为“int

24、 a36;”,则该数组含有_18_ 个元素。6. 执行“ typedef int abc20;”语句把 abc 定义为具有20 个整型元素的 _数组类型 _。7假定 p 所指对象的值为36,p+1 所指对象的值为49,则 *+p的值为 _49_。8. 假定 a 是一个一维数组,则ai 的指针访问方式为_*(a+i)_ 9 对一个类中的数据成员的初始化可以通过构造函数中的初始化表实现,也可以通过构造函数中的_函数体 _实现。10当一个类对象离开它的作用域时,系统将自动调用该类的_析构函数 _。三、写出下列每个程序运行后的输出结果(每小题6 分,共 30 分)1. #include #includ

25、e int sd(int a, int b, char op) switch(op) case +: return a+b; 精品学习资料 可选择p d f - - - - - - - - - - - - - - 第 9 页,共 16 页 - - - - - - - - -case -: return a-b; default: cout操作符 op 出错,退出运行!;exit(1); void main() int x=20, y=6; coutsd(x,y,+) sd(x,y,-)endl; 运行结果: 26 14 2. #include #include void main() char

26、* a5=student,worker,cadre,soldier,apen; char *p1; p1=a0; for(int i=1;i0) p1=ai; coutp1endl; 运行结果: worker 3. #include int wf(int x, int y) x=x+y; y=x+y; return x+y; void main() coutwf(8,5)endl; 运行结果: 31 4. #include const int n=9; void main() int an=2,4,6,8,10,12,14,16,18; int s=0; for(int i=0; in; i+

27、) if(i%3=0) s+=ai; cout”s = ” sendl; 运行结果: 24 5. #include 精品学习资料 可选择p d f - - - - - - - - - - - - - - 第 10 页,共 16 页 - - - - - - - - -void main() int* d=new int5; int i; for(i=0;i5;i+) di=2*i+1; coutdi ; coutx; y+=x*x; while(-n0); return y; 函数功能:求出从键盘上输入的n 个整数的平方和并返回。2. bool we(int a, int b, int n) f

28、or(int i=0;in;i+) if(ai!=bi) break; if(i=n) return true; return false; 函数功能:判断具有n 个元素的两个数组a 和 b 中对应元素值是否全部相等,若是则返回真,否则返回假。3. void lk(int a, int n, int& m) float s=0; int i; for(i=0;in;i+) s+=ai; s/=n; m=0; for(i=0;i=s) m+; 函数功能:统计出数组a 的前 n 个元素中大于等于其平均值的元素个数并由引用参数m 带回。五、按题目要求编写函数(6 分)假定一个函数声明为“vo

29、id ad(int a, int n);”,要求把数组a 中的 n 个元素值按相反的次序仍保存在数组 a 中。答: void ad(int a, int n) for(i=0; in/2; i+) 精品学习资料 可选择p d f - - - - - - - - - - - - - - 第 11 页,共 16 页 - - - - - - - - -int x=ai; ai=an-1-i; an-1-i=x; 精品学习资料 可选择p d f - - - - - - - - - - - - - - 第 12 页,共 16 页 - - - - - - - - -训练第四套一、单选题(每小题2 分,共

30、20 分)1. c+ 程序的基本功能模块为(d )。a. 表达式b. 标识符c. 语句d. 函数2. 存储以下数据,占用存储字节最多的是(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; 5c+ 语言中的每条简单语句以_b_ 作为结束符。a.

31、逗号b. 分号c. 空格d. 换行符6. 含随机函数的表达式rand()%20的值在 ( c )区间内。a. 119 b. 120 c. 019 d. 020 7. 当处理一个特定的问题时,若循环次数已知,则通常采用(a )来解决。a. for循环b. while循环c. do 循环d. switch语句8. 在下面循环语句中内层循环体s 语句的执行总次数为(d ) 。for(int i=0; in; i+) for(int j=i; jy 的逻辑值为 _假( false 或 0)_。6假定一个一维数组的定义为“char* a8;”,则该数组所占用存储空间的字节数为_32_。7. 假定 x=1

32、0 ,则表达式 2+x+的值为 _12_。8假定 p 所指对象的值为25,p+1 所指对象的值为46,则 *p+ 的值为 _25_ 。9. 假定要动态分配一个类型为worker的具有 n 个元素的数组,并由r 指向这个动态数组,则使用的语句为 worker* r=_ new workern;_。10. 设 px 指向一个类的动态分配的对象,则执行“delete px;”语句时,将自动调用该类的_析构函数_。三、写出下列每个程序运行后的输出结果(每小题6 分,共 30 分)1. #include void sb(char ch) switch(ch) case a: case a: coutwe

33、ll! ; break; 精品学习资料 可选择p d f - - - - - - - - - - - - - - 第 13 页,共 16 页 - - - - - - - - -case b: case b: coutgood! ; break; case c: case c: coutpass! ; break; default: coutbad!;break; void main() sb( a); sb( c ); sb( b );coutendl; 运行结果: well! pass! good! 2. #include void main() int a6=36,25,48,14,55,40; int b1=a0; for(int i=1;ib1) b1=ai; cout”b1= ”b1endl; 运行结果: 55 3. #include void main() int a9=3,5,7,9,11,13,15,17,25; int *p=a; for(int i=0;i9;i+

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论