例举常用的:
三目运算符
作用: 通过三目运算符实现简单的判断;
语法:表达式1 ? 表达式2 :表达式3 ;
解释:
如果表达式1的值为真,执行表达式2,并返回表达式2的结果;
如果表达式1的值为假,执行表达式3,并返回表达式3的结果;
int a = 10,b = 5,c = 0;
c = a > b ? a : b;
cout << c ;
//输出c为10;
- 三目运算可以作为右值(结果)赋给左边的变量;
- 同时在C++中三目运算符返回的是变量,可以继续赋值
int a = 10,b =5;
(a > b ? a : b) = 100;
cout << "a=" << a <<endl;
cout << "b=" << b <<endl;
//输出结果为a=100; b=5;
switch语句
作用:执行多条件分支语句;
switch(表达式){
case 结果1:执行语句;break;//退出当前分支
case 结果2:执行语句;break;
...
default:执行语句;break;
}
if和switch区别:
switch缺点:判断的时候只能是整型或者字符型,不可以是一个区间;
switch优点:结构清晰,执行效率高;
循环结构
while循环语句
//while()括号中填入循环条件
//注意事项:写循环一定要避免死循环的出现;
while(num < 10){
cout << num << endl;
num++;
}
//猜数字游戏,注意使用break退出循环
while(1){
if(条件){
语句
}else{
语句;
break; //退出当前循环
}
}
do…while循环语句
- 求水仙花数习题:
int main() {
//num为一个三位数;即100-999;
int num = 100;
do {
int a = num % 10; //获去数的个位数
int b = num / 10 % 10; //十位
int c = num / 100; //百位
if (a*a*a + b * b*b + c * c*c == num) {
cout << num << endl; //则此数为水仙花数
}
num++;
} while (num < 1000); //注意:最后有分号结束
system("pause");
return 0;
}
循环嵌套语句
//打印正方体
//外层执行一次,内层执行一周
//外层循环
for(int i = 0 ;i < 10;i++){
for(int j = 0;j < 10;j++){
cout << "*";
}
cout<<endl;
}
乘法口诀表
int main() {
for (int i = 1; i <= 9; i++) {
for (int j = 1; j <= i; j++) {
cout << i << "*" << j<<"="<<i*j<<"\t";
}
cout << endl;
}
system("pause");
return 0;
}
跳转语句
break语句
作用:用于跳出选择结构或者循环结构;
break使用的时机:
- 出现在switch条件语句中,作用是终止case并跳出switch;
- 出现在循环语句中,作用是跳出当前的循环语句;
- 出现在嵌套循环中,跳出最近的内层嵌套循环
求素数
#include<iostream>
using namespace std;
//-------- - 首先要知道质数的定义。
//素数:只能被1或者自身整除的数字,0和1都不是质数
//因为有内外层循环:所以需要使用连通器原理,需要定义一个flag开关变量;——以此来判断是否符合要求;
int main() {
bool flag;
int count=0;
//因为0和1都不属于素数,所以从2开始判断;
for (int i = 2; i <1000; i++) {
//定义连通器按钮flag;
//注意:每判断完一个数就要将flag归0;这样才能更好的判断下一个数——习惯性用bool数据类型
flag = false;
//注意:一定要从2开始,因为所有数除以1都会余0;
for (int j = 2; j <= i / 2; j++) {
if (i % j == 0) { //特别注意:能整除是指%求余为0
//利用flag来传信,告知此数不是素数
flag = true;
break;
//跳出循环,进入下一层循环
}
}
if (!flag) {
cout << i << endl;
count++;
}
}
cout << "1-1000有" << count << "个素数";
system("pause");
return 0;
}
cotinue语句
**作用:**在循环语句中,跳过本次循环中余下尚未执行的语句,继续执行下一次循环;
打印奇数
for (int i = 0; i < 100; i++) {
if (i % 2 == 0) {
continue;
}
cout << i << "\t";
}
goto语句
作用:可以无条件跳转语句
语法:goto 标记;
解释:如果标记的名称存在,执行到goto语句时,会跳转到标记的位置;
用的比较少
cout<<"1....."
cout<<"2....."
goto FLAG;
COUT<<"3...." //会直接跳过3....
FLAG:....