学习C++.Primer.Plus 6 分支语句和逻辑操作符

  • ||、 &&操作符是一个顺序点
  • < 操作符从左向右结合
    int age = 24;
    if(17 < age < 20)//17<age为true, = 1,肯定 < 27。所以为整个条件为true
    {
        ...
    }

     

  • C++ 对逻辑表达式从左向右计算,并在知道答案后立即停止计算。
  • 字符函数库:

在ctype函数库中(#include(cctype))

isalnum()  字母数字

isalpha()  字母

isblank()  空格或水平制表符

 

isdijit()  数字

islower()  小写字母

ispunct()  punctuation标点符号

isspace()  空格、进纸、换行、回车、水平/垂直制表符

isupper()  大写字母

isxdijit()  16进制数字

tolower()  返回小写形式

toupper()

等等等等等等

  • cin无法识别枚举变量。当switch语句将int 和 枚举比较时,会自动提升为int 类型。
    • switch语句中每个case必须为 整数(或char)的常量。
  • cin>>n数字出错时:n值保持不变;错误输入被留存队列中;设置一个错误标记;返回cin 或 false。
  • 简单文件输入/输出:
    • cin>>某一类型时:cin不断读取,直到遇到不属于该类型的字符时为止,并将其丢回输入流。
    • cin.getline(arr, 50),直到遇到换行符,最后会将换行符丢弃。
    • 包含头文件fstream。文件输入输出的ostream/fstream。
      #include <fstream>
      #include <stdlib>
      ...
      ...
      ofstream outFile;
      outFile.open("C:\***.txt");//如果不存在,则会新建。如果存在,则会截断和重写
      if(!outFile.is_open())//判断是否打开成功
      {
          exit(EXIT_FAILURE);
      }
      outFile.precision(2);
      outFile.setf(ios_base::showpoint);
      ...
      outFile << dblPrice;
      ...
      outFile.close();//关闭文件

       

    • outFile.open("...")关联文件,outFile.is_open()判断是否打开成功,outFile.close()关闭文件
    • 终止程序的exit()函数  和 EXIT_FAILURE 在头文件 stdlib 中定义的。

    • inFile.good()方法读取时没发生任何错误;inFile.eof()方法读取到EOF时返回true;inFile.fail()读取到EOF或类型错误返回true;inFile.bad()预期外的问题时返回true:
      while(inFile.good())
      {
          ...
      }
      if(inFile.eof())//正常读完文件后跳出
      {
          ...
      }
      else if(inFile.fail())//类型不匹配跳出
      {
          ...
      }
      else//未知原因跳出
      {
          ...
      }

       

    • inFile>>value返回inFile,在需要bool的地方转换为bool,类似cin。

 

posted @ 2013-07-04 15:02  toffrey  阅读(223)  评论(0编辑  收藏  举报