云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > C 语言程序设计自测练习(二)

C 语言程序设计自测练习(二)

  • 62 次阅读
  • 3 次下载
  • 2025/6/14 23:28:47

A. 可维护性 B. 可复用性 C. 兼容性 D. 正确性

二、填空题

1. 含随机函数的表达式rand() 的值在_____至______区间内。

2. 在switch语句中,每个语句标号所含关键字case后面的表达式必须是整型_______。 3. 在if语句中,每个else关键字与它前面同层次并且最接近的________关键字相配套。 4. 作为语句标号使用的C++保留字case和default只能用于________语句的定义体中。 5. 执行switch语句时,在进行作为条件的表达式求值后,将从某个匹配的标号位置起向下执行,当碰到下一个标号位置时________执行。

6. 若while循环的“头”为“while(i++<=10)”,并且i的初值为0,同时在循环体中不会修改i的值,则循环体将被重复执行______次后正常结束。 7. 若do循环的“尾”为“while(++i<10)”,并且i的初值为0,同时在循环体中不会修改i的值,则循环体将被重复执行______次后正常结束。

8. 当在程序中执行到________语句时,将结束本层循环类语句或switch语句的执行。 9. 当在程序中执行到________语句时,将结束所在循环语句中循环体的一次执行。 10. 在程序中执行到________语句时,将结束所在函数的执行过程,返回到调用该函数的位置。 11.在程序执行完________函数后,将结束整个程序的执行过程,返回到操作系统下的C++集成开发窗口。

12. 元素类型为int的数组a[10]共占用________字节的存储空间。

13. 元素类型为double的二维数组a[4][6]共占用________字节的存储空间。 14. 元素类型为char的二维数组a[10][30]共占用________字节的存储空间。 15. 存储字符’a’和字符串”a”分别需要占用________和________个字节。 16. 空串的长度为________,存储它需要占用________个字节。 17. 字符串”\\’a\\’xy=4\\n”的长度为________。 18. 字符串”a:\\\\xxk\\\\数据”的长度为________。

19. 用于存储一个长度为n的字符串的字符数组的长度至少为________。

20. 若a是一个字符数组,则从键盘上向该数组输入一个字符串的表达式为__________。 21. 若a是一个字符数组,则向屏幕输出a中所存字符串的表达式为__________。

22. 一个二维字符数组a[10][20]能够存储________个字符串,每个字符串的长度至多为________。

23. 对一个二维字符数组a进行初始化的数据为{”123”,”456”,”789”},则a[1]元素对应的字符串为__________。

24. strlen(”apple”)的值为________,strcmp(”a”,”A”)的值为________。 25. 若需要把一个字符串”aaa”赋值到字符数组a中,则需要执行________函数的调用来实现。 26. 假定对二维数组a[3][4]进行初始化的数据为{{3,5,6},{2,8},{7}},则a[1][1]和a[2][3]分别被初始化为_______和________。

27. 在C++语言中,一个函数由函数头和__________组成。

28. 重载一个函数的条件是:该函数必须在参数的个数或参数的__________上与其它同名函数有所不同。

29. 如果一个函数只允许同一文件中的函数调用,则应在该函数定义前加上__________C++保留字。

30. 若“double x=100;”是文件F1.CPP中的一个全局变量定义语句,若文件F2.CPP中的某

5

个函数需要访问此x , 则应在文件F2.CPP中添加对x的声明语句为_________________。 31. 定义一个函数模板要用到的第一个修饰符是____________。

32. 在函数模板的参数中,用class修饰的参数称为__________参数。

33. 如果一个函数直接或间接地调用自身,这样的调用称为____________调用。

34. 已知int cubin(int n){return n*n*n;}和double cubin(double n){return n*n*n;}是一个函数模板的两个实例,假定类型参数用T表示,则该函数模板的定义是__________________________________。

35. 对于无返回值函数,定义函数时要用__________修饰函数类型。

36. 如果一个函数定义使用了__________修饰,则该函数不允许被其它文件中的函数调用。 37. 如果一个函数中有多个默认参数,则默认参数必须全部处在形参表的________部分。 38. 定义外部变量时,不用存储类说明符_________,而声明外部变量时用它。

39.调用系统函数时,要先使用#include命令包含该系统函数的原型语句所在的__________。 40. 函数形参的作用域是该函数的____________。

41. C++提供的预处理命令有宏定义命令,条件编译命令和____________。 42. 程序的编译是以__________为单位进行的。

