C语言选择题99道.doc
文本预览下载声明
1.有以下程序
int f1(int x,int y)
{ return xy?x:y; }
int f2(int x,int y)
{ return xy?y:x; }
main()
{int a=4,b=3,c=5,d,e,f;
d=f1(a,b); d=f1(d,c);
e=f2(a,b); e=f2(e,c);
f=a+b+c-d-e;
printf(%d,%d,%d\n,d,f,e);
}
执行后输出的结果是______。
A:3,4,5
B:5,3,4
C:5,4,3
D:3,5,4
答案:C
348、有以下程序
int f1(int x,int y){return xy?x:y;}
int f2(int x,int y){return xy?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
答案:A
2.设有定义:float a=2,b=4,h=3;,以下C语言表达式中与代数式1/2(a+b)h计算结果不相符的是______。
A:(a+b)*h/2
B:(1/2)*(a+b)*h
C:(a+b)*h*1/2
D:h/2*(a+b)
答案:B
3.设有定义:float a=2,b=4,h=3;,以下C语言表达式中与代数式1/2(a+b)h计算结果不相符的是______。
A:(a+b)*h/2
B:(1/2)*(a+b)*h
C:(a+b)*h*1/2
D:h/2*(a+b)
答案:B
261、已有定义:char c;,程序前面已在命令中包含ctype.h文件。不能用于判断c中的字符是否为大写字母的表达式是______。
A:isupper(c)
B:A=c=Z
C:A=cc=Z
D:c=(z-32)(a-32)=c
答案:B
469、有以下程序
main()
{char p[]={a,b,c},q[]=abc;
printf(%d %d\n,sizeof(p),sizeof(q));
}
程序运行后的输出结果是______。
A:4 4
B:3 3
C:3 4
D:4 3
答案:C
617、设有以下定义和语句
char str[20]= Program,*p;
p=str;
则以下叙述中正确的是______。
A:*P与str[0]中的值相等
B:str与p的类型完全相同
C:str数组长度和p所指向的字符串长度相等
D:数组str中存放的内容和指针变量p中存放的内容相同
答案:A
513、以下能正确定义数组并正确赋初值的语句是______。
A:int N=5,b[N][N];
B:int a[1][2]={{1},{3}};
C:int c[2][]={{1,2},{3,4}};
D:int d[3][2]={{1,2},{3,4}};
答案:D
533、以下不能正确定义二维数组的选项是______。
A:int a[2][2]={{1},{2}};
B:int a[][2]={1,2,3,4};
C:int a[2][2]={{1},2,3}
D:int a[2][]={{1,2},{3,4}}
答案:D
567、有以下程序:
void sort(int a[],int n)
{ int i,j,t;
for(i=0;in-1;i+=2)
for(j=i+2;jn;j+=2)
if(a[i]a[j]){t=a[i];a[i]=a[j];a[j]=t;}
}
main()
{ int aa[10]={1,2,3,4,5,6,7,8,9,10},i;
sort(aa,10);
for(i=0;i10;i++) printf(%d,,aa[i]);
printf(\n);
}
其输出结果是______。
A:1,2,3,4,5,6,7,8,9,10,
B:10,9,8,7,6,5,4,3,2,1,
C:9,2,7,4,5,6,3,8,1,10,
D:1,10,3,8,5,6,7,4,9,2,
答案:C
137、以下程序中函数sort的功能是对a所指数组中的数据进行由
显示全部