C语言程序设计习题集
18.以下正确的说法是 。(0级)
A) 用户若需调用标准库函数,调用前必须重新定义
B) 用户可以重新定义标准函数,若如此,该函数将失去原有含义 C) 系统根本不允许用户重新定义标准库函数
D) 用户若需调用标准库函数,调用前不必使用预编译命令将该函数所在文件包括到用 户源文件中,系统自动去调 19.以下正确的说法是 。(0级)
在C语言中: A)实参和与其对应的形参各占用独立的存储单元
B) 实参和与其对应的形参共占用一个存储单元
C) 只有当实参和与其对应的形参同名时才共占用存储单元 D) 形参是虚拟的,不占用存储单元
20.若使用一维数组名作函数实参,则以下正确的说法是 。(0级)
A)必须在主调函数中说明此数组的大小 B) 实参数组类型与形参数组类型可以不匹配
C) 在被调函数中,不需要考虑形参数组的大小 D) 实参数组名与形参数组名必须一致
21.有如下函数调用语句
func(rec1,rec2+rec3,(rec4,rec5);
该函数调用语句中,含有的实参个数是 。(1级) A) 3 B) 4 C) 5 D) 有语法错 22.有如下程序 int runc(int a,int b) { return(a+b);} main( )
{ int x=2,y=5,z=8,r; r=func(func(x,y),z); printf(“%\\d\\n”,r); }
该程序的输出的结果是 。(1级)
A) 12 B) 13 C) 14 D) 15 23.有如下程序 long fib(int n)
{ if(n>2) return(fib(n-1)+fib(n-2)); else return(2); }
main( )
{ printf(“%d\\n”,fib(3));
该程序的输出结果是 。(1级)
59
C语言程序设计习题集
A}2 B}4 C}6 D} 8 24.有以下程序
voidf(int x,int y) { int t;
if(x main() { int a=4,b=3,c=5; f(a,b); f(a,c); f(b,c); printf(\} 执行后输出的结果是 。(1级) A) 3,4,5 B) 5,3,4 C) 5,4,3 D) 4,3,5 25.以下函数的功能是:通过键盘输入数据,为数组中的所有元素赋值。 #define N 10 void arrin(int x[N]) { int i=0; while(i scanf(\} 在下划线处应填入的是 。(2级) A) x+i B) &x[i+1] C) x+(i++) D) &x[++i] 26.有以下程序 main() { char s[]=\ printf(\} 执行后输出结果是 。(1级) A) 赋初值的字符串有错 B) 6,7 C) 5,6 D) 6,6 27.以下叙述中正确的是 。(0级) A) 全局变量的作用域一定比局部变量的作用域范围大 B) 静态(static)类别变量的生存期贯穿于整个程序的运行期间 C) 函数的形参都属于全局变量 D) 未在定义语句中赋初值的auto变量和static变量的初值都是随机值 28.main() {int a=4,b=3,c=5,d,e,f; d=f1(a,b); d=f1(d,c); 60 C语言程序设计习题集 e=f2(a,b); e=f2(e,c); f=a+b+c-d-e; printf(\ } f1(int x, int y) {int z; z=(x>y)?x:y; return(z); } f2(int x, int y) {int z; z=(x A) 3,4,5 B) 5,3,4 C) 5,4,3 D)3,5,4 29.以下程序的输出结果是 。(1级) #include { static int i = 0; int s =1; s += i; i++; return (s); } void main(void) { int i, a = 0; for (i=0; i<5; i++) a += f() printf(“%d\\n”, a); } A) 1 B) 0 C) 非0的数 D) –1 30.以下C语言中,对函数不正确的描述是 。(0级) A) 当用数组名作形参时,形参数组改变可使实参数组随之改变 B) 允许函数递归调用 C) 函数形参的作用范围只是局限于所定义的函数内 D) 函数说明必须在主调函数之前 31.以下所列的各函数首部中,正确的是 。(1级) A) void play(var :Integer,var b:Integer) B) void play(int a,b) C) void play(int a,int b) D) Sub play(a as integer,b as integer) 32.以下叙述中不正确的是 。(0级) A) 在C中,函数中的自动变量可以赋初值,每调用一次,赋一次初值。 B) 在C中,在调用函数时,实在参数和对应形参在类型上只需赋值兼容。 C) 在C中,外部变量的隐含类别是自动存储类别。 61 C语言程序设计习题集 D) 在C中,函数形参可以说明为register变量。 33.以下对C语言函数的有关描述中,正确的是 。(0级) A) 在C中,调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参 B) C函数既可以嵌套定义又可以递归调用 C) 函数必须有返回值,否则不能使用函数 D) C程序中有调用关系的所有函数必须放在同一个源程序文件中 34.一个数据类型为void的函数中可以没有return语句,那么函数的被调用时 。(0级) A) 没有返回值 B) 返回一个系统默认值 B) 返回值由用户临时决定 D) 返回一个不确定的值 35.在下面的函数声明中,存在着语法错误的是 。(1级) A)BC(int a, int); B) BC(int,int); C)DC(int,int=5); D) BC(int x, int y); 36.以下函数值的类型是 。(1级) fun ( float x ) { float y; y= 3*x-4; return y; } A) int B) 不确定 C) void D) float 37. 有如下程序段,在Turbo C环境下运行的结果为 。(01~02第二学期试题) main( ) { int i=2,p,k=1; int f(int a,int b) p=f(i,++k); { int c; printf(“I=%d,p=%d”,k,p); if(a>b) c=1; } else if (a==b) c=0; else c=-1; return(c); } A)1,0 B)2,0 C)2,-1 D)1,1 38. 下面程序的输出结果是: 。(往届试题) int m=13; int fun( int x, int y) { int m=3; return( x*y-m); } main( ) {int a=7,b=5; printf(“%d\\n”, fun(a,b)/m); } 62
相关推荐: