编程菜鸟到大佬之路:C++程序设计(三)

第二章 C++简单程序设计

C++的特点和程序实例


C++字符集和词法记号

  • C++的特点

    • 兼容 C,支持面向过程的程序设计;
    • 支持面向对象的方法;
    • 支持泛型程序设计方法。
  • 命名空间

    • 避免命名冲突;

    • std 是 C++标准库的命名空间(namespace)名;

    • using namespace std 表示打开 std 命名空间。

      #include <iostream>
      using namespace std;
      
      int main() {
      	cout << "Hello!" << endl;
      	cout << "Welcome to C++!" << endl;
      	return 0;
      }
      
  • 字符集

    • 大小写的英文字母:A~Z,a~z;
    • 数字字符:0~9;
    • 特殊字符:! # % ^ & * _ + = - ~ < > / \ ‘ “ ; . , : ? ( ) [ ] { } |。
  • 词法记号

    • 关键字
      • C++预定义的单词。
    • 标识符
      • 程序员声明的单词,它命名程序正文中的一些实体。
    • 文字
      • 在程序中直接使用符号表示的数据。
    • 分隔符 () {} , : ;
      • 用于分隔各个词法记号或程序正文。
    • 运算符(操作符)
      • 用于实现各种运算的符号。
    • 空白符
      • 空格、制表符(TAB 键产生的字符)、垂直制表符、换行符、回车符和注释的总称。
  • 标识符的构成规则

    • 以大写字母、小写字母或下划线(_)开始;
    • 可以由以大写字母、小写字母、下划线(_)或数字 0~9 组成;
    • 大写字母和小写字母代表不同的标识符;
    • 不能是 C++关键字或操作符。

基本数据类型、常量、变量

  • C++能够处理的基本数据类型

    • 整数类型;
    • 浮点数类型;
    • 字符类型;
    • 布尔类型。
  • 程序中的数据

    • 常量
      • 在源程序中直接写明的数据;
      • 其值在整个程序运行期间不可改变。
    • 变量
      • 在程序运行过程中允许改变的数据。
  • 整数类型

    • 基本的整数类型:int。
    • 按符号分
      • 符号的(signed);
      • 无符号的(unsigned)。
    • 按照数据范围分
      • 短整数(short);
      • 长整数(long);
      • 长长整数(long long)。
    • ISO C++标准并没有明确规定每种数据类型的字节数和取值范围,它只是规定它们之间的字节数大小顺序满足: ( s i g n e d / u n s i g n e d ) s i g n e d c h a r ( u n s i g n e d ) s h o r t i n t ( u n s i g n e d ) i n t ( u n s i g n e d ) l o n g i n t l o n g l o n g i n t (signed/unsigned)signed char\leq(unsigned) short int\leq(unsigned) int\leq(unsigned) long int\leq long long int
  • 字符类型(char)

    • 容纳单个字符的编码;
    • 实质上存储的也是整数。
  • 浮点数类型

    • 单精度(float);
    • 双精度(double);
    • 扩展精度(long double)。
  • 字符串类型

    • 有字符串常量;
    • 基本类型中没有字符串变量;
    • 采用字符数组存储字符串(C 风格的字符串);
    • 标准 C++类库中的 String 类(C++风格的字符串)。
  • 布尔类型(bool)

    • 只有两个值:true(真)、false(假);
    • 常用来表示关系比较、相等比较或逻辑运算的结果。
  • 各基本类型的取值范围
    在这里插入图片描述- 常量

    • 在程序运行的整个过程中其值始终不可改变的量;
    • 直接使用符号(文字)表示的值;
    • 整数常量
      • 以文字形式出现的整数;
      • 十进制
        • 若干个0~9的数字,但数字部分不能以0开头,正数前边的正号可以省略。
      • 八进制
        • 前导0+若干个0~7的数字。
      • 十六进制
        • 前导0x+若干个0~ 9的数字及 A~F 的字母(大小写均可)。
      • 后缀
        • 后缀 L(或 l)表示类型至少是 long,后缀 LL(或 ll)表示类型是 long long,后
          缀 U(或 u)表示 unsigned 类型。
    • 浮点数常量
      • 以文字形式出现的实数;
      • 一般形式:12.5,-12.5等;
      • 指数形式:0.345E+2,-34.4E-3;
      • 整数部分和小数部分可以省略其一;
      • 浮点常量默认为 double 型,如果后缀 F(或 f)可以使其成为 float 型。
    • 字符常量
      • 单引号括起来的一个字符,如:‘a’、‘D’、’?’、’$’;
      • C++转义字符列表(用于在程序中表示不可显示字符):
        在这里插入图片描述
    • C 风格字符串常量
      • 一对双引号括起来的字符序列;
      • 在内存中按串中字符的排列次序顺序存放,每个字符占一个字节;
      • 在末尾添加 ‘\0’ 作为结尾标记。
  • 通过添加前缀可以改变字符常量或者字符串常量的类型,前缀及其含义如下表所示:
    在这里插入图片描述

  • 变量

    • 在程序的运行过程中,其值可变的量;
    • 变量定义:数据类型 变量名 1, 变量名 2, …, 变量名 n;
    • 初始化
      • C++语言中提供了多种初始化方式;
      • int a = 0;
      • int a(0);
      • int a = {0};
      • int a{0}。
      • 其中使用大括号的初始化方式称为列表初始化,列表初始化时不允许信息的丢失。
      • 例如用 double 值初始化 int 变量,就会造成数据丢失。
  • 符号常量

    • 常量定义语句的形式为:

      • const 数据类型说明符 常量名=常量值;
      • 数据类型说明符 const 常量名=常量值;
    • 例如,可以定义一个代表圆周率的符号常量:const float PI = 3.1415926;

    • 符号常量在定义时一定要初始化,在程序中间不能改变其值。

      #include <iostream>
      using namespace std;
      
      int main()
      {
      	const double pi(3.14159);	// 符号常量的定义
      	int radius;
      	cout << "Please enter the radius!\n";
      	cin >> radius;
      	cout << "The radius is: " << radius << '\n';
      	cout << "PI is: " << pi << '\n';
      	cout << "Please enter a different radius!\n";
      	cin >> radius;
      	cout << "Now the radius is changed to: " << radius << '\n';
      	cout << "PI is still: " << pi << '\n';
      	return 0;
      }
      

