2021 智慧树知到c-c++程序设计答案

[复制链接]
查看: 26|回复: 0

24万

主题

24万

帖子

34万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
348890
发表于 2025-5-24 15:08:26 | 显示全部楼层 |阅读模式
知到appC-C++程序设计单元测试答案
第一章
单元测试
1

第一个高级语言
Fortran
出现在(   )年
A:1946
B:1954
C:1956
D:1950
正确答案
:

1954

2

下列关于计算机语言的叙述中,正确的是(

A:
机器语言是与所有机器无关的语言
B:C
语言属于高级语言
C:
高级语言的源程序可以被计算机直接执行
D:
在计算机语言中,只有机器语言属于低级语言
正确答案
:

C
语言属于高级语言

3

源程序
test.c
经编译产生的目标文件和连接后产生的可执行文件是(   )
A:test.obj

test.exe
B:test.exe

test.c
C:test.bak

test.obj
D:test.bak

test.exe
正确答案
:

test.obj

test.exe

4

在算法的流程图表示中,菱形表示(

A:
算法的输入
/
输出操作
B:
算法条件的转移操作
C:
算法的开始与结束
D:
算法的各种处理功能
正确答案
:

算法条件的转移操作

5

关于结构化程序设计阐述正确的是(

A:
结构化程序设计中使用顺序结构,可以不按各个模块出现的先后顺序进行程序执行
B:
结构化程序设计方法不一定能提高软件开发效率
C:
结构化程序设计中使用循环结构,可以无限循环
D:
采用结构化程序设计方法,可以把一个模块的功能逐步分解细化
正确答案
:

采用结构化程序设计方法,可以把一个模块的功能逐步分解细化

第二章
单元测试
1

以下定义语句中正确的是(

A:float a=b=10.0;
B:float a,b=&a;
C:char a='A' b='B';
D:int a=10, b=&a;
正确答案
:

int a=10, *b=&a;

2

下列选项中,不能用作标识符的是(

A:1234
B:1_2
C:int_2
D:2_int_
正确答案
:

2_int_

3

有以下定义语句
double a,b; int w; long c;
若各变量已正确赋值,则下列选项中正确的表达式是(  )
A:(c+w)%(int)a
B:a=a+b=b++
C:
w%((int)a+b)
D:
w=a==b;
正确答案
:

(c+w)%(int)a

4

有以下程序:
main()
{int m=3,n=4,x;
x=-m++;
x=x+8/++n;
printf{"%d",x);
}
程序运行后的输出结果是(

A:-2
B:3
C:5
D:-1
正确答案
:

-2

5

表达式
3.6-5/2+1.2+5%2
的值是(    )
A:3.8
B:4.3
C:3.3
D:4.8
正确答案
:

3.8

第三章
单元测试
1

下列语句中符合
C
语言语法的赋值语句是(   )
A:a=7+b,c=a+7;
B:a=7+b+c=a+7;
C:a=7+b,b++,a+7
D:a=7+b++=a+7;
正确答案
:

a=7+b,c=a+7;

2

下面程序的输出是(

main()
{ int x=10,y=3;
printf("%d",y=x/y);}
A:
不确定的值
B:1
C:0
D:3
正确答案
:

3

3

下面程序的输出是(

main()
{       int x=023;21
printf(%d",

x);
}
A:18
B:23
C:17
D:24
正确答案
:

18

4

设有如下程序段:
int x=2002, y=2003;
printf("%d",(x,y));
则以下叙述中正确的是(

A:
输出值为
2002
B:
运行时产生出错信息
C:
输出值为
2003
D:
输出语句中格式说明符的个数少于输出项的个数,不能正确输出
正确答案
:

输出值为
2003

5

有定义语句:
int x, y;
,若要通过
scanf("%d,%d",&x,&y);
语句使变量
x
得到数值
11
,变量
y
得到数值
12
,下面四组输入形式中,错误的是(    )
A:11,12

<
回车
>
B:11,<
空格
>12<
回车
>
C:11,<
回车
>12<
回车
>
D:11 12<
回车
>
正确答案
:

11 12<
回车
>

第四章
单元测试
1

关于
C
语言逻辑值的说法错误的是(    )
A:C
语言中有逻辑数据类型
B:C
语言中没有逻辑数据类型
C:
逻辑值以整型类型保存
D:
逻辑值只有两个值,表示为
1

0
正确答案
:

C
语言中有逻辑数据类型

2

下列运算符中优先级最低的是(

A:||
B:!=
C:<=
D:+
正确答案
:

||

3

算术运算符、赋值运算符和关系运算符的运算优先级按从高到低依次为(

A:
算术运算、赋值运算、关系运算
B:
算术运算、关系运算、赋值运算
C:
关系运算、算术运算、赋值运算
D:
关系运算、赋值运算、算术运算
正确答案
:

算术运算、关系运算、赋值运算

4

以下关于
if
语句的错误描述是(   )
A:
条件表达式可以是任意的表达式
B:
条件表达式只能是关系表达式或逻辑表达式
C:
条件表达式的括号不能省
D:

else
配对的
if
语句是其之前最近的未配对的
if
语句
正确答案
:

条件表达式只能是关系表达式或逻辑表达式

5

main()
{ int x=0,a=0,b=0;
switch(x){
case 0:      b++;
case 1:      a++;
case 2:      a++;b++;
}
printf(

a=%d,b=%d

,a,b);}
该程序的输出结果是
(      )
A:a=2,b=1
B:a=1,b=0
C:a=2,b=2
D:a=1,b=1
正确答案
:

a=2,b=2

第五章
单元测试
1

对于
do

while
语句
,
下列说法中正确的是
(     )
A:

do

while
语句可实现分支程序设计
B:
当循环条件不成立时
,
一次也不执行循环体
C:do

while

while
结构完全相同
D:
当循环条件不成立时
,
至少也要执行一次循环体
正确答案
:

当循环条件不成立时
,
至少也要执行一次循环体

2

下列程序段执行时
,
若从键盘输入
23,
则输出为
(      )
int c,num;
scanf("%d",&num);
do
{c=num%10;printf("%d",c);
num=num/10;
}while(num>0);
printf("
");
A:3,2
B:2, 3
C:2
D:3
正确答案
:

3,2

3

有以下程序
main( )
{    int i,s=0;
for(i=1;i<10;i++)  s=s+i;
printf(

%d

,s);
}
程序执行后的输出结果是
(      )
A:
自然数
1

9
的累加和
B:
自然数
1

10
的累加积
C:
自然数
1

10
中的偶数之和
D:
自然数
1

9
中的奇数之和
正确答案
:

自然数
1

9
的累加和

4


i,j
已定义为
int
类型
,
则以下程序段中内循环体的总的执行次数是
(       )
for (i=5;i;i

)
for(j=0;j<4;j++){

}
A:25
B:20
C:24
D:30
正确答案
:

25

5

有以下程序段
int k = 10 ;
while( k == 0 )  k = k

1 ;
则下面描述中正确的是(

A:
循环体语句一句也不执行
B:while
循环执行
10

C:
循环体语句执行一次
D:
循环是无限循环
正确答案
:

循环体语句一句也不执行

第六章
单元测试
1

C
语言中,下列不合法的字符常量是(   )
A:

&

B:

ÿ

C:

5

D:

8

正确答案
:


8


2

有以下程序
main()
{  char a,b,c,d;
scanf{"%c,%c,%d,%d",&a,&b,&c,&d);
printf{"%c,%c,%c,%c
",a,b,c,d);}
若运行时从键盘上输入:
6,5,65,66 <
回车
>
。则输出结果是(     )
A:6,5,6,6
B:6,5,6,5
C:6,5,65,66
D:6,5,A,B
正确答案
:

6,5,A,B

3

有定义语句
: int b;char c[10];,
则正确的输入语句是(     )
A:scanf("%d%s",&b,c);
B:scanf("%d%s",b,c);
C:scanf("%d%s",&b,&c);
D:scanf("%d%s",b,&c);
正确答案
:

scanf("%d%s",&b,c);

4

以下程序运行后的输出结果是(
)。
main()
{ char c1,c2;
for(c1='0',c2='5';c1<c2;c1++,c2

) printf("%c%c",c1,c2);
printf("
");
}
A:012345
B:543210
C:035241
D:051423
正确答案
:

051423

5

已知字符
A

ASCII
代码值为
65,
以下程序运行时若从键盘输入
: B33<
回车
>
。则输出结果是(    )。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

回复

使用道具 举报

24万

主题

24万

帖子

34万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
348890
 楼主| 发表于 2025-5-24 15:08:26 | 显示全部楼层
include <stdio.h>
main()
{ char a,b;
a=getchar();scanf("%d",&b);
a=a-'A'+'0'; b=b*2;
printf("%c %c"a,b);  }
A:2 B
B:1 B
C:1 A
D:2 A
正确答案
:

1 B

第七章
单元测试
1

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

24万

主题

24万

帖子

34万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
348890
 楼主| 发表于 2025-5-24 15:08:26 | 显示全部楼层
include<stdio.h>
func(int x)
{   x=10;
printf(

%d,

,x); }
main( )
{  int x=20;
func(x);
printf(

%d

, x); }
运行结果为
(     )
A:10, 20
B:20,10
C:10, 10
D:20, 20
正确答案
:

10, 20

2

有以下程序
int f(int a)
{ return a%2;}
main()
{ int s[8]={1,3,5,2,4,6},i,d=0;
for(i=0;f(s);i++)d+=s;
printf("%d",d);}
程序运行后的输出结果是(

A:21
B:9
C:11
D:19
正确答案
:

9

3

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

24万

主题

24万

帖子

34万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
348890
 楼主| 发表于 2025-5-24 15:08:26 | 显示全部楼层
include <stdio.h>
void main()
{   int max(flaot x, float y);
float a, b;
int c;
scanf(

%f,%f

, &a, &b);
c=max(a, b);
printf(

Max is %d

, c);}
int max(float x, float y)
{    float z;
z = x > y ? x : y;
return z;}
函数
max
的返回值是什么数据类型(     )
A:
无返回值
B:int
C:void
D:float
正确答案
:

int

4

以下叙述中正确的是(

A:
形参可以使用的存储类说明符与局部变量完全相同
B:
任何存储类的变量在未赋初值时,其值都是不确定的
C:
全局变量说明为
static
存储类,其作用域将被扩大
D:
局部交量说明为
static
存储类,其生存期将得到延长
正确答案
:

局部交量说明为
static
存储类,其生存期将得到延长

5

程序中对
fun
函数有如下说明
void *fun();
此说明的含义是(

A:fun
函数无返回值
B:fun
函数的返回值可以是任意的数据类型
C:fun
函数的返回值是无值型的指针类型
D:
指针
fun
指向一个函数,该函数无返回值
正确答案
:

fun
函数的返回值是无值型的指针类型

第八章
单元测试
1


&
”称为取地址运算符
A:

B:

正确答案
:

对】
2

以下程序段的输出结果是
(       )
int var,ab;
ab=100;
var=&ab;
ab=var+10;
printf("%d
",*var);
A:110
B:90
C:100
D:
不确定
正确答案
:

110

3

指针的基类型是指指针的类型
A:

B:

正确答案
:

错】
4

两个指针变量的值相等时,表明两个指针变量是(

A:
指向同一内存单元地址或者都为空
B:
占据同一内存单元
C:
是两个空指针
D:
都没有指向
正确答案
:

指向同一内存单元地址或者都为空

5

若有定义:
int x,pb;
则以下正确的赋值表达式是(    )
A:pb=&x
B:pb=&x
C:pb=x
D:pb=x
正确答案
:

pb=&x

第九章
单元测试
1

数组的下标从
1
开始
A:

B:

正确答案
:

错】
2

C
语言调用函数中,当数组名做实参时,实参和形参之间的传递方式是按地址传递
A:

B:

正确答案
:

对】
3

若有以下定义
:
double  w[10];

w
数组元素下标的上限是
10
A:

B:

正确答案
:

错】
4

若有如下定义,则(
)是对数组元素
int  a[10] , p ;    p=a ;
的正确引用
A:(p+2)
B:&a[10]
C:p
D:a[11]
正确答案
:

(p+2)

5

若有以下定义和语句,且
0<=i<5,
则(     )是对数组元素地址的正确表示
int a[]={1,2,3,4,5},*p,i;   p=a;
A:&(a+i)
B:a++
C:&p
D:&p
正确答案
:

&(a+i)

第十章
单元测试
1

已有定义
: char a[]="xyz",b[]={'x','y','z'};,
以下叙述中正确的是
(      )
A:
数组
a

b
的长度相同
B:
其余说法都不对
C:a
数组长度小于
b
数组长度
D:a
数组长度大于
b
数组长度
正确答案
:

a
数组长度大于
b
数组长度

2

有以下程序
main()
{ char s[]="ABCD",*p;
for(p=s+1;p<s+4;p++)printf("%s",p);}
程序运行后的输出结果是(

A:B
C
D
B:A
B
C
D
C:BCD
CD
D
D:ABCD
BCD
CD
D
正确答案
:

BCD
CD
D

3

有以下程序
main()
{ char s[]="159",p;
p=s;
printf("%c",p++);
printf("%c",*p++);
}
程序运行后的输出结果是(

A:59
B:16
C:12
D:15
正确答案
:

15

4

有以下程序
main()
{ char a[7]="a0a0";int i,j;
i=sizeof(a); j=strlen(a);
printf("%d %d
",i,j);
}
程序运行后的输出结果是(

A:6 2
B:2 2
C:7 6
D:7 2
需要更多科目答案请联系我们

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

精彩课程推荐
|网站地图|网站地图