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:课后练习:

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

相关推荐
bkspiderx39 分钟前
Qt 插件机制:动态扩展应用功能的核心框架
开发语言·qt·元数据·qt 插件·qpluginloader
程序员老陆1 小时前
深入理解 C++ thread_local:线程私有存储的正确打开方式
开发语言·c++·程序设计
沐晓时光1 小时前
C语言入门,深入理解指针(3)
c语言·开发语言
码云数智-园园1 小时前
unique_ptr 还是 shared_ptr?C++ 智能指针选型与内存泄漏实战分析
java·开发语言
禾小西2 小时前
07丨Redis 哨兵机制:主库故障后,如何恢复服务?
java·开发语言·redis
我不是阵雨2 小时前
JDK 21虚拟线程Pinning陷阱:一文拔钉解困
java·开发语言
SuperByteMaster3 小时前
wfi进入之前没有清除basepri, 导致中断优先级不够,wfi 退不出来
c语言
徐小黑ACG3 小时前
Golang 基础05 结构体struct
开发语言·算法·golang
优橙教育3 小时前
零基础学AI应用开发要多久?3个月能到什么水平
服务器·开发语言·网络·php
Navigator_Z3 小时前
LeetCode //C - 1286. Iterator for Combination
c语言·算法·leetcode