admin 管理员组

文章数量: 1184232


2023年12月21日发(作者:revive是什么意思啊)

一、单选题:

1、已知ch是字符型变量,下面不正确的赋值语句是( B )。

A、ch=‘0’ B、ch=‘a+b’

C、ch=‘7’+‘9’ D、ch=7+9

2、以下4组用户定义标识符中,全部合法的一组是 (A ) 。

A、s_5 B、If C、txt D、int

about -max REAL

k_2

E2 turbo 3COM

_001

3、C语言中的简单数据类型包括( B )

A、整型、实型、逻辑型 B、整型、实型、字符型、枚举型

C、整型、字符型、逻辑型 D、整型、实型、逻辑型、字符型

4、已知:int i=1,j;执行语句j=-i++;后,j的值是(C )

A、1 B、2 C、-1 D、-2

5、已知:int i=5;执行语句i+=++i;后,i的值是( C )

A、10 B、11 C、12 D、A、B、C答案都不对

7、若x为int型变量, x=6;则执行以下语句后,x的值为( C )。

x+=x-=x*x;

A、 36 B、 60 C、- 60 D、-24

8、设d为字符变量,下列表达式不正确的是( D )。

A、d=’g’ B、d=’a’ C、d=97 D、d=”g”

9、若a=1,b=2,c=3,d=4;则条件表达式 a>b?a:c

A、4 B、3 C、2 D、1

10、printf函数中用到格式符"%8s",其中数字8表示输出的字符串占用8列。

如果字符串长度大于8,则按原字符长从左向右全部输出;如果字符串长度

小于8,则输出方式为( B )。

A、从左起输出该字符串,右补空格 B、 右对齐输出该字符,左补空格

C、按原字符长从左向右全部输出 D、输出错误信息

11、在嵌套的if-else语句中,else总是与( D )配对。

A、其之前最近的if B、第一个if

C、缩进位置相同的if D、其之前最近的且不带else的if

12、一个C语言程序总是从( B )开始执行。

A、程序的第一个函数 B、主函数 C、子函数 D、主程序

13、设x=2.9,a=8,y=3.7,算术表达式x+a%3*(int)(x+y)%5/2的值是 ( A )

A、3.9 B、4 C、4.2 D、3.75

14、程序片段执行后输出结果是 ( A )

int x=5, y=8;

