首页 > 编程资源分享区 > C/C++测试题 > C++语言程序设计自测练习(一)B
2006
07-20

C++语言程序设计自测练习(一)B

 


六、编程题


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


 


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


 


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


 


    4. 已知 ,求出并显示当x依次取从键盘输入的不同值时所对应的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


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>=’A’ && str<=’Z’   (2) num++     (3) return num


9. (1) void fun(char ss[])     (2) fun(s)        (3) i<n/2


10. (1) a (或a!=’\0’)   (2) a!=c        3) ‘\0′


 


四、写出程序运行结果


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


 


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


 


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


1.    计算并输出22+42+62+…+302的值。


 


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


 


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


 


4.    计算并输出1+ 的值,其中a的值由键盘输入。


 


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


 


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


 


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


 


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


 


9. 求出1+22+32+…+n2的值。


 


10.    实现字符串系统函数strcpy的功能,把b所指的字符串拷贝到a所指的字符数组空间中。


 


11.    函数模板,从一维数组a[n]中查找值为key的元素,若查找成功则返回真否则返回假。


 


六、编程题


1.      void main()


        {


             int i=0; double s=0;


             while(s<5) s+=double(1)/++i;


             cout<<”n=”<<i<<endl;


        }


 


    若采用for循环编写程序,则如下所示:


        #include<iostream.h>


        void main()


        {


             int i; double s=0;


             for(i=1; s<5; i++)  s+=1.0/i;


             cout<<”n=”<<i-1<<endl;


                //注意:此i-1的值为所求的n值


        }


 


2.     #include<iostream.h>


       void main()


       {


           int i;    //用i作为循环变量


           int p=1;  //用p作为累乘变量


           int s=1;  //用s作为累加循环变量


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


           cout<<s<<endl;


       }


 


3.     #include<iostream.h>


       void main()


       {


           int i=0;  //用i作为依次取值偶数的变量


           int s=0;  //用s作为累加变量


           do {


                i+=2;


                s+=i*i;


           }while(s<1000);


           cout<<”n=”<<i-2<<endl;


       }


 


4.     #include<iomanip.h>


       #include<math.h>


       const double a=10.2;


       void main()


       {


           double x,y;


           cin>>x; 


           while(x!=-100) {


                if(x<=0) y=sqrt(a*a+x*x); 


                else y=3*a*x*x+4*a*x-1;


                cout<<x<<’ ’<<y<<endl;


                cin>>x;


           }


       }


 


留下一个回复