c++ primer第五版(中文)习题答案 第二章第二节-变量

本博客知识记录自己学习中的笔记或者记录,如果有错误欢迎大家纠正。

列表初始化,在c++11中 使用花括号来初始化变量得到全应用,
int units_sold =0;
int units_sold = {0};
int units_sold(0);
int units_sold{0};
初始化每一个内置类型的变量

练习2.9 解释下列定义,对于非法的定义,请说明错在何处并将其改正。
a。 std::cin>>int input_value; //错误 输出变量声明
b. int i ={3.14}; // 错误,列表初始化不能存在数值丢失
c. double salsry =wage =9999.99;//错误 wage 没有声明类型
d.int i = 3.14; // 正确 虽然数据丢失,但能正常编译运行。

练习 2.10下列变量的初值分别是多少?

std::string global_str;   //为空
int global_int;           //在函数外调用 为0
int main(){
int local_int;           //在函数类调用 不被初始化 编译不通过
std::string local_str;   //空
}

c++ 语言将声明和定义区分开来,声明(declaration)使得名字为程序所知,一个文件如果想使用别处定义的名字则必须包含对那个名字的声明,而定义(definition)负责创建与名字关联的实体。定义申请存储空间,并初始化,声明可以多次,定义只能一个

练习2.11 指出下面的语句是声明还是定义

a. extern int ix = 1024;//定义
b int iy;   //声明
c. extern int iz; //声明

练习2.12 请指出下面的名字中那些是非法的?
a. int double = 3.14; //错误 double为关键字 不能做变量
b. int _; //正确变量以字母或下划线开始
c.int catch =22; //错误 catch为关键字
d.int 1_or_2 =1;//作为 变量以字母或下划线开头
e double Double =3.14; //正确 关键字区分大小写Double 不为关键字

练习2.13 下面程序中j的值是多少?
int i = 42;
int main(){
int i=100;
int j = i ;
}
j的值为100;内部相同变量覆盖外部变量

练习2.14 下面程序合法吗,如果合法,它将输出什么?
int i =100,sum =0;
for (int i=0;i!=10;i++){
sum +=i;
}
std::cout<

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值