一、学习目标

  1. 了解逻辑判断的概念
  2. 了解if语句的使用方法
  3. 了解switch语句的使用方法
  4. 了解逻辑运算符的使用方法

目录

第一篇:(一)脱离学习误区
第二篇:(二)C语言没那么难简单开发带你了解流程
第三篇:(三)轻轻松松理解第一个C语言程序
第四篇:(四)语言的基本数据类型及变量
第五篇:(五)C语言的变量、常量及运算
第七篇:(七)C语言的循环分分钟上手
第八篇:(八)了解基本数组还不是那么简单

二、了解if语句的使用方法

if语句在C语言中用于流程控制,也就是在程序运行时,根据满足的条件来选择运行不同的代码块。流程控制就像你计划明早天气如果晴朗就去跑步,假设天气变差,下雨了就不去了。这就是不同的条件进行不同的选择。

2.1 if语句的使用
if语句在C语言中用于判断条件是否成立从而运行一部分代码,我们使用一个简单的例子介绍if语句的使用方法:

#include<stdio.h>
void main(){int a=1;if(a==1){printf("变量a的值等于1");}
}

以上代码创建了一个变量a赋值为1。之后使用了if语句判断a是否等于1,判断正确则执行语句printf("变量a的值等于1");,条件判断不成立则不执行 printf("变量a的值等于1");

从以上示例可以看出if语句判断一个条件,这个条件编写于if之后的圆括号内;以上示例的条件为a==1;在C语言中判断两个值是否相等使用两个等于号 ==,在条件的圆括号后使用一对花括号{},在花括号内编写条件判断正确后需要执行的代码。

运行结果如下:

我们修改一下a的值改为2,查看是否会执行 printf("变量a的值等于1");。修改后的代码如下:

#include<stdio.h>
void main(){int a=2;if(a==1){printf("变量a的值等于1");}
}

运行结果如下:

从结果得知并没有运行代码 printf("变量a的值等于1");
那如何使if的条件判断不成立时有一个提示?这时可以使用else语句,else语句在条件不成立时将会执行else语句内的代码,else语句的内容也是在花括号内编写,不过这个花括号是在else这个关键字(关键字指C语言中已有特殊功能的标志,如int、if、float等)后。代码如下:

#include<stdio.h>
void main(){int a=2;if(a==1){printf("变量a的值等于1");} else{printf("变量a的值不等于1");}
}

以上代码在if语句的花括号后“无缝连接”了一个else关键字。在else关键字后有一对花括号,在该花括号内编写a不等于1时所需要的提示语句即可。

运行结果如下:

如果我想a的值等于1时输出“哈哈哈”,a等于2时输出“嘿嘿嘿”,a等于3时输出“呀呀呀”,a等于其它值时输出“我都没猜对”;以上需求可以使用if…elseif语句实现。代码如下:

#include<stdio.h>
void main(){int a=2;if(a==1){printf("哈哈哈");} else if(a==2){printf("嘿嘿嘿");} else if(a==3){printf("呀呀呀");}else{printf("我都没猜对");}
}

以上代码在if之后的else关键字后添加了if(注意if前面有个空格),随后一个圆括号,圆括号内编写其它条件,满足则会执行当前else if 语句的花括号内的代码,当所有条件都不对的时候,执行else语句,也是在最末位的语句。

运行结果如下:

以上代码还可以改一下,让我们在都没猜对的值的情况下输出值,代码如下:

#include<stdio.h>
void main(){int a=22;if(a==1){printf("哈哈哈");} else if(a==2){printf("嘿嘿嘿");} else if(a==3){printf("呀呀呀");}else{printf("我都没猜对,其实a的值%d",a);}
}

结果如下:

2.2 if语句判断多个条件
以上学习的if只能判断一个条件,若我需要判断多个条件该怎么办?这时可以使用逻辑运算符。例如当a等于1或2时表示天气下雨和刮风,我则不去跑步,当a等于3或者4时则表示需要上学和补课,当a等于其它值是则可以去跑步。

首先我们使用简单的if语句了解一下逻辑运算符。代码如下:

#include<stdio.h>
void main(){int a=1;if(a==1||a==2){printf("天气正在下雨或刮风");}
}

以上代码着重关注if语句的条件 a==1||a==2,其中使用的“||”为逻辑运算符“或”运算。或运算表示两个表达式(表达式指是由数字、算符、数字分组符号等可以求得一个值的组合)的值有一个正确,那么或运算符(||)左右两边整体的值则为正确。当前或运算符左边为a1,右边为a2,只要满足其中一个则会执行 printf("天气正在下雨或刮风");

运行结果如下:

修改一下代码完成以上所说的需求“a等于1或2时表示天气下雨和刮风,我则不去跑步,当a等于3或者4时则表示需要上学和补课,当a等于其它值是则可以去跑步。”,代码如下:

#include<stdio.h>
void main(){int a=4;if(a==1||a==2){printf("天气正在下雨或刮风");} else if(a==3||a==4){printf("我要去上学或者补课");}else{printf("我要去跑步");}}

