C++复印练习答案解析阶段测试一和二的答案.docx
- 文档编号:24349830
- 上传时间:2023-05-26
- 格式:DOCX
- 页数:47
- 大小:33.40KB
C++复印练习答案解析阶段测试一和二的答案.docx
《C++复印练习答案解析阶段测试一和二的答案.docx》由会员分享,可在线阅读,更多相关《C++复印练习答案解析阶段测试一和二的答案.docx(47页珍藏版)》请在冰豆网上搜索。
C++复印练习答案解析阶段测试一和二的答案
C++复印练习详细答案解析
时间:
2016年4月11日
阶段测试1
1、选B
A选项:
OxFF是十六进制数,其中Ox表示的是十六进制的意思,该数字是c语
言常量
B选项:
1.2e0.5是科学记数法,但是在c语言中要正确要求e的后边必须是整
数,所以B选项错误,并且e的前边必须有数字,像e7这种表示方法是错误的
C选项:
2L是c语言中的常量,其中L代表的是2属于long型的数值
D选项:
'\72'是字符型常量的一种特殊情况,是根据其中的ASCII码来对应的
拓展总结:
C语言中的常量总结
常亮:
在程序运行过程中,值不会改变的量称为常量。
我们知道变量有什么整形,实型,字符型……
那常量有哪些类别,这些常量是什么形式的、长什么样的呢?
总的来说,常量有一下几种类别:
一.整型常量,也就是整常数。
二.实型常量。
三.字符型常量。
四.字符串常量,注意字符串常量和字符型常量是不一样的。
一.整型常量
整型常量可以用三种样子:
1.十进制整数。
如356,-120,0。
2.八进制整数。
八进制形式的常量都以0开头,如0123,也就是十进制的
83;-011,也就是十进制的-9。
3.十六进制整数。
十六进制的常量都是以0x开头,如0x123,就是十进制
的291。
4.等等其他进制数
二.实型常量
实型常量有两种样子:
1.十进制小数形式。
注意:
0.0也是实型常量。
2.指数形式。
比如123000,用科学计数法表示为1.23×10的5次方,用C语言表示
就是1.23e5或1.23E5,注意e或E前面必须要有数字,而且e或E后
面的数字一定要是整数。
三.字符型常量
字符型常量都是用''括起来的,其表现形式可以有两种:
1.一般形式。
一个字符用''括起来,注意只能有一个字符。
2.特殊形式。
特殊形式都是以\开头,它们在屏幕上不会直接显示出来,而
是根据其特定的功能来显示的,这些特殊字符常量有:
\n换行,相当于敲一下回车。
\t跳到下一个tab位置,相当于按一下键盘上的tab键。
\b退格,相当于按一下backspace。
\r使光标回到本行开头。
\f换页,光标移到到下页开头。
\\输出\字符,也就是在屏幕上显示一个\字符。
\'输出'字符,也就是在屏幕上显示一个'字符。
\"输出"字符,也就是在屏幕上显示一个"字符。
\ddd1位到3位八进制数表示的字符。
例如:
使用'\376',则在屏幕上显示一个黑色的方块。
\xhh1位到2位十六进制数表示的字符。
注意x不能丢了。
四.字符串常量
字符串常量与字符常量不同的地方是,字符串常量是用""把字符串括起来,所
以'a'和"a"是不一样的,而且系统会在字符串常量的末尾自动加一个字符串结
束标志('\0')。
2、选D
A选项:
VAR不是c语言中的关键字,A错
B选项:
cher不是c语言中的关键字,注区别于char,char是字符型,是c语
言中的关键字,B错
C选项:
integer是一个类(类后边会讲),不是c语言中的关键字,C错
D选项:
是c语言中的关键字,多出现于switch语句中,表示缺省、默认的意
思
拓展总结:
C语言中的关键字总共有32个:
auto:
声明自动变量
short:
声明短整型变量或函数
int:
声明整型变量或函数
long:
声明长整型变量或函数
float:
声明浮点型变量或函数
double:
声明双精度变量或函数
char:
声明字符型变量或函数
struct:
声明结构体变量或函数
union:
声明共用数据类型
enum:
声明枚举类型
typedef:
用以给数据类型取别名
const:
声明只读变量
unsigned:
声明无符号类型变量或函数
signed:
声明有符号类型变量或函数
extern:
声明变量是在其他文件正声明
register:
声明寄存器变量
static:
声明静态变量
volatile:
说明变量在程序执行中可被隐含地改变
void:
声明函数无返回值或无参数,声明无类型指针
if:
条件语句
else:
条件语句否定分支(与if连用)
switch:
用于开关语句 case:
开关语句分支
for:
一种循环语句
do:
循环语句的循环体
while:
循环语句的循环条件
goto:
无条件跳转语句
continue:
结束当前循环,开始下一轮循环
break:
跳出当前循环
default:
开关语句中的“其他”分支
sizeof:
计算数据类型长度
return:
子程序返回语句(可以带参数,也可不带参数)循
环条件
3、选A对于这道题,首先要明白*(乘)/(除)的优先级一样,并且自左而右结合
A选项:
x/y*z等价于(x/y)*z与题目不符
B选项:
可以表示
C选项:
可以表示
D选项:
x/y/z等价于(x/y)/z可以表示
注意:
要求对各个运算符的优先级以及结合方向熟悉
4、选C本题表达式a+=a-=a*a是进行两次对a赋值,表达式等价于:
a+=(a-=(a*a))
也等价于以下分句:
inta=3;
a-=a*a;(等价于a=a-(a*a))
a+=a(等价于a=a+a)
即先算a-a*a即3-3*3=(-6),再将最终结果赋给a,因此此时a等于-6。
再在a等于-6的基础上再算a=a+a即最终a=(-6)+(-6)得-12
因此选C
5、选C本题要注意的是c语言中规定运算最少的法则,即不做没有用的运算
也就是说对于逻辑或和逻辑与运算来讲,需要看左边表达式的真假再来判
断右边表达式是否执行
对于逻辑或(||)运算来说,当||左边的表达式为真时,||右边的表达式就不再
执行,否则一定执行右边的表达式
对于逻辑与(&&)运算来说,当&&左边的表达式为假时,||右边的表达式就不再
执行,否则一定执行右边的表达式
本题中
x=y=3;
t=++x||++y;
首先系统先执行x=y=3;语句,接着自左往右执行t=++x||++y;系统发现
++x值为4,是真(非零即真),并且
是逻辑或的判断运算,所以||右边的++y就不再执行,直接跳过,因此y
的值并没有改变,依然是3
因此选C
6、选B
自增分成两种:
前缀自增和后缀自增
前缀自增:
类似++n这种将符号放在变量名的前边,这时候运行的是先对n自
加,再执行表达式
例如:
intn=9;
if(++n<10);是先给n加上1,此时n
等于10;再执行表达式做判断,也就是n=10<10不成
立
后缀自增:
类似n++这种将符号放在变量名的后边,这时候先运行表达式,整
个表达式运行完之后n再自加1
也就是说在这整个语句没有运行完之前,n还是原来的值,并没有
自增加1
例如:
(本题就是这种情况)
intn=9;
if(n++<10);是先判断n=9<10;等整个表达式执行完
之后n再自加1,也就是说在if语句下边只有出现n,那么
n的值就是10
7、选D
A选项:
第一行switch(a+b);中的分号错误,此处不能有分号,A错
B选项:
含有两个case3:
错,B错
C选项:
switcha中a没有用括号括起来,C错
D选项:
正确,default语句可以放在花括号中的任何位置
8、选A
while循环语句中的判断表达式为真,就执行循环体,否则退出循环
本题的
while(k=1);
语句中的判断表达式k=1是将1赋给k,k的值为1,判断表达式永远为真,循
环就会一直执行,因此程序会陷入死循环
如果将本题的程序中的k=1改成k==1,那么程序还是会陷入死循环,
因为程序中的循环体是k++,没有能够改变判断表达式的条件
如果将本题的程序中的k=1改成k==1,并且将k++改成k--,那么程序就会
执行一次之后终止
9、选B
本题程序的功能是求-1到5的和,结果是-1+1+2+3+4+5=14
注意sum的初始值是-1而不是0
10、选C分析见以下注释部分
#include
usingnamespacestd;
voidmain()
{
intx=3;
do
cout<<(x=-2)< while(! (--x));//当执行到该语句时,x的值先自减等于-3,再判 断while中的表达式,根据非零即真, //是零为假来判断是否执行循环体,-3不是零, 所以(--x)为真,! (--x)为假, //即判断表达式为假循环终止 //如果将! 号去掉,将陷入死循环 } 11、2,1 本题属于简单的赋值运算题,注意的请看注释 #include usingnamespacestd; voidmain() { inta=1,b=2; a=a+b;//执行完该语句后a的值为3 b=a-b;//该语句中a的值为3,b的值为2,执行完该语句后b 的值为1 a=a-b;//该语句中=号右边的a的值为3,b的值为1,执行 完该语句后a的值为2
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 复印 练习 答案 解析 阶段 测试