计算机编程 知到智慧树答案2024 z12641


第一章 单元测试

 

1、

有定义 int a=9,b=6,c; 执行语句 c=a/b+0.5;后,c 的值为 (  )。
 

A:1.4
B:2.0
C:1
D:2
答案: 1

2、
C++语言源代码文件扩展名为(   )。

 

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

3、
以下用户标识符中,合法的是( )。

 

A:Int
B:%123
C:Ling@li
D:moon
答案: moon

4、
int x=10,y=5;则表达式x+=x*=y+8的值为(  )。

 

A:230
B:260
C:150
D:130
答案: 260

5、
5、有定义 int a=9,b=6,c; 执行语句 c=a/b+0.5;后,c 的值为 (    )。

 

A:1.4
B:2
C:2.0
D:1
答案: 1

6、
以下标识符中,不能作为合法的 C++用户定义标识符的是(   )。

 

A:signed
B:answer
C:to
D:_if
答案: signed

7、
下列字符串中可以用作 C++标识符的是(  )。    

  

 

 

A:delete
B:_256
C:5char
D:class
答案: _256

8、
下列 C++标点符号中表示一条预处理命令开始的是(    )。

 

 

A://

B:}
C:;
D:#
答案: #

9、
9、以下程序的运行结果是(  )。

 

main() {    int a,b,d=241;     a=d/100%9;

b=(-1)&&(-1);     cout<<a<<”,”<<b;}

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

10、
语句while(!E); 中的表达式 !E等价于(  )

 

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

11、
下面程序段的运行结果是:(   )。

int a=1;b=2;c=2; 

while (a<b<c){t=a;a=b;b=t;c–;}cout<<a<<”,”<<b<<”,”<<c;

 

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

12、
设有程序段:      int  x=0,s=0;while(!x!=0) s+=++x;cout<<s;输出(     )。

 

A:运行程序段后输出1
B:程序段执行无限次

C:运行程序段后输出0  
D:程序段中的控制表达式是非法的
答案: 运行程序段后输出1

13、

 

以下程序的正确运行结果是(   

 

)。
        #include<stdio.h>        void num()        {                 extern int x,y; int a=15,b=10;                 x=a-b;                 y=a+b;        }        int x,y;        void main()        {                 int a=7,b=5;                 x=a+b;                 y=a-b;                 num();                 cout<<x<<”,”<<y<<endl;        }   

A:不确定
B:12,2
C:1,12
D:5,25
答案: 5,25

14、

 

已知: int m=5;下列表示引用的方法中,正确的是:(   )。
  

A:int &Z;
B:int &X=m;
C:float &f=&m;
D:int &t=5;
答案: int &X=m;

15、
C++语言源程序的基本单位是(    )。

 
 

A:子程序
B:标识符
C:函数

D:过程
答案: 函数

16、
下面程序段的输出结果是(    )

 

char a[7]=”abcdef”;
char b[4]=”ABC”;strcpy(a,b);cout<<a;

A:e
B:f
C:b
D:
答案: f

17、

 

下面程序段的输出结果是(   ) 。
char c[ ]=”tv\willn”;cout<<strlen(c);

A:6
B:14
C:9
D:3
答案: 3

第二章 单元测试

1、
结构化程序设计所规定的三种基本控制结构是:(  )  。

 

A:顺序、选择、循环
B:树形、网形、环形
C:主程序、子程序、函数
D:输入、处理、输出
答案: 顺序、选择、循环

2、
下面程序的输出结果是(   )。

 

main ( )
{    char str[ ]=”SSWLIA” , C;    int k;    for (k=2;(c=str[k])!=’’;k++) {       switch (c) {          case ‘I’ : ++k; break ;          case ‘L’: continue;          default : putchar(c) ; continue ;       }       putchar(‘*’);    }}

A:W*
B:W
C:W*A
D:SW
答案: W*

3、
C++语言中,while和do-while循环的主要区别是:(     )。

A:

 do-while的循环体至少无条件执行一次

B:

while 的循环控制条件比do-while的循环控制条件严格

C:

do-while 允许从外部转到循环体内

D:

do-while的循环体不能是复合语句

答案:

 do-while的循环体至少无条件执行一次

4、
下面程序段执行完后,x 的值是(           )。

 

int x=0; for(int i=0;i<90;i++)  if(i) x++;

