第一章 单元测试

1、单选题:

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

A:2
B:1.4
C:1
D:2.0
正确答案:【1

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

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

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

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

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

A:150
B:260
C:230
D:130
正确答案:【260】

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

A:2.0
B:1.4
C:1
D:2
正确答案:【1

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

A:_if
B:signed
C:answer
D:to
正确答案:【signed

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

 

 

A:5char
B:delete
C:_256
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,0
C:6,0
D:2,1
正确答案:【2,1

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

A:E==1
B:E!=0
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:1,2,1
B:2,1,0
C:1,2,0
D: 2,1,1
正确答案:【1,2,0

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

A:程序段中的控制表达式是非法的
B:运行程序段后输出1
C:程序段执行无限次

D:运行程序段后输出0  
正确答案:【运行程序段后输出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:12,2
B:5,25
C:不确定
D:1,12
正确答案:【5,25

14、单选题:

已知: int m=5;下列表示引用的方法中,正确的是:(   )。
A:int &t=5
B:int &Z
C:float &f=&m;
D:int &X=m
正确答案:【int &X=m

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

 

A:子程序
B:函数

C:过程
D:标识符
正确答案:【函数

16、单选题:下面程序段的输出结果是(    ) 。

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

A:f
B:e
C:b
D:
正确答案:【f

17、单选题:

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

A:3
B:6
C:14
D:9
正确答案:【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*A
C:W
D:SW
正确答案:【W*

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

A:

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

B:

 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:30
D:90
正确答案:【90】

5、单选题:

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

A:do-while 循环由 do 开始,至 while 结束,在 while(表达式)后面不能写分号
B: do-while 循环体中,一定要有能使 while 后面表达式的值变为零(“ 假”)) 的操作
C:do-while 的循环体可以是复合语句
D:do-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
B:15
C:0
D:11 13 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:Quit
C:无输出结果
D:OK
正确答案:【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:1

B:4
C:2
D:3
正确答案:【1

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

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

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

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

}

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

{ case 3:

 case 3: w=x+y; break;

 case 0: w=y-x; break;

}

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==0
B:E==1
C:E!=1
D:E!=0 
正确答案:【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  7  7

C:

7 10 13

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,16
C:8,17
D:8,8
正确答案:【8,17

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

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

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

A:2
B:5
C:1
D:4
正确答案:【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:程序输出结果是 20
B:程序输出结果是 22
C:程序输出结果不能确定
D:程序输出结果是 21
正确答案:【程序输出结果是 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:数组第1个元素的值
C:数组元素的个数
D:数组中全部元素的值
正确答案:【数组的首地址】

3、单选题:已定义一个数组int  x[10];则对此数组元素正确的引用是(    )。
A:cout<<x[3+7];
B:cout<<x[0];
C:cout<<x[10];
D:int b;b=x[1]+x;
正确答案:【cout<<x[0];】

4、单选题:假定a为一个整型数组名,则元素a[4]的地址可表示为(        )。
A:a+32
B:a+16
C:a+8

D:a+4
正确答案:【a+4】

5、单选题:设有数组定义char  a[]=”China”;则数组a所占的空间字节数为(         )。
A:6个字节
B:5个字节
C:7个字节
D:4个字节
正确答案:【6个字节】

6、单选题:设有定义语句int  a[3][3],则以下叙述错误的是(     )。
A:a[1]是由3个整型元素组成的一维数组
B:可以用a[2]=1;的形式给数组元素赋值
C:a[0]代表一个地址常量
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:1

C:2

D:10

正确答案:【2

8、单选题:以下对一维数组a的正确定义是(     )。
A:int a(9);
B:const int N=9;  int a[N];
C:int n; cin>>n; int a[n];
D:int n=9, a[n];
正确答案:【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:0
B:11   13   15

C:15
D:11   13

正确答案:【0】

10、单选题:若有初始化 char  a[ ]=”BASIC”;则cout<<&a[3];的输出结果是(    )。
A:’S’
B:’I’
C:输出a[3]的地址
D:”IC”
正确答案:【”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:6
C:720
D:24
正确答案:【120】

14、单选题:下列do-while 循环的循环次数为(   ).已知: int  j=5; do{ cout<<j- -<<endl;  j- -; }while(j!=0);
A:无限
B:0
C:1
D:5
正确答案:【无限】

15、单选题:若有定义char str1[10]= {“China”},str2[10];要将str1中的字符串复制到str2中去,正确的方法是(    ).
A:strcpy(str2,str1);
B:strcpy(str1,str2);
C:strcpy(“China”,str2);
D:str2=str1;
正确答案:【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];} ;st a;
D:struct st{int num,char name[20];} 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:11
B:21
C:20
D:10
正确答案:【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:30

B:32

C:31

D:29
正确答案:【32

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

A:cout<<score[0].s[1]+ score[1].s[1]+score[2].s[1];
B:cout<<s[0].score[0]+s[0].score[1]+s[0].score[2];
C:cout<<s.score[1]+s.score[2]+s.score[3];
D:cout<<s.score[0]+s.score[1]+s.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:6
B:12
C:18
D:4

正确答案:【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:6
B:2
C:21
D:14
正确答案:【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:n,3
B:i,3
C:l,4
D:f,4
正确答案:【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:64
C:256
D:216
正确答案:【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:Mary
B:John
C:Adam
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:Tianjin,2009
B:guangzhou,2009
C:Tianjin,2008
D:guangzhou,2008
正确答案:【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:c2U3F4E
B:4E5S
C:3F4E5S
D:F4E
正确答案:【4E5S】

第六章 单元测试

1、单选题:若有定义语句int c[5],*p=c;则以下对数组c第1个元素地址的正确引用是(      )。
A:&c+1
B:p+5
C:&c[0]
D:c++
正确答案:【&c[0]】

2、单选题:

运行程序,程序输出结果是(     )。

#include <iostream>

using namespace std;

int  main()

{

int a[3][3],*p=&a[0][0],i;

for(i=0;i<9;i++)  p[i]=i;

for(i=0;i<3;i++)  cout<<a[1][i];

return 0;}
A:123

B:345

C:234

D:012
正确答案:【345

3、单选题:

运行程序,程序输出结果是(   ).

#include <iostream>

using namespace std;

int  main()

{

int fun(char *s);

char y[]=”abcd”;

cout<<fun(y)<<endl;

return 0;

剩余章节答案支付后查看
如有疑问请及时联系QQ 50895809反馈
如遇卡顿看不了剩余内容请换个浏览器即可打开

没找到的科目也可以提醒我们更新

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注