北京

点击搜索

发布

智慧树CC程序设计答案 章测试期末答案 知到cc加

区域:
北京 > 香河
智慧树C/C++程序设计答案 章测试期末答案 知到C/C++程序设计答案

以下答案都是我在微信公众号【xuanx***】找到的
分享给大家,希望可以对大家有所帮助.

章单元测试
完整版可在【xuanx***】获取
个高级语言Fortran出现在( )年      1954
下列关于计算机语言的叙述中,正确的是( )      C语言属于高级语言
源程序test.c经编译产生的目标文件和连接后产生的可执行文件是( )      test.obj和test.exe
在算法的流程图表示中,菱形表示( )      算法条件的转移操作
关于结构化程序设计阐述正确的是( )      采用结构化程序设计方法,可以把一个模块的功能逐步分解细化

第二章单元测试
完整版可在【xuanx***】获取
以下定义语句中正确的是( )      int a=10, *b=&a;
下列选项中,不能用作标识符的是( )      2_int_
有以下定义语句double a,b; int w; long c;若各变量已正确赋值,则下列选项中正确的表达式是( )      (c+w)%(int)a
有以下程序:main(){int m=3,n=4,x;x=-m++;x=x+8/++n;printf{"%d",x);}程序运行后的输出结果是( )      -2
表达式3.6-5/2+1.2+5%2的值是( )      3.8