printf ("% d", x

A、5 B、8 C、5,8 D、编译出错

15、下面能正确表示变量a在区间[0,8]或(4,10)内的表达式为:( D

A、a>=0||a<=8||a>4||a<10 B、a>=0&&a<=8&&a>4&&a<10

C、(a>=0||a<=8)&&(a>4||a<10) D、a>=0&&a<=8||a>4&&a<10

)

16、设整型变量a值为9,则下列表达式中使b的值不为4的表达式:( C )。

A、 b=a/2 B、b=a>5?4:2 C、b=a%2 D、b=8-(3,a-5)

17、执行以下语句后b的值为( D )。

int a = 5 , b = 3 , w = 1 , x =2 , y = 3 , z = 4 ;

( a = w > x ) && ( b = y > z ) ;

A、6 B、 0 C、 1 D、3

18、若有说明语句:char c='75';则变量c ( A )。

A、包含1个字符 B、包含2个字符

C、包含3个字符 D、说明不合法,c的值不确定

19、( D )不是C语言提供的合法关键字。

A、switch B、default C、case D、print

20、能表示整数x符合下面两个条件的语句是 ( A )。

(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

21、在C程序中,判逻辑值时,用“非0”表示逻辑值“真”, 又用“0”表示逻辑值“假”。

在求逻辑值时,用()表示逻辑表达式值为“真”, 又用()表示逻辑表达式值为“假”。

( A )

A、1 0 B、0 1 C、非0 非0 D、1 1

22、C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符( C )。

A、必须为大写 B、必须为下划线

C、必须为字母或下划线 D、可以是字母、数字和下划线中的任一种字符

23、设:int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b) && (n=c>d)后n的值为( B ) 。

A、1 B、2 C、3 D、4

24、下列形式的常数中,C程序不允许出现的是( D )。

A、 0.98 B、 6e4 C、 77.6e-2 D、 E8

25、分析以下程序:

void main( )

{ int x=5,a=0,b=0;

if(x=a+b) printf("** **n");

else printf("## ##n");

}以上程序( C )。

A、有语法错,不能通过编译 B、通过编译,但不能连接

C、 输出## ## D、输出** **

26、若有代数式 ,则不正确的C语言表达式是( D )

A、a/b/f*e*5 B、5*a*e/b/f

C、a*e/f/b*5 D、5*a*e/b*f

27、阅读以下程序,当输入数据的形式为:25,13,10,正确的输出结果为( D )。

(“CR”表示回车)

void main( )

{ int x,y,z;

scanf(“%d%d%d”,&x,&y,&z);

printf(“x+y+z=%dn”,x+y+z);

}

A、x+y+z=48 B、x+y+z=35 C、x+z=35 D、不确定值

28、与代数式(x*y)/(u*v) 不等价的C语言表达式是( A )。

A、x*y/u*v B、x*y/u/v C、x*y/(u*v) D、x/(u*v)*y

29、设有程序段

int a=8;

while(a=0) a++;

则下面描述正确的是( C )。

A、while循环执行10次 B、循环是无限循环

C、循环体一次也不执行 D、循环体只执行一次

30、下列循环语句中,执行循环体的次数是( D )。

int i,j;

while(5) printf(“ABC”);

A、5次 B、0次 C、1次

31、下面有关for循环的正确描述是 ( B)

A、for循环只能用于循环次数已经确定的情况

B、for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来

C、在for循环中,不能用break语句跳出循环体

D、for循环是先执行循环体语句,后判断表达式

32、下列说法正确的是 ( C )

A、在执行C程序时不是从main函数开始的

B、C程序书写格式严格限制,一行内必须写一个语句

C、C程序书写格式自由,一个语句可以分写在多行上

D、C程序书写格式严格限制,一行内必须写一个语句,并要有行号

33、设int n=4;则有表达式n++,n的结果是( D )。

A、2 B、3 C、4 D、5

34、下列说法中正确的是 ( C )

A、在switch语句中一定要使用break语句

B、break语句是switch语句的一部分

C、在switch语句中不一定要使用break语句

D、break只能用于switch语句中

35、在C语言程序中,可以用做变量名的是 ( B )

A、 1e5 B、a1 C、 int D、 *p

36、以下符合C语言语法的实型常量是 ( C ) 。

A、1.2E0.5 B、2.15x105 C、5E-3 D、E15

37、在a=2,b=0,c;则执行c=b||a--;语句后,a和c的结果是( D

A、0,1 B、1,0 C、 2,0 D、1,1

38、有以下程序:

void main( )

{ int x=101,y=011;

D、无限)。

printf("%2d,%2dn",x,y);

}

执行后输出结果是 ( C ) 。

A、10, 9 B、101,11 C、101, 9 D、01,11

39、已知 scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);则正确的输入形式是

(B )

A、32,24,36 B、 a=32,b=24,c=36

C、a=32 b=24 c=36 D、 32 24 36.

40、逻辑运算符的运算对象的数据类型( B )。

A、只能是0或1 B、任何类型的数据 C、只能是整型或字符型 D、只能是.T.或.F.

41、若x和y都为float型变量,且x=3.6, y=5.8 执行下列语句后输出结果为( C )。

printf("%f",(x,y));

A、3.600000 B、3.600000,5.800000

C、5.800000 D、输出符号不够,输出不正确值

43、以下程序的输出结果是 ( B )。

void main()

{ int x=10,y=10;

printf("%d %dn",x--,--y);

}

A、 10 10 B、 10 9 C、 9 10 D、 9 9

44、若有如下定义:int a=2,b=3; float x=3.5,y=2.5; 则表达式:

(float)(a+b)/2+(int)x%(int)y的值是( B )。

A、2.500000 B、3.500000 C、4.500000 D、5.000000

45、选择出i的正确运行结果: ( D )。

int i=10;

switch(i)

{

case 9:i+=1;

case 10:i+=1;

case 11:i+=1;

case 12:i+=1;

}

A、 10 B、 11 C、 12 D、 13

46、已知:int x=10,y=3,z=x%y;则下列语句的输出结果是( A )

A、1 B、0 C、2 D、3

47、下面程序的输出结果是 ( A )

void 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

48、下列说法正确的是( B ) 。

A、 一个函数的函数体必须要有变量定义和执行部分,二者缺一不可。

B、 一个函数的函数体可以没有变量定义和执行部分,函数可以是空函数。

C、 一个函数的函数体必须要有执行部分,可以没有变量定义。

D、 以上都不对。

49、判断char型变量ch是否为大写字母的正确表达式是( B )。

A、‘A’<=ch<=‘Z’ B、(ch>=‘A’)&&(ch<=‘Z’)

C、(‘A’<=ch)AND(‘Z’>=ch) D、(ch>=‘A’)&(ch<=‘Z’)

50、在C语言中,多分支选择结构语句为:

switch(a)

{ case 常量表达式1:语句1;

……

case 常量表达式n-1:语句n-1;

default 语句n;

}

其中括号内表达式a的类型:( B )。

A、可以是任意类型 B、可以是整型或字符型

C、可以为整型或实型 D、只能为整型

51、设有以下定义,则能使值为3的表达式是:( C )。

int k=7, x=12;

A、x%=(k%=5) B、x%=(k-k%5) C、(x%=k)-(k%=5)

x%=k

52、有如下程序

void main()

{ float x=2.0,y;

if(x<0.0)y=0.0;

else if(x>10.0)y=1.0/x;

else y=1.0;

printf("%f\n",y);}

该程序的输出结果是 ( D )

A、0.000000 B、0.250000

C、0.500000 D、1.000000

53、下列说法正确的是( B )。

A、输入项可以是一个实型常量,如scanf("%f",4.8)。

B、当输入数据时,必须指明变量的地址,如scanf("%f",&f)。

C、当输入一个实型数据时,格式控制部分应规定小数点后的位数,

如scanf("%5.3f",&f)。

D、只有格式控制,没有输入项也能进行正确输入,如scanf("a=%d,b=%d")。

54、下列运算符中,不属于关系运算符的是( C )。

A、 < B、> = C、 ! D、 ! =

55下列说法正确的是( C )。

A、main函数必须放在C程序的开头。

B、main函数必须放在C程序的最后。

C、main函数可以放在C程序的中间部分,但在执行C程序时是从main函数开始的。、 D

D、main函数可以放在C程序的中间部分,但在执行C程序时是从程序开头执行的。

56、一个C语言程序是由( D )。

A、一个主程序和若干个子程序组成。

B、若干过程组成。

C、若干子程序组成。

D、函数组成, 并且每一个C程序必须且只能有一个主函数。

57、以下选项中属于C语言数据类型( C )。

A、 复数型 B、逻辑型 C、双精度型 D、集合型

58、下列符号中,可以作为变量名的是( C )。

A、+a B、12345e C、a3B D、5e+0

59、下列对C语言特点的描述中,错误的是( A )。

A、C语言不是结构化程序设计语言 B、C语言编程简洁明了

C、C语言功能较强 D、C语言移植性好

60、能够完成如下函数计算的程序段是( B )。

- 1 (x < 0)

y = 0 (x = 0)

1 (x > 0)

A、y = - 1 ; B、if ( x > = 0 )

if ( x != 0 ) if ( x > 0 )

y = 1 ;

if ( x > 0 ) y = 1 ; else y = 0 ;

else y = 0 ; else y = -1 ;

C、y = 0 ; D、y = - 1 ;

if ( x > = 0 ) if ( x > 0 ) y =

1 ;

if ( x > 0 ) y = 1 ; else y = 0 ;

else y = -1

填空题

1. int x=10,n=10;计算表达式x+=n++后x的值为_20_,n的值为_11_。

2. C语言运算符中,优先级最低的是 ,或者(逗号运算符)。

3. 优先级仅高于逗号运算符的是 赋值 或者 (=) 运算符。

4.在16位C环境里,char型变量占__1___个字节,double型占__8___个字节,

int 型变量占__2___个字节,float型占__4___个字节。

5、C语言提供的三种逻辑运算符是 && 、 || 和!

6、利用条件运算符将这两条语句“if (x>y) z=x; else z=y;”转换成与其等价的一条语句是: z=x>y?x:y ;

7、如果int i=1,则printf("%d",-i++)执行后输出是 -1 ,i的结果是 2

8、C语言的格式输出函数是printf( ) , 格式输入函数是__scanf( )__________。

字符数据输出函数是putchar( ) ,字符数据输入函数是getchar( )___ 。

