一、结构
-
顺序结构
-
选择结构
分支语句(1个分号隔开的为一条语句)
if语句
*if控制多条语句用"{ }",else(就近原则)只与最近if配对
语法结构:
if(表达式)
语句;
1.单分支(表达式为真执行语句1,为假执行语句2)
if(表达式)
语句1;
else
语句2;
2.多分支
if(表达式1)
语句1;
else(表达式2)
语句2;
else
语句3;
18<=age<28这个写法是错误的
正确的是 age>=18 && age<28
switch语句(常用于多分支情况)
*switch允许嵌套使用
语法结构:
switch(整型表达式)
{
语句项;
}
*语句项:一些case语句
例:case 整型常量表达式:
语句;
在需要的case语句后加上break可跳出循环(break的实际作用是将语句列表划分成不同部分)
*在最后一个case语句后加上break以防需要在后面添加语句时遗忘
*在最后添加一条default语句(可放任意位置)提示表达值不满足所有case标签
-
循环结构
while循环
while(表达式)
循环语句;
*break跳出循环
*continue终止本次循环进入下一循环入口判断
for循环
for (表达式1; 表达式2; 表达式3) //后不加;若加了会使其无法运行
{
语句;
}
for (循环变量赋初值; 循环条件; 循环变量增值)
{
语句;
}
1)if、else、for、while、do 都只能控制到其后的一条语句,如果要控制多条语句必须加大括号{}。但基于代码规范化,if、else、for、while、do 后面的执行语句不论有多少行,就算只有一行也要加{}。
2) 像 if、for、while 等关键字之后应留一个空格再跟左括号(,以突出关键字。
int ch=getchar()//接受键盘输入字符
putchar(ch)//输出
EOF end of file -1 文件结束标志
二、冒泡排序
利用循环,进行逐一比较
利用temp对数组中元素进行值的改变
for (int i = 0; i < 5; i++)
{
for (int j = 0; j < 5 - i; j++)
{
if (arr[j] > arr[j + 1])
{
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
三、递归
定义某物时,直接或间接引用事物本身
(把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解)
例:n的阶乘是n-1的阶乘乘以n
四、自我实践