




已阅读5页,还剩50页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C+程序设计习题目 录第一章 C+语言概述1第二章 数据类型和表达式4第三章 流程控制语句6第四章 数组和字符串16第五章 指针22第六章 函数27第七章 结构与联合37第八章 类与对象41第九章 类的继承与多态性50第十章 C+流55第一章 C+语言概述一、简答题1 C+的单词包含那几种?2 一个标识符中的首字符必须是什么字符?其余位置上的字符必须是什么字符?3 数值常量、字符常量、字符串常量和标识符在表示上各有什么区别?4 C+语句分为哪几类?5 #include命令的格式和功能各是什么?使用尖括号和双引号在含义上有什么区别?6 你已经知道了那几个系统头文件?7 cout和cin 标识符的含义是什么?他们后面分别使用什么运算符?各运算符的作用是什么?8 上机运行一个程序需要经过那些阶段?二、填空题1 程序中的预处理命令是指以_字符开头的命令。2 一条简单语句是以_字符作为结束符的,一条复合语句是分别以_字符和_字符作为开始符和结束符的。3 空白符是_符、_符、和_符的统称。4 在#include命令中所包含的头文件,可以是_头文件,也可以是_头文件。5 使用#include命令可以包含一个头文件,也可以包含一个_文件。6 一个函数定义由_和_两部分组成。7 一个程序中必须有一个名为_的函数。8 函数头与_语句一样都能够提供出函数的参数和返回类型等信息。9 若一个函数的定义处于调用它的函数之前,则在程序开始可以省去该函数的_语句。10 一个函数的函数体就是一条_。11 C+头文件和源程序文件的扩展名分别为_和_。12 程序文件的编译错误分为_和_两类。13 当使用_保留字作为函数类型时,该函数不返回任何值。14 当函数参数表用_保留字表示时,则表示该参数表为空。15 从一条函数原型语句”int fun1(void);”可知,该函数的返回类型为_,该函数带有_个参数。16 当执行cout语句向C+显示输出屏幕输出一个数据项的值时,若该值的显示宽度(即所占显示位置的字符数)为n,则显示该值后光标将从原位置后移_个字符显示位置。17 当执行cout语句输出endl数据项时,将使C+显示输出屏幕上的光标从当前位置移动到_的开始位置。18 当执行cin语句时,从键盘上输入每个数据后必须输入一个_符,然后才能接着输入下一个数据。三、写出下列程序运行结果,此题又作为上机实验题1 #includevoid main()int x,y;x=5;y=6;cout”x+y=”x+y,;cout”x*y=”x*yendl; 2 #include3 int cube(int);4 void main(void)5 6 cout”cube(3)=”cube(3)endl;7 cout”cube(5)=”cube(5)endl;8 cout”cube(8)=”cube(8)endl;9 10 int cube(int x)11 12 return x*x*x;13 14 #include15 #include”abc.h”16 void main()17 18 double a,b,c;19 double averageValue;20 a=2;b=3;c=4;21 averageValue=AVE(a,b,c);22 cout”averageValue;”averageValueendl;23 averageValue=AVE(a,b+1,c+2);24 cout”averageValue:”averageValueendl;25 其中abc.h文件的内容如下:double AVE(double x,double y,double z) return (x+y+z)/3;26 #include27 #include”example.h”28 void main()29 30 int a,b,c;31 coutabc;cout”最大值:”max_value(a,b,c)endl;cout”最小值:”min_value(a,b,c)endl;其中example.h文件的内容如下: int max_value(int a,int b,int c); int min_value(int a,int b,int c);这两个函数的定义(又称为函数的实现或具体实现)被保存在另一个程序文件中,它将被编译后连接到主文件中产生出可执行文件。该程序文件的内容如下: int max_value(int a,int b,int c) if(ab) a=b;/若a小于b则将b的值赋给a if(ab) a=b;/ 若a大于b则将b的值赋给a if(ac) a=c;/ 若a大于c则将c的值赋给a return a;请读者自行假定用于输入的3个整数。第二章 数据类型和表达式一、简答题1 C+数据分为哪四种大的类型?在大的整数类型中又分为哪四种类型?2 整数类型分为哪三种类型,每种类型的长度各是多少?3 实数类型分为哪三种类型,它们的类型长度各是多少?4 单精度和双精度分别表示多少位有效数字?5 每一种C+具体类型的关键字是什么?6 哪四种保留字能够用来修饰int 保留字成为类型关键字?哪两种保留字能够用来修饰char保留字成为类型关键字?7 整型常数具有哪三种不同进制的表示?如何区分它们?8 一个整数后缀L或U分别具有什么含义?9 转义字符序列中的首字符是什么字符?10 实数具有哪两种表示方法?一个浮点数具有那些成分?什么叫规格化浮点数?11 定义符号常量和变量的语句有什么异同?12 #define命令的作用是什么?13 一个C+运算符具有哪三种属性?14 左值和非左值(又称右值)有什么区别?15 在程序文件中使用系统数学函数或随机函数时,各需要通过#include命令引入哪个头文件?16 一个表达式是否必须有一个值,在什么情况下它没有值?17 执行一个函数调用的大致过程是什么?函数运算的优先级如何?二、填空题1 数据类型int,char,bool,float,double的类型长度分别为_、_、_、_和_。2 短整型、整型和长整型的最简关键字分别为_、_和_。3 常数-4.205,1200和6.7E-9分别具有_、_和_位有效数字。4 数值常量46、0173和0x62对应十进制值分别为_、_和_。5 字符常量 k,n,/052和xA2对应的数值分别为_、_、_、_和_。6 字符串”It s40an40apple.n”中包含有_个字符。7 枚举类型中的每个枚举值都是一个_,它的值是一个_,值的类型为_。8 实数340.0和0.027E8对应的规格化浮点数分别为_和_。9 常数100,-25,3.62,1E5和-4.73f的数据类型分别为_、_、_、_和_。10 若x的值为10,则x+=5的值和运算后的_的值相同,等于_。11 若x=5,y=10,则计算y*=+x表达式后,x和y的值分别为_和_。12 若x=25,则计算yx+表达式后,x和y的值分别为_和_。13 假定x和ch分别为int 型和char型,则sizeof(x)和sizeof(ch)的值分别为_和_。14 假定x=64,y=88,则x2的值分别为_和_。15 假定x是一个逻辑量,则x&true的值与_的值相同,x|false的值也与_的值相同。16 假定x是一个逻辑量,则x&!x的值分别为_和_。17 假定x=10,则表达式x10?x:sqrt(x)35 a10036 x!=1037 a&x38 a1039 !x40 !(a=0)四、试求出下列每个表达式的值(各表达式互不影响)已知a=20,x=4.7,r=a,1 a+2 +r3 a%54 a/55 r%186 1+a/3%47 a/8.08 r+=49 x=2*(x+5)-110 char(a+30)11 10*sizeof(int)12 (a014 a=115 a+&r!=a16 +a&r=a17 a|xA?a+10:a-10)20 a=(rA?a+10:a-10)21 x=(a+,r+)22 x=(a+,r+,50)23 x=pow(3,5)24 x=fabs(-26.5)+425 a=abs(a)%8-1026 floor(x+0.5)27 ceil(x-0.5)28 ceil(x-=0.5)-0.5)五、把下列数学算式或不等式表示成C+表达式1 2x(1+x2/3)2 (1+ex)/(1-ex)3 (-b+(b2-4ac)1/2)/2a4 1/(3xln(2x+k)5 sin3(x+/4)/(3+cos3(x-/4)6 1/7(1+ex+1) n7 0=x=208 ax-by!=c9 4x+7y-2=3ab10 |2x2+1|/|3x+2|=55或者pay=82012 place=”江苏”同时sex=”女”13 a=ch=z或者A=ch=Z14 s00同时(s1=x或者s1=X)六、写出下列每个程序运行后的输出结果并自行上机验证1. #include2. enum raceBlack,White,Yellow;3. void main()4. 5. race ra; ra=Black;coutra,; ra=White;coutra,; ra=Yellow;coutra,; coutBlack+White+Yellowendl;6. #include7. #define PI 3.141598. const int R=109. void main()10. 11. double p,s; p=2*R*PI; cout”p=”pendl; cout”s=”sendl;12. #include13. void main()14. 15. int i=0,j=1,k;k=i+=j;couti j kendl;k=(i+)*(+j);couti j kendl;k*=i+*j-;couti j kendl;16. #include17. void main()18. 19. coutsizeof(bool) sizeof(char) ;coutsizeof(short) sizeof(int) ;coutsizeof(long) sizeof(float) ;coutsizeof(double) sizeof(long double) ;coutsizeof(int *) sizeof(double *) ;20. #include21. const int w=30;22. void main()23. 24. int x,y;x=w2;coutw x yendl;x=w&10;y=w|10;coutw x yendl;x=w10;y=-x&w;coutw x yendl;25. #include26. void main()27. 28. int x=10,y=-1;couty)&(y0) ;couty)|(y0) ;cout(x=0) ;cout(x=0) ;cout(x=y)&y) ;cout(x=y)|y) ;29. #include30. void main()31. 32. int x=5,y=10,k;(k=x)+=y;coutx y kendl;k=x+=y;coutx y kendl;k=x*=y;coutx y kendl;k=(x+,y+);coutx y kendl;k=x+,y+;coutx y kendl;33. #include34. #include35. void main()36. 37. double x=15.72;double y,z;y=ceil(x);z=floor(x);coutx y zendl;y=floor(x+0.5);z=floor(x*10+0.5)/10;coutx y zendl;y=ceil(x-0.5);z=ceil(x*10-0.5)/10;coutx y zendl;七、上机实验题1. 让计算机随机出10道两位整数加法题供用户计算,每道题10分,计算完成后打印出得分。 #include#include#includeconst N=10;void main()srand(time(0);int x,y,z,c=0;for(int I=1;I=N;I+)x=rand()%90+10;y=rand()%90+10;coutx+yz;if(x+y=z)c+;cout”得分:”c*10endl;2. 打印出090之间每隔5的正弦值和余弦值。#include#includeconst double RAD=3.14159/180;void main() int I=0; while(I=90) coutsetw(5)Isetw(10)sin(I*RAD) ;/setw(n)使后面一个数据的输入宽度为n,/它在iomanip.h头文件中有定义coutsetw(10)cos(I*RAD)endl;I+=5;3. 把从键盘上输入的一个正整数按数字位的相反次序输出。#includevoid main() int num,rem;coutnum;dorem=num%10;num/=10;cout0);coutendl;4. 打印出a-f中每个大小写字母所对应的ASCII码。 #include void main() char c1=A,c2=a; for(int I=1;I=6;I+) coutc1:int(c1)”,”; coutc2:int(c2)endl; c1+;c2+;5. 从键盘上输入两个整数,由用户回答他们的和、差、乘和取余运算的结果,并统计出正确答案的个数。 #includevoid main()int x,y,z,c=0;coutxy;coutx+yz;if(x+y=z) c+;coutx-yz;if(x-y=z) c+;coutx*yz;if(x*y=z) c+;coutx/yz;if(x/y=z) c+;coutx%yz;if(x%y=z) c+;cout”答对”c”道题”endl;第三章 流程控制语句一、填空题1 流程控制类语句包括_、_和_三类语句。2 跳转类语句包括_、_、_和_四种。3 选择类和循环类中的每一种语句都属于_语句。4 在switch语句中,每个语句标号所含关键字case后面的表达式必须是_。5 在嵌套的if语句中,每个else关键字与它前面最接近的_关键字相配套。6 作为语句标号使用的C+保留字case和default只能用于_语句中。7 执行switch语句时,在进行作为条件的表达式求值后,将从某个标号位置起向下执行,当碰到下一个标号位置时(停止/不停止)_执行。8 任何_语句都可以改写位具有同样功能的if 语句来实现。9 在for 语句中,假定循环体被执行次数为n,则共被计算_次,共被计算_次,共被计算_次。10执行for 和while循环时,每次是先进行_的判断,然后再执行_,执行do循环时则相反。11continue语句只能使用在_类语句中,break语句中既可以使用在_类语句中,也可以使用在_语句中。12for语句中是在每次执行_之前被计算,而是在每次执行_之后被计算。13在所有结构性语句中,只有_语句的最后必定是以分号结束的,而其余语句的最后一个字符可能是分号,也可能是_。14_语句的循环体至少被执行一次,_和_语句的循环体可能不会被执行。15 若for循环的”头”为 “for(int i=0;i10;i+)”,并且在循环体中不会修改i的值,则循环体将被重复执行_次后正常结束。16 若while循环的”头”为”while(i+=10)”,并且i的初值为0,同时在循环体中不会修改i的值,则循环体将被重复执行_次后正常结束。17 当do循环的”尾”为”while(i+=10)”,并且i的初值为0,同时在循环体中不会修改i的值,则循环体将被重复执行_次后正常结束。18 当在程序中执行到_语句时,将结束本层循环类语句或switch语句的执行。19 当在程序中执行到_语句时,将结束所在循环语句中循环体的一次执行。20 在程序中执行到_语句时,将结束所在函数的执行过程,返回到调用该函数的位置。二、写出下列每个程序运行后的输出结果并上机验证1. #include2. void main()3. 4. int a=2,b=5,c=4;if(a+b10)c=a*b;else c=3*a+b;if(c=20) coutc*c;else cout4+c-5;coutendl;a=a+b;b=a+b;c=a+b+c;cout”a,b,c=”a,b,cendl;5. #include6. void main()7. 8. int x=5;switch(2*x-3) case 4: coutx ; case 7: cout2*x+1 ; case 10: cout3*x-1 ;break; default: cout”default”endl;cout”switch end.”endl;9. #include10. #include11. void main()12. 13. int I,x,y;for(i=0;ix;if(x0)y=1;else if(x10) y=x*x+3;else if(x60) y=4*x-5;else y=int(sqrt(x);coutsetw(5)xsetw(5)yendl;假定从键盘上输入的6个常数为:36,-5,73,192,6,44。14. #include15. void main()16. 17. int s0,s1,s2,x;s0=s1=s2=0;for(int i=0;ix; switch(x%3) case 0: s0+=x;break; case 1: s1+=x;break; case 2: s2+=x;break;couts0 s1 s1 endl;假定从键盘上输入的12个整数为:36,25,20,43,12,70,66,34,28,15,32,5518. #include19. const int N=5;20. void main()21. 22. int I,p=1,s=0; for(i=1;iN;i+) p=p*I;s=s+p;coutsetw(5)isetw(5)p;coutsetw(5)sendl;23. #include24. const int M=20;25. void main()26. 27. int c2,c3,c5;28. c2=c3=c5=0;29. for(int i=1;i=M;i+) if(i%2=0) c2+; if(i%3=0) c3+; if(i%5=0) c5+;coutc2 c3 c5endl;30. #include31. void main()32. 33. int I,j;for(i=0;i5;i+) for(j=I;j5;j+) cout*; coutendl;34. #include35. void main()36. 37. for(int i=1,s=0;i30;i+) if(i%2=0|i%3=0)continue; couti ; s+=I;coutsendl;38. #include39. const int T=6;40. void main()41. 42. int I,j,k=0; for(i=1;i=%;i+=2) for(j=2;j=T;j+) if(i+j=T) cout+; else if(i*j=T) cout*; else k+;coutendl”k=”kendl;43. #include44. void main()45. 46. int a,b,c=0; for(a=1;a1;b-) if(a+b)%3=2)c+=a+b;couta b20) break;cout”c=”cendl;47. #include48. const int B=2;49. void main()50. 51. int p=1,s=1; while(s50) p*=B; s+=p; cout”s=”sendl;52. #include53. void main()54. 55. int x,y;int i=2,p=1;coutxy;do while(x%i=0&y%i=0) p*=I; x/=I; y/=I; i+;while(x=i&y=i);cout”x和y的最小公倍数:”p*x*yendl;假定从键盘上输入的两个整数为24和88。三、指出下列每个程序的功能并上机验证1 #include2 double f1(int n)double sign=1,s=1;for(int i=2;ia; coutf1(a)endl;3 #include4 void main()5 6 double a,x,y;7 cina;8 do9 cinx;10 if(x=-1)break;if(x0)y=a*x+5;else if(x=20) y=3*x*x-2*a+1;else y=a*a+x*x;coutx yendl;while(1);11 #include12 #include13 double f1(double a,double b,char op) switch(op) case +: return a+b; case -: return a-b; case *: return a*b; case /: if(b=0) cout”divided by 0!”endl; exit(1);else return a/b; default : cout”operator error!”endl; exit(1); void main()double x,y;char op;coutxyop;coutf1(x,y,op)endl;14 #include15 #include16 void main()17 18 int x1,x2;cinx1;x2=int(sqrt(x1);for(int i=1;i=x2;i+) if(x1%i=0) couti x2/iendl;19 #include20 void main()21 22 int I,p=1,s=0;int N;coutN;for(i=1;i=N;i+) p*=I; s+=p;coutsendl;23 #include24 double f1(double x,int n)25 26 double p1,p2,p3,s; p1=s=x;p2=p3=1;if(n=0) return s;for(int i=1;i=n;i+) p1*=x*x; p2*=2*i*(2*i+1); p3*=-1; s+=p3*p1/p2;return s;void main() double x,y;int n;coutx;coutn;y=f1(x,n);cout”y=”yendl;27 #include28 void main()29 30 int I,j;for(i=1;i=5;i+) for(j=1;j=9;j+) if(j=5+i) cout ; else cout*;coutendl;31 #include32 int f1(int a,int b)33 34 int r;while(b!=0) r=a%b; a=b;b=r;return a; int f2(int a,int b) int i=2,p=1; do while(a%i=0&b%i=0) p*=i;a/=I;b/=i;i+;while(a=i&b=i);return p*a*b;void main() int a,b; coutab;coutf1(a,b) f2(a,b)endl;35 #include36 #incldue37 #include38 const N=10;39 int ff(int x,int y) int z;coutx+yz;if(x+y=z) return 1;else return 0;void main() int a,b,c=0;srand(time(0);for(int i=0;iN;i+) a=rand()%20+1; b=rand()%20+1; c+=ff(a,b)cout”得分:”c*10endl;40 #include41 #include42 #include43 void main()44 45 double a,b,c;46 cout”输入一元二次方程的二次项系数、一次项系数和常数 项:”abc;double d=b*b-4*a*c;if(d0.0) cout”此方程没有实根!”endl; exit(1);double x1,x2;if(d=0.0)x1=x2=-b/(2*a);else x1=(-b+sqrt(d)/(2*a); x2=(-b-sqrt(d)/(2*a);cout”此方程的两个根为:”endl;cout”x1=”x1endl;cout”x2=”x2a表示从键盘上读入一个_到数组a中,couta表示向屏幕输出在a中所存的_。13. 一个二维字符数组a1020能够存储_个字符串,每个字符串的长度至少为_。14. 对一个一维字符数组a进行初始化的数据为”12345”,则a0和a3元素对应的初值分别为_和_。15. 对一个二维字符数组a进行初始化的数据为“123”,“456”,“789”,则a1和a4元素对应的初始字符串分别为_和_。16. strlen(“apple”)的值为_,strcmp(“a”,”A”)的值为_。17. 假定字符数组a中保存的字符串为”abc”,则调用strcat(a,”def”)后a中保存的字符串变为_。18. 若需要把一个字符串”aaa”赋值到字符数组a中,则需要执行_的函数调用实现。19. 假定字符数组a中所存的字符串为“abcdbcdf”,则strchr(a,c)的值比strrchr(a,c)的值小_。20. 假定字符数组a 中的所存字符串为”abcdedf”,则strstr(a,cd)的返回值比a的值大_。21. 使用”type int integer;”语句把_定义为_的别名,以后使用integer定义的对象具有_类型。22. 使用”type int AA10;”语句定义_为含有_个_型元素的数组类型。23. 使用”type char BB1050;”语句定义_为含有_行_列共_个_型元素的数组类型。二、写出下列程序运行后的输出结果并上机验证1. #include2. void main()int a10=12,39,26,41,55,63,72,40,83,95;int i1=0,i2=0;for(int i=0;i10;i+) if(ai%2=1)i1+;else i2+;couti1i2endl;3. #include4. void main()int a8=36,25,48,14,55,40,32,66;int b1,b2;b1=b2=a0;for(int i=1;ib1) if(b1b2) b2=b1; b1=ai; coutb1b2endl;5. #include6. void main()int a8=36,25,48,14,32,66;int b1,b2;b1=b2=a0;for(int i=1;i8;i
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电工考试题目及答案初级
- 2025年年产50000万米汽车线束项目可行性研究报告-商业计划书
- 中国橡胶胶布及制品项目创业投资方案
- 单词比赛考试题及答案大全
- 大学线上考试题型及答案
- 烧烤转租协议书
- 建筑c类考试试题及答案
- 船舶服务考试题及答案大全
- 2025年纳米碳酸钙项目可行性研究报告立项新版
- 中国软化剂项目经营分析报告
- 土地复垦施工总承包合同
- 康养项目营销策划方案
- 《光伏发电工程可行性研究报告编制规程》(NB/T32043-201)中文版
- 食品加工企业安全生产标准化管理体系全套资料汇编(2019-2020新标准实施模板)
- 胸痛病人的护理查房
- 【历年真题】2018年10月00688设计概论自考试卷
- GJB9001C-2017国军标标准培训讲义
- 《妇产科学课件:宫颈癌的筛查与防治》
- GA/T 2060-2023法庭科学毛发中甲基苯丙胺等11种毒品及代谢物检验液相色谱-质谱法
- 工程监理大纲监理方案服务方案
- C型钢检验报告
评论
0/150
提交评论