第五章 循环和关系表达式
for循环
for(语句1;语句2;语句3)
{
代码体。。。;
}
案例:
for(int i = 0;i<5;i++)
{
scanf("%d",&a[i]);
}
-
递增递减
++、-- a++则先调用a,在自加,反之则相反 注意:和指针一起使用,需要注意*号运算等级低于++,p++相当于(p++)
-
组合赋值运算符
+=、-=、*=、/=、%=等等
-
逗号运算符
for(j = 0;i = word.size() - 1;j < i;++j,i--) { ...; } -
关系表达式
<、<=、==、>、>=、!= 注意:组合使用时候最好加上括号
-
字符串的比较
c语言的模式:
strcmp(char const *str1,char const *str2)c++的string类 #include
if(str1 == str2) { 内容... }
while循环
while(test-expression)
{
语句体;
}
-
等待时间
using namespace std; cout << "Enter the delay time,in seconds:"; float secs; cin >> secs; clock_t delay = secs * CLOCKS_PER_SEC; cout << "string\a\n"; clock_t start = clock(); while (clock() - start < delay) ; cout << "done\a\n"; return 0;-
CLOCKS_PER_SEC
计算机时间,每个计算机的单位时间,如果游戏延迟使用while(time--);则在不同的计算机上延迟不同
-
clock()
此函数返回的不一定是秒,而是计算机单位时间,返回类型是clock_t
-
-
类型别名
宏方法:#define NUMBER 10 typedef方法:typedef int int16;
do while循环
基于范围的for循环
for(int x:{1,2,3,4,5})
{
std::cout<<x<<std::endl;
}
循环和文本输入
char p;
std::cin>>p;
注意:上面方式输入字符,读取不到空字符,比如空格。
std::cin.get()//此时的输入字符不会忽略空字符
-
文件尾条件
EOF代表一个文件的结尾,检测到EOF后,cin将(eofbit和failbit)都置1。cin.eof()和cin.fail(),后者用的比较多。 cin.fail()比较单一,而cin也能返回故障,而且范围大,所以一般这么使用:
while(cin.get(ch)) {...}注意:cin.get(ch)和 ch = cin.get() 只能使用其中一个
第六章 分支语句和逻辑运算符
if语句
//语句1
if(test-condition测试条件)
statement语句;
//语句2
if(test-condition)
statement1;
else
statement2;
逻辑表达式
- OR(||)
- AND(&&)
- NOT(!)
字符函数库cctype
-
int isalnum(int c)
- 该函数检查所传的字符是否是字母和数字。
-
int isalpha(int c)
- 该函数检查所传的字符是否是字母。
-
int iscntrl(int c)
- 该函数检查所传的字符是否是控制字符。
-
int isdigit(int c)
- 该函数检查所传的字符是否是十进制数字。
-
int isgraph(int c)
- 该函数检查所传的字符是否有图形表示法。
-
int islower(int c)
- 该函数检查所传的字符是否是小写字母。
-
int isprint(int c)
- 该函数检查所传的字符是否是可打印的。
-
int ispunct(int c)
- 该函数检查所传的字符是否是标点符号字符。
-
int isspace(int c)
- 该函数检查所传的字符是否是空白字符。
-
int isupper(int c)
- 该函数检查所传的字符是否是大写字母。
-
int isxdigit(int c)
- 该函数检查所传的字符是否是十六进制数字。
-
int tolower(int c)
- 该函数把大写字母转换为小写字母。
-
int toupper(int c)
- 该函数把小写字母转换为大写字母。
?:运算符
条件 ?语句1:语句2
switch语句
switch(变量)
case value1:
语句;
break;
....
default:语句;break;
break和continue
连续的数字输入
while (!(cin >> number[i]))
{
cin.clear();
while (cin.get() != '\n')
{
continue;
}
cout << "请输入数字:";
}
文件输入输出
-
输入到文件
包含头文件fstream 定义一个ofstream类 使用open()方法去打开文件 使用close()方法去关闭文件
file.open("123.txt"); file << fixed; file.precision(2);//输出浮点类型的小数位数 file.setf(ios_base::showpoint); file<<“输入内容”<<endl; file.close() -
从文件输出
包含头文件fstream 定义一个ofstream类 使用open()方法去打开文件 使用close()方法去关闭文件
12.5 13 ... 14.5 16 ... 17while(inFile.good()) { ++count; sum += value; inFile>>value; } if(inFile.eof()){...}//文件结尾 else if(inFile.fail()){...}//输入错误 else {未知错误}