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

来源:互联网 发布:apache配置文件详解 编辑:程序博客网 时间:2024/04/29 21:36

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

列表初始化,在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;           //在函数外调用 为0int 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<

0 0
原创粉丝点击