《零基础看得懂的C语言入门教程 》——(六)轻轻松松了解C语言的逻辑运算

一、学习目标

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

目录

C语言真的很难吗?那是你没看这张图,化整为零轻松学习C语言。
第一篇:(一)脱离学习误区
第二篇:(二)C语言没那么难简单开发带你了解流程
第三篇:(三)轻轻松松理解第一个C语言程序
第四篇:(四)语言的基本数据类型及变量
第五篇:(五)C语言的变量、常量及运算
第七篇:(七)C语言的循环分分钟上手
第八篇:(八)了解基本数组还不是那么简单
第九篇:(九)C语言二维数组与循环嵌套
第十篇:(十)C语言的指针原来是这样
第十一篇:(十一)C语言自定义函数真的很简单
第十二篇:(十二)原来结构体是这么回事
第十三篇:(十三)socket服务端编写

C语言新手的100个报错解法

推荐

我正在参与1024活动,欢迎大家点赞、收藏、评论我的干货文章《一篇文带你从0到1了解建站及完成CMS系统编写》
欢迎大家关注公众号,公众号每满1024及1024倍数则会抽奖赠送机械键盘一份+IT书籍2份哟~
在这里插入图片描述

二、了解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。
运行结果如下:
在这里插入图片描述

IT原创动漫、学习资料、原创教程请关注公众号。
在这里插入图片描述

五、总结

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/287808.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

.NET 6 在 Win7 系统证书链错误导致 HttpWebRequest 内存泄露

本文记录我将应用迁移到 dotnet 6 之后&#xff0c;在 Win7 系统上&#xff0c;因为使用 HttpWebRequest 访问一个本地服务&#xff0c;此本地服务开启 https 且证书链在此 Win7 系统上错误&#xff0c;导致应用内存泄露问题。本文记录此问题的原因以及调查过程核心原因核心原因…

个人成就故事

曾经参加过文艺演出&#xff0c;并且照片上过学校的文化墙。 中专时画的园林景观获过奖。 在麦当劳打工时参加过大型活动&#xff0c;并且担任小队副队长。 在学校坚持锻炼练出了一些腹肌转载于:https://www.cnblogs.com/mokutanuki/p/5486567.html

Linux下java -version版本不对

在服务器上更新了新的 jdk&#xff0c;也在 /etc/profile 中设置了新的 JAVA_HOME&#xff0c;并且 source /etc/profile 然后使用java -version 和 javac -version 发现版本还是老版本&#xff0c;死活没有使用我新指定的。 中间各种排查&#xff0c;这里就不废话了&#xff0…

JAVA-JSP内置对象

相关资料&#xff1a;《21天学通Java Web开发》 request 请求对象 类型javax.servlet.ServletRequest 作用域Requestresponse 响应对象 类型javax.servlet.SrvletResponse 作用域PagepageContext 页面上下文对象 类型 javax.servlet.jsp.PageContext 作用域Pagesession 会话对象…

TCP之滑动窗口

一、滑动窗口的基本知识 TCP滑动窗口包含了发送窗口和接收窗口 1)、TCP滑动窗口的最大值 TCP数据包头部里面有个窗口值,默认窗口是一个16bit位字段,表示窗口的字节容量,所以TCP滑动窗口的最大值是2^16-1=65535个字节,TCP里面也有窗口扩大因子可把原来16bit的窗口,扩大为…

《零基础看得懂的C语言入门教程 》——(七)C语言的循环分分钟上手

一、学习目标 了解循环的使用方法 目录 C语言真的很难吗&#xff1f;那是你没看这张图&#xff0c;化整为零轻松学习C语言。 第一篇&#xff1a;&#xff08;一&#xff09;脱离学习误区 第二篇&#xff1a;&#xff08;二&#xff09;C语言没那么难简单开发带你了解流程 第…

ArcGIS中数据存放相对路径和绝对路径的区别

配套蓝光视频教程:【ArcGIS风暴】数据相对路径VS绝对路径 问题举例: 菜鸟们在使用ArcGIS时经常会碰到将地图文档(.mxd)拷贝到别的电脑上或改变一个路径时,出现数据丢失的现象,具体表现为图层前面出现一个红色的感叹号,如下图所示。 出现以上问题的根本原因是数据GSS.ti…

TIOBE 5 月编程语言排行榜:C# 最受开发者欢迎,C++ 将冲击 Top 3

技术迭代的速度越来越快&#xff0c;这一点在每月更新一次的编程语言排行榜榜单中体现得尤为明显。今天&#xff0c;最新的 TIOBE 5 月编程语言榜单出炉&#xff0c;不妨一起来看一下又有哪些新的趋势。C# 的使用量增幅最高&#xff0c;C 或将冲击 Top 3和 4 月相比&#xff0c…

HTTP生命周期

