C语言基础知识之选择结构语句
选择结构语句
if语句
-
if语句可以理解为如果
-
基本用法
if(表达式) { 语句组;//..... 满足条件做这里 } //不满足就来到这里
-
执行流程
- 判断条件表达式,值为真执行语句组
- 判断条件表达式,值为假结束语句组
if语句变种:if_else语句
-
理解为如果,否则
-
基本用方法
#include <stdio.h> int main() { int x = 12; if (x >= 0) //条件成立 printf("y=1\n"); //条件成立 else //不满足条件 printf("y=-1\n"); //不满足条件 }
-
else 不能独立存在
-
else 和最近的if搭配的
if语句变种:if_else if_else语句
- if_else语句的加强版
switch语句
-
多分支语句
-
基本形态
switch(表达式) { case 常量1: //case与常量之间必须要有空格 //... case 常量2: //... case 常量3: //... default: //上面常量没有的情况 就做这个 //... }
-
switch执行过程是: 表达式值和case后面的常量去比较
-
相同的case 开始执行
-
switch中只做一次成功比较,一旦比较成功,从开始执行位置,一直往下执行
-
switch只能够执行case 与default 其他的代码不执行
switch结合break语句使用
-
跳出当前循环
-
基本形态
int score = 0; scanf_s("%d", &score); switch (score/10) { case 9: case 10: printf("A\n"); break; case 8: printf("B\n"); break; case 6: case 7: printf("C\n"); break;
switch集合continue语句
- 跳出整个循环
while循环
-
当型循环
-
基本形态
while(条件) //满足条件循环 { 循环体; } //死循环: 一直循环, 只要条件一直成立,那么就可以一直循环
do while
-
语法
do { 循环体; }while(条件);
-
while与do while 的区别
- while有可能一次也不执行循环体
- do while 至少有一次执行循环体
-
switch结合while作为菜单交互
while (1) { //界面 printf("---------------------------\n"); printf("\t0.退出功能\n"); printf("\t1.录入信息\n"); printf("\t2.浏览信息\n"); printf("\t3.删除信息\n"); printf("\t4.查找信息\n"); printf("\t5.排序信息\n"); printf("-----------------------------\n"); printf("输入(0~5):"); //按键交互 int userKey = 0; scanf_s("%d", &userKey); switch (userKey) { case 0: printf("正常关闭程序!\n"); //printf("按任意键继续\n"); //getchar(); system("pause"); //“exit”未定义;假设外部返回 int exit(0); //关闭整个,无论在任何地方都可以关闭 case 1: printf("录入信息....\n"); break; case 2: printf("浏览信息....\n"); break; case 3: printf("删除信息\n"); break; case 4: printf("查找信息....\n"); break; case 5: printf("排序信息....\n"); break; default://其他情况 printf("error....\n"); break; } //做一个界面的处理 system("pause"); system("cls"); }
-
goto 跳到标签处
-
使用
//标签 //标识符: //goto 标签名; 跳到标签处
-
本文来自博客园,作者:{oy},转载请注明原文链接:https://www.cnblogs.com/Oysen/p/17005617.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了