义乌外贸建站,北京工商局网站如何做股东变更,用iis搭建网站,电商网站制作流程C语言有三个结构#xff1a;顺序结构#xff0c;选择结构和循环结构。今天来聊聊C语言中的第一个语法——分支语句分支语句其实根本上是一个选择性的语句。或者说是一个判断性的语句。它主要可以用来判断一个表达式的真假。那什么是真什么是假呢#xff1f;在计算机的眼里有…C语言有三个结构顺序结构选择结构和循环结构。今天来聊聊C语言中的第一个语法——分支语句分支语句其实根本上是一个选择性的语句。或者说是一个判断性的语句。它主要可以用来判断一个表达式的真假。那什么是真什么是假呢在计算机的眼里有两种判断真假的套路一种是像人类一样通过逻辑来判断还有一种是计算机的独有判断方式——通过数字。当计算机通过数字判断真假时是比较“武断”的当0出现时就是假的除了0任何数字都是真的。分支语句由分支的多少分为三种单分支双分支和多分支。下面来具体介绍一下1.单分支if (表达式){语句}// 如果表达式为真则执行语句 表达式不为真则不执行语句。2.双分支if(表达式){语句1}else{语句2}// 如果表达式为真则执行语句1 表达式不为真则执行语句23.多分支if表达式{语句1}else if表达式2{语句2}else if表达式3{语句3}else if表达式4{语句4}else if表达式5{语句5}else{语句6}// 在双分支的基础上如果语句1语句2语句3语句4语句5都为假则执行语句6。switch表达式{case 表达式1 语句1break;case 表达式2 语句2break;………………}defaultbreak;//多分支中的else 所有表达式都为假则执行default。关于多分支的两种类型它们的区别是if else if else if……必须强制性从第一个到最后一个switch不按顺序来直接去匹配想要的结果效率高但是switch只能用于整数家族。了解了基本的逻辑后我们还需要知道一些注意事项与规则。可以通过一些例子来理解1.我们要知道”{ }“的重要性它是分支很重要的一部分。如果没有这个大括号”if表达式“和else后只能跟一个语句。#include stdio.h int main() { printf(请输入成绩); int score; scanf(%d,score); if (score 60) printf(不及格\n); printf(需要重修\n); else printf(及格\n); return 0; }这段代码是无法运行的。int main() { printf(请输入成绩); int score; scanf(%d, score); if (score 60) printf(及格\n); else printf(不及格\n); printf(需要重修\n); // 这条语句不受else控制 return 0; }这段代码看似可以正常运行在输入”50“时会输出”不及格“和”需要重修“但是当输入70时会输出”及格“和”需要重修“显然不正确。不管输入多少都会输出”需要重修“。是因为——else后没有大括号第二个语句不受else控制。2.else总会与最近的if对应。#include stdio.h int main() { int a 1, b 0; if (a 1) if (b 1) printf(A和B都为1\n); else printf(A不为1\n); // 这里的else会和最近的if配对 return 0; }这里的 else 会和最近的 if(b 1) 配对而不是和外层的 if(a 1) 配对。因为 b 0 内层if不成立,else也不会执行所以没有任何输出。但代码的缩进会让你误以为 else 是和外层 if 配对的这就是典型的缩进陷阱。3.我们知道分支语句是是判断性的语句。那么首先要知道赋值与判断的区别。赋值 “” 一个等号判断“” 两个等号如下面的代码这是一个类似于手机密码解锁的项目。if 后表达式是判断语句。如果键盘输入“0”会输出“密码正确”。#include stdio.h int main() { const int password 0; //提前输入一个密码 不能被改变常量/宏常量/常变量 int a; printf(请输入密码); scanf(%d,a); if (password a) { printf(密码正确);//正确就输出 } else { printf(密码错误); } return 0; }如果将if后的表达式改为赋值语句那么在键盘上输入“0”则会显示密码错误。原因是将“0”赋值给了password计算机触发了通过数字判断的方法——它判断“0”为假没有执行语句1“密码正确”而是执行了语句2“密码错误”。#include stdio.h int main() { const int password 0; //提前输入一个密码 不能被改变常量/宏常量/常变量 int a; printf(请输入密码); scanf(%d,a); if (apassword) { printf(密码正确); } else { printf(密码错误); } return 0; }4.当我们需要表达式能表达两个关系时比如表达一个区间例如一个人的成绩大于60且小于80时我们不能表示为“60age80这是人类的语言计算机是不能理解的。#include stdio.h int main() { int score 70; if (60 score 80) { printf(成绩良好\n); } else { printf(成绩不在良好区间\n); } return 0; }计算机执行这种条件的法则是从左到右从上到下依次判断先判断 60 70-- - 为真-得到1再判断 1 80) -- - 为假-得到0不执行语句一成绩良好最后输出为”成绩不在良好区间“计算机只能一次处理一个条件所以我们就要用到且和或把两个条件连起来变成一个条件。那么怎么表达或和且呢在计算机的语言中或表示为”||“且表示为”“。规则是且——两个都必须为真表达式为真||或——只要有一个为真表达式就为真#include stdio.h int main() { //输入年龄 printf(请输入年龄); //判断 int age; scanf(%d, age); if (age 0 age 18) { printf(未成年\n); } else if (age18age 28) { printf(青年\n); } else if (age28age 38) { printf(青壮年\n); } else if (age38age 48) { printf(壮年\n); } else if (age48age 58) { printf(中年\n); } else if (age58age 100) { printf(老年); } else { printf(安享晚年); } return 0; }