30.以下程序有语法错误,有关错误原因说法正确的是( )
main()
{ int G=5,k;
void prt_char();
…
k=prt_char(G);
…
}
A.语句void prt_char();有错,它是函数调用语句,不能用void说明
B.变量名不能使用大写字母
C.函数说明和函数调用语句之间有矛盾
D.函数名不能使用下划线
【参考答案】C
31.有以下程序:
#include <stdio.h>
union pw
{ int i;
char ch[2];}a;
main()
{a.ch[0]=13;a.ch[1]=0;printf(″%d\n″,a.i);}
程序的输出结果是( )
A.13 B.14 C.208 D.209
【参考答案】A
32.下面程序的运行结果是( )
#include <stdio.h>
main()
{ int a=1,b=10;
do
{b-=a;a++;}while(b--<0);
printf(″a=%d,b=%d\n″,a,b);
}
A.a=3,b=11 B.a=2,b=8 C.a=1,b=-1 D.a=4,b=9
【参考答案】B
33.有如下程序
long fib(int n)
{ if(n>2)return(fib(n-1)+fib(n-2));
else return(2);
}
main()
{ printf(″%d\n″,fib(3));}
该程序的输出结果是( )
A.2 B.4 C.6 D.8
【参考答案】B
34.函数rewind的作用是( )
A.使文件位置指针重新返回文件的开始位置
B.将文件位置指针指向文件中所要求的特定位置
C.使文件位置指针指向文件的末尾
D.使文件位置指针自动移至下一个字符位置
【参考答案】A
35.以下叙述中正确的是( )
A.构成C程序的基本单位是函数
B.可以在一个函数中定义另一个函数
C.main()函数必须放在其他函数之前
D.C函数定义的格式是K&R格式
【参考答案】A
36.有以下程序
void fun(int a,int b,int c)
{a=456,b=567,c=678;
main()
{int x=10,y=20,z=30;
fun(x,y,z);
printf(″%d,%d,%d\n″,x,y,z);
}
输出结果是( )
A.30,20,10 B.10,20,30
C.456,567,678 D.678,567,456
【参考答案】B
37.有以下程序
main()
{ char a[ ]={′a′,′b′,′c′,′d′,′e′,′f′,′g′,′h′,′\0′};int i,j;
i=sizeof(a);j=strlen(a);
printf(″ %d,%d\b″,i,j);
}
程序运行后的输出结果是( )
A.9,9 B.8,9 C.1,8 D.9,8
【参考答案】D
38.以下程序的运行结果是( )
#define MIN(x,y) (x)<(y)?(x):(y)
main()
{ int i=10,j=15,k;
k=10*MIN(i,j);
printf(″%d\n″,k);
}
A.10 B.15 C.100 D.150
【参考答案】B
39.设有以下说明语句
typedef struct
{ int n;
char ch[8];
} PER;
则下面叙述中正确的是( )
A.PER是结构体变量名
B.PER是结构本类型名
C.typedef struct是结构体类型
D.struct是结构体类型名
【参考答案】B
40.以下程序执行后a的值是( )