发布时间 : 星期一 文章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 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 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 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 int a,b; cout<<\请输入两个正整数:\ cin>>a>>b; while(a<=0 || __(1)___) {cout<<\重新输入:\ while(b) { int r; r=a%b; ___(2)___; ___(3)___; //分别修改a和b的值 }