2021智慧树知到(山东理工大学)《C语言编程新思路》章节测试答案共14章(2)

A、read(a,b,c);

B、get("%d%d%d",a,b,c);

C、scanf("%d%d%d",a,b,c);

D、scanf("%d%d%d",&a,&b,&c);

答案:D

5、以下程序段的输出结果是() #include <stdio.h> int main(void) { int i; float x; double y; y=x=i=10/4; printf("y=%.2f,x=%.2f,i=%d\n",y,x,i); return(0); }

A、y=2.00, x=2.50, i=2

B、y=2.50,x=2.50,i=2

C、y=2.50, x=2.00, i=2

D、y=2.00,x=2.00,i=2

答案:D

6、若变量已正确定义,要将a和b中的数进行交换,下面不正确的语句组是()。

A、a=a+b, b=a-b, a=a-b;

B、t=a, a=b, b=t;

C、a=t; t=b; b=a;

D、t=b; b=a; a=t;

答案:C

7、以下程序的输出结果是()。 #include <stdio.h> int main(void) { int a=4,b=8; printf("a=%%d,b=%%d\n",a,b); /* 注意转义字符的作用 */ return(0); }

A、a=%2,b=%5

B、a=2,b=5

C、a=%%d,b=%%d

D、a=%d,b=%d

答案:D

8、已知字母A的ASCII值为十进制数65,下面程序的输出是()。 #include "stdio.h" int main(void) { char ch1,ch2; ch1='A'+'5'−'3'; ch2='A'+'6'−'3'; printf("%d,%c\n",ch1,ch2); return(0); }

A、67,D

B、67,C

C、B,C

D、C,D

答案:A

9、若从终端输入以下数据,要给变量c赋以340.25,则正确的输入语句是()。

A、scanf(%f”,&c)

B、scanf(%.2f”, &c);

C、scanf(%6.2f”, &c);

D、scanf(%4f”, &c);

答案:A

10、以下程序运行时输入:25<回车>,执行后输出的结果是()。 #include <stdio.h> int main(void) { char ch1,ch2; int n1; ch1=getchar(); ch2=getchar(); n1=ch2-ch1; printf("%d",n1); return(0); }

A、3

B、-3

C、25

D、编译错误

答案:A

11、有以下程序 #include<stdio.h> int main(void) { char c1,c2,c3,c4,c5,c6; scanf("%c%c%c%c",&c1,&c2,&c3,&c4); c5=getchar(); c6=getchar(); putchar(c1); putchar(c2); printf("%c%c\n",c5,c6); return(0); } 程序运行后,若从键盘输入(从第一列开始) abc<回车> def<回车> 则输出结果是()。

A、cdef

B、abef

C、abcd

D、abde

答案:D

12、以下程序段的输出结果是()。 #include <stdio.h> int main(void) { char c1='a',c2='c'; printf("%d,%c\n",c2-c1,c2-c1+'B'); return(0); }

A、2,b

B、3,B

C、2,D

D、类型不一致,出错

答案:C

13、若变量已正确定义为float类型,要通过语句scanf(“%f%f%f”,&a,&b,&c);给a赋值10.0,b赋值20.0,c赋值30.0,不正确的输入形式是()。

A、10 20 30

B、10,20,30

C、10.0 20.0 30.0

D、10,20 30

答案:B

14、以下程序的输出结果是()。 #include <stdio.h> int main(void) { int a,b; a=10; b=20; printf("a=%d\nb=%d\n",a,b); return(0); }

A、10,20

B、a=10,b=20

C、a=10 b=20

D、10 20

答案:C

15、若变量已正确说明,要求用以下语句给a赋值2.0,给c1赋值字符#,给b赋值4.0,则不正确的输入形式是()。scanf(“%f%c%f”, &a, &c1, &b);

A、2.0 # 4.0 ’

B、2.0#4.0 ‘

C、2# 4

D、2.0# 4.0 ,

答案:A

16、以下说法错误的是()。

A、赋值表达式的功能是将赋值运算符右侧的值赋给其左侧的变量。

B、若float x=5;可以对变量x进行%操作,如x%2的值是1。

C、复合语句是用一对花括号括起来的若干条语句,从语法作用上讲一条复合语句视为一条语句。

D、长整型(long int)变量,使用scanf函数输入时,需使用%ld格式符。

答案:B

17、结构化程序设计由三种基本结构组成,下面哪个选项不属于三种基本结构()。

A、顺序

B、选择

C、循环

D、回溯

答案:D

18、下面程序段功能是先输入一个整数,然后将输入的整数输出,请指出哪部分有错()。 #include <stdio.h> // 1 int main(void) { int i; // 2 scanf("%d", i); // 3 printf("i=%d\n ",i); // 4 return(0); }

A、1

B、2

C、3

D、4

答案:C

19、设int a=10,b; ,执行下列语句后,b的值不是2的是()。

A、b=a/4

B、b=a-8

C、b=a/4.0

D、b=a%4

答案:C

20、putchar() 函数可以向终端输出一个()。

A、整型

B、实数

C、字符串

D、字符

答案:D

第四章测试

1、表示关系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

2、若a=5;b=6;c=7;d=8;m=2;n=2;则执行 (m=a>b)&&(n=c>d)后,m和n的值分别为()。

A、2 ,2

B、0,2

C、0,0