A:89
B:0
C:90
D:30
答案: 90

5、

 

以下关于 do-while 循环的不正确描述是(      )。

A:do-while 的循环体可以是复合语句
B:do-while 循环由 do 开始,至 while 结束,在 while(表达式)后面不能写分号
C:do-while 的循环体至少执行一次
D:在 do-while 循环体中,一定要有能使 while 后面表达式的值变为零(“ 假”)) 的操作
答案: do-while 循环由 do 开始,至 while 结束,在 while(表达式)后面不能写分号

6、
运行下面程序,程序运行结果是(         )。 #include <iostream> using namespace  std; int main() { static int a[4]={7,8,9},b[4]={4,5,6},c[4],i;   for(i=0;i<3;i++)    c[i]=a[i]+b[i]; cout<<c[i]<<”  “;   cout<<endl;  return 0; }
 (

A:11 13 15
B:0
C:11 13
D:15
答案: 0

7、
以下程序的输出是(   )。#include<stdio.h>  main()  { int x=1;   if(x=2)      cout<<“OK”;   else if(x<2) cout<<x;   else cout<<“Quit”;  }  

A:1
B:OK
C:Quit
D:无输出结果
答案: OK

8、

 

若w,x,y,z,m均为int 型变量,则执行下面语句后的m值为(   )。
  w=1;x=2;y=3;z=4;  m=(w<x)?w:x;  m=(m<y)?m:y;  m=(m<z)?m:z;

A:2
B:4
C:1

D:3
答案: 1

9、
若u、w、x、y均是正整型变量,则以下正确的switch语句是(     )。  

 

A:switch(x*x+y*y)

{ case 3:

 case 3: w=x+y; break;

 case 0: w=y-x; break;

}

B: switch(pow(x,2)+pow(y,2))

{ case 1: case 3: w=x+y; break;

 case 0: case 5: w=x-y;

}

C:switch x

{ default : u=x+y;

 case 10 : w=x-y; break;

 case 11 : u=x*y; break;

}

D:switch(x+y)

{ case 10 : u=x+y; break;

 case 11 : w=x-y; break;

}

答案: switch(x+y)

{ case 10 : u=x+y; break;

 case 11 : w=x-y; break;

}

10、
语句 while(!E);中的表达式!E等价于(    )。A)E==0       B)E!=1        C)E!=0       D)E==1

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

11、

 

以下程序段(      )。   x=-1;   do     {x=x*x;}  while(!x); 

A:是死循环
B:循环执行二次
C:有语法错误
D:循环执行一次
答案: 循环执行一次

第三章 单元测试

1、

 

以下正确的说法是(     )。

A:系统根本不允许用户重新定义标准库函数
B:用户可以重新定义标准库函数,若如此,该函数将失去原有含义
C:用户若需调用标准库函数,调用前不必使用预编译命令将该函数所在文件包括到用户源文件中,系统自动去调
D:用户若需要调用标准库函数,调用前必须重新定义
答案: 用户可以重新定义标准库函数,若如此,该函数将失去原有含义

2、
以下正确的描述是(      )。     在C++语言中   

 

A:函数的定义和函数的调用均可以嵌套
B:函数的定义和函数的调用均不可以嵌套
C:函数的定义可以嵌套,但函数的调用不可以嵌套
D:函数的定义不可以嵌套,但函数的调用可以嵌套
答案: 函数的定义不可以嵌套,但函数的调用可以嵌套

3、
以下程序的正确运行结果是(     )。        void main()        {                 int a=2,i;                 for(i=0;i<3;i++)cout<<f(a);        }        f(int a)        {                 int b=0; static int c=3;                 b++; c++;                 return(a+b+c);

 

        }  

 

A:

7  8  9

B:

7 10 13

C:

7  7  7

D:

7  9 11

答案:

7  8  9

4、
以下程序的正确运行结果是(      )。        #include<stdio.h>        func(int a,int b)        {                 static int m=0,i=2;                 i+=m+1;                 m=i+a+b;                 return(m);        }        void main()        {                 int k=4,m=1,p;                p=func(k,m); cout<<p<<”,”;                 p=func(k,m); cout<<p<<endl;        }    

 

A:8,20
B:8,8
C:8,16
D:8,17
答案: 8,17

5、
C++语言规定,函数返回值的类型是由(      )。   

 

