第二章 基本类型与变量

第2章测试

1、单选题:
‎以下可以作为C++自定义标识符的是:‌
选项:
A: dollar#
B: sqrt
C: break
D: 123
答案: 【 sqrt

2、单选题:
​下列选项中合法的用户标识符是:‏
选项:
A: 10ng
B: _2Text
C: 3Dmax
D: A.dat
答案: 【 _2Text

3、单选题:
‏以下各选项组中,均可作为自定义标识符的组是:‎
选项:
A: public   _No1    this
B: shod     No.1     sta
C: i        while      >=
D: No1    Cout      a
答案: 【 No1    Cout      a

4、单选题:
​以下不符合C++语法规则的数值常量是:‍
选项:
A: 034
B: 2.1E3
C: 0Xab23
D: 2E1.4
答案: 【 2E1.4

5、单选题:
‎存储下列数据,占用存储字节最多的是:​
选项:
A: 0
B: '0'
C: "0"
D: 0.0
答案: 【 0.0

6、单选题:
‌在32位系统中,基本数据类型所占字节长度,正确的是:‌
选项:
A: char<int<float<double
B: char<int<double<float
C: char<short<float<int
D: char<short<int<double
答案: 【 char<short<int<double

7、单选题:
‏以下说明语句中,不存在语法错误的是:‎
选项:
A: int 10long;
B: int _2int;
C: float X3-Dmax;
D: char X.txt;
答案: 【 int _2int;

8、单选题:
‏以下选项中,不能将字母A的ASCII码保存到变量ch的语句是:‌
选项:
A: char x= "A";
B: char x=’A’;
C: char x=’101’;
D: char x=65;
答案: 【 char x= "A";

9、单选题:
‏下面哪一个不能作为合法的标识符?‌
选项:
A: integer
B: 7days
C: V
D: chen
答案: 【 7days

10、单选题:
‎下面哪一种类型数据是4 字节长度?‏
选项:
A: wchar_t
B: unsigned long long
C: long long
D: char32_t
答案: 【 char32_t

11、单选题:
‍下面哪一个可作为合法的标识符?‎
选项:
A: default
B: register
C: extern
D: sqrt
答案: 【 sqrt

12、单选题:
‎下面哪一种类型不属于字符类型?‌
选项:
A: uchar
B: char32_t
C: char16_t
D: wchar_t
答案: 【 uchar

13、单选题:
‏下面哪一个字面值与其它3 个不同?‌
选项:
A: 38
B: 046
C: 038
D: 0B100110
答案: 【 038

14、单选题:
​下面哪一个是非法的字面值?​
选项:
A: 0xEF
B: 1.2e0.6
C: 5L
D: '56'
答案: 【 1.2e0.6

15、单选题:
‍下面哪一个是非法的数据类型?‏
选项:
A: signed short int
B: unsigned double
C: unsigned long int
D: unsigned int
答案: 【 unsigned double

16、单选题:
​下面哪一个是非法的十六进制的整型字面值?‍
选项:
A: 0xbe
B: 0x2c
C: xef
D: 0xEF
答案: 【 xef

17、单选题:
‎下面哪一个是合法的字符型字面值?​
选项:
A: "A"
B: 72
C: '326'
D: D
答案: 【 '326'

18、单选题:
‎下面哪一条语句导致编译警告或错误?​
选项:
A: unsigned a1;
B: unsigned a2 = -1;
C: unsigned a3(-1);
D: unsigned a4{-1};
答案: 【 unsigned a4{-1};

19、单选题:
‌下面哪一个变量类型为unsigned long long?‏
选项:
A: auto v1 = 123;
B: auto v2 = 123u;
C: auto v3 = 123lu;
D: auto v4 = 123llu;
答案: 【 auto v4 = 123llu;

第三章 运算符与表达式

第3章测试

1、单选题:
​以下运算符中运算对象一定不能是double类型的是‎​‎
选项:
A: %
B: /
C: =
D: <=
答案: 【 %

2、单选题:
‌设有语句:char x=6,y=10;int z; z=(x^y)<<2; 则z的值是‎‌‎
选项:
A: 3
B: 48
C: -4
D: -52
答案: 【 48

3、单选题:
‌执行语句unsigned a=-1;long b=1;auto c=a<b;后,c的值为:‌‌‌
选项:
A: 0
B: 1
C: true
D: false
答案: 【 false

4、单选题:
​设有int a=3,b=2,x=4; 则cout<<(a<x<b)输出为:​​​
选项:
A: 0
B: 1
C: 3
D: 5
答案: 【 1

5、单选题:
‎若有声明int m=7,n=4;float a=38.4,b=6.4,x;则执行语句x=m/2*n+a/b+1/2;后,x的值为:‌‎‌
选项:
A: 18
B: 18.5
C: 20
D: 20.5
答案: 【 18

