C语言程序设计基础2023章节测试答案
B、double fun(int x,y) { int z; return z; }
C、double fun(x,y) { int x,y; double z; z=x+y; return z; }
D、double fun(int x,int y) { double z; z=x+y; return z; }
我的答案:D
2、若调用一个函数,且此函数中没有return语句,则正确的说法是 。
A、该函数没有返回值
B、该函数返回若干个系统默认值
C、该函数能返回一个用户所希望的函数值
D、该函数返回一个不确定的值
我的答案:A
3、以下正确的说法是 。
A、实参和与其对应的形参各占用独立的存储单元
B、实参和与其对应的形参共占用一个存储单元
C、只有当实参和与其对应的形参同名时才共占用存储单元
D、形参是虚拟的,不占用存储单元
我的答案:A
4、下面函数调用语句含有实参的个数为 。 func((exp1,exp2),(exp3,exp4,exp5));
A、1
B、2
C、4
D、5
我的答案:B
5、若使用一维数组名作函数实参,则以下正确的说法是 。
A、必须在主调函数中说明此数组的大小
B、实参数组类型与形参数组类型可以不匹配
C、在被调函数中,不需要考虑形参数组的大小
D、实参数组名与形参数组名必须一致
我的答案:A
6、凡是函数中未指定存储类型的局部变量,其隐含的存储类别为 。
A、自动(auto)
B、静态(static)
C、外部(extern)
D、寄存器(register)
我的答案:A
7、执行下列程序: #define M(x,y) (x*y) i=3; i=M(i,i+1)-8; 变量i的值应为 。
A、2
B、3
C、4
D、5
我的答案:A
8、执行下列程序,正确的输出是 。 int x=3,y=5; void swap() { int a; a=x; x=y; y=a; } int main() { int x=5,y=7; swap(); printf(“%d,%d\n”,x,y); return 0; }
A、3,5
B、5,3
C、5,7
D、7,5
我的答案:C
9、以下程序是选出能被3整除且至少有一位是5的两位数,打印出所有这样的数及其个数。请选择填空。 sub(int k,int n) { int a1,a2; a2= ; a1=k-a2*10; if((k%3==0&&a2==5)||(k%3==0&&a1==5)) { printf(“%d”,k); n++; return n; } else return -1; } int main() { int n=0,k,m; for(k=10;k<=99;k++) { m=sub(k,n); if(m!=-1) n=m; } printf(“\nn=%d”,n); return 0; }
A、k*10
B、k%10
C、k/10
D、k*10%10
我的答案:C
10、有以下程序: #include <stdio.h> int fun(int x) { int p; if(x==0 || x==1) return 3; p=x-fun(x-2); return p; } int main() { printf(“%d\n”,fun(9)); return 0; } 正确的输出是 。
A、9
B、7
C、5
D、4
我的答案:B
第七章测试
1、下列数组定义语句中,正确的是( )。
A、int a[][]={1,2,3,4,5,6};
B、char a[2]「3]='a','b';
C、int a[][3]= {1,2,3,4,5,6};
★《布宫号》提醒您:民俗信仰仅供参考,请勿过度迷信!