43. C++程序运行时的内存空间可以分成全局数据区,堆区,栈区和__________。 44. 全局变量和静态局部变量具有静态生存期,存放在内存的____________区中。 45. 局部变量具有局部生存期,存放在内存的____________区中。

46. 若二维数组a有m列,设a[0][0]位于数组的第一个位置上,则计算任一元素a[i][j]在数组中位置序号的公式为____________。 47. 若有定义“double a[3][5];”,则a 数组中行下标和列下标的最大值分别为________和________。

48. 若有定义“struct AA {int a; char b; double c;}x;”,则x占用空间大小为________字节。

49. 当定义一个结构体变量时,系统分配给该变量的内存大小等于各成员所需内存大小的_______。

50. 一个指针类型的对象占用内存的________个字节的存储空间。

51. 一个指针指向一个数据对象,它保存着该数据对象的________,若数据对象为DataType类型,则相应的指针类型为__________。

52. 若要把一个整型指针p转换为字符指针,则采用的强制转换表达式为________。 53. 假定一个数据对象为int*类型,则指向该对象的指针类型为_______。

54. 假定p是一个指向整数对象的指针,则用________表示该整数对象,用________表示指针变量p的地址。

55. 假定p是一个指针,则*p++运算首先访问________,然后使________的值增1。 56. 假定p是一个指针,则(*p)++运算首先访问________,然后使________的值增1。 57. 假定p所指对象的值为25,p+1所指对象的值为42,则*p++的值为________。 58.假定p所指对象的值为25,p+1所指对象的值为42,则*++p的值为________。

59. 假定p所指对象的值为25,p+1所指对象的值为42,则执行(*p)++运算后,p所指对象的值为________。

60.假定p所指对象的值为25,p+1所指对象的值为42,则执行*p++运算后,p所指对象的值为________。

61. 假定对数组a[]进行初始化的数据为{2,7,9,6,5,7,10},则a[2]和a[5]分别被初始化为

6

________和________。

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

1. 采用指针访问方式从键盘给数组a[N]输入数据,然后对元素值重新按逆序存放并输出。 #include const int N=8; void main() {

int a[N],*p,*q;

for(p=a; p

int r=*p; *p=*q; *q=r; ___(2)___; ___(3)___; }

for(p=a;p

(1) (2) (3)

2. 从键盘上输入一个正整数,然后把它转换成的二进制数的每一位存放到一维数组中,最后输出该二进制数。注意二进制数的存放是按照从低位到高位的次序进行的。 #include void main() {

int x;

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

int a[20],k=0,r; do {

r=x%2; a[k++]=r; x=___(1)___; } while(___(2)___);

for(--k;k>=0;k--) ___(3)___; cout<

(1) (2) (3)

7

3. 对数组a[n]按升序进行的选择排序算法 void SelectSort(int a[], ___(1)___) {

int i,j,k;

for(i=1;i

for(j=i;j

if(a[j]

int x=a[i-1]; a[i-1]=a[k]; ___(3)___; } }

(1) (2) (3)

4. 对数组a[n]按升序进行的插入排序算法 void InsertSort(___(1)___, int n) {

int i,j,x;

for(i=1;i

for(j=i-1;j>=0;j--) //为x顺序向前寻找合适的插入位置 if(x

(1) (2) (3)

5. 对按从小到大排列的有序数组a[n]进行二分查找x的算法,若查找成功返回该元素下标,否则返回-1。

int BinarySearch(int a[],int x) {

int low=0, high=N-1; //定义并初始化区间下界和上界变量 int mid; //定义保存中点元素下标的变量 while(low<=high) { mid=___(1)___;

if(x==a[mid]) ___(2)___;

else if(x

8

搜索更多关于: C 语言程序设计自测练习(二) 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

A. 可维护性 B. 可复用性 C. 兼容性 D. 正确性 二、填空题 1. 含随机函数的表达式rand() 的值在_____至______区间内。 2. 在switch语句中,每个语句标号所含关键字case后面的表达式必须是整型_______。 3. 在if语句中,每个else关键字与它前面同层次并且最接近的________关键字相配套。 4. 作为语句标号使用的C++保留字case和default只能用于________语句的定义体中。 5. 执行switch语句时,在进行作为条件的表达式求值后,将从某个匹配的标号位置起向下执行,当碰到下一个标号位置时________执行。 6. 若while循环的“头”为“while(i++<=1

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com