第一章C语言基础知识
一、选择题
1.C语言规定,必须用作为主函数名。
A)Function B)include C)main D)stdio
2.一个C程序可以包含任意多个不同名的函数,但有且仅有一个,一个C 程序总是从开始执行。
A)过程B) 主函数C)函数D)include 3.是C程序的基本构成单位。
A)函数B) 函数和过程C) 超文本过程D) 子程序4.下列说法正确的是。
A)一个函数的函数体必须要有变量定义和执行部分,二者缺一不可
B)一个函数的函数体必须要有执行部分,可以没有变量定义
C)一个函数的函数体可以没有变量定义和执行部分,函数可以是空函数
D)以上都不对
5.下列说法正确的是。
A)main函数必须放在C程序的开头
B)main函数必须放在C程序的最后
C)main函数可以放在C程序的中间部分,但在执行C程序时是从程序开头执行
的
D)main函数可以放在C程序的中间部分,但在执行C程序时是从main函数开始
的
6.下列说法正确的是。
A)在执行C程序时不是从mian函数开始的
B)C程序书写格式严格限制,一行内必须写一个语句
C)C程序书写格式自由,一个语句可以分写在多行上
D)C程序书写格式严格限制,一行内必须写一个语句,并要有行号
7.在C语言中,每个语句和数据定义是用结束。
A)句号B)逗号C)分号D)括号
8.下列字符串是标识符的是。
A)_HJ B)9_student C)long D)LINE 1
9.以下说法正确的是。
A)C语言程序总是从第一个定义的函数开始执行
B)在C语言程序中,要调用的函数必须在main()函数中定义
C)C语言程序总是从main()函数开始执行
D)C语言程序中的main()函数必须放在程序的开始部分
10.不是C语言提供的合法关键字。
A)switch B)print C)case D)default
11.C语言提供的合法关键字是。
A)breack B)print C)funiton D)end
12.C语言提供的合法关键字是。
A)continue B)procedure C)begin D)append
13. C语言规定: 在一个源程序中, main函数的位置。
A) 必须在最开始B) 必须在系统调用的库函数的后面
C) 可以在任意位置D) 必须在源文件的最后
14. 一个C语言程序是由。
A)一个主程序和若干个子程序组成;
B)函数组成, 并且每一个C程序必须且只能由一个主函数;
C)若干过程组成;
D)若干子程序组成.
第二章 C语言程序设计的初步知识
一、选择题
1.在C 语言中,下列类型属于构造类型的是。
A)整型B)字符型C)实型D)数组类型2.在C 语言中,下列类型属于构造类型的是。
A)空类型B)字符型C)实型D)共用体类型3.在C 语言中,下列类型属于构造类型的是。
A)整型B)指针类型C)实型D)结构体类型4.在C 语言中,下列类型属于基本类型的是。
A)整型、实型、字符型B)空类型、枚举型
C)结构体类型、实型D)数组类型、实型
5.下列类型属于基本类型的是。
A)结构体类型和整型B)结构体类型、数组、指针、空类型C)实型D)空类型和枚举类型
6.下列字符串属于标识符的是。
A)INT B)5_student C)2ong D)!DF
7.下列字符串属于标识符的是。
A)_WL B)3_3333 C)int D)LINE 3
8.下列字符串不属于标识符的是。
A)sum B)average C).day_night D)M.D.JOHN 9.下列字符串不属于标识符的是。
A)total B)lutos_1_2_3 C)_night D)$ 123
10.下列字符串不属于标识符的是。
A)_above B)all C)_end D)# dfg
11.C语言中不能用来表示整常数的进制是。
A)十进制B)十六进制C)八进制D)二进制
12.C语言中能用来表示整常数的进制是。
A)十进制、八进制、十六进制B)十二进制、十进制
C)六进制、八进制D)二进制、十进制
13.在C语言中,回车换行符是。
A)\n B)\t C)\v D)\b
14.在C语言中,退格符是。
A)\n B)\t C)\v D)\b
15.在C语言中,反斜杠符是。
A)\n B)\t C)\v D)\ \
16.在ASCII码表中可以看到每个小写字母的ASCII码比它相应的大写字母的ASCII 码。
A)大32 B)大64 C)小32 D)小64
17.设d为字符变量,下列表达式不正确的是。
A)d=97 B)d=?a?C)d=”a”D)d=?g?
18.设d为字符变量,下列表达式正确的是。
A)d=678 B)d=?a?C)d=”d”D)d=?gjkl?
19.10+?a?+1.5-567.345/?b?的结果是型数据。
A)long B)double C)int D)unsigned float
20.语句int i=3;k=(i++)+(i++)+(i++);执行过后k的值为,i的值为。
A)9,6 B)12,5 C)18,6 D)15,5
21.如果i=3,则k=(i++)+(++i)+(i++)执行过后k的值为,i的值为。
A)12,6 B)12,5 C)18,6 D)15,5
22.如果i=3,则k=(++i)+(++i)+(i++)执行过后k的值为,i的值为。
A)15,6 B)12,5 C)18,6 D)15,5
23.如果i=3,则k=(++i)+(++i)+(++i)执行过后k的值为,i的值为。
A)9,6 B)12,5 C)18,6 D)15,5
24.如果int i=3,则printf(“%d”,-i++)的结果为,i的值为。
A)-3,4 B)-4,4 C)-4,3 D)-3,3
25.如果int i=3,int j=4,则k=i+++j执行之后k,i和j的值分别为。
A)7,3,4 B)8,3,5 C)7,4,4 D)8,4,5
26.已知在ASCII字符集中,数字0的序号为48,下面程序的输出结果为。
main()
{char x,y;
x=?0?;y=?9?;
printf(“%d,%d\n”,x,y);
}
A)因输出格式不合法,输出错误信息B)48,57
C)0,9 D)48,58
27.已知在ASCII字符集中,字母A的序号为65,下面程序的输出结果为。main()
{char c=?A?;int i=10;
c=c+10;
i=c%i;
printf(“%c,%d\n”,c,i);
}
A)75,7 B)75,5
C)K,5 D)因存在非图形字符,无法直接显示出来
28.已知在ASCII集中,字母A的序号为65,下面程序的输出结果为。main()
{char c1=?B?,c2=?Y?;
printf(“%d,%d\n”,++c1,--c2);
}
A)输出格式不合法,输出错误信息B)67,88
C)66,89 D)C,X
29.C语言中最简单的数据类型包括。
A)整型,实型,逻辑型B)整型,实型,字符型
C)整型,字符型,逻辑型D)整型,实型,逻辑型,字符型
30.C语言中,运算对象必须是整型数的运算符是。
A)% B)\ C)% 和\ D)**
31..下列常数中,合法的C 常量是。
A)-0. B)?105?C)?AB?D)3+5
32.下列常数中,合法的C 常量是。
A)”x-y”B)?105?C)?Be?D)7ff
33.下列常数中,合法的C 常量是。
A)?\n?B)e-310 C)?DEF?D)?1234?
34.下列常数中,不合法的C 常量是。
A)-0x2al B)lg3 C)?[?D]”CHINA”
35.下列常数中,不合法的C 常量是。
A)-0x3bl B)123e+2.3 C)?}?D)6e+7
36.下列符号中,可以作为变量名的是。
A)+a B)12345e C)a3B D)5e+0
37.下列符号中,可以作为变量名的是。
A)+c B)*X C)_DAY D)next day
38.下面程序的输出结果是。
main()
{int x;
x=-3+4*5-6;printf(“%d”,x);
x=3+4%5-6; printf(“%d”,x);
x=-3*4%-6/5; printf(“%d”,x);
x=(7+6)%5/2; printf(“%d”,x);
}
A)11 1 0 1 B)11 –3 2 1
C)12 –3 2 1 D)11 1 2 1 39.下面程序的输出结果是。
mian()
{int x=2,y=0,z;
x*=3+2; printf(“%d”,x);
x*=y=z=4; printf(“%d”,x);
}
A)8 40 B)10 40
C)10,4 D)8,4
40.下面程序的输出结果是。
main()
{int x=2,y=0,z;
x+=3+2; printf(“%d”,x);
x*=y=z=4; printf(“%d”,x);
}
A)7 28 B)无法计算C)7,4 D)8,4 41.下面程序的输出结果是。
main()
{int x=4,y=0,z;
x*=3+2; printf(“%d”,x);
x*=y= =(z=4); printf(“%d”,x);
}
A)14 40 B)20 0 C)20 4 D)14 4 42.下面程序的输出结果是。
main()
{int i,j;
i=16;j=(i++)+i;printf(“%d”,j);
i=15;printf(“%d %d”,++i,i);
}
A)32 16 15 B)33 15 15
C)34 15 16 D)34 16 15
43.在C语言中,以下合法的字符常量是。
A)'\084' B)'\x43' C)'0' D)"\0"
44.若已定义X和Y为double类型,则表达式:x=1,y=x+3/2的值为。
A)1 B)2 C)2.0 D)2.5
45.下列程序的执行结果是。
#include
#define sum 10+20
main()
{
int b=0,c=0;
b=5;
c=sum*b;
printf("%d",c);
}
A)100 B)110 C)70 D)150
46..下列程序的执行结果是。
#include
#define sum(10+20)
mian()
{
int a=0,b=0,c=0;
a=sum;
b=5;
c=sum*b;
printf("%d",c);
}
A)100 B)110 C)70 D)150
47.表达式(int)2.1416的值为。
A)2 B)2.1 C)0 D)3
48.表达式(double)(20/3)的值为。
A)6 B)6.0 C)2 D)3
49. 在下面几组数据类型中, 全是基本数据类型是哪一组。
A)整型实型字符型B)整型数组指针
C)数组结构体共用体D)指针逻辑型空类型
50. 以下说法正确的是。
A)在C程序中, 每行只能写一条语句.
B)在C程序中, 无论是整数还是实数, 其存放形式都一致.
C)在C程序中, %是只能用于整数运算的运算符.
D)在C程序中, 变量可以不必先定义就可使用.
51. 假设所有变量均为整型, 则表达式( a=5, b=2, a++, a+b ) 的值是。
A)8 B)7
C)6 D)5
52. 若有以下定义, 则正确的赋值语句为。
int a, b ;
float x;
A)a=1, b=2, B)b++;
C)a=b=5 D)b= int (x) ;
53. .C语言规定标识符由等字符组成.
A)字母数字下划线B)中划线字母数字
C)字母数字逗号D)字母下划线中划线
54. 若有如下定义:int a=2,b=3; float x=3.5,y=2.5; 则表达式:
(float)(a+b)/2+(int)x%(int)y的值是。
A)2.500000 B)3.500000 C)4.500000 D)5.000000
55. 以下表达式: 2+?a?+i*f, 其中i为整型变量,f为float型变量,则表达式的最终数据类型为。
A)int B)float C)char D)double
56. 若有:int a,b=2;则a=(b*100+1.5,100)则a的值是。
A)100 B)100.5 C)200.5 D)300.5
57. 有如下语句:
printf(“%s,%5.3s\n”,“COMPUTER”,“COMPUTER”);
执行语句后的最终结果为。
A)COMPUTER ,CMP . B)COMPUTER, CMP.
C)COMPU, CMP. D)COMPU, CMP
58.已知ch是字符型变量,下面不正确的赋值语句
是:。
A)ch=…\0? B)ch=…a+b?
C)ch=…7?+…9? D)ch=7+9
59.若x和y都为float型变量,且x=3.6, y=5.8 执行下列语句后输出结果为:。
printf(“%f”,(x,y));
A)3.600000 B)5.800000
C)3.600000,5.800000 D)输出符号不够,输出不正确值
60.设变量a是整型,变量f是实型,变量I是双精度型,则表达式10 + …a?+I * f 值
的数据类型:。
A)int B)float C)double D)不确定
61. 已知字母A的ASCII码为十进制65,下面程序段的运行结果为:。
char ch1,ch2;
ch1= …A?+5-3; ch2= …A?+6-3;
printf(“%d, %c\n”, ch1,ch2);
A)67, D B)B, C C)C, D D)不确定值
62.以下不正确的C语言标识符是。
A)ABC B)abc C)a_bc D)ab.c
63.设x、y均为float型变量,则以下不合法的赋值语句是。
A)+ + x; B)y = ( x%2 ) / 10;
C)x *= y + 8; D)x = y = 0;
64.若有说明语句:char c= …\64? ;
则变量C包含:。
A)1个字符B)2个字符
C)3个字符D)说明不合法,C值不确定。
65.表达式18/4*sqrt(4.0)/8值的数据类型为。
A)int B)float C)double D)不确定
66.设整型变量a值为9,则下列表达式中使b的值不为4的表达式:。
A)b=a/2 B)b=a%2
C)b=8-(3,a-5) D)b=a>5?4:2
67.设有以下定义,则能使值为3的表达式是:。
int k=7, x=12;
A)x%=(k%=5) B)x%=(k-k%5)
C)x%=k D)(x%=k)-(k%=5)
68.以下选项中是C语言的数据类型的是:。
A)复数型B)逻辑型
C)双精度型D)集合型
第三章顺序结构程序设计
一、选择题
1.C语言中调用printf进行输出时需要注意,在格式控制串中,格式说明与输出项的个数必须相同。如果格式说明的个数小于输出项的个数,多余的输出项将;如果格式说明的个数多于输出项的个数,则对于多余的格式将输出不定值(或0)。
A)不予输出B)输出空格
C)照样输出D)输出不定值或0
2.在scanf函数的格式控制中,格式说明的类型与输入的类型应该一一对应匹配。如果类型不匹配,系统。
A)不予接收
B)并不给出出错信息,但不可能得出正确信息数据
C)能接受正确输入
D)给出出错信息,不予接收输入
3.下列说法正确的是。
A)输入项可以是一个实型常量,如scanf("%f",4.8);
B)只有格式控制,没有输入项也能进行正确输入,如scanf("a=%d,b=%d");
C)当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf("%5.3f",&f);
D)当输入数据时,必须指明变量的地址,如scanf("%f",&f);
4.根据题目中已给出的数据的输入和输出形式,程序中输入/输出语句的正确是
。
main()
{
int a;float x;
printf("input a,x:");
输入语句
输出语句
}
输入形式input a,x:3 2.1
输出形式a+x=5.10
A)scanf("%d,%f",&a,&x);
printf("\na+x=%4.2f",a+x);
B)scanf("%d %f",&a.&x);
printf("\na+x=%4.2f",a+x);
C)scanf("%d %f",&a,&x);
printf("\na+x=%6.1f",a+x);
D)scanf("%d %3.1f",&a,&x);
printf("\na+x=%4.2f",a+x);
5.以下程序的输出结果是。
main()
{
int i=010,j=10,k=0x10;
printf("%d,%d,%d\n",i,j,k);
A)8,10,16 B)8,10,10 C)10,10,10 D)10,10,16
6.以下程序的输出结果是。
main()
{
int i=011,j=11,k=0x11;
printf("%d,%d,%d\n",i,j,k);
}
A)9,11,17 B)9,11,11 C)11,11,11 D)11,11,16
7.以下程序的输出结果是。
#include
main()
{printf("%d\n",NULL);}
A)不确定的值(因变量无定义)B)0
C)-1 D)1
8.以下程序的输出结果是。
main()
{
char c1='6',c2='0';
printf("%c,%c,%d,%d\n",c1,c2,c1-c2,c1+c2);
}
A)因输出格式不合法,输出出错信息B)6,0,6,102
C)6,0,7,6 D)6,0,5,7
9.设有如下定义
int x=10,y=3,z;
则语句
printf("%d\n",z=(x%y,x/y));
的输出结果是。
A)3 B)0 C)4 D)1
10.设有如下定义
int x=10,y=5,z;
则语句
printf("%d\n",z=(x+=y,x/y));
的输出结果是。
A)1 B)0 C)4 D)3
11.以下程序的输出结果是。
main()
{int x=10,y=10;
printf("%d %d\n",x--,--y);
}
A)10 10 B)9 9 C)9 10 D)10 9
12.写出下面程序的输出结果。
main()
{int x;
x=-3+4*5-6;printf("%d",x);
x=3+4%5-6;printf("%d",x);
x=-3*4%6/5;printf("%d",x);
x=(7+6)%5/2;printf("%d",x);
}
A)11 1 0 1 B)11 -3 2 1 C)12 -3 2 1 D)11 1 2 1
13.写出下面程序的输出结果。
main()
{
int x,y,z;
x=y=1;
z=x++-1;printf("%d,%d\t",x,z);
z+=-x++ +(++y);printf("%d,%d",x,z);
}
A)2,0 3,0 B)2,1 3,0 C)2,0 2,1 D)2,1 0,1
14.写出下面程序的输出结果。
main()
{
int i,j;
i=20;j=(++i)+i;printf("%d",j);
i=13;printf("%d %d),i++,i);
}
A)42 14,13 B)41 14,14 C)42 13 13 D)42 13 14
15.若有定义:int x,y;char a,b,c;并有以下输入数据(此处,
1 2
A B C
则能给x赋整数1,给y赋整数2,给a赋字符A,给b赋字符B,给c赋字符C的正确程序段是。
A)scanf("x=%dy=%d",&x,&y);a=getchar();b=getchar();c=getchar();
B)scanf("%dy%d",&x,&y);a=getchar();b=getchar();c=getchar();
C)scanf("%d%d%c%c%c%c%c%c",&x,&y,&a,&a,&b,&b,&c,&c);
D)scanf("%d%d%c%c%c",&x,&y,&a,&b,&c);
16.若已知a=10,b=20,则表达式!a
A)10 B)20 C)1 D)0
17.printf函数中用到格式符"%4s",其中数字4表示输出的字符串站用4列。如果字符串长度大于4,则按原字符长从左向右全部输出;如果字符串长度小于4,则输出方式为。
A)从左起输出该字符串,右补空格B)按原字符长从左向右全部输出
C)右对齐输出该字符,左补空格D)输出错误信息
18.以下C程序,正确的运行结果是。
main()
{
long y=-34567;
printf("y=%-8ld\n",y);
printf("y=%-08ld\n",y);
printf("y=%08ld\n",y);
printf("y=%+8ld\n",y);
}
A)y= -34567 B)y=-34567
y=- 34567 y=-34567
y=-0034567 y=-0034567
y=-34567 y=+ -34567
C)y=-34567 D)y= -34567
y=-34567 y=-0034567
y=-0034567 y=00034567
y=-34567 y=+34567
19. C程序的基本编译单位是。
A)函数B)文件C)源文件D)子程序
20.设有如下定义和执行语句,其输出结果为:。
int a=3,b=3;
a = --
b + 1; printf(“%d %d”,a,b);
A)3 2 B)4 2 C)2 2 D)2 3
21.根据定义和数据的输入方式,输入语句的正确形式为:。已有定义:float a1, a2;
数据的输入方式: 4.523
3.52
A)scanf(“%f %f ”, &a1,&a2);
B)scanf(“%f ,%f ”, a1, a2);
C)scanf(“%4.3f ,%3.2f ”, &a1,&a2);
D)scanf(“%4.3f %3.2f ”, a1,a2);
22.以下程序的输出结果是:。
main( )
{ int I=012, j=12, k=0x12;
printf(“%d,%d,%d\n”,I, j, k );
A)10, 12, 18 B)12, 12, 12
C)10, 12, 12 D)12, 12, 18
23. 以下程序的输出结果是:(注:▂表示空格)。
main( )
{ printf(“\n*s1=%8s*”, “china”);
printf(“\n*s2=%-5s*”, “chi”) ; }
A)*s1=china▂▂▂* B)*s1=china▂▂▂* *s2=chi* *s2=chi▂▂*
C)*s1=▂▂▂china* D)*s1=▂▂▂china*
*s2=▂▂chi * *s2=chi▂▂*
第四章选择结构程序设计
一、选择题
1.下列运算符中优先级最高的是。(0级)
A)> B)+ C)&& D)!= 2.以下关于运算符优先级的描述中,正确的是。(0级)
A)!(逻辑非)>算术运算>关系运算>&&(逻辑与)>||(逻辑或)>赋值运算B)&&(逻辑与)>算术运算>关系运算>赋值运算
C)关系运算>算术运算>&&(逻辑与)>||(逻辑或)>赋值运算
D)赋值运算>算术运算>关系运算>&&(逻辑与)>||(逻辑或)
3.逻辑运算符的运算对象的数据类型。(0级)
A)只能是0或1 B)只能是.T.或.F.
C)只能是整型或字符型D)任何类型的数据4.能正确表示x的取值范围在[0,100]和[-10,-5]内的表达式是。
A)(x<=-10)||(x>=-5)&&(x<=0)||(x>=100)
B)(x>=-10)&&(x<=-5)||(x>=0)&&(x<=100)
C)(x>=-10)&&(x<=-5)&&(x>=0)&&(x<=100)
D)(x<=-10)||(x>=-5)&&(x<=0)||(x>=100)
5.以下程序的运行结果是。
main( )
{
int c,x,y;
x=1;
y=1;
c=0;
c=x++||y++;
printf(“\n%d%d%d\n”,x,y,c);
}
A)110 B)211 C)011 D)001 6.以下程序的运行结果是。
main( )
{
int c,x,y;
x=0;
y=0;
c=0;
c=x++&&y++;
printf(“\n%d%d%d\n”,x,y,c);
}
A)100 B)211 C)011 D)001
7.判断字符型变量ch为大写字母的表达式是。
A)?A?<=ch<=?Z?B)(ch>=?A?)&(ch<=?Z?)
C)(ch>=?A?)&&(ch<=?Z?)D)(ch>=?A?)AND(ch<=?Z?)
8.判断字符型变量ch为小写字母的表达式是。
A)?a?<=ch<=?z?B)(ch>=a)&&(ch<=z)
C)(ch>=?a?)||(ch<=?z?)D)(ch>=?a?)&&(ch<=?z?)
9.以下if语句书写正确的是。
A)if(x=0;)B)if(x>0)
printf(”%f”,x); {x=x+1; printf(”%f”,x);}
else printf(”%f”,-x); else printf(”%f”,-x);
C)if(x>0);D)if(x>0)
{x=x+1; printf(”%f”,x);} {x=x+1; printf(”%f”,x) }
else printf(”%f”,-x); else printf(”%f”,-x);
10.分析以下程序:
main( )
{ int x=5,a=0,b=0;
if(x=a+b) printf(“** **\n”);
else printf(“## ##\n”);
以上程序。
A)有语法错,不能通过编译B)通过编译,但不能连接
C)输出** ** D)输出## ##
11.两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是。main( )
{ int x;
scanf(“%d”,&x);
if(x++>5) printf(“%d”,x);
else printf(“%d\n”,x--);
}
A)7和5 B)6和3 C)7和4 D)6和4
12.写出下面程序的执行结果。
main( )
{int x,y=1;
if(y!=0) x=5;
printf(“%d\t”,x);
if(y= =0) x=3;
else x=5;
printf(“%d\t\n”,x);
}
A)1 3 B)1 5 C)5 3 D)5 5 13.写出下面程序的执行结果。(2级)
main()
{int x=1,y=1,z=0;
if(z<0)
if(y>0) x=3;
else x=5;
printf("%d\t",x);
if(z=y<0) x=3;
else if(y= =0 ) x=5;
else x=7;
printf("%d\t",x);
printf("%d\t",z);
}
A)1 7 0 B)3 7 0 C)5 5 0 D)1 5 1 14.假定所有变量均已正确说明,下列程序段运行后x的值是。
a=b=c=0;x=35;
if(!a) x=-1;
else if(b);
if(c) x=3;
else x=4;
A)34 B)4 C)35 D)3 15.写出下面程序的运行结果是。(2级)
main()
{int x,y=1,z;
if(y!=0) x=5;
printf("x+%d\t",x);
if(y= =0) x=3;
else x=5;
printf("x=%d\t\n",x);
x=1;
if(z<0)
if(y>0)x=3;
else x=5;
printf("x=%d\t\n",x);
if(z=y<0)x=5;
else x=7;
printf("x=%d\t",x);
printf("%d\t\n",z);
if(x=y=z)x=3;
printf("x=%d\t",x);
printf("z=%d\t\n",z);
}
A)x=5 x=5 B)x=5 x=5 x=1 x=1
x=7 z=0 x=5 z=0
x=3 z=1 x=3 z=0 C)x=5 x=5 D)x=5 x=5 x=5 x=1
x=7 z=0 x=7 z=0
x=3 z=1 x=3 z=0 16.若有以下函数关系
x<0 →y=2x
x>0 →y=x
x=0 →y=x+1
下面程序段能正确表示以上关系的是。(2级)
A)y=2x; B)y=2x;
if(x!=0) if(x<=0)
if(x>0)y=x; if(x= =0) y=x+1;
else y=x+1; else y=x;
C)if(x>=0) (D)y=x+1;
if(x>0) y=x; if(x<=0)
else y=x+1; if(x<0) y=2x;
else y=2x; else y=x; 17.若有以下变量定义:
float x; int a,b;
则正确的switch语句是。
A)switch(x)
{ case 1.0:printf("*\n");
case 2.0:printf("* *\n");
}
B)switch(x)
{ case 1,2:printf("*\n");
case 3:printf("* *\n");
}
C)switch(a+b)
{ case 1:printf("*\n");
case 2*a:printf("* *\n");
}
D)switch(a+b)
{ case 1:printf("*\n");
case 1+2:printf("* *\n");
}
18. 以下关于运算符优先顺序的描述正确的是。
A)关系运算符<算术运算符<赋值运算符<逻辑运算符
B)逻辑运算符<关系运算符<算术运算符<赋值运算符
C)赋值运算符<逻辑运算符<关系运算符<算术运算符
D)算术运算符<关系运算符<赋值运算符<逻辑运算符
19. 能正确表示a>=10或a<=0的关系表达式是。
A)a>=10 or a<=0 B)a>=10 | a<=0
C)a>=10 && a<=0 D)a>=10 | | a<=0
20. 以下不正确的if 语句形式是。
A)if ( x > y && x != y ) ;
B)if ( x = = y ) x + = y ;
C)if ( x != y ) scanf ( “%d”, &x) else scanf ( “%d”, &y);
D)if ( x < y ) { x++; y++;}
21. 当a = 1, b = 3 , c = 5, d = 4 时, 执行完下面程序段后x 的值为。if ( a < b )
if ( c < d ) x = 1 ;
else
if ( a < c )
if ( b < d ) x =2 ;
else x = 3 ;
else x = 6 ;
else x = 7 ;
A)1 B)2 C)3 D)6
22. 以下if语句中语法错误的是。
A)if (a>b)printf(“%f”,a); B)if(a>b)printf(“%f”,a);
else printf(“%f”,b);
C)if(a>b)printf(“%f”,a) D)if(a>b)printf(“%f”,b);
else printf(“%f”,b); else printf(“%f”,a);
23. 能表示整数x符合下面两个条件的语句是。
(1)“能被4整除,但不能被100整除”.(2)能被4整除,又能被400整除.
A)(x%4==0&&x%100!=0)||x%400==0
B)(x%4==0||x%100!=0)&&x%400==0
C)(x%4==0&&x%400!=0)||x%100==0
D)(x%100==0||x%4!=0)&&x%400==0
24.设有如下定义:char ch=?z?,则执行下面语句
后变量ch是值为:。
ch=(…A?<=ch&&ch<=…Z?)?(ch+32):ch
A)A B)a C)Z D)z
25.若I为整型变量,则下列程序段的运行结果为。
I=322;
if(I%2==0) printf(“#####”)
else printf(“*****”);
A)##### B)#####*****
C)***** D)有语法错误,无法输出结果
26.已知int x=30,y=50,z=80;以下语句执行后变量x、y、z的值分别为:。
if (x>y||x
z=x; x=y; y=z;
A)x=50, y=80, z=80 B)x=50, y=30, z=30
C)x=30, y=50, z=80 D)x=80, y=30, z=50
27. C语言中,要求运算对象必须是整型的运算符是:。
A)> B)++ C)% D)!=
28.已知int x=30,y=50,z=80;以下语句执行后变量x、y、z的值分别为:。if (x>y||x
{ z=x; x=y; y=z; }
A)x=50, y=80, z=80 B)x=50, y=30, z=30
C)x=30, y=50, z=80 D)x=80, y=30, z=50
29. 以下程序的输出结果是。
main( ) {int x=2,y=-1,z=2;
if (x printf(“%d\n”,z); } A)3 B)2 C)1 D)0 30.设a、b和c是int型变量,且a=2,b=4,c=6,则下面表达式中值为0的是:。 A)‘a’+ …b?B)a<=b C)a||b+c&&b-c D)!( (a 31. 在C的if语句中,可用作判断的表达式是:。 A)关系表达式B)逻辑表达式 C)算术表达式D)任意表达式 32.下面能正确表示变量a在区间[0,5]或(6,10)内的表达式为:。