C语言分支结构(判断语句)

文章详细介绍了C语言中的分支控制结构,包括if单分支、if-else双分支、if-elseif-else多分支以及switch结构。展示了如何使用switch进行菜单和按键交互,并提到了break、continue和goto等跳转语句在流程控制中的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

if语句

if(表达式)    //如果
{
    //表达式成立执行{}中的语句
    printf("表达式成立!\n");
    printf("多条语句!\n")
}
printf("hello world");
//当if语句不带{}  只管一条语句
if(1)
    printf("1\n");
printf("2\n");

if_else语句

if(表达式)
{
	printf("表达式成立!\n");    
}
else
{
	printf("表达式不成立\n");    
}

if_else if_else语句

if(表达式)
{
     
}
else if(表达式2)
{
    
}
else if(表达式3)
{
    
}
.....
else   //上面两者之外的所有情况
{
    
}

switch基本形态

switch运行方式,只做一次成功比较

switch(表达式)
{
    case 常量1:
         语句块1case 常量2:
         语句块2......
    default: 
}

switch做菜单交互和按键交互

#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
int main() 
{
	int userkey = 0;
	//No.1 基本形态
	scanf_s("%d", &userkey);
	switch (userkey)
	{
	default:
		printf("4");
	case 1:
		printf("1");
	case 3:
		printf("3");
	case 2:
		printf("2");
	}
	printf("\n.....!\n");
	//No.2 常用形态: 结合break使用 
	switch (userkey)
	{
	default:
		printf("4");
		break;
	case 1:
		printf("1");
		break;
	case 3:
		printf("3");
		break;
	case 2:
		printf("2");
		break;
	}
	printf("\n.....!\n");
	//No.3 别致代码
	switch (userkey)
	{
		if (userkey == 3)  //switch不执行case和default之外的代码
			userkey = 1;
	default:
		printf("4");
		break;
	case 1:
		printf("1");
		break;
	case 3:
		printf("3");
		break;
	case 2:
		printf("2");
		break;
	}
	printf("\n.....!\n");
	//No.4 可能遇到的问题
	switch (userkey)
	{
	default:
		printf("4");
		break;
	case 1:
		printf("1");
		break;
	case 3:		
	{
		int  data = 12;    // “data”的初始化操作由“case”标签跳过
		printf("3");
		break;
	}
	case 2:
		printf("2");
		break;
	}
	//菜单交互
	while (1) 
	{
		printf("0.退出\n");
		printf("1.录入\n");
		printf("2.浏览\n");
		printf("3.删除\n");
		printf("4.修改\n");

		int key = 0;
		scanf_s("%d", &key);
		switch (key) 
		{
		case 0:
			break;
		case 1:
			printf("录入.....\n");
			break;
		case 2:
			printf("浏览.....\n");
			break;
		case 3:
			printf("删除.....\n");
			break;
		case 4:
			printf("修改.....\n");
			break;
		default:
			printf("输入错误...\n");
			break;
		}
		if (key == 0)
			break;
		system("pause");
		system("cls");
	}
	printf("菜单退出成功!");
	//按键交互
	while (1)
	{
		printf("如花们朝你蜂拥而来!...,请选择你的逃逸路线\n");
		int key = _getch();
		switch (key)
		{
		case 'W':
		case 'w':
		case 72:
			printf("你灰溜溜的往上方逃逸!\n");
			break;
		case 's':
		case 'S':
		case 80:
			printf("你灰溜溜的往下方逃逸!\n");
			break;
		case 'a':
		case 'A':
		case 75:
			printf("你灰溜溜的往左方逃逸!\n");
			break;
		case 'D':
		case 'd':
		case 77:
			printf("你灰溜溜的往右方逃逸!\n");
			break;
		}
	}
	return 0;
}

跳转语句: break:跳出整个循环语句; continue:跳出本次循环; goto:标签跳转

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值