程序举例

  • 读入并显示整数

    • 常量
      • 在源程序中直接写明的数据,其值在整个程序运行期间不可改变,这样的数
        据称为常量。
    • 变量
      • 在运行过程中从计算机的外部设备(例如键盘、硬盘)读取的,这些数据的
        值在程序运行过程中允许改变,这样的数据称为变量。
    • 从键盘输入数据
      • iostream 类的对象 cin 的>>操作,可以从标准输入设备(通常是键盘)读入
        数据。
    • 数据的存储
      • 为了存储数据,需要预先为这些数据分配内存空间;

      • 变量的定义就是在给变量命名的时候分配内存空间。

        #include <iostream>
        using namespace std;
        	
        int main() {
        	int radius;
        	cout << "Please enter the radius!\n";
        	cin >> radius;
        	cout << "The radius is: " << radius << '\n';
        	cout << "PI is: " << 3.14 << '\n';
        	cout << "Please enter a different radius!\n";
        	cin >> radius;
        	cout << "Now the radius is changed to: " << radius << '\n';
        	return 0;
        }
        
  • 变量的初始化

    • 虽然变量的值是可以在运行时获得的,但是在定义变量时也可以进行初始化,而
      且应该提倡进行初始化;

    • 未经初始化的变量,其值可能是随机的。如果误用了未经初始化也没有给予确定
      值的变量,就会引起错误。

      #include <iostream>
      using namespace std;
      int main()
      {
      	const double pi(3.14159);
      	int radius(0);
      	cout << "The initial radius is: " << radius << '\n';
      	cout << "PI is: " << pi << '\n'; 
      	cout << "Please enter a different radius!\n";
      	cin >> radius;
      	cout << "Now the radius is changed to: " << radius << '\n';
      	cout << "PI is still: " << pi << '\n';
      	return 0;
      }
      

猜你喜欢

转载自blog.csdn.net/faker1895/article/details/86505412