结果如下:

2.3 逻辑运算符与&&
以上我们介绍了逻辑运算符或(||),使用或运算符只需要左右两边有一个表达式正确则左右两边整体的值为正确。在C语言中正确我们可以使用一个标识表示。这个标识为TRUE。

这一小节我们将学习需要表达式两边都正确整体的值才为正确的运算符“与”,与运算使用运算符&&。我们修改上一小节的程序,修改后代码如下:

#include<stdio.h>
void main(){int a=4;if(a==1&&a<5){printf("天气正在下雨或刮风");} else if(a==3||a==4){printf("我要去上学或者补课");}else{printf("我要去跑步");}
}

以上代码if后的条件为a==1&&a<5,中间的运算符更改为了&&,&&表示左右两边表达式均正确,当前运算才为正确。很明显a等于,不满足第一个条件,满足 a==3||a==4条件,则会执行代码printf("我要去上学或者补课");。运行结果如下:

我们修改a的值为1,则会执行代码printf("天气正在下雨或刮风");。(虽然a等于1的时候肯定小于5,这里只是作为演示)代码如下:

#include<stdio.h>
void main(){int a=1;if(a==1&&a<5){printf("天气正在下雨或刮风");} else if(a==3||a==4){printf("我要去上学或者补课");}else{printf("我要去跑步");}}

结果如下:

二、了解switch语句的使用方法

switch语句与if作用相同,均是用与做流程控制,也和if语句一样需要使用条件进行控制。
学习了if语句后switch的学习相对比较简单,先列出一个格式说明:

switch(变量){case 值://代码内容 break;//break是跳出作用,不像if只执行一处,如果不加break会执行下一句 case 值://代码内容 break;//break是跳出作用,不像if只执行一处,如果不加break会执行下一句 case 值://代码内容 break;//break是跳出作用,不像if只执行一处,如果不加break会执行下一句 default://代码内容    }

switch是关键字,后接一个圆括号,圆括号内传入一个变量;在switch圆括号后使用一对花括号,花括号内为switch语句的内容。使用case关键字后接一个值,假设switch传入的变量值为1,则跳转到case 1:后执行冒号后的代码,在代码的最后一行使用break关键字跳出。(break的作用为跳出)如不加break则会执行按顺序往下的case内容。

先看一示例代码:

#include<stdio.h>void main() {int a=1;switch(a){case 1:printf("选择的是夫妻肺片");break;case 2:printf("选择的是肠粉");break;case 3:printf("选择的是口水虾");break;case 4:printf("选择的是濑尿虾");break;case 5:printf("选择的是炸蝗虫");break;default:printf("没有这个菜单"); }
}

以上代码中a的值等于1,switch传入一个a作为条件,a为1则跳转到case 1处执行冒号后的代码printf("选择的是夫妻肺片");
运行结果如下:

我们尝试在case 1与case 2语句块中删除最后一条语句 break; 看看是否会继续执行下一个case 2:的内容。代码如下:

#include<stdio.h>void main() {int a=1;switch(a){case 1:printf("选择的是夫妻肺片");case 2:printf("选择的是肠粉");case 3:printf("选择的是口水虾");break;case 4:printf("选择的是濑尿虾");break;case 5:printf("选择的是炸蝗虫");break;default:printf("没有这个菜单"); }
}

结果如下:

从结果得知程序并没有跳出。由于并没有换行,我们使用\n符号可以进行换行,使运行结果更加清晰。修改代码如下:

#include<stdio.h>void main() {int a=1;switch(a){case 1:printf("选择的是夫妻肺片\n");case 2:printf("选择的是肠粉\n");case 3:printf("选择的是口水虾\n");break;case 4:printf("选择的是濑尿虾\n");break;case 5:printf("选择的是炸蝗虫\n");break;default:printf("没有这个菜单\n"); }
}

以上程序在printf中添加了\n,\n的作用是换行,输出显示时并不会输出\n。
运行结果如下:

五、总结

通过以上描述与讲解,我们了解了以下几点内容:

  1. 了解了if语句if…else语句以及if…elseif…语句的使用方法
  2. 了解switch语句的使用方法
  3. 了解switch语句中break的作用
  4. 了解了逻辑运算符或“||”用于判断条件成立1边则为正确
  5. 了解了逻辑运算符或“&&”用于判断条件均成立则为正确

