1、1.1 1.C++概述 例题5:C++的合法注释是( )。 A./*This is a C program/* B.// This is a C program C. “This is a C program” D.//This is a C program// 答案:B 分析:单行注释常采用“//”,多行注释采用“/*”和“*/”。单行注释也可采用“/*”和“*/”,但答案A书写格式错误,不能选答案A。注释和字符串的区别,双引号内的字符为字符串。不能选答案C。单行注释不需要结束符“//”,如果有,只能作为注释的一部分存在。也不能选答案D。 例题
2、6:下面标识符中正确的是( )。 A._abc B.3ab C. int D.+ab 答案:A 分析:C++的标识符由字母、下划线和数字组成,而且第一个字符不能为数字。答案B第一个字符为数字不能选B。标识符不能为关键字,不能选答案C。答案D第一个字符不是字母或下划线,也不能选。 例题7:分析下列该程序的错误。输入数据格式为:2,5(回车)。 main() { int sum=0; int a,b; cout<<"input a,b:"; cin>>a>>b; sum=a+b;
3、
cout<
4、 // 定义两个变量,保存输入值
cout<<"input a,b:"; // 提示输入
cin>>a>>b; // 使用基本输入设备cin输入两个变量值
sum=a+b; // 进行累加,结果保存到sum变量
cout< 5、main()函数的返回类型,系统提示警告。一般main函数返回整型
(3)输入数据时没有使用空格分隔。输入运算符“>>”要求输入的多个数据用空格分隔。
补充习题
2.下列标识符中,( B )是合法的。(identifier 能唯一标识一个单元或函数的名字)
A.goto B.Student C. 123 D.kld
4.C++语言中语句的结束符是( )。
A. , B. ; C. 。 D. 、
6.写一个程序输出 Hello,C++!。
7.编译下列程序,改正错误信息,分析输出结果。
#include 6、using namespace std;
int main()
{ int x,y;
cout<<"input x:"< 7、a+b;
cout<<"c2="< 8、.语法错 C.1 D.“假”
分析:根据C++语言中运算符优先级的高低,“!”运算符最高,关系运算符高于逻辑运算符。则上面的表达式转换为:1&&1&&1,结果为1。
答案:C。
2.
例题10:设所有变量均为整型,则表达式(e=2,f=5,e++,f++,e+f)的值为____。
答案:9
分析:逗号运算符是是将两个或多个表达式组合成一个表达式的运算符。求解时从左至右依次计算每个表达式的值,整个表达式的值就是最右边的表达式的值。本题的答案为9。
例题11:已知字母a的ASCII码为十进制数97,且设ch为字符型变量,则表达式ch=’a’+’8 9、’-‘4’的值为____。
答案:e
分析:C++语言中,对字符数据进行算术运算,实际上就是对字符的ASCII码进行运算。以字符形式输出时,再将ASCII码转换为相应的字符输出。本题表达式为ch=97+8-4=101,101相应的ASCII为字符e。
4.选择题
(1)下列数据类型不是C++语言基本数据类型的是( )。
A.字符型 B.整型 C.实型 D.数组
答案:D
(3)下列字符列中,可作为C++语言程序自定义标识符是( )。
A.switch B.file C.break D.do
10、
答案:B
(5) 下列字符列中,可以作为“字符串常量”的是( )。
A. ABC B.″xyz″ C.′uvw′ D. ′a′
答案:B
(6) 设变量m,n,a,b,c,d均为0,执行(m = a==b)||(n=c==d)后,m,n的值是( )。
A.0,0 B. 0,1 C. 1,0 D. 1,1
答案:C
(8) 在C++语言中,自定义的标识符( )。
A.能使用关键字并且不区分大小写 B.不能使用关键字并且不区分大小写
C.能使用关键字并且区分大小写 11、 D.不能使用关键字并且区分大小写
答案:D
(9)设有代码“int a = 5;”,则执行了语句“a + = a - = a*a;”后,变量a的值是( )。
A.3 B. 0 C. -40 D. –12
答案:C
(10)设a为5,执行下列代码后,b的值不为2的是( )。
A. b = a/2 B. b = 6-(--a)
C. b = a%2 D. b = a < 3 ? 3: 2
答案:C
补充习题
1. 1. 12、 选择题
(1)C++语言中的标识符只能右字母、数字和下划线三种字符组成,且第一个字符( C )。
A.必须为字母 B.必须为下划线
C.必须为字母或下划线 D.可以是字母、数字和下划线中任一中字符
(2)下面正确的字符常量是( C )。// 字符常量的标志:一对单引号
A.“C” B.‘\\’’ C.‘W’ D.‘’
(5)关于逻辑运算符的说法正确的是( CD )。 注意逻辑运算符&&与||的特别,可能会使得右边不需求解
13、 A.它们都是双目运算符,优先级相同
B.语句“int a=0,c=1,b;b=a&&c++;” 执行后,c 的值为2
C.语句“int a=0,c=1,b;b=a||c++;” 执行后,c 的值为2
D.语句“int a=1,c=1,b;b=a&&c++;” 执行后,c 的值为2
(8)有如下程序段:注意x的类型为int
int a=14,b=15,x;
char c=’A’;
x=(a&&b)&&(c<’B’);
执行该程序后,x的值为( D )。
A.ture B.flase C.0 D.1
14、
(11)以下叙述中不正确的是( D )。
A.在C++程序中,name和NAME是两个不同的变量
B.在C++ 程序中,逗号运算符的优先级最低
C.若变量m,n为int型,则m=n后,n中的值不变
D.当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值。
(12)sizeof(float)是( B )。考查sizeof()运算符
A.一个双精度型表达式 B.一个整型表达式
C.一种函数调用 D.一个不合法的表达式
(13)下面不正确的字符串常量是( A )。字符串标志--- 15、一对双引号
A.‘rst’ B.“14‘14” C.“0” D.“ ”
(16)设a是整型变量,则表达式(a=4*5,a*2),a+6的值是( B )。考查逗号表达式与赋值的优先级,注意逗号的优先级最低
A.20 B.26 C.40 D.46
(17)设有:int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b)&&(n=c 16、D.4
(18)用C++的语言表达式表示 |x3+log10x|的正确是( )。
A.fabs(x*3+log(x)) B.abs(pow(x,3)+log(x))
C.fabs(pow(x,3.0)+log(x)) D.abs(pow(x,3.0)+log(x))
(19)设int k=7,x=12;则能使值为3的表达式是_____。
A.x%=(k%=5) B.x%=(k-k%5)
C.x%=k-k%5 D.(x%=k)-(k%=5)
(21)设有语句in 17、t x=3,y=4,z=5;则下面表达式中值为0的是( D )。
A.’x’&&’y’ B.x<=y
C.x||y+z&&y-z D.!((x 18、2:以下不正确的语句是( )。
A.if(x>y);
B.if(x=y)&&(x!=0) x+=y;
C.if(x!=y)cin>>x;else cin>>y;
D.if(x 19、b=6;
if(a>5)
a-=1;
b+=1;
else
a+=1;
b-=1;
cout<<”a=”< 20、
A.只是表达形式不同
B.do…while结构中的语句至少执行一次
C.while结构中的语句至少执行一次
D.条件成立时,它们有可能一次也不执行
答案:B
分析:要知道while、do…while两种循环结构的区别在于:while循环是先判断条件是否成立,成立时才执行,而do…while是先执行再判断,它至少执行一次。
例题5:以下不正确的是( )。
A.语句for(i=0;;i++)表示无限循环 B.for(;;)表示无限循环
C.for()也表示无限循环 D.while(1)表示无限循环
答案:C
分析:for循环语句 21、中的表达式可以省略,但分号不可省略。
例题6:下面循环体的执行次数为( )。
#include 22、的说法下面不正确的是( )。
A.用户可以指定中断的位置 B.用户可以指定转移的位置
C.break语句可以跳出本循环 D.continue语句可以结束本次循环
答案:B
分析:不论break语句还是continue语句转移的位置是根据程序默认的,不用人为的设置。
例题8:下列函数的功能是( )。
#include 23、
{ if((a>=’a’)&&(a<=’z’))
a=a-i;
cout< 24、>
using namespace std;
int main()
{ int x=5,y=8,z=9, u, v;
if( (1) ) u=x;
else u=y;
if( (2) ) v=u;
else v=z;
cout<<”v=”< 25、案:为无限次。
分析:要注意”=”和”= =”的区别,”=”是赋值运算符,”= =”是关系运算符“等于”。这里while(n=1)永远为1,为真值,则答案为无限次。
例题11:计算1~20之间偶数之和,请填充:
#include 26、<21 (2)b+=i+1 (3) }
例题12:下面程序运行结束后,k的值为_____。
#include 27、ream>
using namespace std;
int main()
{ int i,j;
for(i=0; (1) ;i++)
{ j=i*10+4;
if( (2) )
continue;
(3)
cout< 28、结果
例题16:#include 29、句“x=25”。
例题17#include 30、因x值为7,条件成立,故执行语句cout<<- -y< 31、什么?
运行结果:
a 是偶数
a是奇数
分析:本题主要是要掌握多分支语句switch语句和break语句的应用。当符合条件的分支执行完毕后,如果没有遇到break语句,则继续执行下面的分支语句,而不管条件是否符合,直到遇到break语句或switch语句结束。
例题19:写出下列程序运行结果:
#include 32、i) m=1;n++;
cout< 33、 if(b%3= =1)
{ b+=3;continue;}
}
cout<
using namespace std;
int main()
{ int y, a;
y=2;a=-1;
34、 while(y--!=-1)
{ do
{ a*=y; a++; } while(y--);
}
cout<<"a= "<