第三章单元测试
完整版可在【xuanx***】获取
下列语句中符合C语言语法的赋值语句是( )      a=7+b,c=a+7;
下面程序的输出是( )main(){ int x=10,y=3;printf("%d",y=x/y);}      3
下面程序的输出是( )main(){ int x=023;21printf(%d",--x);}      18
设有如下程序段:int x=2002, y=2003;printf("%d",(x,y));则以下叙述中正确的是( )      输出值为2003
有定义语句:int x, y;,若要通过scanf("%d,%d",&x,&y);语句使变量x得到数值11,变量y得到数值12,下面四组输入形式中,错误的是( )      11 12<回车>

完整版大家去公众号【选修宝】里面自取 我就不一一发上来了 如果觉得有用可以把文章分享给你的同学哦

第四章单元测试

完整版可在【xuanx***】获取

1

关于C语言逻辑值的说法错误的是(   )

A. 逻辑值只有两个值,表示为1和0

B. C语言中没有逻辑数据类型

C. C语言中有逻辑数据类型

D. 逻辑值以整型类型保存

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=1

C. a=1,b=0

D. a=2,b=2

第五章单元测试

1

对于do...while语句,下列说法中的是(   )

A. 用do...while语句可实现分支程序设计

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

C. 当循环条件不成立时,一次也不执行循环体

D. do...while与while结构完全相同

2

下列程序段执行时,若从键盘输入23,则输出为(     )
int c,num;
scanf("%d",&num);
do
{c=num%10;printf("%d",c);
num=num/10;
}while(num>0);
printf("\n");

A. 3,2
B. 3

C. 2

D. 2, 3

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~9中的奇数之和

D. 自然数1~10中的偶数之和

4

若i,j已定义为int类型,则以下程序段中内循环体的总的执行次数是(     )
for (i=5;i;i--)
for(j=0;j<4;j++){...}

A. 20

B. 25

C. 24

D. 30

5

有以下程序段
int k = 10 ;
while( k == 0 ) k = k - 1 ;
则下面描述中的是(   )

A. while循环执行10次

B. 循环是无限循环

C. 循环体语句一句也不执行

D. 循环体语句执行一次

第六章单元测试

1

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

A. ‘ÿ’

B. ‘5’

C. ‘&’

D. ‘8’

2

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

A. 6,5,A,B

B. 6,5,65,66

C. 6,5,6,5

D. 6,5,6,6

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);

4

以下程序运行后的输出结果是(   )。
main()
{ char c1,c2;
  for(c1='0',c2='5';c1<c2;c1++,c2--) printf("%c%c",c1,c2);
  printf("\n");
}

A. 012345

B. 051423

C. 035241

D. 543210

5

已知字符A的ASCII代码值为65, 以下程序运行时若从键盘输入: B33<回车>。则输出结果是(   )。
#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. 1 B

B. 2 B

C. 1 A

D. 2 A

第七章单元测试

1

#include<stdio.h>
func(int x)
{   x=10;
  printf(“%d, ”,x); }
main( )
{ int x=20;
  func(x);
  printf(“%d”, x); }
运行结果为(   )

A. 20, 20

B. 20,10

C. 10, 20

D. 10, 10

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. 9
B. 11
C. 19
D. 21

3

#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. float

B. int

C. void

D. 无返回值

4

以下叙述中的是(   )

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

B. 全局变量说明为static存储类,其作用域将被扩大

C. 任何存储类的变量在未赋初值时,其值都是不确定的

D. 形参可以使用的存储类说明符与局部变量完全相同

5

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

A. fun函数无返回值

B. fun函数的返回值可以是任意的数据类型

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

D. 指针fun指向一个函数,该函数无返回值

第八章单元测试

1

“&”称为取地址运算符
A. 对
B. 错

2

以下程序段的输出结果是(     )
int *var,ab;
ab=100;
      var=&ab;
      ab=*var+10;
printf("%d\n",*var);

A. 100

B. 不确定

C. 110

D. 90

3

指针的基类型是指指针的类型
A. 对
B. 错

4

两个指针变量的值相等时,表明两个指针变量是(   )
A. 占据同一内存单元

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

C. 是两个空指针

D. 都没有指向

5

若有定义:int x,*pb; 则以下的赋值表达式是(   )

A. pb=&x

B. pb=x

C. *pb=&x

D. *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. *&a[10]

B. a[11]

C. *(p+2)

D. p

5

若有以下定义和语句,且0<=i<5,则(   )是对数组元素地址的表示
int a[]={1,2,3,4,5},*p,i;   p=a;

A. &(a+i)

B. &p

C. a++

D. &p

第十章单元测试

1

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

A. 数组 a 和 b 的长度相同

B. a数组长度小于 b 数组长度

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

D. 其余说法都不对

2

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

A. ABCD
BCD
CD
D

B. A
B
C
D

C. B
C
D
D. BCD
CD
D

3

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

A. 15

B. 16

C. 12

D. 59

4

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

A. 2 2

B. 7 6

C. 7 2

D. 6 2

5

设有以下定义和语句   char str[20]="Program",*p;p=str;则以下叙述中的是(   )

A. *p与str[0]中的值相等

B. str与p的类型完全相同

C. str数组长度和p所指向的字符串长度相等

D. 数组str位中存放的内容和指针变量p中存放的内容相同

第十一章单元测试

1

已知学生记录描述为:
struct   student
{
int num;
char name[20];
struct
{
int   year;
int   month;
int day;
}birth;
};
struct student s;
下列对“生日”的赋值方式是(   )

A. year=1980; month=6; day=11;

B. birth.year=1980;birth.month=6;birth.day=11;

C. s.year=1980; s.month=6; s.day=11;

D. s.birth.year=1980; s.birth.month=6; s.birth.day=11;

2

若有以下说明和定义
typedef   int *INTEGER
INTEGER p,*q;
以下叙述的是(   )

A. p是int型变量

B. p是基类型为int的指针变量

C. q是基类型为int的指针变量

D. 程序中可用INTEGER代替int类型名

3

设有如下定义:
struct sk
{
int a;
float b;
}data;
int *p;
若要使p指向data中的a域,的赋值语句是(   )

A. p=&a;

B. p=data.a;

C. p=&data.a;

D. *p=data.a

4

有以下程序
struct   STU
{
char num[10];
float score[3];
}
main()
{
struct STU s[3]={
{"20021",90,95,85},
{"20022",95,80,75},
{"20023",100,95,90}
},*p=s;
int i; float sum=0;
for(i=0;i<3;i++)
sum=sum+p->score;
printf("%6.2f\n",sum);
}
程序运行后的输出结果是(     )

A. 260.00

B. 270.00

C. 280.00

D. 285.00

5

下面程序的输出结果为(   )
struct   st
{     int x;
      int *y;
} *p;
int dt[4]={10,20,30,40};
struct   st
aa[4]={ 50,&dt[0],60,&dt[1],70,&dt[2],80,&dt[3] };
main()
{
  p=aa;
  printf("%d\t", ++p->x );
  printf("%d\t", (++p)->x);
  printf("%d\n", ++( *p->y));
  }

A. 10 20   20

B. 50 60   21

C. 51 60   21

D. 60 70   31

第十二章单元测试

1

适宜采用inline定义函数情况是(     )

A. 函数体含有循环语句

B. 函数体含有递归语句

C. 函数代码少、频繁调用

D. 函数代码多、不常调用

2

函数重载是指(   )

A. 两个或两个以上的函数取相同的函数名,但形参的个数或类型不同

B. 两个以上的函数取相同的名字和具有相同的参数个数,但形参的类型可以不同

C. 两个以上的函数名字不同,但形参的个数或类型相同

D. 两个以上的函数取相同的函数名,并且函数的返回类型相同

3

下列(   )的调用方式是引用调用

A. 形参和实参都是变量

B. 形参是指针,实参是地址值

C. 形参是引用,实参是变量

D. 形参是变量,实参是地址值

4

以下的描述是(    )

A. 不允许设置参数的默认值

B. 设置参数的默认值只能在定义函数时设置

C. 设置参数的默认值时,应该设置右边的参数

D. 设置参数的默认值时,应该全部参数都设置

5
【判断题】(2分)
当执行cin语句时,从键盘上输入每个数据后必须接着输入一个>>,然后才能继续输入下一个数据

A. 对
B. 错

第十三章单元测试

1

类的实例化是指(   )

A. 定义类

B. 创建类的对象

C. 指明具体类

D. 调用类的成员

2

对于友元描述的是(     )

A. 友元是本类的成员函数

B. 友元不是本类的成员函数

C. 友元不是函数

D. 友元不能访问本类私有成员

3

类中定义的成员默认访问属性为(     )

A. public

B. private

C. protected

D. friend

4

下面说法的是(     )

A. 生成对象时调用析构函数

B. 定义类时必须写出该类的构造函数

C. 主函数中的调用格式决定系统调用哪个构造函数

D. 析构函数不可以重载

5

下述静态数据成员的特征中,(   )是错误的

A. 说明静态数据成员时前边要加修饰符static

B. 静态数据成员要在类体外进行初始化

C. 引用静态数据成员时,要在静态数据成员名前加<类名>和作用域运算符

D. 静态数据成员不是所有对象所共用的

6

静态成员函数直接访问类的数据成员(   )

A. 是不允许的

B. 只允许是静态数据成员

C. 只允许是非静态数据成员

D. 可允许是静态数据成员或非静态数据成员

第十四章单元测试

1

派生类的对象对它的哪一类基类成员是可以访问的(     )

A. 公有继承的基类的公有成员

B. 公有继承的基类的保护成员

C. 公有继承的基类的私有成员

D. 保护继承的基类的公有成员

2

下面对派生类的描述中,错误的是(    )

A. 一个派生类可以作为另外一个派生类的基类

B. 派生类至少有一个基类 

C. 派生类的成员除了它自己的成员外,还包含了它的基类的成员

D. 派生类中继承的基类成员的访问权限到派生类中保持不变

3

当保护继承时,基类的(   )在派生类中成为保护成员,不能通过派生类的对象直接访问

A. 任何成员

B. 公有成员和保护成员

C. 公有成员和私有成员

D. 私有成员

4

设置虚基类的目的是(   )

A. 简化程序

B. 二义性

C. 提高运行效率 

D. 减少目标代码

5
【判断题】(2分)
多继承时,多个基类中的同名的成员在派生类中由于标识符不而出现封装性

A. 对
B. 错

第十五章单元测试

1

下列关于运算符重载的描述中,(   )是的

A. 运算符重载可以改变操作数的个数

B. 运算符重载可以改变优先级

C. 运算符重载可以改变结合性

D. 运算符重载不可以改变语法结构

2

下列运算符中,(   )运算符在C++中不能重载

A. ?:

B. +

C. |
D. <=

3

以下关于C++运算符重载的描述中,的是(   )

A. 任何运算符均可重载

B. 运算符重载可以改变运算符的优先级

C. 运算符重载可创造新的运算符

D. 运算符重载可以改变运算符的功能

4

运算符重载可以改变运算符的功能

A. 对
B. 错

5

在C++中,运算符的重载有两种实现方法,一种是通过成员函数实现,另一种则通过友元函数实现

A. 对
B. 错

第十六章单元测试

1

假设声明了以下的函数模板,错误的调用语句是(     )
template <class T>
T max(T x,T y){ retum(x>y)?x:y;}
并定义了int i; char c;

A. max(i, i)

B. max(c,c)

C. max((int)c, i)

D. max(i, c)

2

定义函数模板中使用的参数类型标识符需使用下列哪组符号括起来(   )

A. <>

B. “”

C. ()

D. {}

3

下列有关模板和继承的叙述的是 (   )

A. 模板和继承都可以派生出一个类系
B. 从类系的成员看,模板类系的成员比继承类系的成员较为稳定

C. 从动态性能看,继承类系比模板类系具有更多的动态特性

D. 相同类模板的不同实例一般没有联系,而派生类各种类之间有兄弟父子等关系

4

下列叙述错误的是(   )

A. catch(…)语句可捕获所有类型的异常 

B. 一个try语句可以有多个catch语句 

C. catch(…)语句可以放在catch语句组的中间

D. 程序中try语句与catch语句是一个整体,缺一不可

5

下列叙述错误的是(    )

A. 当catch语句捕获一个异常后,可能不能完全处理异常

B. 在try块中抛出异常后,程序后回到try块中继续执行后面的语句 

C. 一个程序中可以有try语句而没有throw语句

D. throw语句抛出的异常可以不被捕获

关注公从号【选修宝】获取完整版

免责声明:此信息系发布者(UID:578692)自行发布,本站是服务平台,仅提供信息存储空间服务,该信息内容的真实性及合法性由该发布者完全负责。

© lieju.com 联系我们