内容发布更新时间 : 2024/12/22 20:56:34星期一 下面是文章的全部内容请认真阅读。
B. 函数返回值的类型决定了返回值表达式的类型
C. 当函数类型与返回值表达式类型不同,将对返回值表达式的值进行类型转换 D.函数返回值类型就是返回值表达式类型 30. 以下正确的说法是_____d________。 A. 用户若需要调用标准函数,调用前必须重新定义
B. 用户可以直接调用所有标准库函数 C. 用户可以定义和标准库函数重名的函数,但是在使用时调用的是系统库函数 D. 用户可以通过文件包含命令将系统库函数包含到用户源文件中,然后调用系统库函数
31. 下述对C++语言字符数组的描述中错误的是___c___
A. 字符数组可以存放字符串 B. 字符数组可以整体输入,输出
C. 可以在赋值语句中用赋值运算符―=‖对字符数组整体赋值
D. 不可以用关系运算符对数组中的字符串进行比较
32. 下面描述正确的是__d___
A. 两个字符串所包含的字符个数相同时才能比较字符串
B. 字符个数多的字符串比字符个数少字符串大
C. 字符串―STOp‖与―STOP‖相等 D. 字符串―That‖小于字符串―The‖
33. 判断字符串s1是否大于字符串s2,应当使用____d__
A. if(s1>s2) B. if(strcmp(s1,s2)) C.if(strcmp(s2,s1)>0)D. if(strcmp(s1,s2)>0) 34. 下面程序段的运行结果是____b___ char c[ ]=\ A. 14 B. 3 C. 9
D. 字符串中非法字符,输出值不确定 35. 下面程序段的运行结果是____d__ char a[7]=\char b[4]=\strcpy(a,b); cout< A. d B. \\0 C. e D. f 36. 以下能对二维数组a正确初始化的语句是___b___ A. int a[2][ ]={{1,0,1},{5,2,3}}; B. int a[ ][3]={{1,2,3},{4,5,6}}; C. int a[2][4]={{1,2,3},{4,5},{6}}; D. int a[ ][3]={{1,0,1},{ },{1,1}}; 37. 若有说明:int a[3][4];则对a数组元素的正确引用是___c___ A. a[2][4] B. a[1,3] C. a[1+1][0] D. a(2)(1) 38. 若二维数组a有m列,则在a[I][J]前的元素个数为____b___ A. J*m+I B. I*m+J C. I*m+J-1 D. I*m+J+1 -2.填空题 1.在C++中字符串常量―Students‖的值是_该字符穿的首地址 __。 2. 设有语句―int a[10];‖,则a的值是_数组a的起始地址__。 3. 以下程序的执行结果是___s=55____ 。 #include for(i=1;i<=10;i++) s=sum(i); cout<<\} int sum(int k) { static int x=0; return(x+=k); } 4. 以下程序的执行结果是___120___ 。 #include for(i=0;i<=n;i++) r=r*b[i]; return r; } void main ( ) { int x,a[]={2,3,4,5,6,7,8,9}; x=f(a,3); cout< 5. 下面程序运行后输出的结果是__4__3____ 。 #include { char a[]=\ int i1=0,i2=0,i=0; while(a[i]) { if(a[i]=='a') i1++; if(a[i]=='b') i2++; i++; } cout< 6. 下面程序运行后输出的结果是__c_e_g_____ 。 #include { char s[][5]={\ int x,y; for(x=0;x<3;x++) for(y=0;y<4;y++) { int z=x+y; if(z==3) cout< 7. 执行完 int data[ ]={0,1,2,3,4,5}; #define SIZE sizeof(data)/sizeof(data[0]) 则SIZE的值为__6___。 8. 执行语句序列 char s1[20]=\ strcat(s1,strcat(s2,s3)); 后s1,s2,s3的值分别是___(1)___ 、___(2)___ 、ccccc 。 Aaabbbbccccc bbbbccccc 9. 执行语句序列 char s1[ ]=\for(int i=0;s2[i]=s1[i];i++); 后,数组s2中的字符串是_ABCD__。 10. 设有语句― char s[ ]=\\\0nanjin\m=strlen(s);‖,则m 的值是__5___。 11. 设有语句‖char s[]=\\\0Ch\m=sizeof(s);‖,则m的值是__7___。 12. 52.若有宏定义: #define N 3 #define Y(n) ((N+1)*n) 则执行语句―z=2*(N+Y(N+2));‖后,z的值为 ___34___。 13. 在C++中,函数名的值是_函数的入口地址__。 14. 以下程序输出的第一行是____2____,第三行是____24____。 #include void main(void) { for(int k=1;k<=4;k++) cout< 15. 运行以下程序后输出的第二行是____6___,第四行输出的是___20____。 #include if(n==3) return x; else return x+f(n+1,x+1); } void main(void) { cout< 16. 如果一函数直接或间接地调用自身,这样的调用称为_递归调用__。 17. 下面程序运行后输出的第二行是___10__35__5____ 。 #include void main() { int a=10,b=20; cout< for(int i=1; i<6; i++) {a+=i; b+=a; } cout< cout< 18. 以下程序执行后输出的结果是___x=-7___y=-10 m=2 #include y=x+a; x++; a++; return(x+y+a); } void main() { int m=2; y=func(m); cout<<\y=\m=\} 19. 以下程序的执行结果是_5_8_11 14。 #include for(int i=1;i cout< void func() { static int a; int b=2; cout<<(a+=3,a+b)<<\} 20. 以下程序的执行结果是__25__ 。 #include extern int x,y; cout< int x=20,y=5; int add(int a,int b) { int s=a+b; return s; } 21. 对数组按值从大到小的顺序排序后输出,请填空。 #include float a[7]={2,6,3,8,3,12,9}; _________________; sort(a,7); for(int i=0;i<7;i++) cout< void sort(float *p,int n) {int i,j,k; float t; for(i=0;i for(j=i+1;j if(____________) k=j; if(________) { t=*(p+i); *(p+i)=*(p+k); *(p+k)=t; } } void sort(float*,int) p[k] 22. 函数中的形参和调用时的实参都是数组名时,传递方式为_按地址传递_,都是变量时,传递方式为_按值传递_。 C++编程复习 ? 求出二维数组主对角线之和和次对角线之和 要求用函数void input(int a[4][4]):输入二维数组a的值,主函数调用函数输入二维数组,计算主对角线和次对角线之和并输出结果 #include for(int i=0;i<4;i++) for(int j=0;j<4;j++) cin>>a[i][j]; } void main() { int a[4][4],s=0,t=0; input(a); for(int i=0;i<4;i++) for(int j=0;j<4;j++) { if(i==j)s+=a[i][j]; if((i+j)==3)t+=a[i][j]; } cout<<\主对角线和是:\此对角线和是:\} ? 求一组非0整数的平均值,并统计出这一组数中正数和负数的个数 要求定义一维数组,输入一组非0整数(以输入0作为结束标志),计算这一组数的平均值,统计正数和负数的个数,并输出 #include int a[100],count1=0,count2=0,ave=0; float j=0; cout<<\请输入一组数\ for(int i=0;;i++) { cin>>a[i]; if(a[i]==0) break; else if(a[i]>0) count1=count1+1; else count2=count2+1; ave=ave+a[i]; j++; } cout<<\这组数的平均值是\正数个数\负数个数\} ? 求n阶乘倒数和(s= 1/1!+ 1/2!+ 1/3!+……+ 1/n!)并输出 要求用函数求n的阶乘,在主函数中输入n,调用函数,求n阶乘倒数和,输出结果 #include float t=1.0,s=0.0; for(int i=1;i<=n;i++) { for(float j=1.0;j<=i;j++) { t*=1/j; } s+=t; } return s; } void main() { int n; cin>>n; cout< ? 求一定范围内符合条件的数 要求:判断一个数是否符合条件用函数做,如果符合,返回1,否则返回0 主函数调用函数判断给定范围内的每一个数是否符合条件,如果符合,做相应操作 此类型包括: 查找100以内的所有素数并输出(每行输出5个) (1) #include for(i=2;i void main() { int n=100,j=0; for(int i=2;i<=100;i++) { if(fun(i)==1) { cout< if(j%5==0) cout<<'\\n'; } } } 求100以内的所有素数的倒数和(2) #include for(i=2;i void main() { float sum=0; for(int i=2;i<=100;i++) { if(fun(i)==1) sum=sum+1/((float) i); }