首先我们需要知道if语句的基本语法格式
1. if(表达式) 2. 语句;
大家都知道,生活中的选择肯定不止一个,那么怎么用if来表达有多个选项的选择语句呢 ,看下面代码
首先要知道语法格式
1. #define _CRT_SECURE_NO_WARNINGS 1 2. #include <stdio.h> 3. int main() 4. { 5. int i = 17; 6. if (i == 17) 7. printf("今天可以回去打游戏\n"); 8. return 0; 9. }
1. if(表达式) 2. 语句1 3. else 4. 语句2
1. #define _CRT_SECURE_NO_WARNINGS 1 2. #include <stdio.h> 3. int main() 4. { 5. int i = 20; 6. if (i == 17) 7. printf("今天可以回去打游戏\n"); 8. else 9. printf("早点睡觉\n"); 10. return 0; 11. }
还有几个小细节来说一下,大家可以看到在上面我们的语句都是一条,那么如果我想要一个条件对应多条语句怎么办呢,那就在语句外面加上一个{} {}中的语句总体是代表一个语句。并且C语言中规定了,else语句和离的最近的能够配对的if语句进行配对
1. #define _CRT_SECURE_NO_WARNINGS 1 2. #include <stdio.h> 3. int main() 4. { 5. int i =1; 6. //scanf("%d", &i); 7. if (i ==1) 8. { 9. printf("%d=\n", i); 10. i++; 11. } 12. printf("%d\n", i); 13. return 0; 14. }
这就是悬空else,屏幕上什么都没有打印
我们应该如何改正呢?看下面代码
这样的else就和前面的if语句匹配起来了
else的匹配:else是和它离的最近的if匹配的
if语句的嵌套模型
1. #define _CRT_SECURE_NO_WARNINGS 1 2. #include <stdio.h> 3. int main() 4. { 5. int i; 6. scanf("%d", &i); 7. //判断一个数的正负 8. if (i > 0) 9. { 10. printf("正数\n"); 11. } 12. else 13. { 14. if (i == 0) 15. { 16. printf("%d=0\n", i); 17. } 18. else 19. { 20. printf("负数\n"); 21. } 22. } 23. return 0; 24. }
假设成绩95分以上为A+,90-95为A,80-90为A-,70-80为B,60-70为C,60分以及以下为D,结合多分支和嵌套来实现
1. #define _CRT_SECURE_NO_WARNINGS 1 2. #include <stdio.h> 3. int main() 4. { 5. int a; 6. scanf("%d", &a); 7. if (a>=95) 8. { 9. printf("A+\n"); 10. } 11. else 12. { 13. if (a>=90) 14. { 15. printf("A\n"); 16. } 17. else 18. { 19. if (a >= 80) 20. { 21. printf("A-\n"); 22. } 23. else 24. { 25. if (a >= 70) 26. { 27. printf("B\n"); 28. } 29. else 30. { 31. if (a>=60) 32. { 33. printf("C\n"); 34. } 35. else 36. { 37. printf("D\n"); 38. } 39. } 40. } 41. } 42. } 43. return 0; 44. }
本章终,谢谢大家支持!