getchar函数的作用是 从键盘上输入一个字符

putchar函数的作用是 向终端(显示器)输出一个字符。

9、_break_语句用在循环体中,可结束本层循环,__contiune__语句用在循环体中,可结束本次

循环。

C程序有三种结构化程序设计方法,分别顺序结构、选择结构和循环结构。

10、C语言中的标识符只能由三种字符组成,它们是_字母_、 _数字、下划线_。

11、void main( )

{ int a=1,b=2,c=3,d=4;

if (a

if (c

else

if (a

if (b

else x=3;

else x=6;

else x=7;

printf ( “%dn”, x ) ;

}运行后的结果是 _____1_____________________ 。

12、设n为int型变量, 请写出描述“n是奇数”的表达式是: n%2!=0

请写出描述“n是偶数”的表达式是: n%2= =0

13、逗号表达式的形式如下: 表达式1,表达式2

则逗号表达式的结果是 表达式2 的值.

14、表达式x=(a=3,6*3)和表达式x=a=3,6*a分别是 赋值 表达式和 逗号

两个表达式执行完的结果是 18 和 18 .执行后x的值分别是

18 , 3

15、void main()

{ int i,j,m,n;

i=8;j=10;

m=++i;n=j++;

printf("%d,%d,%d,%d",i,j,m,n);

} 运行后i,j,m,n的值是 9,11,9,10 .

16、int a=8,b=7,w=2,x=5,y=4,z=3;

(a=w>x)&&(b = y>z); a的值为__0__,b的值为__7__。

int a=-1,b=9; 则执行 ++a&&b--; a的值为 0,b的值为 9 。

int a=0, b=13; 则执行 ++a||b--; a的值为 1,b的值为 13 。

17、循环语句:for(i= - 1;i<7;i++)printf(“#######”);的循环次数是: 8

break语句只能用于 开关 语句和 循环 语句中。

18、在内存中,存储字符′m′要占用1个字节,存储字符串″m″要占用 2 个字节 存储字符′a′要占用1个字节,存储字符串″abcd″要占用 5 个字节

19、若有以下程序段:

int c1=1,c2=2,c3;

c3=1.0/c2*c1;

则执行后,c3中的值是 0

20、编制程序对实数a与b进行加,减,乘,除计算,要求显示如下结果。

jia=70.000000

jian=30.000000

cheng=1000.000000

表达式,

chu=2.5000000

程序:#include

void main(void)

{ (1) double x,y;

x=50.0;y=20.0;

printf("jia=%fn", (2) x+y );

printf("jian=%fn" (3) x-y );

printf("cheng=%fn", (4) x*y );

printf("chu=%fn", (5) x/y );

}

21、C语言规定,不同类型的数据可以在同一表达式中进行混合运算,运算时要进行类型转换。数据的转换方式有两种:一种是自动转换,一种是强制转换。

22、若 x 为int型变量,则逗号表达式(x=4*6,x*6),x+15的结果为 39 ____。

23、设x=5,y=2,则表达式x*=y+8的值为____50_________。

24、void main()

{ int i,j,m,n;

i=1;j=2;m=0;n=0;

m+=i++;

n-= --j;

printf(“%d,%d,%d,%d”,i,j,m,n);

}

运行后i,j,m,n的值是 _2,1,1,-1_________________。

25、下面的程序运行结果为 x=4.800000,i=4

void main()

{ float x;int i;

x=4.8; i=(int)x;

printf("x=%f,i=%d",x,i);

}

1. C 语言源程序文件通过了编译、连接之后 , 生成一个后缀为 .EXE 的文件。 ( √ )

2.在 C 程序中 ,APH 和 aph 代表不同的变量。( √ )

3.表达式 0195 是一个八进制整数。( × )

4.Continue语句的作用是结束本次循环。( √ )

5.C语言中字符串的结束符是’0’。 ( √ )

6.C程序总是从main( ) 函数开始执行的。 (√ )

7.getchar()函数的功能是从键盘上输入一个字符串。 ( × )

8.Continue语句的作用是继续程序中的下一个循环。 ( × )

9.选择结构(if语句)和循环结构都可以使用嵌套形式。( √ )

10.赋值表达式和赋值语句的区别在于有无分号。( √ )


本文标签: 语句 程序 表达式