C语言选择题99道
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,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 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答案: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'<=c&&c<='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;i