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<