C语言程序设计(黑龙江工程学院) 智慧树答案2024版100分完整版

乐姐苦典炽涂阜厕冷平很涎岛

袄韶矾凰何枪窗帽含闺娠铜舵

第一章 单元测试

 

1、

人类通过不同的语言进行交流,人与计算机的交流是通过()来实现的。

A:程序设计语言
B:自然语言
C:文字
D:机械操作
答案: 程序设计语言

2、

高级语言处于程序设计语言发展的第()个阶段 。

A:三
B:二
C:四
D:一
答案: 三

3、

C语言的创始人是()。

A:肯·汤普逊
B:丹尼斯·里奇
C:比尔·盖茨
D:冯·诺依曼
答案: 丹尼斯·里奇

4、

C语言源程序中main函数()。

A:可有多个
B:可以有一个
C:有且只能有一个
D:可有可无
答案: 有且只能有一个

5、

C语言源程序文件扩展名为()。

A:cpp
B:obj
C:c
D:exe
答案: c

6、
下列说法中不正确的是(  )。

A:C程序书写时,一个语句可分成几行书写
B:C程序书写时,区分大小写字母
C:C程序书写时,一行可以写多个语句
D:C程序书写时每行必须有行号
答案: C程序书写时每行必须有行号

7、

C语言是结构化语言。

A:对
B:错
答案: 对

8、
C语言是面向对象语言。

A:错
B:对
答案: 错

9、

C语言是面向过程语言。

A:错
B:对
答案: 对

10、

开发C语言程序包括编辑源程序、编译、运行三个步骤。

A:对
B:错
答案: 错

第二章 单元测试

1、

表达式:(int)((double)9/2)-9%2 的值是_____

A:3
B:5
C:0
D:4
答案: 3

2、

以下选项中关于 C 语言常量的叙述错误的是_______

A:常量分为整型常量、实型常量、字符常量和字符串常量

B:所谓常量,是指在程序运行过程中,其值不能被改变的量 

C:常量可分为数值型常量和非数值型常量

D:经常被使用的变量可以定义成常量

答案: 经常被使用的变量可以定义成常量

3、

以下选项中,能用作用户标识符的是________

A:8_8

B:void

C:unsigned

D:_0_

答案: _0_

4、

以下选项中能表示合法常量的是______

A:3lf

B:1.5E2.0

C:‘ ’

D:1, 200

答案: ‘ ’

5、

按照 C 语言规定的用户标识符命名规则,不能出现在标识符中的是___________

A:下划线

B:连接符

C:大写字母

D:数字字符

答案: 连接符

6、

以下选项中正确的定义语句是__________

A:double,a,b;

B:double a=b=7;

C:double a;b; 

D:double a=7,b=7; 

答案: double a=7,b=7; 

7、

设有定义

int k=0;

以下选项的四个表达式中与其他三个表达式的值不相同的是______

A:k+=1

B:k++

C:k+1

D:++k

答案: k++

8、

以下叙述中正确的是_____

A:字符常量可以参与整数运算

B:转义字符用@符号开头

C:同一英文字符的大写和小写形式代表的是同一字符常量

D:字符变量在定义时不能赋初值

答案: 字符常量可以参与整数运算

9、
C语言中依据程序编译器的不同,int定义的字节数不同,不短于short,不长于long,一般为2或 4个字节。

A:对
B:错
答案: 对

10、
C语言的整型常量有二进制、八进制、十进制和十六进制四种表示方式。

A:对
B:错
答案: 错

第三章 单元测试

1、
以下不属于结构化程序设计中基本结构的是_________。

A:选择结构 
B:跳转结构
C:顺序结构
D:循环结构
答案: 跳转结构

2、
以下类型的C语句中,不属于简单语句的是_________。

A:空语句
B:复合语句 
C:表达式语句 
D:条件语句
答案: 条件语句

3、
若int类型数据占2个字节,则下列语句的输出结果为________。   int k= -1;printf(“%d,%u,%o”,k,k,k);

A:-1,32767,-177777
B:-1,-1,-1 
C:-1,65535,177777 
D:-1,32768,177777
答案: -1,65535,177777 

4、
下列程序的输出是_______。#include

main(){printf(“%d”,null);}