6、单选题:
​若有int a=1,b=2,c=3,d=4; 则表达式b<a?a:c<d?c:d的值为(运算符?:的结合性为从左向右):‍​‍
选项:
A: 1
B: 2
C: 3
D: 4
答案: 【 3

7、单选题:
​执行下面语句: ‍​int i = -5;‍​cout<<-(i++)<<";";‍​cout<<i<<endl;‍​输出结果是下面哪一个?‍​‍
选项:
A: 4;-4
B: 5;-4
C: 4;-5
D: 5; -5
答案: 【 5;-4

8、单选题:
‍尝试执行下面语句:‏‍unsigned int i = 2;‏‍int j = -3;‏‍cout<<(i*j)<<endl;‏‍输出结果是下面哪一个?‏‍‏
选项:
A: -6
B: 6
C: 一个无符号整数
D: 编译出错,无输出
答案: 【 一个无符号整数

9、单选题:
‌下列字符串常量表示中,错误的是()。‏‌‏
选项:
A: ""yes"or"
B: "\Right""
C: "abcdef"
D: "ABCDt\"
答案: 【 ""yes"or"

10、单选题:
​设int a=5,b;,执行以下代码后,b的值不为2的是:‎
选项:
A: b=a/2;
B: b=6-(a--);
C: b=a>>1;
D: b=a^7;
答案: 【 b=6-(a--);

11、单选题:
‏假设变量a、i 已正确定义,且i 已正确赋值,下列哪一个是合法的赋值表达式?‌
选项:
A: a==1
B: a=++i++
C: a=a++=5
D: a=int(i)
答案: 【 a=int(i)

12、单选题:
‍若变量a 是int 类型,并执行了语句a='A'+1.6; 下列哪一个叙述是正确的?‏
选项:
A: a 的值是字符'A'
B: a 的值是浮点型
C: 不允许字符型与浮点型相加
D: a 的值是字符'B'
答案: 【 a 的值是字符'B'

13、单选题:
‏下列程序的运行结果是 。‌‏int main()‌‏{ ‌‏int a=5,b=4,c=3,d; ‌‏d = (a > b > c);‌‏cout<<d<<endl; ‌‏return 0;‌‏}‌‏‌
选项:
A: 5
B: 3
C: 1
D: 0
答案: 【 0

14、单选题:
​在算术表达式中,下面哪一种类型转换是错误的?‌
选项:
A: 一个int 值加上一个float 值的类型为float。
B: 两个unsigned char 值相加的类型为int。
C: 一个char 值加上一个short 值的类型为int。
D: 一个unsigned int 值加上一个int 值的类型为int。
答案: 【 一个unsigned int 值加上一个int 值的类型为int。

15、单选题:
‏有下面语句,变量a 的值为____。‍‏int a = 3;if (++a < 4)a++; a++;‍
选项:
A: 3
B: 4
C: 5
D: 7
答案: 【 5

16、单选题:
‍下面哪一个表达式能正确表示逻辑关系:"age≥18 或age≤60"?‌
选项:
A: age>=18 or age<=60
B: age>=18 | age<=60
C: age>=18 && age<=60
D: age>=18 || age<=60
答案: 【 age>=18 || age<=60

17、单选题:
‌设有语句int a=5; 则执行表达式a-=a+=a*a 后,a 的值是 。‏
选项:
A: -5
B: 25
C: 0
D: -20
答案: 【 0

18、单选题:
‏表达式16/4*float(4)+2.0 的数据类型是 。​
选项:
A: int
B: float
C: double    
D: 不确定
答案: 【 double    

19、单选题:
‎设有语句int a=5, b=6, c=7, d=8, m=2, n=2,则逻辑表达式(m=a>b)&&(n=c>d)运算后,n 的值为 。‍
选项:
A: 3
B: 2
C: 1
D: 0
答案: 【 2

20、单选题:
‍整型变量m 和n 的值相等,且为非0 值,下面哪一个表达式的值为零?‌
选项:
A: m | n
B: m ^ n
C: m || n
D: m & n
答案: 【 m ^ n

第四章 基本语句

第4章测试

1、单选题:
‏执行语句:for(int k=43210;k=k/10;cout<<k%10); 其输出结果是:‍‏‍
选项:
A: 1234    
B: 01234    
C: 4321
D: 43210
答案: 【 1234    

2、单选题:
‌执行程序段:‌‌int x,y;
  x=3;
   do {
     y=x--;
     if(!y) {cout<<'#'; continue;}
     cout<<'#';
   } while((x=1)||(x=2));‌‌‌
选项:
A: 将输出##
B: 将输出###
C: 将进入死循环
D: 将输出#
答案: 【 将进入死循环

3、单选题:
‎执行程序段:​‎   int x=6;
   do {
     if(x%3) {cout<<'#'; continue;}
   } while(x--);​
选项:
A: 将输出#
B: 将输出##
C: 将输出###
D: 将输出####
答案: 【 将输出####

4、单选题:
‏执行以下语句,输出结果是‏‏int x=3;
do{  cout<<(x-=2)<<" "; }while(!--x);‏
选项:
A: 1
B: 3 0
C: 1 -2
D: 0 -1
答案: 【 1 -2

5、单选题:
‏执行以下程序段‏‏    int k=5,n=0;
    while(k--)
       switch(k)
       {  case 1:
          case 3:n+=1;break;
          default:n+=2;
          case 2:
          case 4: n+=3;break;  }后,n和k的值分别为:‏
选项:
A: 10 -1
B: 13 -1
C: 8 0
D: 10 0
答案: 【 13 -1

6、单选题:
‎以下语句段执行结果:​‎  int a=2,b=0;
  while(!b--)cout<<a--<<' '<<b;​
选项:
A: 2 -1
B: 1 -1
C: 没有输出
D: 2 0
答案: 【 2 -1

7、单选题:
‍在下列选项中,没有构成死循环的语句段是:‍
选项:
A: int i=100;while(1){i=i%100;if(i>=100)break;}
B: for(;;);
C: int k=1000;do{k;}while(k>1000);
D: int s=3;while(s);--s;
答案: 【 int k=1000;do{k;}while(k>1000);

8、单选题:
​以下说法正确的是:‏​‏
选项:
A: while语句中,循环体语句可能是一条语句,也可能没有语句。
B: 执行do-while语句时,可能不执行循环体语句。
C: for语句如果第2个表达式为空,则必然进入死循环。
D: do-while语句总能用while或for语句实现
答案: 【 do-while语句总能用while或for语句实现

9、单选题:
‌已有预处理命令“#include <cmath>”和声明“int a=4,b;”,以下语句中语法正确的是:​‌​
选项:
A: if(a%2=1) b=a;
B: if(sqrt(a)%2) b=a;
C: if(a==1) b=a;
D: if(a==1) b=*a;
答案: 【 if(a==1) b=a;

10、单选题:
‏运行下面程序段:‏‏for (int i = 1,sum = 0; i < 5; i++){
if (!(i%3))  
continue;   
sum += i;   
}变量sum的值为:‏
选项:
A: 0
B: 3
C: 7
D: 10
答案: 【 7

11、单选题:
‌下列程序的输出结果是 。‌‌using namespce std;
#include <iostream>
int main()
{
int x=1,i=1;
for (; x < 50; i++)
{
if(x >= 10) break;
if(x % 2 != 0){
x += 3;
continue;
}
x-=-1;
}
cout<<x<<' '<<i<<endl;
return 0;
}‌‌‌
选项:
A: 12 7
B: 11 6
C: 12 6
D: 11 7
答案: 【 12 6

12、单选题:
‎有下面语句,输出结果为_____。int x = 3;do{cout<<(x-=2)<<"  ";}while (!(--x));‍
选项:
A: 1
B: 3     0
C: 1  -2
D: 死循环
答案: 【 1  -2

13、单选题:
‍有下面语句段,输出结果为_____。​‍using namespace std;
#include <iostream>
int main(){
char c = 'B';
switch (c) 
{
case 'A':cout << "1";
case 'B':cout << "2";
case 'C':cout << "3";
default: cout << "4";
}
return 0;
}​‍​
选项:
A: 2
B: 23
C: 234
D: 编译错误
答案: 【 234

14、单选题:
‏下列for 语句的循环次数为:‌‏for (int i = 1; i <= 5; sum++) sum += i;‌‏‌
选项:
A: 5
B: 4
C: 0
D: 无限
答案: 【 无限

15、单选题:
‎下列程序的输出结果是 。​‎using namespace std;
#include <iostream>
int main()
{
int n = 'm';
switch(n++){
default: cout<<"error";break;
case 'k':case 'K':case 'l':case 'L':cout<<"good"<<endl;break;
case 'm':case 'M':cout<<"pass"<<'t';
case 'n':case 'N':cout<<"warn"<<endl;
}
return 0;
}​‎​
选项:
A: pass
B: warn
C: pass warn
D: error
答案: 【 pass warn

第五章 函数和编译预处理

第5章测试

1、单选题:
‍设有“#define M(a,b,c) a*b-c”,执行“cout<<M(2+3,2+3,4);”输出为​‍​
选项:
A: 21
B: 7
C: 0
D: 1
答案: 【 7

2、单选题:
​若有宏:​​#define AA 10​​#define D(x) x*x​​则执行cout<<D(1+2)*AA;,输出结果为:​
选项:
A: 23
B: 50
C: 90
D: 编译出错
答案: 【 23

3、单选题:
‏考虑函数原型void test(int,char='*',int=7); 以下合法的函数调用是:‏
选项:
A: test(5) 
B: test(5,"0");
C: test(5,"&" ,6);
D: test(5,6,"%");
答案: 【 test(5) 

4、单选题:
‍下列定义中不正确的是:​
选项:

剩余75%内容付费后可查看

发表评论

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