IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> C语言,if 语句 系列 -> 正文阅读

[数据结构与算法]C语言,if 语句 系列

在程序中,程序运行的流程控制决定程序是如何执行的,是我们必须掌握的, 主要有三大流程控制语句。

1) 顺序控制
2)分支控制 (有很多,这篇文章主写if语句 ,switch放在后面写)
3)循环控制 (for,while,do…while ,后面文章写)

顺序控制介绍

程序从上到下逐行地执行,中间没有任何判断和跳转。
在这里插入图片描述

顺序控制举例和注意事项

Java,C 中定义变量时采用合法的前向引用的原则。如:

void main() { 
	int num1 = 12; 
	int num2 = num1 + 2; 
}

错误形式:

void main() { 
	int num2 = num1 + 2; 
	int num1 = 12; 
}

分支控制 if-else

让程序有选择的的执行,分支控制有三种:
1) 单分支
2) 双分支
3) 多分支

单分支

基本语法

if(条件表达式){ 
 执行代码块; 
}

说明:当条件表达式为真 (非 0) 时,就会执行 { } 的代码,返回假(0) 时,不会执行{ } 的代码。

案例说明: 编写一个程序,可以输入人的年龄,如果该同志的年龄大于 18 岁,则输出 “你年龄大于 18,要对自己的行为负责!”

#include<stdio.h>
void main(){
	
	int age = 0;
	printf("请输入年龄");
	scanf("%d",&age);
	
	if(age > 18){
		printf("\n 你年龄大于 18,要对自己的行为负责!");
	}
	printf("\n爱干啥干啥吧"); 
}

双分支

基本语法

if(条件表达式){ 
	执行代码块 1; 
}else{
	执行代码块 2; 
}

说明:当条件表达式成立(为真),执行代码块 1,否则执行代码块 2

案例演示 : 编写一个程序,可以输入人的年龄,如果该同志的年龄大于 18 岁,则输出 “你年龄大于 18,要对 自己的行为负责!”。否则 ,输出”你年龄太小,放过你了.”

#include<stdio.h>
void main(){
	
	int age = 0;
	printf(" 请输入年龄");
	scanf("%d",&age);
	
	if(age > 18){
		printf("\n 你年龄大于 18,要对自己的行为负责!");
	}else{
		printf("\n 你年龄太小,放过你了");
	}
	
	printf("\n爱干啥干啥吧"); 
	
}

练习题

判断一个年份是否是闰年,闰年的条件是符合下面二者之一:
(1)年份能被 4 整除,但不能被 100 整除;
(2) 能被 400 整除;

#include<stdio.h>
void main(){
	
	int year = 0;
	printf("请输入年份");
	scanf("%d",&year);
	
	if((year % 4 == 0 && year % 100 != 0) || year % 400 == 0 ){
		printf("%d 是闰年",year);
	}else{
		printf("%d 是平年",year);
	}
		
}

多分支

基本语法

if(条件表达式 1){
	执行代码块 1; 
}else if (条件表达式 2){
	执行代码块 2; 
}
……else{
	执行代码块 n; 
}

说明:
1) 当条件表达式 1 成立时,即执行代码块 1
2) 如果表达式 1 不成立,才去判断表达式 2 是否 成立,
3)如果表达式 2 成立,就执行代码块 2
4)以此类推如果所有的表达式都不成立

案例演示

佟欢参加 心理咨询师 考试,她和昊哥达成承诺: 如果: 成绩为 100 分时,奖励一部手机; 成绩为(80,99]时,奖励一支钢笔; 当成绩为[60,80]时,奖励一个保温杯; 成绩为其它时,给大嘴巴子。 请从键盘输入佟欢的 心理咨询师 考试,并加以判断, 输出提示

#include<stdio.h>
void main() {

	int score = 0;
	printf("请输入佟欢的成绩:");
	scanf("%d",&score);

	if(score == 100) {
		printf("奖励一部手机");
	} else if(score > 80 && score <=99) {
		printf("奖励一支钢笔");
	} else if(score >= 60 && score <= 80) {
		printf("奖励一个保温杯");
	} else {
		printf("大嘴巴子伺候");
	}

}

在这里插入图片描述

嵌套分支

基本介绍

在一个分支结构中又完整的嵌套了另一个分支结构,里面的分支的结构称为内层分支外面的分支结构称为外层 分支。嵌套分支不适合过多,最多不要超过 3 层

基本语法

if(){ 
	if(){ //被包含的可以是单分支,双分支,多分支
		.....
	}else{
		......
	}
}else{
	......
}

应用案例 1

参加百米运动会,如果用时 8 秒以内进入决赛,否则提示淘汰。并且根据性别提示进入男子组或女子组。输入成绩和性别,进行判断。

#include<stdio.h>
void main() {

	//参加百米运动会,如果用时 8 秒以内进入决赛,否则提示淘汰。
	//并且根据性别提示进入男子组或女子组。输入成绩和性别,进行判断。

	int second = 0;
	printf("请输入秒数");
	scanf("%d",&second);

	char gender = ' ';

	if(second <= 8) {
		printf("请输入性别(m/f)");
		scanf("%c",&gender);
		scanf("%c",&gender);
		
		if(gender == 'm') {
			printf("请进入男子组");
		} else if(gender == 'f') {
			printf("请进入女子组");
		} else {
			printf("你不男不女是个什么东西?");
		}
	} else {
		printf("你已经被淘汰了,继续努力");
	}
}

应用案例 2

出票系统:根据淡旺季的月份和年龄,打印票价
4_10 旺季:成人(18-60):60 儿童(<18):半价 老人(>60):1/3
淡季:成人:40 其他:20

#include<stdio.h>

//出票系统:根据淡旺季的月份和年龄,打印票价 [考虑学生先做] 4_10 旺季:
//成人(18-60):60 儿童(<18):半价 老人(>60):1/3 淡季:成人:40 其他:20

void main() {

	int season = 0;//定义季节
	int age = 0; //定义年龄
	double price = 60 ;//定义票价

	printf("请输入季节来判断旺季or淡季");
	scanf("%d",&season);

	if(season >= 4 && season <= 10) {
		printf("你已经进入旺季时刻,请让我看看你年龄");
		scanf("%d",&age);
		if(age > 0 && age < 18) {
			printf("根据你的年龄,你的票价是 %.2f",price / 2 );
		} else if(age >= 18 && age < 60) {
			printf("根据你的年龄,你的票价是 %.2f",price);
		} else if(age >= 60){
			printf("根据你的年龄,你的票价是 %.2f",price / 3);
		}else{
			printf("活这么大第一次看到这个年龄啊!!");
		}
	} else if ((season > 10 && season < 13) || (season >=1 && season < 4 )) {
		printf("你已经进入淡季时刻,请让我看看你年龄");
		scanf("%d",&age);
		price = 40;
		if(age >= 18 && age < 60) {
			printf("根据你的年龄,你的票价是 %.2f",price);
		} else if((age > 0 && age < 18) || (age >= 60)){
			printf("根据你的年龄,你的票价是 %.2f",price / 2);
		}else{
			printf("活这么大第一次看到这个年龄啊!!");
		}

	} else {
		printf("你输入的数字有问题,本景点不会向你售票");
	}
}

编译时一定要反复检查,要细心。

  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2021-12-20 17:55:42  更:2021-12-20 17:55:44 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 16:35:47-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码