C语言程序设计 菏泽学院 黄复贤

第3讲测验

1【单选题】

假设字符变量ch中存放有小写英文字母,将其转换为相应的大写英文字母的表达式是 ( ) 。

A、ch = ch-'a'+'A'

B、ch = ch+32

C、tolower(ch)

D、ch -= 'a'+'A'

正确答案:A

2【单选题】

若x为浮点型,则表达式x=10/4为( )。

A、2.5

B、2.0

C、2

D、3

正确答案:B

3【单选题】

若有定义“char a; int b; float c; double d;”,则表达式“a*b+d-c”值的类型为____。

A、float

B、int

C、char

D、double

正确答案:D

4【单选题】

若" int n; float f=13.8; ",则执行"n=(int)f%3"后,n的值是( )。

A、1

B、4

C、4.33333

D、4.6

正确答案:A

5【单选题】

若变量已正确定义,表达式 (j=3, j++) 的值是____。

A、3

B、4

C、5

D、6

正确答案:A

6【单选题】

对于数学表达式2x+(a+b)÷3sinx,对应的C表达式是( )

A、2x+(a+b)/3sin(x)

B、2x+(a+b)/(3sin(x))

C、2*x+(a+b)/3/sin(x)

D、2*x+(a+b/3/sin(x))

正确答案:C

7【单选题】

设有定义“int k = 0;”,下列选项的4个表达式中与其他3个表达式的值不相同的是____。

A、k++

B、k+=1

C、++k

D、k+1

正确答案:A

8【单选题】

下列关于单目运算符++、--的叙述正确的是____。

A、它们的运算对象可以是任何变量和常量

B、它们的运算对象可以是char型变量和int型变量,但不能是float型变量

C、它们的运算对象可以是int型变量,但不能是double型变量和float型变量

D、它们的运算对象可以是char型变量、int型变量和float型变量

正确答案:D

9【单选题】

设a和b均为double型变量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是( )。

A、6.500000

B、6

C、5.500000

D、6.000000

正确答案:D

10【单选题】

设变量x为float型且已赋值,则以下语句中能将x中的数值保留到小数点后两位,并将第三位四舍五入的语句是( )。

 

A、x=x*100+0.5/100.0

B、x=(x*100+0.5)/100.0

C、x=(int)(x*100+0.5)/100.0

D、x=(x/100+0.5)*100.0

正确答案:C

11【填空题】

对程序填空,程序中a、b、c代表一元二次方程的三个系数,要求输出方程的两个根。

main()

{

int a=1, b=3, c=2;

printf("x1=%f \n", 第1空 );

printf("x2=%f\n", 第2空 );

}

正确答案:

第一空:

(-b+sqrt(b*b-4*a*c))/(2*a)

第二空:

(-b-sqrt(b*b-4*a*c))/(2*a)

选择-测验

1【单选题】

以下程序运行时,输入的x值在( )范围时才会有输出结果。

843bed4b-676f-4caa-8123-b4e56d11f3a0.png

A、不等于10的整数

B、大于3且不等于10的整数

C、大于3且等于10的整数

D、小于3的整数

正确答案:B

2【单选题】

判断 i 和 j 至少有一个值为非0的表达式是____。

A、i!=0 && j!=0

B、i+j!=0

C、i || j

D、i&&j

正确答案:C

3【单选题】

表达式__不能用于判断“x和y不同时为零”。

A、x!=0 || y!=0

B、x || y

C、!(x==0 || y==0)

D、!(x==0 && y==0)

正确答案:C

4【单选题】

表达式8>6>3值是( )。

A、0

B、1

C、3

D、表达式语法错

正确答案:A

5【单选题】

为表示关系x≥y≥z,应使用C语言表达式( )。

A、(x>=y)&&(y>=z)

B、(x>=y)AND(y>=z)

C、(x>=y>=z)

D、(x>=y)&(y>=z)

正确答案:A

6【单选题】

表达式(x%3)等价于表达式( )。

A、x%3 == 2

B、x%3 != 0

C、x%3 == 1

D、x%3 == 0

正确答案:B

7【单选题】

如果要求在if后一对括号中的表达式在表示a 不等于 0 的时候的值为“真”,则能正确表示这一关系的表达式为( )。

A、a<>0

B、!a

C、a=0

D、a

正确答案:D

8【单选题】

设变量已正确定义,以下( )与其它switch语句不等价。

A、switch(op){

case '+': printf("%d\n", value1 + value2); break;

case '-': printf("%d\n", value1 - value2); break;

case '*': printf("%d\n", value1 * value2); break;

default: printf("Error\n"); break;

}

B、switch(op){

default: printf("Error\n"); break;

case '*': printf("%d\n", value1 * value2); break;

case '-': printf("%d\n", value1 - value2); break;

case '+': printf("%d\n", value1 + value2); break;

}

C、if(op != '+' && op != '-' && op != '*'){

printf("Error\n");

}else{

switch(op){

case '+': printf("%d\n", value1 + value2); break;

case '-': printf("%d\n", value1 - value2); break;

case '*': printf("%d\n", value1 * value2); break;

}

}

D、switch(op){

case '+': printf("%d\n", value1 + value2); break;

case '-': printf("%d\n", value1 - value2); break;

case '*': printf("%d\n", value1 * value2); break;

}

正确答案:D

9【单选题】

以下关于switch语句和break语句的描述中正确的是( )

A、在switch语句中必须使用break语句

B、break语句只能用于switch语句体中

C、break语句只能用于循环语句中

D、在switch语句中可以不使用break语句

正确答案:D

10【单选题】

下列程序段的输出结果是

#include <stdio.h>

int main(void)

{

int m, k = 0, s = 0;

for (m = 1; m <= 4; m++) {

switch (m % 4) {

case 0:

case 1: s += m; break;

case 2:

case 3: s -= m; break;

}

k += s;

}

printf("%d\n", k);

return 0;

}

A、10

B、-2

C、-4

D、-12

正确答案:C

声明:本站所有文章,如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。