for(i=0(初始化);i<5(循环条件);i++(循环更新))
{循环体}
C++把整个for看作是一条语句,包括循环体在内。
for循环是入口条件循环,这意味着在每轮循环之前,都将计算测试表达式的值,当测试表达式为false时,将不会执行循环体。
更新表达式在每轮循环结束时执行,先执行更新表达式,再执行条件测试。
对于关系判断会输出布尔类型,如5>4=true,但通常cout在显示布尔值之前会将他们转换为int,但**cout.setf(ios::boolalpha)**函数调用设置了一个标记,该标记命令cout显示true和false,而不是0和1,置于cout前。
表达式与语句的区别:age=100 表达式
age=100; 语句
对任何表达式加上分号都可以成为语句,但是从语句中删除分号并不一定能将它转换为表达式。
任何值或任何有效的值和运算符的组合都是表达式。在C++中,任何表达式都有值。
递增运算符++
递减运算符–
++x先将x的值加1,然后使用新的值来计算表达式(加了x再计算表达式)
x++使用x的当前值计算表达式,然后将x的值加1(先计算表达式,计算表达式时还是原来的值,在表达式中直接把x++看成x,再对x加1)
将递增运算符用于指针时,将把指针的值增加其指向的数据类型占用的字节数,地址增加,指向下一个地址
后缀递增和后缀递减的优先级相同,但是比前缀运算符优先级高,*++pt的含义是先将++应用于pt,然后将星号应用于被递增后的pt,对地址加1
++(星号)pt意味着先取得pt指向的值,然后这个值再加一,对地址指向的值加1
代码块是由一对花括号和它们包含的语句组成,被视为一条语句。如果在语句块中定义一个新的变量,此变量仅在该语句块中才可用。
逗号运算符允许将两个表达式放到C++句法只允许放在一个表达式的地方。另外逗号运算符也是一个顺序点,是按顺序执行两个表达式的,这两个表达式不是并列的。
**strcmp()**函数可用于比较两个C风格字符串(‘’)是否相同,输入的参数可以是指针、字符串常量或者字符串数组名,都是指向字符串的地址,如果两个字符串相同则返回零,如果第一个字符串按字母顺序排在第二个字符串之前,则返回负值,反之,则返回正值。C++将C风格字符串视为地址。
string类字符(“”)可以直接用关系运算符进行比较。
while循环是没有初始化和更新部分的for循环,它只有测试条件和循环体。
###延时函数
符号常量CLOCKS_PER_SEC,该常量等于每秒钟包含的系统时间单位数
先执行循环体,然后再判定测试表达式,决定是否应继续执行循环。
5.4 基于范围的for循环 5.5 循环和文本输入读取char值时,与读取其他基本类型一样,cin将忽略空格和换行符。
istream类的成员函数cin.get(ch)读取输入中的下一个字符(即使它是空格),并将其赋给变量ch。
当输入是来自文件而不是键盘,C++可以检测是否是文件尾并将这种信息告知程序
cin方法检测到EOF时,将设置cin对象中一个指示EOF条件标记。设置这个标记后,cin将不读取输入,再次调用cin也不管用。cin.clear()方法可清除EOF标记,使输入继续进行。
相当于maxtemps有四个元素,每个元素都是一个由5个整数组成的数组。
数组的初始化是用花括号,那么一个数组就有一个花括号。二维数组中的每个元素也用花括号括起来。
char指针数组,指针数组存储5个字符串的地址
char数组的数组,将5个字符串分别复制到5个包含25个元素的char数组中(二维数组)。



