C语言进阶—— 分支语句和循环语句 1
阿里云国内75折 回扣 微信号:monov8 |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |
C语言是一门结构化的程序设计语言
1、顺序结构
2、选择结构
3、循环结构
一、语句
C语言中 由一个分号隔开的就是一条语句
;//该是语句——具体为空语句
分支语句:
if
switch
循环语句:
for
while
do while
goto语句:
分支语句(选择结构)
if语句的语法结构:
第一种:如表达式为真,if语句才可以执行
if(表达式)
语句;
第二种:如表达式为真执行语句1,为假执行语句2
if(表达式)
语句1;
else
语句2;
第三种:按顺序
表达式1成立——执行语句1,不成立,——是否表达式2成立,成立——执行语句2 不成立——执行语句3
//多分支
if(表达式1)
语句1;
else if(表达式2)
语句2;
else
语句3;
eg:结果为刚成年
#include <stdio.h>
#include <string.h>
int main()
{
int age=18;
if(age<18)
printf("未成年");
else if(age==18)
printf("刚成年");
else
printf("成年");
return 0;
}
eg:使用了逻辑与&&
#include <stdio.h>
#include <string.h>
int main()
{
int age=18;
if(age<18)
printf("未成年");
else if(age>=18 && age<28)
printf("青年");
else
printf("成年");
return 0;
}
如果条件成立,要执行多条语句,应使用代码块(一对{}就是一个代码块)
if(表达式)
{
语句列表1;
}
else
{
语句列表2;
}
return 0;
eg:
#include <stdio.h>
#include <string.h>
int main()
{
int age=17;
if(age<18)
{
printf("未成年\n");
printf("需要管教");
}
else if(age>=18 && age<28)
printf("青年");
return 0;
}
输出:
未成年
需要管教
if书写形式导致结果不同
悬空else(else和离它最近的if匹配)
#include <stdio.h>
#include <string.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是第2个if对应,与第一个if无关
1、下述语句就是相当于if...else...的语句
//遇到一个return就停了
if (condition){
return x;
}
return y;
2、
int main()
{
int num=4;
if(num=5) //结果会输出 num=5是赋值(=),
所以不影响hehe输出;而==才是判断相等
{
printf("hehe\n");
}
return 0;
}
那就写为:
涉及到判断变量是否等于常量,一般把常量写在前面 不容易出错
int num=4;
if(5==num) //错写为5=num会报错,5是常量
{
printf("hehe\n");
练习:
输出1-100之前的奇数:
使用了while嵌套if语句:
#include <stdio.h>
#include <string.h>
int main()
{
int b=0;
while(b<100)
{
b++;
if(1==b%2)
printf("%d\n",b);
}
return 0;
}
int b=0;
while(b<=100)
{
if(1==b%2)
printf("%d\n",b);
b++;
}
根据奇数的特性书写:
int b=1;
while(b<=100)
{
printf("%d\n",b);
b+=2;
}
switch语句
switch语句是一种分支语句,多用于多分支的情况
阿里云国内75折 回扣 微信号:monov8 |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |