1、C 语言程序设计练习题一、选择题(每小题 2 分,共 40 分,答案必须填写半角大写字母 ABCD)1. 若 a 是 float 型变量,b 是 unsigned 型变量,以下输入语句( )是合法的。A) scanf(“%6.2f%d“, int x; float y; double z; 则表达式 w*x+z-y 值的数据类型为( )。A)float B) char C) int D) double5.若给定条件表达式(x)? (a+):(a-), 则表达式 x ( )。A) 和(x=0)等价 B) 和(x=1)等价C) 和(x!=0)等价 D) 和(x!=1)等价6. C 语言中 whil
2、e 和 do-while 循环的主要区别是( )A) do-while 的循环体至少无条件执行一次B) while 的循环控制条件比 do-while 的循控制条件严格C) do-while 允许从外部转到循环体内D) do-while 的循环体不能是复合句7. 若有说明:int a10;,则对 a 数组元素的正确引用是( )A) a10 B)a3.5 C)a(5) D)a10-108. 设以下变量均为 int 类型,则值不等于 7 的表达式是( )。A) (x=y=6,x+y,x+1) B) (x=y=6,x+y,y+1)C) (x=6,x+1,y=6,x+y) D) (x=6,x+1,y=
3、x,y+1)9.设 i 和 x 都是 int 类型,则以下 for 循环( )。for(i=0,x=0;i=0);A) 3 B) 4 C)5 D)不定26.以下叙述正确的是( )。A) 在 C 语言中,每行只能写一条语句。B) 若 X 是实型变量,C 语言中允许赋值 X=100,因此实型变量中允许存放整型变量。C) 在 C 程序中,%只能用于整数运算的运算符。D) 在 C 程序中,无论是整数还是实数,都能被准确无误地表示。27.若有定义:int a=7; float x=2.5,y=4.7;则表达式 x+a%3*(int)(x+y)%2/4 的值是( )。A) 2.500000 B) 2.75
4、0000 C) 3.500000 D) 0.0000028.下面程序段的功能是将从键盘输入的一对数,由小到大排序输出,当输入一对相等数时结束循环,请选择填空。 #includemain()int a,b,t;scanf(“%d,%dn“,a,b);while_ if(ab)t=a;a=b;b=t;printf(“%d,%dn“,a,b);scanf(%d%d“,A) !a=b B)a!=b C)a=b D)a=b29.若调用一个函数,且函数中没有 return 语句,则正确的说法是( )。A) 该函数没有返回值B) 返回若干个系统默认值A) 能返回一个用户所希望的函数值A) 返回一个不确定的值
5、30.凡是在 C 语言中函数未指定存储类别的局部变量,其隐含的存储类别为( )。A) 自动 B) 静态 C) 外部 D)寄存器31.以下不正确的语句(设有 int q,p)是( )。 A) p*=3; B) p/=q;C) p+=3; D) p 32.设 int n=3,则+n 的结果是( )。A) 2 B) 3C) 4 D) 5 33.在执行 int a3=1,2,3,4,5,6;语句后,a10的值是( )。A) 4 B) 1C) 2 D) 5 34.若有说明:int a10;,则对 a 数组元素的正确引用是( )。A) a10 B)a3.5 C)a(5) D)a10-1035.以下对一维整
6、型数组 a 的正确说明是( )。A) int a(10); B) int n=10, an;C) int n;scanf(“%d“,int a10;D) #define max 10int amax;36.若有说明:int a34;,则对 a 数组元素正确引用是( )。A) a24 B) a1,3 C) a1+10 D) a(2)(1)37.若 a=1,b=2,c=3,d=4,则条件表达式 a=0);A) 3 B) 4 C)5 D)不定51.设变量 a 是整型,b 是实型,c 是双精度型,则表达式 10+a+b*c 值的数据类型为( )。A) int B)float C)double D)不确
7、定52.若有说明:int a10;,则对 a 数组元素的正确引用是( )。A) a10 B)a3.5 C)a(5) D)a10-1053.以下对一维整型数组 a 的正确说明是( )。A) int a(10); B) int n=10, an;C) int n;scanf(“%d“,int a10;D) #define max 10int amax;54.若有说明:int a34;,则对 a 数组元素正确引用是( )。A) a24 B) a1,3 C) a1+10 D) a(2)(1)55.以下对二维数组 a 进行初始化的语句错误的是( )A) int a23=0;B) int a3=1,2,0
8、;C) int a23=1,2,3,4,5,6;D) int a3=1,2,3,4,5,6;56.在 C 语言中,int 型数据在内存中的存储形式是( )。A) 补码 B) 反码 C)原码 D)ASC|码57.在 C 语言中,当 while 语句中的条件为( )时,结束该循环。A)0 B)1 C) true D)非 058.假设所有变量均为整型,则表达式(a=2,b=5,b+,a+b) 的值是( )。A) 7 B) 8 C) 6 D) 259.在 C 语言中,要求运算数必须是整型的运算符是( )。A) / B) + C) != D) %60.若 int 类型数据占两个字节,则以下程序的输出为(
9、 )。main()int k=-1;Printf(“%d,%un”,k,k);A) -1, -1 B) -1, 32767 C)-1, 32768 D) -1, 6553561.设有说明:char w; int x; float y; double z; 则表达式 w*x+z-y 值的数据类型为( )。A)float B) char C) int D) double62.若给定条件表达式(x)? (a+):(a-), 则表达式 x ( )。A) 和(x=0)等价 B) 和(x=1)等价C) 和(x!=0)等价 D) 和(x!=1)等价63.以下叙述正确的是( )。A) 在 C 语言中,每行只能
10、写一条语句。B) 若 X 是实型变量,C 语言中允许赋值 X=100,因此实型变量中允许存放整型变量。C) 在 C 程序中,%只能用于整数运算的运算符。D) 在 C 程序中,无论是整数还是实数,都能被准确无误地表示。64.若有定义:int a=7; float x=2.5,y=4.7;则表达式 x+a%3*(int)(x+y)%2/4 的值是( )。A) 2.500000 B) 2.750000 C) 3.500000 D) 0.0000065.设以下变量均为 int 类型,则值不等于 7 的表达式是( )。A) (x=y=6,x+y,x+1) B) (x=y=6,x+y,y+1)C) (x=
11、6,x+1,y=6,x+y) D) (x=6,x+1,y=x,y+1)66.设 i 和 x 都是 int 类型,则以下 for 循环( )。for(i=0,x=0;i0)|(+j0) a+;printf(“i=%d,j=%d,a=%dn“,i,j,a);A) i=0,j=0,a=6 B) i=1,j=1,a=7C) i=1,j=0,a=7 D) i=0,j=1,a=768.设以下程序段int x=0,s=0;while(! x!=0) s+=+x;printf)“%d“,s);则( ) A) 运行程序后输出 0 B) 运行程序后输出 1C) 程序段中的控制表达式是非法的 D) 程序段执行无限次
12、69.下面程序段中循环体的执行次数是( )a=10;b=0;dob+=2;a-=2+b;while(a=0);A) 3 B) 4 C)5 D)不定70.下面程序段的功能是将从键盘输入的一对数,由小到大排序输出,当输入一对相等数时结束循环,请选择填空。 #includemain()int a,b,t;scanf(“%d,%dn“,a,b);while_ if(ab)t=a;a=b;b=t;printf(“%d,%dn“,a,b);scanf(%d%d“,A) !a=b B)a!=b C)a=b D)a=b71.若有说明:int a10;,则对 a 数组元素的正确引用是( )。A) a10 B)a
13、3.5 C)a(5) D)a10-1072.以下对一维整型数组 a 的正确说明是( )。A) int a(10); B) int n=10, an;C) int n;scanf(“%d“,int a10;D) #define max 10int amax;73.若有说明:int a34;,则对 a 数组元素正确引用是( )。A) a24 B) a1,3 C) a1+10 D) a(2)(1)74.以下对二维数组 a 进行初始化的语句错误的是( )A) int a23=0;B) int a3=1,2,0;C) int a23=1,2,3,4,5,6;D) int a3=1,2,3,4,5,6;7
14、5.若有说明 int a3=1,2,3,4,5,6,7;,则 a 数组第一维的大小是( )。A) 2 B)3 C)4 D)无确定值76.下列四组选项中,均不是 C 语言关键字的选项是( )。A) define of type B) getc char printfC) include scanf case D) if struct type77.C 语言中 while 和 do-while 循环的主要区别是( )A) do-while 的循环体至少无条件执行一次B) while 的循环控制条件比 do-while 的循控制条件严格C) do-while 允许从外部转到循环体内D) do-whi
15、le 的循环体不能是复合句78.若 int 类型数据占两个字节,则以下程序的输出为( )。main()int k=-1;Printf(“%d,%un”,k,k);A) -1, -1 B) -1, 32767 C)-1, 32768 D) -1, 6553579.设有说明:char w; int x; float y; double z; 则表达式 w*x+z-y 值的数据类型为( )。A)float B) char C) int D) double80.若给定条件表达式(x)? (a+):(a-), 则表达式 x ( )。A) 和(x=0)等价 B) 和(x=1)等价C) 和(x!=0)等价
16、D) 和(x!=1)等价81.以下叙述正确的是( )。A) 在 C 语言中,每行只能写一条语句。B) 若 X 是实型变量,C 语言中允许赋值 X=100,因此实型变量中允许存放整型变量。C) 在 C 程序中,%只能用于整数运算的运算符。D) 在 C 程序中,无论是整数还是实数,都能被准确无误地表示。82.若有定义:int a=7; float x=2.5,y=4.7;则表达式 x+a%3*(int)(x+y)%2/4 的值是( )。A) 2.500000 B) 2.750000 C) 3.500000 D) 0.0000083.设以下变量均为 int 类型,则值不等于 7 的表达式是( )。A
17、) (x=y=6,x+y,x+1) B) (x=y=6,x+y,y+1)C) (x=6,x+1,y=6,x+y) D) (x=6,x+1,y=x,y+1)84.设 i 和 x 都是 int 类型,则以下 for 循环( )。for(i=0,x=0;i0)|(+j0) a+;printf(“i=%d,j=%d,a=%dn“,i,j,a);A) i=0,j=0,a=6 B) i=1,j=1,a=7C) i=1,j=0,a=7 D) i=0,j=1,a=786.设 n=10,i=4,则赋值运算 n%=i+1 执行后,n 的值是( )。A) 0 B) 3C) 2 D) 1 87.以下不正确的语句(设有
18、 int q,p)是( )。 A) p*=3; B) p/=q;C) p+=3; D) p 88.下面程序段的功能是将从键盘输入的一对数,由小到大排序输出,当输入一对相等数时结束循环,请选择填空。 #includemain()int a,b,t;scanf(“%d,%dn“,a,b);while_ if(ab)t=a;a=b;b=t;printf(“%d,%dn“,a,b);scanf(%d%d“,A) !a=b B)a!=b C)a=b D)a=b89.若有说明:int a10;,则对 a 数组元素的正确引用是( )。A) a10 B)a3.5 C)a(5) D)a10-1090.以下对一维
19、整型数组 a 的正确说明是( )。A) int a(10); B) int n=10, an;C) int n;scanf(“%d“,int a10;D) #define max 10int amax;91.若有说明:int a34;,则对 a 数组元素正确引用是( )。A) a24 B) a1,3 C) a1+10 D) a(2)(1)92.以下对二维数组 a 进行初始化的语句错误的是( )A) int a23=0;B) int a3=1,2,0;C) int a23=1,2,3,4,5,6;D) int a3=1,2,3,4,5,6;93.若有说明 int a3=1,2,3,4,5,6,7
20、;,则 a 数组第一维的大小是( )。A) 2 B)3 C)4 D)无确定值94.凡是在 C 语言中函数未指定存储类别的局部变量,其隐含的存储类别为( )。A) 自动 B) 静态 C) 外部 D)寄存器假设所有变量均为整型,则表达式(a=2,b=5,b+,a+b) 的值是( )。A) 7 B) 8 C) 6 D) 2在 C 语言中,要求运算数必须是整型的运算符是( )。A) / B) + C) != D) %设有下面的语句和说明,则下列叙述正确的是( )。char s=“china“; char *p; p=s;A) s 和 p 完全相同B) 数组 s 中的内容和指针变量 P 的内容相同C)
21、s 数组长度和 P 所指向的字符串长度相同D) *p 和 s0相同设有说明:char w; int x; float y; double z; 则表达式 w*x+z-y 值的数据类型为( )。A)float B) char C) int D) double若给定条件表达式(x)? (a+):(a-), 则表达式 x ( )。A) 和(x=0)等价 B) 和(x=1)等价C) 和(x!=0)等价 D) 和(x!=1)等价以下叙述正确的是( )。A) 在 C 语言中,每行只能写一条语句。B) 若 X 是实型变量,C 语言中允许赋值 X=100,因此实型变量中允许存放整型变量。C) 在 C 程序中,
22、%只能用于整数运算的运算符。D) 在 C 程序中,无论是整数还是实数,都能被准确无误地表示。若有定义:int a=7; float x=2.5,y=4.7;则表达式 x+a%3*(int)(x+y)%2/4 的值是( )。A) 2.500000 B) 2.750000 C) 3.500000 D) 0.00000设以下变量均为 int 类型,则值不等于 7 的表达式是( )。A) (x=y=6,x+y,x+1) B) (x=y=6,x+y,y+1)C) (x=6,x+1,y=6,x+y) D) (x=6,x+1,y=x,y+1)设 i 和 x 都是 int 类型,则以下 for 循环( )。f
23、or(i=0,x=0;i0)|(+j0) a+;printf(“i=%d,j=%d,a=%dn“,i,j,a);A) i=0,j=0,a=6 B) i=1,j=1,a=7C) i=1,j=0,a=7 D) i=0,j=1,a=7设以下程序段int x=0,s=0;while(! x!=0) s+=+x;printf)“%d“,s);则( ) A) 运行程序后输出 0 B) 运行程序后输出 1C) 程序段中的控制表达式是非法的 D) 程序段执行无限次下面程序段中循环体的执行次数是( )a=10;b=0;dob+=2;a-=2+b;while(a=0);A) 3 B) 4 C)5 D)不定下面程序
24、段的功能是将从键盘输入的一对数,由小到大排序输出,当输入一对相等数时结束循环,请选择填空。 #includemain()int a,b,t;scanf(“%d,%dn“,a,b);while_ if(ab)t=a;a=b;b=t;printf(“%d,%dn“,a,b);scanf(%d%d“,A) !a=b B)a!=b C)a=b D)a=b若有说明:int a10;,则对 a 数组元素的正确引用是( )。A) a10 B)a3.5 C)a(5) D)a10-10以下对一维整型数组 a 的正确说明是( )。A) int a(10); B) int n=10, an;C) int n;sca
25、nf(“%d“,int a10;D) #define max 10int amax;若有说明:int a34;,则对 a 数组元素正确引用是( )。A) a24 B) a1,3 C) a1+10 D) a(2)(1)若有说明:static int a34;,则数组 a 中各元素( )A)可在程序运行阶段得到初值 0B)可在程序编译阶段得到初值 0C)不能得到确定的初值A)可在程序的运行或编译阶段得到初值 0若有说明 int a3=1,2,3,4,5,6,7;,则 a 数组第一维的大小是( )。A) 2 B)3 C)4 D)无确定值凡是在 C 语言中函数未指定存储类别的局部变量,其隐含的存储类别
26、为( )。A) 自动 B) 静态 C) 外部 D)寄存器以下不正确的语句(设有 int q,p)是( )。 A) p*=3; B) p/=q;C) p+=3; D) p一个 C 语言程序是由( )。A) 一个主程序和若干子程序组成B) 函数组成C) 若干过程组成 D) 若干子程序组成在 C 语言中,要求运算数必须是整型的运算符是( )。A) / B) + C) != D) %若 a=1,b=2,c=3,d=4,则条件表达式 a0)|(+j0) a+;printf(“i=%d,j=%d,a=%dn“,i,j,a);A) i=0,j=0,a=6 B) i=1,j=1,a=7C) i=1,j=0,a
27、=7 D) i=0,j=1,a=7设以下程序段int x=0,s=0;while(! x!=0) s+=+x;printf)“%d“,s);则( ) A) 运行程序后输出 0 B) 运行程序后输出 1C) 程序段中的控制表达式是非法的 D) 程序段执行无限次下面程序段中循环体的执行次数是( )a=10;b=0;dob+=2;a-=2+b;while(a=0);A) 3 B) 4 C)5 D)不定下面程序段的功能是将从键盘输入的一对数,由小到大排序输出,当输入一对相等数时结束循环,请选择填空。 #includemain()int a,b,t;scanf(“%d,%dn“,a,b);while_
28、if(ab)t=a;a=b;b=t;printf(“%d,%dn“,a,b);scanf(%d%d“,A) !a=b B)a!=b C)a=b D)a=b以下函数调用语句中含有( )实参。Func(exp1,exp2),(exp3,exp4,exp5)A) 1 B) 2 C) 3 D) 4 以下对一维整型数组 a 的正确说明是( )。A) int a(10); B) int n=10, an;C) int n;scanf(“%d“,int a10;D) #define max 10int amax;若有说明:int a34;,则对 a 数组元素正确引用是( )。A) a24 B) a1,3 C
29、) a1+10 D) a(2)(1)若有说明:static int a34;,则数组 a 中各元素( )A)可在程序运行阶段得到初值 0B)可在程序编译阶段得到初值 0C)不能得到确定的初值A)可在程序的运行或编译阶段得到初值 0若有说明 int a3=1,2,3,4,5,6,7;,则 a 数组第一维的大小是( )。A) 2 B)3 C)4 D)无确定值当输出含空格的字符串时,应使用( )函数。A) printf B) puts()C) putchar() D) putc()以下不正确的语句(设有 int q,p)是( )。 A) p*=3; B) p/=q; C) p+=3; D) p设 c
30、har *s;以下正确的表达式是( )。A) s=“computer“ B) *s=“computer“C) *s=“computer“ D) *s=c 在 C 语言中,要求运算数必须是整型的运算符是( )。A) / B) + C) != D) %若 a=1,b=2,c=3,d=4,则条件表达式 a0)|(+j0) a+;printf(“i=%d,j=%d,a=%dn“,i,j,a);A) i=0,j=0,a=6 B) i=1,j=1,a=7C) i=1,j=0,a=7 D) i=0,j=1,a=7设以下程序段int x=0,s=0;while(! x!=0) s+=+x;printf)“%d
31、“,s);则( ) A) 运行程序后输出 0 B) 运行程序后输出 1C) 程序段中的控制表达式是非法的 D) 程序段执行无限次下面程序段中循环体的执行次数是( )a=10;b=0;dob+=2;a-=2+b;while(a=0);A) 3 B) 4 C)5 D)不定下面程序段的功能是将从键盘输入的一对数,由小到大排序输出,当输入一对相等数时结束循环,请选择填空。 #includemain()int a,b,t;scanf(“%d,%dn“,a,b);while_ if(ab)t=a;a=b;b=t;printf(“%d,%dn“,a,b);scanf(%d%d“,A) !a=b B)a!=b
32、 C)a=b D)a=b以下函数调用语句中含有( )实参。Func(exp1,exp2),(exp3,exp4,exp5)A) 1 B) 2C) 3 D) 4 以下对一维整型数组 a 的正确说明是( )。A) int a(10); B) int n=10, an;C) int n;scanf(“%d“,int a10;D) #define max 10int amax;若有说明:int a34;,则对 a 数组元素正确引用是( )。A) a24 B) a1,3 C) a1+10 D) a(2)(1)若有说明:static int a34;,则数组 a 中各元素( )A)可在程序运行阶段得到初值
33、 0B)可在程序编译阶段得到初值 0C)不能得到确定的初值A)可在程序的运行或编译阶段得到初值 0若有说明 int a3=1,2,3,4,5,6,7;,则 a 数组第一维的大小是( )。A) 2 B)3 C)4 D)无确定值当输出含空格的字符串时,应使用( )函数。A) printf B) puts()C) putchar() D) putc()以下不正确的语句(设有 int q,p)是( )。 A) p*=3; B) p/=q;C) p+=3; D) p1、若调用一个函数,且函数中没有 return 语句,则正确的说法是( )。A) 该函数没有返回值B) 返回若干个系统默认值A) 能返回一个
34、用户所希望的函数值A) 返回一个不确定的值2、在 C 语言中,要求运算数必须是整型的运算符是( )。A) / B) + C) != D) %3、若 a=1,b=2,c=3,d=4,则条件表达式 a0)|(+j0) a+;printf(“i=%d,j=%d,a=%dn“,i,j,a);A) i=0,j=0,a=6 B) i=1,j=1,a=7C) i=1,j=0,a=7 D) i=0,j=1,a=711、设以下程序段int x=0,s=0;while(! x!=0) s+=+x;printf)“%d“,s);则( ) A) 运行程序后输出 0 B) 运行程序后输出 1C) 程序段中的控制表达式是
35、非法的 D) 程序段执行无限次12、下面程序段中循环体的执行次数是( )a=10;b=0;dob+=2;a-=2+b;while(a=0);A) 3 B) 4 C)5 D)不定13、下面程序段的功能是将从键盘输入的一对数,由小到大排序输出,当输入一对相等数时结束循环,请选择填空。 #includemain()int a,b,t;scanf(“%d,%dn“,a,b);while_ if(ab)t=a;a=b;b=t;printf(“%d,%dn“,a,b);scanf(%d%d“,A) !a=b B)a!=b C)a=b D)a=b14、以下函数调用语句中含有( )实参。Func(exp1,e
36、xp2),(exp3,exp4,exp5)A) 1 B) 2C) 3 D) 4 15、以下对一维整型数组 a 的正确说明是( )。A) int a(10); B) int n=10, an;C) int n;scanf(“%d“,int a10;D) #define max 10int amax;16、若有说明:int a34;,则对 a 数组元素正确引用是( )。A) a24 B) a1,3 C) a1+10 D) a(2)(1)17、若有说明:static int a34;,则数组 a 中各元素( )A)可在程序运行阶段得到初值 0B)可在程序编译阶段得到初值 0C)不能得到确定的初值A)
37、可在程序的运行或编译阶段得到初值 018、若有说明 int a3=1,2,3,4,5,6,7;,则 a 数组第一维的大小是( )。A) 2 B)3 C)4 D)无确定值19、当输出含空格的字符串时,应使用( )函数。A) printf B) puts()C) putchar() D) putc()20、以下不正确的语句(设有 int q,p)是( )。 A) p*=3; B) p/=q;C) p+=3; D) p1、假设所有变量均为整型,则表达式(a=2,b=5,b+,a+b) 的值是( )。A) 7 B) 8 C) 6 D) 22、在 C 语言中,要求运算数必须是整型的运算符是( )。A)
38、/ B) + C) != D) %3、若 int 类型数据占两个字节,则以下程序的输出为( )。main()int k=-1;Printf(“%d,%un”,k,k);A) -1, -1 B) -1, 32767 C)-1, 32768D) -1, 655354、设有说明:char w; int x; float y; double z; 则表达式 w*x+z-y 值的数据类型为( )。A)float B) char C) int D) double5、若给定条件表达式(x)? (a+):(a-), 则表达式 x ( )。A) 和(x=0)等价 B) 和(x=1)等价C) 和(x!=0)等价
39、D) 和(x!=1)等价6、以下叙述正确的是( )。A) 在 C 语言中,每行只能写一条语句。B) 若 X 是实型变量,C 语言中允许赋值 X=100,因此实型变量中允许存放整型变量。C) 在 C 程序中,%只能用于整数运算的运算符。D) 在 C 程序中,无论是整数还是实数,都能被准确无误地表示。7、若有定义:int a=7; float x=2.5,y=4.7;则表达式 x+a%3*(int)(x+y)%2/4 的值是( )。A) 2.500000 B) 2.750000 C) 3.500000 D) 0.000008、设以下变量均为 int 类型,则值不等于 7 的表达式是( )。A) (
40、x=y=6,x+y,x+1) B) (x=y=6,x+y,y+1)C) (x=6,x+1,y=6,x+y) D) (x=6,x+1,y=x,y+1)9、设 i 和 x 都是 int 类型,则以下 for 循环( )。for(i=0,x=0;i0)|(+j0) a+;printf(“i=%d,j=%d,a=%dn“,i,j,a);A) i=0,j=0,a=6 B) i=1,j=1,a=7C) i=1,j=0,a=7 D) i=0,j=1,a=711、设以下程序段int x=0,s=0;while(! x!=0) s+=+x;printf)“%d“,s);则( ) A) 运行程序后输出 0 B)
41、运行程序后输出 1C) 程序段中的控制表达式是非法的 D) 程序段执行无限次12、下面程序段中循环体的执行次数是( )a=10;b=0;dob+=2;a-=2+b;while(a=0);A) 3 B) 4 C)5 D)不定13、下面程序段的功能是将从键盘输入的一对数,由小到大排序输出,当输入一对相等数时结束循环,请选择填空。 #includemain()int a,b,t;scanf(“%d,%dn“,a,b);while_ if(ab)t=a;a=b;b=t;printf(“%d,%dn“,a,b);scanf(%d%d“,A) !a=b B)a!=b C)a=b D)a=b14、若有说明:
42、int a10;,则对 a 数组元素的正确引用是( )。A) a10 B)a3.5 C)a(5) D)a10-1015、以下对一维整型数组 a 的正确说明是( )。A) int a(10); B) int n=10, an;C) int n;scanf(“%d“,int a10;D) #define max 10int amax;16、若有说明:int a34;,则对 a 数组元素正确引用是( )。A) a24 B) a1,3 C) a1+10 D) a(2)(1)17、以下对二维数组 a 进行初始化的语句错误的是( )A) int a23=0;B) int a3=1,2,0;C) int a
43、23=1,2,3,4,5,6;D) int a3=1,2,3,4,5,6;18、若有说明 int a3=1,2,3,4,5,6,7;,则 a 数组第一维的大小是( )。A) 2 B)3 C)4 D)无确定值19、凡是在 C 语言中函数未指定存储类别的局部变量,其隐含的存储类别为( )。A) 自动 B) 静态 C) 外部 D)寄存器20、变量的指针,其含义是指该变量的( )。A) 值 B)地址 C)名 D)一个标志二、填空题(每小题 2 分,共 10 分)1、以下程序的输出结果为 。main()int i,j,m,n;i=1;j=2;m=+i;n=j+;printf(“%d,%d,%d,%d“,
44、i,j,m,n);2、设 a 和 n 为整型变量,a=10,n=5,则表达式 a*=3+4 的值为 。3、设 x=1,y=2,z=3,则表达式 z|xy a+=a-=a*a;后,a 的值是 。 5、若 int i,j,k; 则计算表达式 x=(i=4,j=16,k=32)后,x 的值为 。6、设 a 和 n 为整型变量,a=10,n=5,则表达式 a+=n/2 的值为 。7、以下程序的输出结果为 。#define s 5.5#define f(x) s*x*xmain()int a=1,b=2;printf(“%4.1fn“,f(a+b);8、设 x=1,y=2,z=3,则表达式 !yprin
45、tf(“%4.1fn“,f(a+b);10、设 a 和 n 为整型变量,a=10,n=5,则表达式 a-=5 的值为 。11、设 x=1,y=2,z=3,则表达式 z|xyprintf(“%d,“,+x);printf(“%xn“,y+); 13、若外部变量定义在主函数之后,一般应该用 来进行外部变量说明。 14、以下程序的输出结果为 。main()int a, b, c = 450;a=c/100%8;b=(-2)printf(“c=%dn“,a+b+c); 15、若 a 为整型变量,a=10,表达式 a+=a+1 的值为 。1、设 x=1,y=2,z=3,则表达式 z|xyprintf(“
46、%d,“,+x);printf(“%xn“,y+); 3、若外部变量定义在主函数之后,一般应该用 来进行外部变量说明。 4、以下程序的输出结果为 。main()int a, b, c = 450;a=c/100%8;b=(-2)printf(“c=%dn“,a+b+c); 5、若 a 为整型变量,a=10,表达式 a+=a+1 的值为 。1、若 int i,j,k; 则计算表达式 x=(i=4,j=16,k=32)后,x 的值为 。 2、若 x,y 均为 int 型变量,则以下语句的输出为 。main()int x=017,y=111;printf(“%d,“,+x);printf(“%xn“,y+); 3、若外部变量定义在主函数之后,一般应该用 来进行外部变量说明。4、以下程序的输出结果为 。#define s 5.5#define f(x) s*x*xm