C语言选择控制结构

1:单支控制

在C语言中,单分支控制通过if语句实现,用于条件满足时执行特定代码块。其基本语法如下:

#include <stdio.h>

int main()

{

if(表达式1)语句1;

if(表达式2) 语句2;

return 0;

}

这里使用的逻辑是 如果 表达式1成立;执行语句1;表达式2成立执行语句2;在此之前需要了解打印和输入函数;

printf:

printf 是 C 语言中用于格式化输出的函数,将数据按照指定格式输出到标准输出设备(通常是屏幕)。

  • 格式化输出 :通过格式字符串(如 %d%f)控制输出的数据类型和样式。
  • 支持多种数据类型 :包括整数(%d)、浮点数(%f)、字符(%c)、字符串(%s)等。
  • 可变参数:可接受多个参数,按格式字符串的顺序依次匹配输出。

scanf:

scanf 是 C 语言中用于格式化输入的函数,从标准输入设备(通常是键盘)读取数据并存储到变量中。

  • 格式化输入 :通过格式字符串(如 %d%s)指定输入数据的类型和格式。
  • 变量地址传递 :需使用 & 运算符传递变量的地址(字符串数组除外)。
  • 输入匹配:按格式字符串解析输入数据,若类型不匹配可能导致错误。

我们现在写一个测试代码:

cs 复制代码
#include <stdio.h>
int main()
{
	int i;
	printf("请输入一个数:");
	scanf("%d", &i);
	printf("这个数为%d",i);

	return 0;
}

这里我们使用的VS2022;使用scanf可能出现关于生命安全周期问题;我们后面会教;

接下来我们实现单支控制功能:用vs2022显示功能;

cs 复制代码
#include <stdio.h>
int main()
{
	int i;
	while (1)
	{
		printf("请输入一个数:");
		scanf("%d", &i);
		if (i < 10)printf("IT方大同\n");
		if(i>10) printf("歌手方大同\n");
	}

	return 0;
}

代码意思为输入一个数字,如果小于10输出 "IT方大同 ",大于10 输出" 歌手方大同"

2:双支控制:

双支控制指通过条件判断选择两个不同的执行路径,通常使用if-else语句实现。其核心是根据条件表达式的真假决定执行哪一段代码块。

我们把上面的代码修改一下就可实现;

cs 复制代码
#include <stdio.h>
int main()
{
	int i;
	while (1)
	{
		printf("请输入一个数:");
		scanf("%d", &i);
		if (i < 10)printf("IT方大同\n");
		else printf("歌手方大同\n");  // 只修改了这里,意思为除了i<10;其他都执行这个语句
	}

	return 0;
}

3:课后练习:

输入一个数字判断是否大于一个数值;并打印出来(下次课前为答案代码)

相关推荐
Boilermaker19924 小时前
[Java 并发编程] Synchronized 锁升级
java·开发语言
MM_MS4 小时前
Halcon变量控制类型、数据类型转换、字符串格式化、元组操作
开发语言·人工智能·深度学习·算法·目标检测·计算机视觉·视觉检测
꧁Q༒ོγ꧂5 小时前
LaTeX 语法入门指南
开发语言·latex
njsgcs5 小时前
ue python二次开发启动教程+ 导入fbx到指定文件夹
开发语言·python·unreal engine·ue
alonewolf_995 小时前
JDK17新特性全面解析:从语法革新到模块化革命
java·开发语言·jvm·jdk
古城小栈5 小时前
Rust 迭代器产出的引用层数——分水岭
开发语言·rust
ghie90906 小时前
基于MATLAB的TLBO算法优化实现与改进
开发语言·算法·matlab
恋爱绝缘体16 小时前
2020重学C++重构你的C++知识体系
java·开发语言·c++·算法·junit
wuk9986 小时前
VSC优化算法MATLAB实现
开发语言·算法·matlab
AI小怪兽6 小时前
基于YOLOv13的汽车零件分割系统(Python源码+数据集+Pyside6界面)
开发语言·python·yolo·无人机