A:变量无定义
B:0
C:1

D:-1
答案: 变量无定义

5、
以下关于结构化程序设计中的三种基本结构,叙述不正确的是________。

A:循环结构中,需先对循环条件进行判断,条件成立才执行循环体。
B:选择结构也叫做分支结构,在该结构下只能选择程序的一条分支来执行,同时该分支可以为空。
C:顺序结构是最简单的一种基本结构。
D:每种基本结构均有唯一的一个入口和唯一的一个出口。
答案: 循环结构中,需先对循环条件进行判断,条件成立才执行循环体。

6、
在scanf函数中,附加格式字符h表示输入短整型数据,不能与其共同使用的格式字符是_______。

A:d
B:o
C:x
D:f
答案: f

7、
printf(“%5.3s,%-5.3s,%2.3s”, “China”, “China”, “China”); 以上语句的运行结果是_______。

A:Chi□□, □□Chi, Chi 
B:□□Chi, Chi□□,Ch
C:□□Chi, Chi□□,Chi 
D:□□ina, ina□□,ina 
答案: □□Chi, Chi□□,Chi 

8、
float a=1234.56; printf(“%e,%9e,%9.1e”,a,a, a); 以上语句的运行结果是_______。

A:1.234560e+003,1.234560e+003,□1. 2e+003
B:1.234560e+3,1.234560e+3,□□□1. 2e+3

C:1.234560e+003,1.234560e+003,□□1. 2e+003 
D:1.23456e+003,1.23456e+003,□1. 2e+003
答案: 1.234560e+003,1.234560e+003,□1. 2e+003

9、
scanf(“%3d%*3d%3d”,&x,&y);当输入数据3456789012时,x,y的取值分别为________。

A:x=345,y=678
B:x=345,y=901
C:x=456,y=012
D:x=789,y=012
答案: x=345,y=901

10、
以下字符输入输出函数中,用于输入单个字符的函数是gets()。

A:错
B:对
答案: 错

第四章 单元测试

1、
已知语句“if(w) … ;else … ;”,与表达式w的等价表示是:()

A:w != 0
B:w = = 1
C:w != 1
D:w = = 0
答案: w != 0

2、
设 x,y,z 为 int 型变量,且 x=3,y=4,z=5 ,则下面表达式中值为 0 的是(   )。

