选择结构
一、if语句
基本格式:
格式1:
if(条件表达式)
•{
• 语句;
•}
例如:如果这次期中考试单科满分,就奖励笔记本一台
if(期中考试满分)
{
printf("奖励笔记本一台");
}
格式2:
if(条件表达式)
•{
• 语句
•}
•else
•{
• 语句
•}
例如: 如果今天不下雨,就出去玩,否则就在家做作业
if(不下雨)
{
printf("出去玩\n");
}
else
{
printf("在家做作业\n");
}
格式3:
if(条件表达式1)
•{
• if(条件表达式2)
• {
语句1;
• }
• else
• {
语句2;
• }
•}
•else
•{
• if(条件表达式3)
• {
语句3;
• }
• else
• {
语句4;
• }
•}
例如:如果 第一个数跟第二个数进行比较成立,就拿第一个数跟第三个数进行比较 ,输出相应的结果,否则
第二个数跟第三个数进行比较,输出相应的结果
if(第一个数 > 第二个数)
{
if(第一个数 > 第三个数)
{
printf("第一个数最大\n");
}
else
{
printf("第三个数最大\n");
}
}
else
{
if(第二个数 > 第三个数)
{
printf("第二个数最大\n");
}
else
{
printf("第三个数最大\n");
}
}
格式4:
if(表达式1)
{
语句1;
}
else if(表达式2)
{
语句2;
}
else if(表达式3)
{
语句3;
}
......
else
{
语句n
}
例如:如果当前是直行,就直行;如果是右转,就右转;如果是左转,就左转。
if(直行)
{
printf("直行\n");
}
else if(右转)
{
printf("右转\n");
}
else if(左转)
{
printf("左转\n");
}
else
{
printf("其他操作\n");
}
注意:
1、可以只有if没有else情况,但不可以只有else没有if的情况;
2、if跟else后面都没有分号;
3、if跟else在没有{}情况下,值包括离它最近的一条语句。
二、函数封装
作用:将每一个功能单独封装
格式:
数据类型 函数名(【数据类型 形参1,数据类型 形参2,......形参n】)
{
语句
return 【返回结果】;
}
【注意】
1、格式中使用【】标记出来的,可有可无,不属于格式中一部分,但是必须根据题目而来,如果函数名前面的
数据类型是void,则没有返回结果,而小括号中的形参则根据题目而定。
2、【函数名前面数据类型】void int float double char
也可以是void * int * float * double * char *
3、【小括号中数据类型】int float double char
4、【函数名】必须符合标识符(建议使用该函数实现功能的英文)
5、【形参】形参在定义时不能赋值,值从实参传递。
6、【返回值】返回的结果必须跟函数名前数据类型一致
四种形式
1、没有返回值 ,没有参数
void 函数名()
{
.......
}
例:计算两个数之和
void addsum()
{
int a = 10 , b = 20 ;
int sum = 0 ;
sum = a + b ;
printf("两个数之和为:%d\n",sum);
}
2、没有返回值,有参数
void 函数名(数据类型 形参1,数据类型 形参2,...数据类型 形参n)
{
......
}
例:计算两个数之和
void addsum(int a , int b)
{
int sum = 0 ;
sum = a + b ;
printf("两个数之和为:%d\n",sum);
}
3、有返回值 ,没有参数
数据类型 函数名()
{
......
return 返回值;
}
例:计算两个数之和
int addsum()
{
int a = 10 , b = 20 ;
int sum = 0 ;
sum = a + b ;
return sum;
}
4、有返回值,有参数
数据类型 函数名(数据类型 形参1,数据类型 形参2,...数据类型 形参n)
{
......
return 返回值;
}
例:计算两个数之和
int addsum(int a , int b)
{
int sum = 0 ;
sum = a + b ;
return sum;
}
三、switch语句
基本格式:
switch(表达式)
{
case 常量1: 语句1;break;
case 常量2: 语句2;break;
case 常量3: 语句3;break;
...
default: 语句n;
}
注意:表达式只能是整形表达式或者字符型表达式,不能是实型表达式以及字符串表达式
循环结构
1.while循环
格式:
while(条件表达式)
{
语句
}
2.do…while循环
格式:
do
{
语句
}while(条件表达式);
3.while循环和do…while循环区别?
1、while循环先判断后执行;do…while循环先执行后判断
2、while循环后面没有分号;do…while循环后面有分号
4.for循环
格式:
for(表达式1;表达式2;表达式3)
{
语句
}
表达式1:赋初值
表达式2:条件表达式
表达式3:迭代器(自增自减)
5.for循环嵌套
格式:
for(表达式1;表达式2;表达式3)
{
for(表达式1;表达式2;表达式3)
{
语句1
}
语句2
}
6.break语句和continue语句的区别
1、continue语句只结束本次循环,而不是终止整个循环的执行
2、break语句结束整个循环过程,不再判断执行循环的条件是否成立