C语言 |
您所在的位置:网站首页 › 本田cg125白金点火坏了 › C语言 |
1、什么是语句
C语言语句可以分为五类: 表达式语句函数调用语句控制语句复合语句空语句C语言有九种控制语句 可以分成一下三类: 条件判断语句也叫分支语句:if语句,switch语句;循环执行语句:do while语句、while语句、for语句;转向语句:break语句、goto语句、continue语句、return语句。 2、if语句if语句的语法结构: if (表达式) //表达式结果如果为真或者非0,那这个表达式就会运行 语句; if (表达式) 语句; //这里如果只有一条语句,那就不需要带{},也可以带 else 语句2; if (表达式) 语句1; //这里大于一条语句,那就需要带{} 语句2; else 语句2; //多分支 if (表达式1) 语句; else if(表达式2) 语句2; else 语句3; //注意:如果一个表达式同时满足if语句有满足else if语句,因为if语句先接收的这个表达式,那这个表达式只会进入到if语句里面。 2.1、if是和靠的最近的else相匹配的下面先来看段代码: #include int main() { int a = 0; int b = 2; if (a == 1) if (b == 2) printf("hehe\n"); else printf("haha\n"); return 0; }输出: 显而易见这里的输出竟然为空!!! 这是问什么呢?不应该是输出:haha 的结果吗?为什么不对呢? 这是因为else是会和最近的if进行匹配,所以输出为空。 所以说代码的结构应该是这样: #include int main() { int a = 0; int b = 2; if (a == 1) if (b == 2) //它们的缩进在一起的!!! printf("hehe\n"); else //它们两个是一对 printf("haha\n"); return 0; }总结:else和if是靠的最近进行匹配的,不是说else和if在同一缩进进行匹配的。 3、switch语句switch语句也是一种分支语句 常常用于多分支的情况 比如: 输入1,输出星期一 输入2,输出星期二 输入3,输出星期三 输入4,输出星期四 输入5,输出星期五 输入6,输出星期六语法: switch (整型表达式) { 语句项; }而语句项是什么呢? //语句项是一些case语句 //如下: case 整形常量表达式 //case后面必须是整形常量,当然使用字母表示也行,因为字母的ASCII也是整数 语句;使用switch实现星期查询 #define _CRT_SECURE_NO_WARNINGS #include int main() { int day = 0; scanf("%d", &day); switch (day) { case 1: printf("星期一\n"); break; case 2: printf("星期二\n"); break; case 3: printf("星期三\n"); case 4: printf("星期四\n"); break; case 5: printf("星期五\n"); break; case 6: printf("星期六\n"); break; case 7: printf("星期日\n"); break; } return 0; }说下switch原理: 从switch中输入相对应的编号,根据编号找到相对应的case语句,这样就算进入switch语句了,然后匹配后经过break语句出switch语句。 3.1、新的需求要求: 输入1-5,输出“weekday”输入6-7,输出“weekend” #define _CRT_SECURE_NO_WARNINGS #include int main() { int day = 0; scanf("%d", &day); switch (day) { case 1: case 2: case 3: case 4: case 5: printf("weekday\n"); break; case 6: case 7: printf("weekend\n"); break; } return 0; }这说明case语句在没有遇到break语句之前是一下向下执行,知道遇见break语句才会跳出switch语句。 3.2、default字句如果表达的值与所有的case标签的值都不匹配怎么办? 其实也没什么,都不匹配最终肯定是会全部跳过而已。 程序也不会终止,也不会报错,但是当在都不匹配的情况下我们最后提示一下。 那这就需要default字句了。 注意:switch语句中只能出现一个default字句 #define _CRT_SECURE_NO_WARNINGS #include int main() { int day = 0; scanf("%d", &day); switch (day) { case 1: case 2: case 3: case 4: case 5: printf("weekday\n"); break; case 6: case 7: printf("weekend\n"); break; default: //所示 printf("输出错误"); break; } return 0; }输出: 语法结构 while (表达式) { 循环语句; } 4.1.1、break语句只要while循环中执行了break语句,那么整个while循环将会停止,这个break语句在while循环的那任何部分中,while都会立即终端 代码示例: #include int main() { int a = 1; while (a < 11) { if (5 == a) { break; //这个break语句看着是在if语句中。但是一旦它被执行,那么整个while语句将会停止 } printf("%d\n",a); a++; } return 0; }输出: 一旦在while语句中执行了continue语句,那么此次循环将会直接跳过continue后面的代码,然后判断循环,如果继续则直接进行下一次循环(就直接从while (a printf("hehe\n"); } return 0; } __结论:__for循环的判断部分省略意味着判断或恒成立,而初始化,调整省略没事(但最好不要省略)。 2、for循环采用多个变量去控制 #include int main() { int x, y; for (x = 0, y = 0; x < 2 && y>5; ++x, y++) { printf("hehe\n"); } return 0; } 6、do-while循环 6.1、do语法 do { 循环语句; } while(表达式);打印1-10: #include int main() { int i = 1; do { printf("%d ", i); i++; } while (i |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |