C语言程序设计 试卷3
一、单选题(30*2=60)
1. 有以下程序
int f1(int x,int y){return x>y?x:y;}
int f2(int x,int y){return x>y?y:x;}
main()
{
int a=4,b=3,c=5,d=2,e,f,g;
e=f2(f1(a,b),f1(c,d));
f=f1(f2(a,b),f2(c,d));
g=a+b+c+d-e-f;
printf("%d,%d,%d/n",e,f,g);
}
程序运行后的输出结果是______。
A、4,3,7
B、3,4,7
C、5,2,7
D、2,5,7
2. 有以下程序
main()
{ int m,n,p;
scanf("m=%dn=%dp=%d",&m,&n,&p);
printf("%d%d%d/n",m,n,p);
}
若想从键盘上输入数据,使变量m中的值为123,n中的值为456,p中的值为789,则正确的输入是______。
A、m=123n=456p=789
B、m=123 n=456 p=789
C、m=123,n=456,p=789
D、123 456 789
3. 以下叙述中正确的是______。
A、用C程序实现的算法必须要有输入和输出操作
B、用C程序实现的算法可以没有输出但必须要输入
C、用C程序实现的算法可以没有输入但必须要有输出
D、用C程序实现的算法可以既没有输入也没有输出
4. 程序中若有如下说明和定义语句
char fun(char *);
main()
{
char *s="one",a[5]={0},(*f1)()=fun,ch;
......
}
以下选项中对函数fun的正确调用语句是______。
A、(*f1)(a);
B、*f1(*s);
C、fun(&a);
D、ch=*f1(s);
5. 已有定义:char a[]="xyz",b[]={'x','y','z'};,以下叙述中正确的是______。
A、数组a和b的长度相同
B、a数组长度小于b数组长度
C、a数组长度大于b数组长度
D、上述说法都不对
6. 有以下程序
point(char *p){p+=3;}
main()
{ char b[4]={'a','b','c','d'},*p=b;
point(p);
printf("%c/n",*p);
}
程序运行后的输出结果是______。
A、a
B、b
C、c
D、d
7. 设有如下说明
typedef struct ST
{long a;int b;char c[2];} NEW;
则下面叙述中正确的是______。
A、以上的说明形式非法
B、