C语言是一门 结构化 的程序设计语言
1.顺序结构
2.选择(分支)结构
if
switch
3.循环结构
while
for
do while
doto语句
什么是语句呢?
C语言中由一个分号,隔开的就是一条语句。
printf("hehe");
1+2;
;
单独的分号(;)为空语句
C语句可分为以下五类:
1.表达式语句
2.函数调用语句
3.控制语句
4.复合语句
5.空语句
表达式语句----表达式后面带个;
函数调用语句---在写完的函数后面加个;
控制语句
控制语句用于控制程序的执行流程,以实现程序的各种结构方式,它们由特定的语句定义符组成,C语句有九种控制语句。
可分成以下三类:
1. 条件判断语句也叫分支语句: if语句, switch语句。
2.循环执行语句:do while语句,while语句,for语句。
3.转向语句:break语句,goto语句,continue语句,return语句。
分支语句(选择结构)
如果你好好学习,校招拿到一个好offer,走上人生巅峰。
如果你不学习,毕业等于失业,回家卖红薯。
这就是选择!
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{
int input = 0;
printf("加入比特\n");
printf("你要好好学习吗? (1/0)>:");
scanf("%d", &input);//1/0
if (input == 1)
printf("好offer\n");
else
printf("卖红薯\n");
return 0;
}
分支语句:
分支语句(选择结构)
如果你早睡早起,每天的生活都非常有规律,那么你就会有一具强健的体魄。
如果你天天熬夜,每天过着不健康的生活,那么你的身体会越来越差。
这就是选择!
if语句:
if语句的语法结构
if(表达式)
语句;
释义:表达式计算的结果 如果为真 如果为非0 就是真,如果为真 那这个语句就要被执行
否则什么都不执行。
if(表达式)
语句1;
else
语句2;
释义:如果这个表达式计算的结果为真,为非0 那语句1就要被执行
否则为假就要执行语句2
//多分支
if(表达式1)
语句1;
else if(表达式2)
语句2;
释义:另外如果表达式2成立 执行语句2,不成立就执行语句3
以上语句只能执行一个
课堂演示代码:
if(表达式)
语句;
#include<stdio.h>
int main()
{
int age = 10;
if (age < 18)
printf("未成年\n");
//注释:age小于18,语句1执行。
int age = 20;//age改成20,语句1不执行
return 0;
if(表达式)
语句1;
else
语句2;
#include<stdio.h>
int main()
{
int age = 10;
if (age < 18)
printf("未成年\n");
else
printf("成年人\n");
//注释: //注释:age小于18,语句1执行。
int age = 20;//age改成20,语句1不执行,执行语句2
return 0;
if(表达式1)
语句1;
else if(表达式2)
语句2;
#include<stdio.h>
int main()
{
int age = 100;
if (age < 18)
printf("未成年\n");
else if (age >= 18 && age < 28)
printf("青年\n");
else if (age >= 28 && age < 50)
printf("中年\n");
else if (age >= 50 && age < 88)
printf("老年\n");
else
printf("老寿星\n");
//注释:int age等于多少,哪条语句就执行。
return 0;
}
还可以这样写:
#include<stdio.h>
int main()
{
int age = 100;
if (age < 18)
printf("未成年\n");
else
{
if (age >= 18 && age < 28)
printf("青年\n");
else if (age >= 28 && age < 50)
printf("中年\n");
else if (age >= 50 && age < 88)
printf("老年\n");
else
printf("老寿星\n");
}
//注释:int age等于多少,哪条语句就执行。
return 0;
}
解释以下:如果表达式的结果为真,则语句执行。
在C语言中如何表示真假? 0表示假,非0表示真。
如果条件成立,要执行多条语句,应该使用代码块。
#include<stdio.h>
int mian()
{
if (表达式)
{
语句列表1;
}
else
{
语句列表2;
}
return 0;
}
这里的一对{ }就是一个代码块。
悬空else
当你写了这个代码:
#include<stdio.h>
int main()
{
int a = 0;
int b = 2;
if (a == 1)
if (b == 2)
printf("hehe\n");
else
printf("haha\n");
return 0;
}
#include<stdio.h>
int main()
{
int a = 0;
int b = 2;
if (a == 1)
if (b == 2)
printf("hehe\n");
else
printf("haha\n");
return 0;
}
以上俩个代码else位置不同,else跟上面的if匹配的。只有表达式if进去了 后面的if与else才有机会执行。
a是0,判断if(a==1) 为假,这个条件为假,if语句不进,else没机会。
else的匹配:else是和它离的最近的if匹配的。
由以上可见,良好的代码风格是非常有必要的。
if书写形式的对比
//condition 条件
//代码1
if (condition) {
return x;
}
return y;
//代码2
if (condition) {
return x;
}
else
{
return y;
}
代码2更好,逻辑更加清晰,不容易出错。
//代码3
int num = 1;
int(num == 5) {
printf("hehe\n");
}
//代码4
int num = 1;
int(5 == num) {
printf("hehe\n");
}
代码4更好,逻辑更加清晰,不容易出错。
练习
1.判断一个数是否奇数
#include<stdio.h>
int main()
{
int n = 0;
scanf("%d,&n");
if (1 == n % 2)
//或者用if(n % 2 != 0)
//!= --> 不等于
{
printf("奇数\n");
}
return 0;
}
2.输出1-100之间的奇数
循环语句:
有些事必须一直做,比如我日复一日的讲课,比如大家,日复一日的学习。
还比如:加入比特--买彩票--没有中--老实学习
--菜鸟--买彩票--没有中---老实学习--买彩票--没有中--老实学习(一直循环)
直到中了500万:大牛---迎娶白富美
C语言中如何实现循环呢?
1. whlie 语句--讲解
2.for语句
3. do.....whlie语句
以下代码讲解:whlie
#include<stdio.h>
int main()
{
int line = 0;
printf("加入比特\n");
while (line < 20000)
{
printf("敲一行代码\n");
line++;
}
printf("好offre\n");
return 0;
}
以上代码想要更好一些 加上if语句,可看到行数的变化。
加了if 语句后,以下代码:
#include<stdio.h>
int main()
{
int line = 0;
printf("加入比特\n");
while (line < 20000)
{
printf("敲一行代码,%d\n",line);
line++;
}
if(line >= 20000)
printf("好offre\n");
return 0;
}