大学MOOC 程序设计基础(C++)(南京理工大学)1457935174 最新慕课完整章节测试答案
第二章 基本类型与变量
文章目录
第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、单选题:
下列定义中不正确的是:
选项:
