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

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

25万

主题

25万

帖子

35万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
358254
发表于 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

回复

使用道具 举报

25万

主题

25万

帖子

35万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
358254
 楼主| 发表于 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
回复

使用道具 举报

25万

主题

25万

帖子

35万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
358254
 楼主| 发表于 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
回复

使用道具 举报

25万

主题

25万

帖子

35万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
358254
 楼主| 发表于 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
回复

使用道具 举报

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

本版积分规则

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