《2022年山东广播电视大学开放教育《C语言程序设计》课程综合练习题.docx》由会员分享,可在线阅读,更多相关《2022年山东广播电视大学开放教育《C语言程序设计》课程综合练习题.docx(15页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精品学习资源山东广播电视高校开放训练C+语言程序设计课程综合练习题一挑选题1. 下面的哪一个保留字不能作为函数的返回类型? CA. voidB. intC. newD. long2. 假定 a 为一个数组名,就下面的哪一种表示有错误? 了 BA. aiB. *+aC. *aD. *a+13. 在下面的二维数组定义中,哪一个是正确的? D A. int a5;B. int a10 ;C. int a ;D. int a5=1,2,3,4,5;4. 下面的哪一个函数头格式不正确? BA. AAint a, int bB. AAint a=0, int bC. AAint a=0, int b=0D
2、. AAint a, int b=05. 假定要对类AB定义加号操作符重载成员函数,实现两个AB 类对象的加法,并返回相加结果,就该成员函数的声明语句为 B ;A. AB operator +AB& a, AB& b;B. AB operator +AB& a;C. operator +AB a ;D. AB& operator +;6. 当需要使用ostrstream 流类定义一个流对象并联系一个字符串时,应在文件开头使用#include命令,使之包含(A )文件;A. strstrea.hB. stdlib.hC. iostream.hD. fstream.h 7以下变量名中,( A )是
3、合法的;A CHINAB byte-sizeC doubleD A+a8. 以下各种函数中,( C)不是类的成员函数;A构造函数B析构函数C 友元函数D拷贝构造函数9. 以下( A )是正确的语句;A;B a=17C x+yD coutn 10循环 whileint i=0 i-;执行次数是( A );A 0B 1C 5D无限11. 设 int fint ;和 int gint ;是函数 f 和 g 的原形,以下将f 作为语句调用的是( B);A gf3 ; B fg3 ; C gf3+2 ; D p= fg3 1 ;12. 设 int * p2=&x , * p1=a ; p2= *b ;就
4、 a 和 b 的类型分别是( B );A int *和 intB int *和 int *C int和 int *D int *和 int *13. 设 int x ;,就经过( C)后,语句 *px=0 ;可将 x 值置为 0;欢迎下载精品学习资源A int * px ;B int const * px=&x;C int * const px=&x;D const int * px=&x;14. 设 void f1int *m, long &n ; int a;long b ;就以下调用合法的是(B );A f1a ,b ;B f1&a ,b;C f1a , &b ;D f1&a , &b
5、;15. 以下结构类型可用来构造链表的是(B);A struct aa int a ; int * b ; ;B struct bb int a ; bb * b ; ;C struct cc int * a ; cc b; ;D struct dd int * a ; aa b; ; 16使用操作符 setw 对数据进行格式输出时,需要包含(C)文件;A iostream.hB fstream.hC iomanip.hD stdlib.h17 类 型 修 饰 符unsigned修 饰(D) 类 型 是 错 误 的 ;A charB intC long intD float18 下列变量名中,
6、(A)是合法的;A _varB bye-byeC intD 123_cc19 设inta=3,*p=&a;,就*p的值是(D);A变量 a 的地址值B 无意义C 变量 p 的地址值D 320 设intm=0 ; , 下 列 表 示 引 用 的 方 法 中 , (A) 是 正 确 的 ;A int &x=m; B int &y=10 ; C int &z ;D float &t=&m21 循 环forinti=0 , x=0 ; .x&i5 的相反表达式为 ;4. 假定 x=5 ,就执行 “ a=x0.10:20;”语句后 a 的值为;5. 假定一个二维数组的定义为“ int a36; ”,就该
7、数组所含元素的个数为 .6. 要在屏幕上显示 Hello , world. 应执行语句 cout;7表达式 8&3 的结果是;8 如 一 全 局 变 量 只 允 许 本 程 序 文 件 中 的 函 数 使 用 , 就 定 义 它 时 应 加 上 修 饰 符 ;9. 假定 p 所指对象的值为 36, p+l 所指对象的值为 49,就 *+p 的值为 10. 假定 AB为一个类,就执行ABa8 ;”语句时,系统自动调用该类构造函数的次数为 ;11. 已知 A 一 Z的 ASCII 码为 6590,当执行 charch=14*5+2 ;coutchendl ;”语句序列后,得到的输出结果为;12.
8、float 和 double 类型的长度分别为和;13. 假定一个二维数组的定义为“int a36 ;”,就该数组所含元素的个数为,所占储备空间的字节数为14. 执行“ typedef int ABC20;”语句把 ABC 定义为具有 20 个整型元素的 .15. 假定 p 所指对象的值为 36, p+l 所指对象的值为 49,就 *+p 的值为16. 假定 a 是一个二维数组,就aii 的指针拜访方式为 ;17. 假定要拜访一个结构对象x 中的由 a 指针成员所指向的对象,就表示方法为;18. 对一个类中的数据成员的初始化可以通过构造函数中的实现,也可以通过构造函数中的实现;19. 当一个类
9、对象离开它的作用域时,系统将自动调用该类的;20. 假定AB为一个类,就执行 ABa8 ;”语句时,系统自动调用该类构造函数的次数为;答案: 1. n2. +x3. x+y=54. 205. 186. Hello , world.7. 08. static 9. 49 10. 811 H12 4813 18 7214数组类型 15 49 16 * , ai+ ”或 *a+i 十 j欢迎下载精品学习资源17 *x.a18 初始化表函数体19 析构函数20 8三写出以下每一个程序运行后的结果;1. #include void main int s1=0, s2=0 ;forint i=0 ; i1
10、5 ; i+ ifi%2 s1+=i ;else s2+=i ;couts1,s2endl ;2. #include void main int i=1,s=0 ;whiles15s+=i+ ;couti ,sednl ;3. #include void main int a10=8,19,46,15,6,24,27,18,20,53;int c1=0, c2=0 ;forint i=0 ; i=20 c1+;ifai=10 & ai=40 c2+;coutc1,c2endl;欢迎下载精品学习资源4. #include Int LBint *a,int nForint i=0 ; in ;i+
11、 p*=*a ;a+;Return p;Inta5=1,2,3,4,3;CoutLBa,5endl ;5. #include struct Worker char name15 ; / 姓名int age ;/ 年龄float pay ;/工资 ;void main Worker x=wangfong,46,1640;Worker y, *p ;y=x ; p=&x ;couage+5 -ppay-300endl ;19. #include void SBchar ch switchch case A: case a:coutwell .; break;case B: case bcoutgo
12、od . ; break;case C: case c:coutpass . ; break default:coutbad. ; break;欢迎下载精品学习资源coutendl ;void main char a6 =Abcafforint i=0 ; ai ; i+ SBai ;21. #include void main int a8= 3,5,7,9,11,13,15,17;int * p=a ;forint i=0 ;i8 ; i+ p+=l0 ;coutsetw5 * p+;ifi+1 %3= =0 coutendl;22. # inelude void LFint& x, in
13、t yx=x+y ;y= x+y ;coutx=x, y=yendl;void main int x=5, y=8,coutx=x, y=yendl;LFx, y ;coutx=x, Y=Yendl;23. # include void main int x=25,y= 120 ;coutdec:decsetwl0 xsetwl0yendl;coutoct: octsetwl0 xsetwl0yendl;couthex:hexsetw10 xsetw10 ydecx ;n- ; y+=x ; whilen0;return y ;2. templatebool WEType a, Type b,
14、 int n int c=0 ;forint i=0 ; in ;i+ifai=bi c+;ifc=n return true ; return false;欢迎下载精品学习资源3. void LKdouble a, int n double s=0 ;int I,m=0 ;fori=0 ;in ;i+ s+=ai ;s=s/n;fori=0 ;i=s m+;4. # inelude template Type WDType a, int n Type m= a0;forint i=l ;im re=ai;return m5. # include includevoid JDchar* fna
15、me可把以fname 所指字符串作为文件标识符的文件称为fname 文件,假定该文件储存着一批整数;ifstream finfname, ios: :in |ios: :nocreate | ios: :binary int x, s=O, n=O ;whilefin, readchar * &x, size ofx s+=x ; n+coutn s floats/nendl;fin. close ;6. 已知 6 a 30, 15 b 36,编一程序求出满意不定方程2a 十 5b=126 的全部整数组解;如13, 20就是其中的一组解;参考答案1. 求出从键盘上输入的n 个实数之和;欢迎下载
16、精品学习资源2. 模板函数,判定具有n 个元素的两个数组a 和 b 中对应元素值是否全部相等,如是就返回真,否就返回 0;3. 统计出数组 a 的前 n 个元素中大于等于其平均值的元素个数并作为函数值m 返回;4. 模板函数,从数组a的 n 个元素中求出最大值并返回;5. 从二进制文件中输入全部整数,运算并显示出全部整数的个数、总和与平均值;6. 整个程序正确得10 分,否就按下面参考程序中语句后的注释给分;#includevoid main inta , bi定义变量正确得2 分fora=6 ;a 30; a+外循环次数正确得2 分forb 15; b 36; b+内循环次数正确得2 分if
17、2xa+5 ,b=126coul a, b endl;条件正确得2 分,输出语句正确得2 分五、编写一个函数,统计出具有n 个元素的一维数组中大于等于全部元素平均值的元素个数并返回它; 12 分 int Countdouble a,int n; / 此为该函数的声明;参考答案:答案评分标准见参考程序中的注释;int Countdouble a, int n double m0;int i;fori 0;in ; i+ m+ ai; / 运算出全部元素之和得3 分m m/n; /运算出平均值得 1 分int c 0;fori 0;i=m c+; /按条件统计出元素个数得4 分return c;/
18、 返回统计结果得 2 分2. 编 写 程 序 , 把 从 键 盘 上 输 入 的 一 批 整 数 以 -1作 为 终 止 输 入 的 标 志 保 存 到 文 本 文 件“ a:xxk1.dat”中; 10 分参考答案:评分标准见参考程序中的注释;#include /使用此命令得1 分#includevoid main ofstream fouta:xxkl.dat;/ 定义输出文件流并打开文件得2 分if. fout cerr”文件没有打开 . ”x;whilex.-1 foutxx;/能够从键盘向文件正确输出数据得6 分fout.close; / 关闭输出文件流得1 分3. 假定一个函数声明
19、为“ int FFint a, int n;”,要求递归求出数组a 中全部 n 个元素之积并返回;参考答案:评分标准:依据编程的完整情形酌情给分;int FFint a, int nifn=1 return an-1;else return an-1 * FFa,n-1;4. 编写一个函数,显示出整数形参x 的除 1 和本身之外的全部因数,并返回全部因数的个数;10分参考答案:评分标准见参考程序中的注释;int Funcint x /函数头正确得 2 分int k 0;forint i 2; i x/2 ; i+ ifx i 0 couti ;k+;/正确显示并统计出结果得6 分coutendl;return k; / 返回统计结果得 2 分欢迎下载