}
要把不同的数据类型转换的原则记清楚,有两条:
1)不同的数据类型,计算机系统会按隐含转换原则进行转换;
我们也可以按我们的意图进行强制类
423323333422314423131222
一、单项选择题:
⒈以下哪种程序能将高级语言转换为机器代码。
A)汇编程序
B)翻译程序
C)源程序
D)编译器
⒉下列关于C++语言标识符的叙述中正确的是。
A、标识符中可以出现下划线和中划线(减号)。
B、标识符中不可以出现中划线,但可以出现下划线。
C、标识符中可以出现下划线,但不可以放在标识符的开头。
D、标识符中可以出现下划线和数字,它们都可以放在标识符的开头。
⒊以下可用作C++语言用户标识符的一组标识符是。
A、voidB、a3-3C、INTD、2ab
Define_123_abcDO
WORDifCostsizeof
⒋以下几组选项中,均为不合法标识符的是。
A、AP_0doB、floatla0_A
C、b-agotointD、_123tempFLOAT
⒌一个C++语言程序是由。
A、一个主程序和若干子程序组成。
B、若干函数组成。
C、若干过程组成。
D、若干子程序组成。
⒍C++语言规定,在一个源程序中,main函数的位置。
A、必须在最开始B、必须在系统调用的库函数的后面。
C、可以任意D、必须在最后
⒎以下是C++程序的基本结构单位。
A、文件B、语句C、函数D、表达式
⒏C++中使用来执行标准的输入输出操作。
A)语句
B)函数
C)流
D)以上都不是
⒐已知各变量类型如下:
inti=8,k,a,b;unsignedlongw=5;doublex=1.42,y=5.2;
则以下不符合C++语言语法的表达式是。
A、a+=a-=(b=4)*(a=3)B、a=a*3+2C、x%2D、y=float(i)
⒑若变量a是int类型,并执行了语句:
a=’A’+1.6;则正确的叙述是。
A、a的值是字符C。
B、a的值是浮点型。
C、不允许字符型和浮点型相加。
D、a的值是字符’A’的ASCII值加上1。
⒒设intx=1,y=1;,表达式(!
x||y--)的值是。
A、0B、1C、2D、-1
⒓若变量已正确定义并赋值,合法的表达式是。
A、a=a+1;B、a=7+b+c,a++C、int(12.5%2)D、a=a+1=c+b
⒔C++语言中,关于自增和自减运算符使用正确的是。
A、10++B、(x+y)--C、d+++d+++d++D、++(a-b)
⒕设有intx=11;,表达式(x++*1/3)的值是。
A、3B、4C、11D、12
⒖已有定义:
intx=3,y=4,z=5;,则表达式!
(x+y)+z-1&&y+z/2的值是。
A、6B、0C、2D、1
16、若有以下语句:
charw;intx;floaty;doublez;则表达式w*x+z-y的结果是()类型。
A、floatB、charC、intD、double
17、若有以下语句:
charw;intx;floaty;doublez;w=w*x+z-y的结果是()类型。
A、floatB、charC、intD、double
18、执行下列程序语句,输出为()
inti=’a’;charc=65;
c=c+32;i=i-32;cout<A、97;65B、a;AC、a;65D、97;A
19、执行下列程序语句,输出为()
inti=’a’;charc=65;
cout<A、97;65B、a;AC、a;65D、97;A
20、char型数据在内存中是以()形式存储的。
A、原码B、补码C、ASCII码D、反码
21、转义字符是C++的一种特殊形式的字符常量。
表示换行的是()。
A、\n B、\t C、\a D、\v
22、执行以下语句后,x的值为()。
intx=6; x+=x-=x*x;
A、36B、-60C、60D、-24
23、下列的叙述中错误的是。
A、注释是帮助阅读程序的说明
B、注释在编译时,编译系统会对注释进行编译操作,并指出注释中的错误
C、用于说明程序的功能的注释,称为序言注释
D、“//”符号表明后续字符为注释信息,即给阅读程序的人提供的简单解释
24、下列运算符中,优先级最高的是。
(A)%(B)!
(C)>=(D)/
一、单项选择题
1.下列选项中不属于C++的类型的是。
A.signedshortintB.unsignedlongint
C.unsignedintD.longshort
2.在C++语言中,078是。
A.十进制数B.八进制数
C.十六进制D.非法数
3.字符串常量“E”的字符个数是。
A.1B.2
C.3D.4
4、若d为double型变量,则表达式d=1,d+5,d++的值是。
A.1B.6.0
C.2.0D.1.0
5.设int a=10,b=11,c=12;表达式(a+b)A、2B、0C、-2D、1
6.设inta=4,b=8;则++a*b的结果是。
A.33B.40
C.32D.41
7、以下运算符优先级最高的是。
A.<=B.==
C.%D.&&
8、能表示a≥10或者a≤0的关系表达式是。
A.a>=10ora<=0B.a>=10|a<=0
C.a>=10||a<=0D.a>=10&&a<=0
9、以下不正确的是。
A.语句for(i=0;;i++)表示无限循环
B.for(;;)表示无限循环
C.for()也表示无限循环
D.while
(1)表示无限循环
10、当执行以下程序时,是正确的。
A.循环体将执行一次B.循环体将执行两次
C.循环体将执行无限次D.系统将提示有语法错误
k=1;
do{
k=k*k;
}while(!
k)
二、阅读下列程序,写出程序运行后的结果:
1、
#include
usingnamespacestd;
voidmain()
{inti,s=0,t=0;
for(i=0;i<10;i++)
{s++;
if(i>5)break;
t++;}
cout<<"i="<
cout<<"s="<
cout<<"t="<
2、
#include
usingnamespacestd;
voidmain()
{inti,s=0,t=0;
for(i=0;i<10;i++)
{s++;
if(i>5)continue;
t++;}
cout<<"i="<
cout<<"s="<
cout<<"t="<3、
#include
usingnamespacestd;
voidmain()
{inti;
for(i=1;i<6;i++)
switch(i%2)
{case0:
i++;
cout<<"***";break;
case1:
i+=2;cout<<"&";
default:
cout<}
}
4、
#include
usingnamespacestd;
voidmain()
{
inti;
intj=0;
for(i=0;i<6;i++)
switch(j++%3)
{
case0:
i++;cout<<"#"<case1:
i+=2;cout<<"*";
case2:
cout<<"@@";
case3:
j++;break;
default:
cout<}
cout<<"i="<
cout<<"j="<}
比较:
#include
usingnamespacestd;
voidmain()
{
inti;
intj=0;
for(i=0;i<6;i++)
switch(++j%3)
{
case0:
i++;cout<<"#"<case1:
i+=2;cout<<"*";
case2:
cout<<"@@";
case3:
j++;break;
default:
cout<}
cout<<"i="<
cout<<"j="<}
5、
#include
usingnamespacestd;
voidmain()
{inti,j;
intn=5;
for(i=1;i<=n;i++)
{for(j=1;j<=i;j++)
if(j%2==0)cout<<"&";
elsecout<<"*";
cout<}
6、
#include
usingnamespacestd;
voidmain()
{
intk,i,j;
cout<<"k="<cin>>k;
if(k<1||k>20)cout<<"error"<else
{
for(i=1;i<=k;i++)
{if(i==1||i==k)
{for(j=1;j<=k;j++)
cout<<"*";
}
else
{
cout<<"*";
for(j=1;j<=k-2;j++)
cout<<"";
cout<<"*";
}
cout<}
}
7、
#include
usingnamespacestd;
voidmain()
{inti,j;
for(i=0;i<4;i++)
{for(j=0;j<=5+i;j++)
if(i==0||i==3)
if(j<3-i)
cout<<'';
else
cout<<'*';
else
if(j==3-i||j==5+i)
cout<<'*';
else
cout<<'';
cout<}
}
8、
#include
usingnamespacestd;
voidmain(void)
{
inti,j;
intn;
cout<<"pleaseinputn:
"<cin>>n;
for(i=0;i{
for(j=0;j{
if(i==0||i==n-1)
if(jcout<<"";
else
cout<<"*";
else
if(j==n-1-i||j==n-1+i)
cout<<"*";
else
cout<<"";}
cout<}
}
9、
#include
#include
usingnamespacestd;
voidmain()
{inti,j;
cout<<"*|";
for(i=1;i<=9;i++)cout<cout<for(i=1;i<=9;i++)
{cout<(2)<
for(j=1;j
cout<for(j=i;j<=9;j++)
cout<cout<}
10、
#include
#include
usingnamespacestd;
voidmain()
{
intm,i,count(0);
for(m=2;m<=100;m++)
{
for(i=2;i<=m/2;i++)
if(m%i==0)break;
if(i>=m/2&&m%10==3){cout<if(count%4==0)cout<}
cout<}
三、编写程序:
1、数学灯谜
有算式:
ABCD
_CDC
____________________
ABC
其中A,B,C,D均为一位非负整数
要求:
找出A,B,C,D各值。
2、编写程序,统计1005000之间各位数字之和等于5的数的个数。
3、输出如下形式的九九表。
4、用牛顿迭代法编写求x3-x2-1=0在x=1.5附近的根。
5、求a+aa+aaa+....+aa..a(n个),其中a为0到9之间的数字,n和a的值由键盘输入。