C++语言程序设计 | 第二章 C++简单程序设计(二)

    xiaoxiao2025-03-03  22

    数据的输入和输出

    简单的I/O格式控制 算法的基本控制结构 顺序结构、选择结构、循环结构 结构若有嵌套,要记得{} 以免匹配错误 switch语法 switch (表达式) { case 常量表达式 1:语句1 case 常量表达式 2:语句2case 常量表达式 n:语句n default : 语句n+1 }

    其他控制语句 break语句 使程序从循环体和switch语句内跳出,继续执行逻辑上的下一条语句。不宜用在别处。 continue 语句 结束本次循环,接着判断是否执行下一次循环。 goto 语句 使程序的执行流程跳转到语句标号所指定的语句。不提倡使用。

    - 自定义数据类型 类型别名:为已有类型另外命名 typedef 已有类型名 新类型名表

    例: typedef double Area, Volume; typedef int Natural; Natural i1,i2; Area a; Volume v; using 新类型名 = 已有类型名;

    例: using Area = double; using Volume = double; 枚举类型 定义方式: 将全部可取值一一列举出来。 l 语法形式: enum 枚举类型名 {变量值列表}; 例:enum Weekday {SUN, MON, TUE, WED, THU, FRI, SAT}; 默认情况下 SUN=0,MON=1,TUE=2,…,SAT=6

    C++包含两种枚举类型: 不限定作用域枚举类型: enum 枚举类型名 {变量值列表}; 限定作用域的enum类将在第4章介绍。

    不限定作用域枚举类型说明: 枚举元素是常量,不能对它们赋值 例如有如下定义 enum Weekday {SUN, MON, TUE, WED, THU, FRI, SAT}; 不能写赋值表达式:SUN = 0 枚举元素具有默认值,它们依次为: 0,1,2,…。 也可以在声明时另行指定枚举元素的值,如: enum Weekday{SUN=7,MON=1,TUE,WED, THU,FRI,SAT}; l 也可以在声明时另行指定枚举元素的值; l 枚举值可以进行关系运算。 l 整数值不能直接赋给枚举变量,如需要将整数赋值给枚举变量,应进行强制类型转换。 l 枚举值可以赋给整型变量。

    设某次体育比赛的结果有四种可能:胜(WIN)、负(LOSE)、平局(TIE)、比赛取消(CANCEL),编写程序顺序输出这四种情况。

    //比赛结果只有四种可能,可以声明一个枚举类型。 #include <iostream> using namespace std; enum GameResult {WIN, LOSE, TIE, CANCEL}; int main() { GameResult result; enum GameResult omit = CANCEL; for (int count = WIN; count <= CANCEL; count++) { result = GameResult(count); if (result == omit) cout << "The game was cancelled" << endl; else { cout << "The game was played "; if (result == WIN) cout << "and we won!"; if (result == LOSE) cout << "and we lost."; cout << endl; } } return 0; } auto类型与decltype类型

    auto:编译器通过初始值自动推断变量的类型 例如:auto val = val1 + val2; 如果val1+val2是int类型,则val是int类型; 如果val1+val2是double类型,则val是double类型。

    decltype:定义一个变量与某一表达式的类型相同,但并不用该表达式初始化变量 例如:decltype(i) j = 2;//表示j以2作为初始值,类型与i一致


    注:以上内容来自学堂在线MOOC平台《C++语言程序设计基础》公开课

    最新回复(0)