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


第三章测试

1、若a、b、c、d都是int类型变量且初值为0,以下选项中不正确的赋值语句是()。

A、a=b=c=d=100;

B、d=d-1;

C、a*b;

D、d=(c=30)+b;

正确答案:C

2、以下选项中不是C语句的是()。

A、{inti;printf("%d\n",i);}

B、;

C、a=5,c=10

D、{;}

正确答案:C

3、以下程序的输出结果是()。#include"stdio.h"intmain(){intx=100,y=30;printf("%d\n",y=x/y);return(0);}

A、0

B、1

C、3

D、不确定的值

正确答案:C

4、若变量已正确说明为int类型,要给a、b、c输入数据,以下正确的输入语句是()。

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>intmain(void){inti;floatx;doubley;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>intmain(void){inta=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"intmain(void){charch1,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>intmain(void){charch1,ch2;intn1;ch1=getchar();ch2=getchar();n1=ch2-ch1;printf("%d",n1);return(0);}

A、3

B、-3

C、25

D、编译错误

正确答案:A

11、有以下程序#include<stdio.h>intmain(void){charc1,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>intmain(void){charc1='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、B、10,20,30

C、10.020.030.0

D、10,2030

正确答案:B

14、以下程序的输出结果是()。#include<stdio.h>intmain(void){inta,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=10b=20

D、1020

正确答案: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、若floatx=5;可以对变量x进行%操作,如x%2的值是1。

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

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

正确答案:B

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

A、顺序

B、选择

C、循环

D、回溯

正确答案:D

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

A、1

B、2

C、3

D、4

正确答案:C

19、设inta=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