D、2.0

答案:B

3、在以下一组运算符中,优先级最高的运算符是()。

A、<=

B、=

C、%

D、&&

答案:C

4、若有int x,a,b;则下面if语句中,()是错误的。

A、if (a=b) x=x+1;

B、if (a<>b) x=x+1;

C、if (a-b) x=x+1;

D、if ( x ) x=x+1;

答案:B

5、下列表达式中,()不满足“当x的值为偶数时值为真,为奇数时值为假”的要求。

A、x%2==0

B、!x%2!=0

C、(x/2*2-x)==0

D、!(x%2)

答案:B

6、关于以下程序,正确的说法是()。 #include <stdio.h> int main(void) {int x=0,y=0,z=0; if(x=y+z) printf("***"); else printf("###"); return(0); }

A、有语法错误,不能通过编译

B、输出:***

C、可以编译,但不能通过连接,所以不能运行

D、输出:###

答案:D

7、下列程序的输出结果是()。 #include <stdio.h> int main(void) { float x=4,y=1; if(x<0) y=0; else if(x<10) y=1/x; else y=10; printf("%f\n",y); return(0); }

A、0.000000

B、10.000000

C、0.250000

D、1.000000

答案:C

8、执行以下程序时,若输入3和4,则输出结果是()。 #include <stdio.h> int main(void) { int a,b,s; scanf("%d%d",&a,&b); s=a; if(a<b) s=b; s=s*s; printf("%d\n",s); return(0); }

A、14

B、16

C、18

D、20

答案:B

9、下列程序的输出结果是()。 #include <stdio.h> int main(void) { int x=1,a=0,b=0; switch(x) { case 0: b=b+1; case 1: a=a+1; case 2: a=a+1;b=b+1; } printf("a=%d,b=%d\n",a,b); return(0); }

A、a=2,b=1

B、a=1,b=1

C、a=1,b=0

D、a=2,b=2

答案:A

10、若有定义:int a=3,b=2,c=1; 并有表达式:①a%b、②a>b>c、③b&&c+1、④c+=1,则表达式值相等的是()。

A、①和②

B、②和③

C、①和③

D、③和④

答案:C

11、当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、4

答案:B

12、在下面的条件语句中(其中S1和S2表示C语言语句),只有一个在功能上与其他3个语句不等价()。

A、if(a) S1; else S2;

B、if(a==0) S2; else S1;

C、if(a!=0) S1; else S2;

D、if(a==0) S1; else S2;

答案:D

13、若有int a=3,b; 则执行下面程序段后b的值是() if(a>0) b=1; else b=-1; b=b+1;

A、1

B、2

C、-1

D、0

答案:B

14、假定所有变量均已正确定义,下面程序段执行后的x的值是()。 a=b=0; x=35; if(!a) x=x-1; if(b) x=3; else x=4;

A、34

B、4

C、35

D、3

答案:B

15、若有说明语句int i=4, j=5, k=6; float f; 则执行f=( i>k)?i:(j<k)?j:k;语句后,f的值为()。

A、4.0

B、5.0

C、6.0

D、7.0

答案:B

16、下述程序的输出结果是() #include <stdio.h> int main (void) { int a=0,b=0,c=0; if((a+1)>0 ||(b>0)) c=c+1; printf("%d,%d,%d",a,b,c); return(0); }

A、0,0,0

B、1,1,1

C、1,0,1

D、0,0,1

答案:D

17、若x=0,则执行下面程序段后,屏幕上会显示()。 if(x=0) printf("***"); else printf("&&&");

A、*** ***

B、&&&

C、***&&&

D、&&&***

答案:B

18、若有int a=10,b=20,c=30; ,执行下面程序段后a、b、c的值分别是()。 if(a>b) c=a; a=b; b=c;

A、10、20、30

B、20、10、10

C、20、30、30

D、20、10、30

答案:C

19、下列程序的输出结果是()。 #include <stdio.h> int main(void) { int k=8; switch(k) { case 7:k+=1; case 8:k+=1; case 9:k+=1;break; default:k+=1; } printf("%d\n",k); return(0); }

A、8

B、9

C、10

D、11

答案:C

20、若有float x; int a,b; ,下面四条switch语句中正确的有()条。 switch(x) { case x=1.0: printf(“Y”); case x=2.0: printf(“N”); } switch(a) { case a=1: printf(“Y”); case a=2: printf(“N”); } switch(b) { case b==1: printf(“Y”); case b==2: printf(“N”); } switch(x) { case 1.0: printf(“Y”); case 2.0: printf(“N”); }

A、1

B、2

C、3

D、4

答案:A

第五章测试

1、以下程序段中while循环执行的次数是()。 int k=0; while(k=1) k++;

A、无限次

B、有语法错不能执行

C、一次也不执行

D、执行一次

答案:A

2、以下描述中正确的是()。

A、由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句

B、do-while循环中由do开始,用while 结束,在while (表达式)后面不能写分号

C、在do-while循环中,循环体至少执行一次

D、do-while循环中,根据情况可以省略while

答案:C

3、在C语言中有关for循环,以下正确的说法是()。

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

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

C、在 for循环不能break跳出循环体

以上相关的更多内容请点击智慧树查看,该题目的答案为网上收集整理仅供参考!

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

大家都在搜

相关推荐:

猜您喜欢