一、概述
每种语言都有三大流程控制结构,C语言也不例外,流程控制分为:
*顺序结构:默认的流程结构。按照书写顺序执行每一条语句。
*选择结构:对给定的条件进行判断,再根据判断结果来决定执行哪一段代码。
*循环结构:在给定条件成立的情况下,反复执行某一段代码。
二、选择结构
1、if
1>结构
if(条件1)
{
语句1;
}
else if(条件2)
{
语句2
}
……
else
{
语句n;
}
2> if语句中比较大小时,常量值放在左边,变量放在右边。例:
int a = 4;
if(0 == a)
{
printf(“a 等于0”);;
}
else
{
printf(“a不等于0”);
}
2、switch
*同一时刻,只有一个大括号里面的代码会被执行。
1>结构
switch(表达式)
{
case 数值1:
语句1;
break; // break的作用:退出整个switch语句
case 数值2:
语句2;
break;
……
default:
语句;
break;
}
3、if和switch的对比
*很多情况可以互换
*if用得比较多,比较灵活,switch只能是某个单值
三、循环语句
1、while
1>结构
while (条件)
{
// 循环体
}
2、do while
1>结构
do
{
// 循环体
}while(条件);
2>while和do while的区别:
*很多情况下,两者可以互换
* while特点:如果一开始条件就不成立,就永远不会执行循环体。
o while特点:不管条件是否成立,至少会执行一次循环体。
3、for
1>结构
for (语句1; 条件; 语句2)
{
// 循环体
}
语句1: 初始化语句
语句2: 增量语句(执行完循环体后在执行的语句)
4、循环结构的选择
1>一般优先选择for循环
2>然后在考虑while循环
3>最后再考虑do while
5、break和continue
*break 直接结束整个循环,switch语句中用于跳出switch语句
*continue跳出这次循环进入下一次循环体的执行
四、函数
1、函数定义格式
返回值类型 函数名(形式参数列表)
{
函数体
}
2、练习:求两个整数的和
sum(int a, int b)
{
returna + b;
}
3、函数的声明
若函数定义在主函数之后,主函数之前要有函数的声明
* 如果有函数的声明,没有函数的定义
1>编译可以通过,因为编译器只会检测语法合不合理,并不会检测函数有没有定义
2>链接报错,因为链接的时候会检测函数是否定义
4、注意点
1>默认情况下,函数名称不能相同
2>不能嵌套定义函数
3>不能重复定义、可以重复声明
五、include
1、 作用:拷贝右边文件的所有内容到#include所在的位置
2、 自定义的文件用"",系统自带的文件用<>
3、 #include 的目的:拷贝printf函数的声明
六、多文件开发
1、 函数的定义放.c文件,函数的声明放在.h文件
2、 如果要使用某个.c文件中定义的函数,只需要#include这个.c文件对应的.h文件
3、 .h文件的作用,被别人拷贝,编译链接的时候不需要管.h文件
七、转义字符
1、\n : 换行
2、\t : tab键
3、\” : 双引号
4、printf函数返回的是字符串常量的字符数,不是字数。
5、一个字符占有一个字节,一个汉字占有3个字节