零基础看得懂的C语言入门教程相关推荐

  1. c++ 结构体赋值_《零基础看得懂的C语言入门教程》—(十二)结构体是这么回事

    一.学习目标 了解C语言的结构体的使用方法 了解C语言结构体的结构的赋值 了解多种C语言结构体变量的赋值方法和取值方法 目录 <零基础看得懂的C语言入门教程>--(二)简单带你了解流程 & ...

  2. 《零基础看得懂的C语言入门教程 》——(一)脱离学习误区

    本节视频连接: https://www.bilibili.com/video/BV1Qv411t7ae 新手C语言学习有些误区你应该知道,这样学习起来事半功倍~ 一.前言 距离上一次编写C语言的教程是 ...

  3. 《零基础看得懂的C语言入门教程 》——(四)C语言的基本数据类型及变量

    一.学习目标 了解C语言的基本数据类型 了解变量的基本概念 了解变量的使用方法 了解了变量的命名方法 了解格式占位符 了解变量的输出 目录 C语言真的很难吗?那是你没看这张图,化整为零轻松学习C语言. ...

  4. 《零基础看得懂的C语言入门教程 》——(二)C语言没那么难简单开发带你了解流程

    一.学习目标 了解DevC集成开发环境 了解集成开发环境 了解HelloWorld程序 了解HelloWorld程序的编写方法 目录 C语言真的很难吗?那是你没看这张图,化整为零轻松学习C语言. 第一 ...

  5. 《零基础看得懂的C语言入门教程 》——(十三)socket服务端编写

    一.学习目标 了解C语言的socket的概念 了解C语言socket的使用方法 完成C语言socket服务端 目录 C语言真的很难吗?那是你没看这张图,化整为零轻松学习C语言. 第一篇:(一)脱离学习 ...

  6. 《零基础看得懂的C语言入门教程 》——(三)轻轻松松理解第一个C语言程序

    一.学习目标 了解C语言代码的一般结构 了解函数的概念 了解printf函数的使用方法 了解头文件的概念 了解system函数的使用方法 目录 C语言真的很难吗?那是你没看这张图,化整为零轻松学习C语 ...

  7. 《零基础看得懂的C语言入门教程 》——(十二)原来结构体是这么回事

    一.学习目标 了解C语言的结构体的使用方法 了解C语言结构体的结构的赋值 了解多种C语言结构体变量的赋值方法和取值方法 目录 C语言真的很难吗?那是你没看这张图,化整为零轻松学习C语言. 第一篇:(一 ...

  8. 《零基础看得懂的C语言入门教程 》——(十一)C语言自定义函数真的很简单

    一.学习目标 了解C语言的自定义函数的使用方法 了解C语言自定义函数的传参 了解C语言自定义函数的返回值 目录 C语言真的很难吗?那是你没看这张图,化整为零轻松学习C语言. 第一篇:(一)脱离学习误区 ...

  9. 《零基础看得懂的C语言入门教程 》——(十)C语言的指针原来是这样

    一.学习目标 了解指针的概念 了解指针的使用方法 了解双重指针 目录 C语言真的很难吗?那是你没看这张图,化整为零轻松学习C语言. 第一篇:(一)脱离学习误区 第二篇:(二)C语言没那么难简单开发带你 ...

  10. 《零基础看得懂的C语言入门教程 》——(九)C语言二维数组与循环嵌套

    一.学习目标 了解二维数组的使用方法 了解循环嵌套的使用方法 目录 C语言真的很难吗?那是你没看这张图,化整为零轻松学习C语言. 第一篇:(一)脱离学习误区 第二篇:(二)C语言没那么难简单开发带你了 ...

最新文章

  1. 双十一,假如有人把支付宝存储服务器炸了,你的钱是不是都没了?
  2. 批量建立用户和设置密码,批量删除用户脚本
  3. 003_Jsp动作标签
  4. 刷题一个4ms的程序,代码如何优化到3ms再到2ms?
  5. 八城联动 丨 神策 2020 数据驱动用户大会「长沙站」重磅来袭!
  6. 15.7 擦除的神秘之处
  7. 485通讯线是几芯的_小令老师说门禁| 为什么485门禁必然会取代韦根?
  8. python的深造方向_自动化深造方向有哪些?
  9. pointer-events(禁止鼠标事件)
  10. 谷歌巴基斯坦_巴基斯坦的免费文化活动
  11. cmake之交叉编译arm32/arm64(四)
  12. 工作效率上的错觉(转载)
  13. Word绘制跨行表格
  14. 欺骗的艺术.资料搜集自互联网.
  15. 2018中级职称计算机题库,2018年中级通信工程师传输与接入考试试题
  16. 税控盘查看服务器设置的网站,税控盘服务器地址
  17. 怎样在matlab中使用多项式,MATLAB中的多项式运算
  18. pycharm运行python程序没有解释器怎么办
  19. java将图片存储在数据库(mysql)
  20. 哈希表_实现插入、删除、查找元素操作(链地址法解决冲突)

热门文章

  1. WordPress主题-柒比贰B2 V2.9.9主题去授权无限制
  2. Fyne 折腾手记:开发一个简易桌面应用
  3. memcached redis基本操作
  4. linux oracle流复制文件,【学习笔记】Oracle ASM linux dd命令复制asm中文件 操作磁盘或者分区...
  5. 最新研究表明人类的智力正在退化
  6. 微信开发 新浪SAE开发平台 验证Token 一直失败
  7. MySQL5.7忘记密码怎么办
  8. 打开网站被挂马跳转到博彩页面 解决办法
  9. 电脑合上盖子不进入休眠模式的问题解决方案
  10. 力扣977 双指针解决