美文网首页
第二章(C++)~变量和基本类型

第二章(C++)~变量和基本类型

作者: 掌灬纹 | 来源:发表于2019-09-25 19:36 被阅读0次

学习并掌握一门编程语言,理解语法特征的实现细节是第一步

2.1 基本内置类型

c++的常用算术类型:intshortlonglong long
上边提到的都是带符号类型 还可以声明为无符号类型unsigned int/short/long
字符类型char是一种特殊的类型 会在编译时解释成 带符号字符或不带符号字符两者之一
如何选择类型呢?

建议

2.1.2练习

#include<iostream>
// 在运行前给出下列计算的结果 
int main(){
    unsigned u = 10, u2 = 42; // unsigned int
    std::cout << u2 - u << std::endl; // print 32 yes
    std::cout << u - u2 << std::endl; // int max value - 32 "4294967264" yes
    
    int i = 10, i2 = 42;
    std::cout << i2 - i << std::endl; // 32 yes
    std::cout << i - i2 << std::endl; // -32 yes
    std::cout << i - u << std::endl; // 0 yes
    std::cout << u - i << std::endl; // 0 yes
    return 0;
}

请记住:
1.不要混用带符号类型和不带符号类型做运算(不带符号类型在做运算时会自动转为带符号数)对int最大值取模 从而得到非所想的结果
2.当运算无符号数时永远不要运算结果为负数

字面值常量
1.整数的字面值常量可写作十进制,八进制,十六进制
以0开头的书写表示八进制,以0x开头的书写表示十六进制
如 整数20 可表示为 0240x14
2.字符串字面值
双引号包含在内的为字符串字面值,并且编辑器会自动在末尾补上空字符 '\0'
Tips(代码优化):
当打印字符串面值较长时,可换行书写如:

std::cout << "Hello my name is .......,"
                     "This are two lines ......." << std::endl;

3.转译序列
所有的转译字符均以反斜线开始 如\n --> 换行符 \t --> 制表符 \r --> 回车符
空指针的字面值 nullptr

2.1.3练习

/*
练习 2.8 
用转译字符写一段程序 先输出 2M,跳转到新一行
先输出2 然后输出制表符 在输出 M(八进制\115 或十六进制\x4d) 跳转到新一行 
*/
#include<iostream>
int main(){
    std::cout << "2\115\n";
    std::cout << "2\t\115\n" << std::endl; 
    return 0;
}

2.2变量

最常见的变量声明及初始化语句:int val = 0;
要注意的:
1.变量的初始化和赋值两者完全不同,初始化时创建变量时赋予一个初始值而赋值的含义时用一个新的值代替原来的值
2.未初始化的变量使用可能造成不可预知的错误,因此无论内置类型或自定义类型的变量都最好显示的初始化(编程素养)

变量的声明:extern关键字的使用

c++的分离式编译:在多个文件中使用一个变量 则在一个文件中定义 其他使用的文件中声明
注意:
1.变量的定义只能一次,声明可以多次
2.声明变量不要赋初值 否则 声明将成为定义变量

名字作用域:

全局作用域和局部作用域(与大多数语言一样)

建议:在第一次使用变量时在定义它。

2.2练习

~理解作用域的覆盖规则

 // p45 程序中变量j的值
 #include<iostream>
 int i = 42;
 int main(){
    int i = 100;
    int j = i;
    std::cout << j << std::endl;// j = 100
    
 } 
// p45 2.14 看程序 写输出
#include<iostream>
int i = 100, sum = 0;
int main(){
    for(int i = 0; i != 10; i++){
        sum += i;
    }
    std::cout << sum << std::endl;// sum = 45(1+2+3+..)
}  

后续~~~~~~~~~复合类型(引用与指针),自定义数据结构,头文件

相关文章

  • c++ primer

    2 变量和基本类型。 2.1 变量和基本类型。 c++定义了一套 算术类型和空类型,算术类型主要是整型(包括boo...

  • C++ 变量和复合类型

    前面说了C++的基本数据类型,下面来看看在C++中如何定义变量和常量。 变量 定义和初始化 C++定义变量的方式和...

  • 《C++ Primer》读书笔记

    前言 把《C++ Primer》读薄系列笔记全集。 目录 第I部分:C++基础 开始学习C++ 变量和基本类型 字...

  • 1.c++基础(1)

    2.变量和基本类型 3.字符串、向量和数组 4.表达式 5.语句 2.变量和基本类型 c++的算术类型: 一个ch...

  • Python学习(二)

    第二章 基础语法 2.1 数据类型 2.1.1 Python变量的赋值和基本数据类型 Python中的变量不需要声...

  • 第二章(C++)~变量和基本类型

    学习并掌握一门编程语言,理解语法特征的实现细节是第一步 2.1 基本内置类型 c++的常用算术类型:int, sh...

  • C++ primer 第二章变量和基本类型

    初始化和赋值,初始化不是赋值,因为都是用“=”而混淆, 类型别名:typedef的作用std::tuple ::c...

  • 续第二章(C++)~变量和基本类型

    2.3复合类型 前言:真正完整的声明语句--》由基本数据类型 + 声明符列表(指定变量名,还有该变量与基本数据类型...

  • C++ Primer 第二章

    第二章 变量和基本类型 2.1 基本内置类型 2.3.3 定义对象 初始化有直接初始化和复制初始化;复制初始化的语...

  • C++Primer

    未完每日更新 第二章:变量和基本类型 2.4 const //file1.cc// int counter;//f...

网友评论

      本文标题:第二章(C++)~变量和基本类型

      本文链接:https://www.haomeiwen.com/subject/jxequctx.html