HTTP生命周期   Http 请求   AspNet_ISAIP.DLL (ISAPI扩展&#xff0c;独立于站点外&#xff0c;用于可扩展的桥梁)&#xff0c;   w3wp.exe (net工作进程) IIS6 以上&#xff0c;6以下为aspnet_wp.exe     判断并创建AppDomain(包含程序集信息)&#xff0c;请求转发…

SQL Server2016导出数据表数据

SQL Server2016导出数据表数据我们前面已经介绍了很多关于SQL Server的相关文章&#xff0c;今天我们主要介绍的是&#xff0c;如何导出数据库下表中数据。我们所有的操作都是通过SSMS进行操作的。我们右击需要导出数据的数据库----任务----导出数据根据向导提示&#xff0c;下…

Jfinal 显示欢迎页 index.jsp

为什么80%的码农都做不了架构师&#xff1f;>>> IndexController.index()方法&#xff0c;为什么是index()方法&#xff1f;其实这是一个约定 那么它是如何打开index.jsp文件的呢&#xff1f;我们来查看index()方法的代码&#xff1a; public class IndexControlle…

Java之通过Collections.synchronizedMap创建线程安全的HashMap

1 问题 我们知道hashMap线程是不安全的&#xff0c;一般而言&#xff0c;我们怎么创建线程安全的HashMap呢&#xff1f; 2 解决办法 我们可以使用Collections.synchronizedMap来创建HashMap,如下 static Map<String, String> results Collections.synchronizedMap(ne…

【经典珍藏版】手把手全程教你制作漂亮的720全景地图(附PtGui软件下载地址)

如今,在网络异常发达的信息与智能测绘时代,我们可以在手机、笔记本电脑等多种设备上随时随地看到很漂亮的全景照片,仰以观于天文,俯以察于地理,可以全景图片视频拍摄,可以任意放大缩小、漫游、重力感应、VR眼睛虚拟体验等等,其乐无穷。作为一个GISer,采集地理信息,探索…

一篇文带你从0到1了解建站及完成CMS系统编写

学习目标 了解搭建一般网站的简便方式了解最原始一般站点搭建了解内容管理站点搭建了解权限设计及完成了解使用设计模式减少代码冗余了解前端拖拽页面生成及生成了解自定义数据的创建了解动态生成的前端页如何绑定自定义数据 开发环境 Windows7 *64 SP1php5.6apache/nginxth…

判断输入的整数是否为素数_C语言 | 判断是否素数

“要成为绝世高手&#xff0c;并非一朝一夕&#xff0c;除非是天生武学奇才&#xff0c;但是这种人…万中无一”——包租婆这道理放在C语言学习上也一并受用。在编程方面有着天赋异禀的人毕竟是少数&#xff0c;我们大多数人想要从C语言小白进阶到高手&#xff0c;需要经历的是…

Button的设置及各种属性

&#xff08;1&#xff09;UIButton类继承自UIControl&#xff0c;而UIControl继承自UIView&#xff0c;因为UIView就是个矩形区域&#xff0c;所以UIButton实例化的对象其实都是一个矩形&#xff0c;虽然有各种圆角、增加联系人、信息按钮等等&#xff0c;给它们加个背景它们就…

『技术群里聊些啥』Task 不是你想 Cancel,想 Cancel 就能 Cancel

前言在群里看到有人问如何取消这个 Task 的执行&#xff1a;实际上这并不会取消S1eepMode1方法的执行&#xff1a;这是为什么呢&#xff1f;原因首先&#xff0c;让我们看看s_cts.Cancel()都做了啥&#xff1a;public void Cancel() > Cancel(false);public void Cancel(boo…

SQL Server数据库锁的类型、用法及注意事项详解

一、为什么要引入锁 多个用户同时对数据库的并发操作时会带来以下数据不一致的问题: 丢失更新:A,B两个用户读同一数据并进行修改,其中一个用户的修改结果破坏了另一个修改的结果,比如订票系统 脏读:A用户修改了数据,随后B用户又读出该数据,但A用户因为某些原因取消了对数…

Java之HashMap、Hashtable、LinkedHashMap、TreeMap、ConcurrentHashMap简单的区别

一、 HashMap 1&#xff09;底层实现 数组链表红黑树&#xff08;在JDK1.8中如果链表长度大于8的时候才转换为红黑树) 2&#xff09;是否线程安全不支持线程的同步&#xff0c;线程不安全&#xff0c;如需同步&#xff0c;可用Collections的synchronizedMap方法或者使用Concu…

《零基础看得懂的C语言入门教程 》——(八)了解基本数组还不是那么简单

一、学习目标 了解数组的使用方法 目录 C语言真的很难吗&#xff1f;那是你没看这张图&#xff0c;化整为零轻松学习C语言。 第一篇&#xff1a;&#xff08;一&#xff09;脱离学习误区 第二篇&#xff1a;&#xff08;二&#xff09;C语言没那么难简单开发带你了解流程 第…