A:调用该函数时系统临时决定
B:调用该函数时的主调函数类型所决定
C:在定义该函数时所指定的函数类型所决定
D:return语句中的表达式类型所决定
答案: 在定义该函数时所指定的函数类型所决定

6、
下面函数调用语句含有实参的个数为(          )。
        func((exp1,exp2),(exp3,exp4,exp5));  

 

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

7、
C++语言中,以下不正确的说法是(    ) 。    

A:

形参应与其对应的实参类型一致

B:

实参可以为任意类型

C:

形参可以是常量、变量和表达式

D:

实参可以是常量、变量和表达式

答案:

形参可以是常量、变量和表达式

8、
在计算机高级语言 C++中,下面对函数不正确的描述是(          )。

 

A:允许函数递归调用
B:函数形参的作用范围只是局限于所定义的函数内
C:当用数组名作形参时,形参数组元素值的改变可以使实参数组元素的值相 应改变
D:被调用函数必须位于主函数之前
答案: 被调用函数必须位于主函数之前

9、
对下面程序段的描述正确的是(         )。 #include<iostream> using namespace std; int Fun(int x, int y) {  return x+y; } int main() {  int i=10;  cout<<Fun(i++, i)<<endl;  return 0; }

 

A:程序输出结果不能确定
B:程序输出结果是 22
C:程序输出结果是 21
D:程序输出结果是 20
答案: 程序输出结果是 20

10、
下列有关形式参数和实际参数的说法正确的是(   )。

 

A:即便是在发生函数调用时,函数中的形参也不会分配内存单元。
B:一般情况下,在调用函数结束后,形参所占的内存单元不会被释放
C:定义函数指定的形参,会一直占用内存中的存储单元。
D:在定义函数时,必须在函数首部指定形参的类型。
答案: 在定义函数时,必须在函数首部指定形参的类型。

11、
若使用一维数组名作为函数实参,则以下正确的说法是(   )。

          

A:实参数组类型与形参数组类型可以不匹配
B:必须在主调函数中说明此数组的大小
C:实参数组与形参数组名必须一致
D:在被调函数中,不需要考虑形参数组的大小
答案: 必须在主调函数中说明此数组的大小

12、
以下正确的说法是(    )。

 

A:实参和与其对应的形参共占用一个存储单元;
B:实参和与其对应的形参各占用独立的存储单元;
C:形参是虚拟的,不占用存储单元。
D:只有当实参和与其对应的形参同名时才共同占用存储单元;
答案: 实参和与其对应的形参各占用独立的存储单元;

13、

 

以下正确的说法是(   )。

 

如果在一个函数的复合语句中定义了一个变量,则该变量(    )。

A:为非法变量
B:在该函数中有效
C:只在该复合语句中有效
D:在本程序范围内均有效
答案: 只在该复合语句中有效

第四章 单元测试

1、
下面关于C++字符数组的叙述中,错误的是(  )。

A:字符数组的字符可以整体输入、输出
B:可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值
C:可以用关系运算符对字符数组比较大小
D:字符数组可以放字符串
答案: 可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值

2、
若有数组名作为函数调用的实参,则传递给形式参数的是(    )。

A:数组元素的个数
B:数组中全部元素的值
C:数组的首地址
D:数组第1个元素的值
答案: 数组的首地址

3、
已定义一个数组int  x[10];则对此数组元素正确的引用是(      )。

A:cout<<x[10];
B:int b;b=x[1]+x;
C:cout<<x[3+7];
D:cout<<x[0];
答案: cout<<x[0];

4、
假定a为一个整型数组名,则元素a[4]的地址可表示为(        )。

A:a+16
B:a+32
C:a+4
D:a+8

答案: a+4

5、
设有数组定义char  a[]=”China”;则数组a所占的空间字节数为(         )。

A:6个字节
B:7个字节
C:5个字节
D:4个字节
答案: 6个字节

6、
设有定义语句int  a[3][3],则以下叙述错误的是(     )。

A:a[1]是由3个整型元素组成的一维数组
B:a[0]代表一个地址常量
C:可以用a[2]=1;的形式给数组元素赋值
D:a数组可以看成是由a[0]、a[1]、a[2]3个元素组成的一维数组
答案: 可以用a[2]=1;的形式给数组元素赋值

7、
有如下声明语句int  B[3][3]={{1,2,0},{3,2},{4,5,10}};那么B[1][1]的值是(    )。

