C语言程序设计自测练习及参考答案

发布时间 : 星期五 文章C语言程序设计自测练习及参考答案更新完毕开始阅读

7. #include void main() {

int i,p=1,s=0; int N;

cout<<\输入一个正整数:\ cin>>N;

for(i=1;i<=N;i++) { p*=i; s+=p; }

cout<

8. #include #include #include const N=10;

int ff(int x, int y) { int z;

cout<>z;

if(x+y==z) return 1; else return 0; }

void main() {

int a,b,c=0;

srand(time(0)); //初始化随机数序列 for(int i=0;i

a=rand() +1; //rand()函数产生0-32767之间的一个随机数 b=rand() +1; c+=ff(a,b); }

cout<<\得分:\ }

9. int s1(int n) {

int x;

if(n==1) x=1;

17

else x=s1(n-1)+n*n; return x; }

10. void fun5(char* a, const char* b) {

while(*b) *a++=*b++; *a=0; }

11. template

bool fun8(T a[], int n, T key) {

for(int i=0;i

if(a[i]==key) return true; return false ; }

六、编程题

1. 编一程序求出满足不等式1+1/2+1/3+...+1/n≥5的最小n值。

210

2. 计算1+3+3+...+3的值并输出,假定分别用i,p,s作为循环变量、累乘变量和累加变量的标识符。

222

3. 求满足不等式2+4+...+n<1000的最大n值,假定分别用i和s作为取偶数值和累加值的变量,并限定使用do循环编程。

??a2?x2 (x?0) 4. 已知y??,求出并显示当x依次取从键盘输入的不同值时

2?(x?0) ?3ax?4ax?1 所对应的y值,要求把a定义为常量,其值设定为10.2,x的每个值由键盘输入,并假定用-100作

为键盘输入数据的终止标志,求平方根函数为sqrt(x)。

C++语言程序设计自测练习(一)参考解答

一、单项选择题

1. A 2. C 3. B 4. B 5. B 6. C 7. A 8. D 9. B 10. D 11. D 12. C 13. D 14. D 15. C 16. A 17. B 18. A 19. C 20. B 21. B 22. C 23. C 24. B 25. D 26. C 27. A 28. A 29. C 30. B

18

31. D 32. C 33. D 34. C 35. C 36. A 37. B 38. B 39. C 40. A 41. C 42. C 43. A 44. B 45. B 46. A 47. B 48. B 49. C 50. B

二、填空题

1. C 2. .cpp 程序 3. // 4. /* */ 5. cout 6. cin 7. main 8. 复合 9. 空白 10. #include 11. # 12. 分号 13. 用户(或编程者)14. 程序 15. 函数头 函数体 16. 原型(或声明) 17. .h .cpp 18. 警告(warning) 致命(error)

19. void 20. void 21. int 0 22. 下一行 23. 35 24. 25

25. 6 30 26. 4 11 27. 325 28. 2 29 29. 0xF5 (F大小写均可) 30. 0365 31. -128 +127 32. 4 4 33. 4 8 34. 1 1 35. 2 4 36. 15 37. 15 38. 7 39. 6 40. 1 3 41. 3 3.2 42. x 43. true (或1) 44. false (或0) 45. x 46. !x

47. false (或0) 48. true (或1) 49. (x+y)/(2*x*y) 50. 3*x*y/(x+y) 51. 1/(a*x*x+b*y*y) 52. 1 53. 3 54. 4 2 55. 枚举常量 整数 56. int double 57. 6 60 58. 4 1 59. 20 60. 9 216

三、程序填充题,对程序、函数或类中划有横线的位置,根据题意按标号把合适的内容填写到程序下面相应标号的后面

1. (1) f1+f2 (2) i%5==0 (3) f 2. (1) x (2) I (3) -j 3. (1) n<=99 (2) i<=temp (3) break 4. (1) b<=0 (2) a=b (3) b=r 5. (1) x<3 (或x<=2) (2) x%i==0 (3) i++ 6. (1) b%i==0 (2) i++ (或++i) (3) b>=i

7. (1) i<=5 (2) j>=5+i (3) cout<<’*’ 8. (1) str[i]>=’A’ && str[i]<=’Z’ (2) num++ (3) return num 9. (1) void fun(char ss[]) (2) fun(s) (3) i

四、写出程序运行结果 1. max:85 min:18 2.

1 2 3 5 8 13 21 34 55 89

3. s=60 //6分

4. 121

a,b,c=7,12,30

19

5. 11 14 switch end.

6. 36 139 -5 1 73 8 8 67

7. 114 138 55

8. 1 1 1 2 2 3 3 6 9 4 24 33

9. 10 6 4

10. ***** **** *** ** *

11. 1 5 7 11 13 37

五、指出程序或函数的功能

2222

1. 计算并输出2+4+6+...+30的值。

2. 随机产生出10个10至99之间的素数并显示出来。

3.此函数用于把十进制整数x转换为十六进制数字串输出。

(?1)i4. 计算并输出1+?2的值,其中a的值由键盘输入。

i?2ia

5. 以参数a和b为运算对象,以参数op为四则算术运算符,求出运算结果并返回。

6. 把从键盘上输入的一个整数x分解为所有可能的每两个因子之积。

7. 计算并输出?i!的值,其中N值由键盘输入。

i?1N

8. 让计算机随机产生出10道20以内整数的加法题供用户计算,每道题10分,计算完成后打

20

联系合同范文客服:xxxxx#qq.com(#替换为@)