A:x B:x||y+z&&y-z 
C: ‘x’&&’y’ 
D:!((x 答案: !((x

3、
表示算术关系12

A:( 12 B:( 12 C:( 12 D:( 12 答案: ( 12

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

A: (ch>=‘A’)&&(ch B:(‘A’= ch)
C:(ch>=‘A’)&(ch D:A’ 答案:  (ch>=‘A’)&&(ch

5、
若希望当A的值为奇数时,表达式的值为“真”,A的值为偶数时,表达式的值为“假”。则以下不能满足要求的表达式是() 

A:!(A%2)
B: A%2==1 
C: !(A%2==0) 
D:A%2
答案: !(A%2)

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

A:4
B:3
C:1
D:2
答案: 2

7、
以下程序的运行结果是()main(){    int m=5;     if(m++>5)    printf(“%dn”,m);     else;             printf(“%dn”,m–);    }  

A:7
B:6
C:4
D:5
答案: 6

8、
若运行时给变量x输入12,则以下程序的运行结果是 ()main(){    int x,y;     scanf(“%d”,&x);     y=x>12 ? x+10 : x-12;  printf(“%dn”,y);}  

A:0
B:4
C:3
D:2
答案: 0

9、
main(){int i=1,j=1,k=2;if((j++||k++)&&i++)printf(“%d,%d,%dn”,i,j,k);}执行后输出结果是()

A:2,2,2
B:2,2,1
C:1,1,2
D:2,2,3
答案: 2,2,2

10、
逻辑运算符两侧运算对象的数据类型可以是任何类型的数据。

A:对
B:错
答案: 对

第五章 单元测试

1、
以下程序的运行结果是()main(){int a=2,b=-1,c=2;if(a

A:3
B:2
C:0
D:13
答案: 2

2、
main(){int x=1,a=0,b=0;switch(x){case 0:b++;case 1:a++;case 2:a++;b++;}printf(“a=%d,b=%d”,a,b);}运行改程序后a和b的值分别为()

A:2,2
B:2,1
C:1,1
D:1,0
答案: 2,1

3、
有以下程序#include main(){int a=1,b=0;if(!a) b++;else if(a==0)  if(a) b+=2;else b+=3;printf(“%dn”,b);}程序运行后的输出结果是()

A:2
B:1
C:0
D:3
答案: 0

4、
若整数x分别等于95、87、100、43、66、79,则以下程序段运行后屏幕显示是什么?     switch(x/10)              { case 6:            case 7:         printf(“Passn”);  break;                  case 8:         printf(“Goodn”);  break;                  case 9:            case 10:        printf(“VeryGoodn”);  break;             default:        printf(“Failn”);           } 1.x等于 95时,程序段运行后屏幕上显示()                2. x等于 87时,程序段运行后屏幕上显示 ()      3.x等于100时,程序段运行后屏幕上显示()                 4.x等于 43时,程序段运行后屏幕上显示 ()    5.x等于 66时,程序段运行后屏幕上显示   () 6.x等于 79时,程序段运行后屏幕上显示 ()A. Pass     B. Good    C. VeryGood     D. Fail

A:BCDCDA
B:CBCDAA
C:ABCDAA
D:DCCDAC
答案: CBCDAA

5、
分析以下程序, 下列说法正确的是 () main()   { int x=5,a=0,b=0;    if(x=a+b)          printf(“* * * *”);    else        printf(“# # # #”);     } 

A:输出# # # #
B:输出* * * *
C:通过编译,但不能连接
D:有语法错,不能通过编译
答案: 输出# # # #

6、
有如下程序main(){float x=2.0,y;if (x

A:0.500000
B:1.000000
C:0.250000
D:0.000000

答案: 0.500000

7、
以下不正确的if 语句形式是()

A:if(x==y)x+=y;
B:if(x!=y) scanf(“%d”,&x) else scanf(“%d”,&y);
C:if(x>y&&x!=y);
D:if(x 答案: if(x!=y) scanf(“%d”,&x) else scanf(“%d”,&y);

8、
int a=3,b=2,c=1; if(a>b>c)a=b; else a=c;则a 的值是()

A:2
B:0
C:1
D:3
答案: 1

9、
有以下程序main(){int a=5,b=4,c=3,d=2;if(a>b>c)printf(“%dn”,d);else if((c-1>=d)==1)printf(“%dn”,d+1);else printf(“%dn”,d+2);}执行后输出结果是()

A:3

B:2
C:4
D:编译时出错
答案: 3

10、
C 语言的if 语句嵌套时if 与else 的配对关系是:每个else总是与它上面的if配对。

A:错
B:对
答案: 错

第六章 单元测试

1、

以下叙述中正确的是________。

A:continue 语句的作用是:在执行完本次循环体中剩余语句后,终止循环

B:只能在循环体内和switch 语句体内使用break 语句

C:在while 语句和do-while 语句中无法使用continue 语句

D:当break 出现在循环体中的switch 语句体内时,其作用是跳出该switch 语句体,并终止循环

答案: 只能在循环体内和switch 语句体内使用break 语句

2、

以下不构成无限循环的语句或者语句组是_________。

A:n=10;

while(n);{n–;}

B:for(n=0,i=1; ;i++) n+=i;

C:n=0; 

do{++n;}while(n

D:n=0;

while(1){n++;}

答案: n=0; 

do{++n;}while(n

3、

下列语句中,有语法错误,不能编译的是_____。

A:do 2; while (a == b);

B:while (x = y) 5;

C:do x++ while (x == 10);

D:while (0) ;

答案: do x++ while (x == 10);

4、

以下程序段中,while循环执行的次数是________。

int k =0;

while (k = 1)

{

        k++;

}

A:执行一次

B:有语法错误,不能执行

C:无限次

D:一次也不执行

答案: 无限次

5、

以下程序段执行后,输出结果是

int i, sum=0;

for (i=1; i

{

        sum += i;

}

printf(“%d”, sum);

A:0
B:不确定
C:14
D:15
答案: 15

6、

循环语句“for (x=0, y=0; (y!=123)) || (x

A:4次
B:不确定
C:3次
D:无限次
答案: 无限次

7、

下述程序代码段输出的结果是________。

for(k=1;k

printf(“k=%d,k=%o,k=%x”, k, k, k);

A:k=11,k=013,k=0xb

B:k=10,k=12,k=13

C:k=11,k=12,k=11

D:k=11,k=13,k=b

答案: k=11,k=13,k=b

8、

以下程序段中,while循环的循环次数是________。

int i = 0;

while (i

{

        if (i

        {

                continue;

        }

        if (i == 5)

        {

                break;

        }

        i++;

}

A:死循环
B:6
C:1
D:10
答案: 死循环

9、
对于“for(表达式1;表达式2;表达式3)循环体”,当表达式2 的值为真时,会重复执行表达式1,循环体和表达式3。

A:对
B:错
答案: 错

10、
在循环语句“do  语句 while (条件);”中,当条件为0时结束循环。

A:对
B:错
答案: 对

第七章 单元测试

1、

程序功能:输入n的值(n

程序中空白处应该填________。

#include

int main()

{

    int i, n;

    long sum=0,fac=1;                    //fac存储每个加项(阶乘)的值

    printf(“请输入n的值:”);

    scanf(“%d”,&n);

    for( i=1; i

    {   

     ___________              //后一加项与前一加项的关系

       sum=sum+fac;

    }

    printf(“和为%ld”,sum);

    return 0;

}

A:fac++;
B:sum=sum*i;
C:fac=fac+sum;
D:fac=fac*i;
答案: fac=fac*i;

2、

若有整型变量i,j,则以下程序段中内循环体“printf(“ok”);”的循环次数为________。

for (i=5; i; i–)

{

        for (j=0; j

        {

                printf(“ok”);

        }

}

A:30
B:20
C:24
D:25
答案: 20

3、

以下程序段的输出结果是________。

int i=0, a=0;        

while (i

{

        for (;

        {

                if (i % 10 == 0)

                {

                        break;

                }

                else

                {

                        i–;

                }

        }

        i += 11;

        a += i;

}

printf(“%d”, a);

A:21
B:32
C:11
D:33
答案: 32

4、

假定a和b为int型变量,则执行以下语句后b的值为________。

a = 1;

b = 10;

do

{

        b -= a;

        a++;

} while (b–

A:8
B:9
C:-1
D:-2
答案: 8

5、

设x和y均为int型变量,则执行下面的循环后y的值为

for (y=1, x=1; y

{

        if (x >= 10)

        {

                break;

        }

        if (x % 2 == 1)

        {

                x += 5;

                continue;

        }

        x -= 3;

}

A:4
B:2
C:8
D:6
答案: 6

6、

设i,j,k均为整型变量,则执行如下语句后,k的值为________。

for (i=0, j=10; i

{

        k = i + j;

}

A:8
B:11
C:10
D:9
答案: 10

7、

以下程序段的输出结果是________。

int a=0, i;

for (i=1; i

{

        switch(i)

        {

                case 0:

                case 3:

                        a += 2;

                case 1:

                case 2:

                        a += 3;

                default:

                        a += 5;

        }

}

printf(“%d”, a);

A:10
B:31
C:20
D:13
答案: 31

8、

以下程序段运行时,如果从键盘输入1298再回车,则输出结果为

int n1, n2;

scanf(“%d”, &n2);

while (n2 != 0)

{

        n1 = n2 % 10;

        n2 = n2 / 10;

        printf(“%d”, n1);

}

A:1
B:1298
C:9
D:8921
答案: 8921

9、

以下程序段的输出结果是________。

int i=10, j=0;

do

{

        j = j + i;

        i–;

} while (i > 2);

printf(“%d”, j);

A:25
B:48
C:52
D:54
答案: 52

10、
for(;;)和while(1)构成的都是无限循环。

A:对
B:错
答案: 对


如需购买完整答案,请点击下方红字:

点击这里,购买完整答案


获取更多网课答案,请点击这里,进入www.mengmianren.com


 

岁狗偶奖悼骸豹铺未牛啪勃活

钢念饥联峡记缸瑰堤盾渭美华

搜索
登录
订单
帮助