C++

C++ Primer学习笔记(七)

Posted by HK on February 19, 2019

第六章 if语句、if else语句、逻辑运算符、cctype字符函数库、switch语句、基本文件输入输出。

第六章 分支语句和逻辑运算符

if语句

if语句两种格式:if和if else。if语句让程序能够决定是否应执行特定的语句。

if (test-condition)
    statement;

如果test-condition为true(1),则执行if内的语句,否则就跳过if语句。

if else 语句

if (test-condition)
    statement1;
else
    statement2;

如果test-condition为true(1),则执行statement1,否则就执行statement2。

如果要使用语句块,必须加上花括号。

if else if else语句

实际为一个if else里包含了另一个if else 形成了多重选择结构。

if (test-condition1)
    statement1;
else if (test-condition2)
    statement2;
else
    statement3;
 
//或者
 
if (test-condition1)
    statement1;
else 
    if (test-condition2)
        statement2;
    else
        statement3;
//一般习惯用第一种。

逻辑表达式(一般用于判断条件中)

(或运算符):当两个条件中有一个满足时,就为true。如果第一个条件满足了,它就不会去判断第二个条件。

&&(与运算符):当两个条件都满足的时候,就为true。需要两个条件都判断。(可以用来设置范围等)

!(非运算符):将表达式的真值取反,在进行判断。

注意:优先级:!>关系表达式>或运算符、&&

字符函数库cctype

函数名称 返回值
isalnum() 如果参数是字母数字,该函数返回true。
isalpha() 如果参数是字母,该函数返回true。
iscntrl() 如果参数是控制字符,该函数返回true。
isdigit() 如果参数是数字(0~9),该函数返回true。
isgraph() 如果参数是除空格之外的打印字符,该函数返回true。
islower() 如果参数是小写字母,该函数返回true。
isprint() 如果参数是打印字符(包括空格),该函数返回true。
ispunct() 如果参数是标点符号,该函数返回true。
isspace() 如果参数是标准空白字符,该函数返回true。
isupper() 如果参数是大写字母,该函数返回true。
isxdigit() 如果参数是十六进制数字,即0~9,a~f,A~F,该函数返回true。
tolower() 如果参数是大写字符,则返回小写字符,否则返回该参数。
toupper() 如果参数是小写字符,则返回大写字符,否则返回该参数。

? :运算符

可用来代替if else语句

expression1?expression2:expression3;

如果expression1为true,则执行expression2,表达式的值为expression2的值,否则执行expression3,表达式的值为expression3的值。