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

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

5. 用于输出表达式值的标准输出流对象是_________。

6. 用于从键盘上为变量输入值的标准输入流对象是________。 7. 一个完整程序中必须有一个名为________的函数。 8. 一个函数的函数体就是一条_________语句。

9. 当执行cin语句时,从键盘上输入每个数据后必须接着输入一个________符,然后才能继续输入下一个数据。

10. 在C++程序中包含一个头文件或程序文件的预编译命令为__________。 11. 程序中的预处理命令是指以______字符开头的命令。 12. 一条表达式语句必须以______作为结束符。

13. 在#include命令中所包含的头文件,可以是系统定义的头文件,也可以是________定义的头文件。

14. 使用#include命令可以包含一个头文件,也可以包含一个______文件。 15.一个函数定义由________和________两部分组成。

16.若一个函数的定义处于调用它的函数之前,则在程序开始可以省去该函数的______语句。 17.C++头文件和源程序文件的扩展名分别为______和______。 18.程序文件的编译错误分为________和________两类。

19.当使用_______保留字作为函数类型时,该函数不返回任何值。 20.当函数参数表用______保留字表示时,则表示该参数表为空。

21.从一条函数原型语句“int fun1(void);”可知,该函数的返回类型为______,该函数带有______个参数。

22. 当执行cout语句输出endl数据项时,将使C++显示输出屏幕上的光标从当前位置移动到________的开始位置。

23. 假定x=5,y=6,则表达式x++*++y的值为__________。 24. 假定x=5,y=6,则表达式x--*--y的值为__________。 25. 假定x=5,y=6,则执行表达式y*=x++计算后,x和y的值分别为__________和__________。 26. 假定x=5,y=6,则执行表达式y+=x--计算后,x和y的值分别为__________和__________。 27. C++常数0x145对应的十进制值为__________。 28. C++常数0345对应的十进制值为__________。

29. 十进制常数245对应的十六进制的C++表示为__________。 30. 十进制常数245对应的八进制的C++表示为__________。

31. signed char类型的值域范围是________至__________之间的整数。 32. int和float类型的数据分别占用_________和__________个字节。 33. float和double类型的数据分别占用_________和________个字节。 34. bool和char类型的数据分别占用_________和________个字节。

35. unsigned short int和int类型的长度分别为_________和________。 36. 字符串”This\\’s a book.\\n”的长度为__________。 37. 字符串”\\nThis\\’s a pen\\n\\n”的长度为__________。 38. 在C++中存储字符串”abcdef”至少需要________个字节。 39. 在C++中存储字符串”a+b=c”至少需要________个字节。 40. 假定x和y为整型,其值分别为16和5,则x%y和x/y的值分别为__________和__________。 41. 假定x和y为整型,其值分别为16和5,则x/y和double(x)/y的值分别为__________和__________。

5

42. 假定x是一个逻辑量,则x && true的值为__________。 43. 假定x是一个逻辑量,则x || true的值为__________。 44. 假定x是一个逻辑量,则x && false的值为__________。 45. 假定x是一个逻辑量,则x || false的值为__________。 46. 假定x是一个逻辑量,则!x || false的值为__________。 47. 假定x是一个逻辑量,则x && !x的值为__________。 48. 假定x是一个逻辑量,则x || !x的值为__________。 49. 数学算式

x?y的C++表达式为________________。 2xy3xy的C++表达式为________________。 x?y 50. 数学算式

51. 数学算式

1的C++表达式为________________。 22ax?by 52. 设enum Printstatus{ready,busy,error}; 则 cout<

55. 枚举类型中的每个枚举值都是一个__________,它的值为一个__________。 56. 常数100和3.62的数据类型分别为__________和__________。

57. 若x=5, y=10, 则计算y*=++x表达式后,x和y的值分别为______和______。

58. 假定x和ch分别为int型和char型,则sizeof(x)和sizeof(ch)的值分别为______和______。

59. 假定x=10,则表达式x<=10?20:30的值为______。

60. 表达式sqrt(81)和pow(6,3)的值分别为______和______。

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

1. 斐波那契数列的第1和第2个数分别为0和1 ,从第三个数开始,每个数等于其前两个数之和。求斐波那契数列中的前20个数,要求每行输出5个数。

#include void main() {

int f,f1,f2,i;

cout<<” 斐波那契数列:\\n”; f1=0; f2=1;

cout<

cout<

if(_____(2)______) cout<

6

f2=____(3)_______;

}

cout<

(1) (2) (3)

10 2. 计算?(?1)i?1xii?1i!的值。 #include void main() {

double x,p1=1,p2=1,s=0; int i,j=1;

cout<<\输入x的值:\ cin>>x;

for(i=1;i<=10;i++) { p1*=___(1)_____; p2*=____(2)____;

s+=j*p1/p2; //j的值为(-1)i+1

j=____(3)____; }

cout<

(1) (2) (3)

3. 打印出2至99之间的所有素数(即不能被任何数整除的数)。 #include #include void main() {

int i,n;

for(n=2; ___(1)___; n++) {

int temp=int(sqrt(n)); //求出n的平方根并取整 for(i=2; ___(2)___; i++) if(n%i==0) ___(3)___; if(i>temp) cout<

cout<<'\\n'; }

7

(1) (2) (3)

4. 采用辗转相除法求出两个整数的最大公约数。 #include void main() {

int a,b;

cout<<\请输入两个正整数:\ cin>>a>>b;

while(a<=0 || __(1)___) {cout<<\重新输入:\ while(b) { int r; r=a%b;

___(2)___; ___(3)___; //分别修改a和b的值 }

cout<

(1) (2) (3)

5. 把从键盘上输入的一个大于等于3的整数分解为质因子的乘积。如输入24时得到的输出结果为“2 2 2 3”,输入50时得到的输出结果为“2 5 5”,输入37时得到的输出结果为“37”。 #include void main() {

int x;

cout<<\请输入一个整数,若小于3则重输:\ do cin>>x; while(___(1)___); int i=2; do{

while(___(2)___) { cout<

___(3)___; }while(i

if(x!=1) cout<

(1) (2) (3)

8