A:3

B:10

C:2

D:1

答案: 2

8、
以下对一维数组a的正确定义是(     )。

A:int n=9, a[n];
B:int n; cin>>n; int a[n];
C:const int N=9;  int a[N];
D:int a(9);
答案: const int N=9;  int a[N];

9、
运行下面程序,程序运行结果是(      )。#include <iostream>using namespace  std;int main(){
  static int a[4]={7,8,9},b[4]={4,5,6},c[4],i;   for(i=0;i<3;i++)     c[i]=a[i]+b[i]; cout<<c[i]<<”  “;   cout<<endl;  return 0;}

A:11   13

B:0
C:15
D:11   13   15

答案: 0

10、
若有初始化 char  a[ ]=”BASIC”;则cout<<&a[3];的输出结果是(    )。

A:输出a[3]的地址
B:”IC”
C:’S’
D:’I’
答案: “IC”

11、
在C++语言中,引用数组元素时,其数组下标的数据类型允许是(   )。

A:任何类型的表达式
B:整型表达式
C:整型常量
D:整型常量或整型表达式
答案: 整型常量或整型表达式

12、
在C++中一组同样类型的数据在内容中占用连续存贮空间的数据类型是(          )。

A:指向指针的指针
B:指针
C:数组
D:引用

答案: 数组

13、
运行以下程序的输出结果是(     )。int  f ( int  b [ ],  int  n ){  
  int   i, r = 1;

for ( i = 0; i<=n; i++)r = r* b[i];

return  r;}int  main(){
  int  x, a[ ]={2,3,4,5,6,7,8,9};

x = f (a,3);

cout<<x;

return 0;}

A:120
B:720
C:24
D:6
答案: 120

14、
下列do-while 循环的循环次数为(   ).已知: int  j=5; do{ cout<<j- -<<endl;  j- -;}while(j!=0);

A:0
B:1
C:5
D:无限
答案: 无限

15、
若有定义char str1[10]= {“China”},str2[10];要将str1中的字符串复制到str2中去,正确的方法是(    ).

A:strcpy(str2,str1);
B:strcpy(“China”,str2);
C:str2=str1;
D:strcpy(str1,str2);
答案: strcpy(str2,str1);

第五章 单元测试

1、
下面结构体的定义语句中错误的是(     ).

A:struct st{int num,char name[20];} st a;
B:struct {int num,char name[20];} a;
C:struct st{int num,char name[20];} a;
D:struct st{int num,char name[20];} ;st a;
答案: struct st{int num,char name[20];} st a;

2、
struct  abc{int x;int y;} data1=(2,3),data2;则以下赋值语句中错误的是(    )。

A:data2.x=data1.x;
B:data2=data1;
C:data2.y=data1.y;
D:data2(9,10);
答案: data2(9,10);

3、
struct  abc{int x;char  y[20];double z;} data;则以下给结构体变量成员x赋值语句中正确的是(        )。

A:data->x=100;
B:data.(*x)=100;
C:*data.x=100;
D:data.x=100;
答案: data.x=100;

4、
struct s {int a,b;}
data[2]={10,100,20,200};int main(){ s p=data[1]; cout<<p.a<<endl; return 0;}程序运行后的输出结果是(   )。

A:21
B:20
C:10
D:11
答案: 20

5、
运行程序,程序输出结果是(   )。#include <iostream>using namespace std;int main(){ 
  struct   stud { 
    char  num [5];    int   s[4];    double  ave;  } a;  cout<<sizeof(stud)<<endl;  return 0;}

A:29
B:32

C:30

D:31

答案: 32

6、
有下列结构体声明语句struct  student{int num; char name[20]; float score[3]; };student  s[3]={123,”Li Fang”,67,89,90};要对第1个学生的成绩输出总分,下列表达式正确的是(   ).

A:cout<<s.score[0]+s.score[1]+s.score[2];
B:cout<<s.score[1]+s.score[2]+s.score[3];
C:cout<<score[0].s[1]+ score[1].s[1]+score[2].s[1];
D:cout<<s[0].score[0]+s[0].score[1]+s[0].score[2];
答案: cout<<s[0].score[0]+s[0].score[1]+s[0].score[2];

7、
定义以下结构体类型,运行程序的输出结果是(    )。#include <iostream>using namespace std;int main(){ struct s{int a;double b;}; cout<<sizeof(s)<<endl; return 0;}

A:16
B:18
C:14
D:12
答案: 16

8、
当定义一个结构体变量时,系统为它分配的内存空间是(       ).

A:结构体中占内存容量最大者所需的容量
B:结构中第一个成员所需的内存容量
C:结构中各成员所需内存容量之和
D:结构中一个成员所需的内存容量
答案: 结构中各成员所需内存容量之和

9、
运行程序,程序输出结果为(                    )#include <iostream>using namespace std;int main(){ 
  struct s { int x; } a[3];  cout<<sizeof(a);  return 0;}

A:12
B:18
C:4    

D:6
答案: 12

10、
定义以下结构体数组,运行程序,程序输出结果是(    )。 #include <iostream>using namespace std;int main(){  
 struct c
  { int x;
   int y;
  } s[2]={1,3,2,7};  cout<<s[0].x*s[1].x<<endl; return 0;}

A:14
B:21
C:6
D:2
答案: 2

11、
运行程序,程序运行结果是(       ) #include <iostream>using namespace std;struct KeyWord{
  char Key[20];
  int ID;
} kw[]={“void”,1,”char”,2,”int”,3,”float”,4,”double”,5};int  main(){
  cout<<kw[3].Key[0]<< “,”<< kw[3].ID ;  return 0;
}

A:l,4
B:f,4
C:n,3
D:i,3
答案: f,4

12、
#include <iostream>using namespace std;struct student
{
 char name[10];
 int score[50];
 float average;
} stud1;
int main(){
 cout<<sizeof(student); return 0;}

A:128
B:216
C:64
D:256
答案: 216

13、
运行程序,程序运行结果是(    )。 #include <iostream>using namespace std;int  main(){ struct person {
   char name[9];    int age; }; person a[5]={“John”,17,”Paul”,19,”Mary”,18,”Adam”,16}; cout<<a[2].name; return 0;}

A:John
B:Adam
C:Mary
D:Paul
答案: Mary

14、
运行程序,程序运行结果是(              ) #include <iostream>using namespace std;int  main(){ struct date {  int year;  int month;  int day; }; struct s {  date birthday;  char name[20];
 } x[4]={{2008,10,1, “guangzhou”},{2009,12,25,”Tianjin”}}; cout<< x[0].name<<“,”<<x[1].birthday.year<<endl; return 0;}

A:guangzhou,2009
B:guangzhou,2008
C:Tianjin,2008
D:Tianjin,2009
答案: guangzhou,2009

15、
运行程序,程序输出结果是(    )。#include <iostream>using namespace std;struct contry{ int num; char name[20];
} x[5]={1,”China”,2,”USA”,3,”France”,4,”Englan”,5,”Spanish”};int main(){
 int i;  for (i=3;i<5;i++)
   cout<<x[i].num<<“,”<<x[i].name[0]<<endl; return 0;}

A:4E5S
B:F4E
C:3F4E5S
D:c2U3F4E
答案: 4E5S


下方是付费阅读内容:本平台商品均为虚拟商品,无法用作二次销售,不支持退换货,请在购买前确认您需要购买的资料准确无误后再购买,望知悉!

暂无优惠



完整答案需点击上方按钮支付5元购买,所有答案均为章节测试答案,无期末答案。购买后上方矩形框将出现已付费的隐藏内容。



不知道怎么购买?点此查看购买教程!


点关注,不迷路,微信扫一扫下方二维码

关注我们的公众号:阿布查查  随时查看答案,网课轻松过


为了方便下次阅读,建议在浏览器添加书签收藏本网页

电脑浏览器添加/查看书签方法

1.按键盘的ctrl键+D键,收藏本页面

2.下次如何查看收藏的网页?

点击浏览器右上角-【工具】或者【收藏夹】查看收藏的网页


手机浏览器添加/查看书签方法

一、百度APP添加/查看书签方法

1.点击底部五角星收藏本网页

2.下次如何查看收藏的网页?

点击右上角【┇】-再点击【收藏中心】查看

二、其他手机浏览器添加/查看书签方法

1.点击【设置】-【添加书签】收藏本网页

2.下次如何查看收藏的网页?

点击【设置】-【书签/历史】查看收藏的网页

阿布查查 » 计算机编程 知到智慧树答案2024 z12641
+
账户
更新
搜索
帮助
主页