首页 > 其他分享 >分享我对C语言的分支和循环语句的理解

分享我对C语言的分支和循环语句的理解

时间:2023-10-24 18:08:05浏览次数:27  
标签:语句 分享 switch C语言 while 循环 执行 表达式

㈠我们都知道c语言的语句分为五类⒈表达式语句2.函数调用语句3.控制语句4.复合语句

5. 空语句

而我们分享的分支和循环语句就属于控制语句

在此之前我们先简单的介绍一下

****控制语句 用于控制程序的执行流程,以实现程序的各种结构方式,它们由特定的语句定义符组成, C 语言有九种控制语句。

可分成以下三类:

  1. 条件判断语句也叫分支语句: if 语句、 switch 语句;
  2. 循环执行语句: do while 语句、 while 语句、 for 语句;
  3. 转向语句: break 语句、 goto 语句、 continue 语句;

分享我对C语言的分支和循环语句的理解_控制语句


㈡分支语句

⑴if语句

if语句是我们初学者最常用的分支语句。

注意:1.当只有一个if的时候,如果else中语法列表只有一个表达式,则else可以省略,

2.在C语言中,0表示为假,1表示为真

3.如果语句过长的时候要加大括号,另外else只与与它相邻的if相对应

  

分享我对C语言的分支和循环语句的理解_switch语句_02

 

 

⑵switch语句

  switch语句很方便,如果选择太多,if语句使用起来就会很繁琐,这个时候如果用switch语句,就可以很高程度简化代码。switch语句是一个多分支选择语句,并且可以支持嵌套。

  switch语句通过将表达式的值与常量值进行比对,如果相等则执行后面的语句,如果不相等则跳到下一个case语句,当表达式和常量值相等,switch语句会将当前case语句以及后面所有的case语句全部输出。假如我们要实现用户输入一个数字来判断今天是星期几,那么就可以用下面的代码实现。

注意:  case决定了语句从哪里进入,break决定了语句从哪里退出,break是跳出当前循环

  break语句:当switch语句运行时遇到break关键字时会跳出,意思就是当语句运行到break时就不再运行了,也就是break后剩下的case语句都不会再执行,switch语句结束。(3)default语句

简单来说,就是除了执行case以外的情况

以下图片两者都包括了

 

分享我对C语言的分支和循环语句的理解_for循环_03

 

 

㈢循环语句

C语言中的循环主要有for ,while ,do while这三种

⑴for循环

它的执行过程如下:

第一步:执行表达式1,对循环变量做初始化;

第二步:判断表达式2,若其值为真(非0),则执行for循环体中执行代码块,然后向下行;若其值为假(0),则结束循环;

第三步:执行表达式3;

第四步:执行for循环中执行代码块后执行第二步;

第五步:循环结束,程序继续向下执行。

分享我对C语言的分支和循环语句的理解_控制语句_04





分享我对C语言的分支和循环语句的理解_switch语句_05

 ⑵while循环

1.while语句中的表达式一般是关系表达或逻辑表达式,当表达式的值为假时不执行循环体,反之则循环体一直执行。

2.一定要记着在循环体中改变循环变量的值,否则会出现死循环(无休止的执行)。

3.循环体如果包括有一个以上的语句,则必须用{}括起来,组成复合语句。

分享我对C语言的分支和循环语句的理解_控制语句_06


分享我对C语言的分支和循环语句的理解_switch语句_07




⑶do while循环

这个一般很少用,但它有它的好处

它的逻辑是:它先执行循环中的执行代码块,然后再判断while中表达式是否为真,如果为真则继续循环;如果为假,则终止循环。因此,do-while循环至少要执行一次循环语句。

 

分享我对C语言的分支和循环语句的理解_控制语句_08

 

 

 

总结心得:学到后面越来越杂,学的东西越来越多,学习C语言不能只看课本,要多多理解,要去实践,去敲代码,只有看懂代码,才能敲代码,加油

标签:语句,分享,switch,C语言,while,循环,执行,表达式
From: https://blog.51cto.com/u_16297962/8008797

相关文章

  • 【全志R128开发经验分享】启用USB ADB以及无线ADB配置方法
    首先在FreeRTOS的环境下,选择r128_c906_pro:sourceenvsetup.shlunch_rtosr128s2_pro_c906USBADB的配置比较常规,注意以下几个驱动的勾选usbdevice驱动adbgadget驱动adbd应用运行menuconfig,选择对应的驱动以及软件包:mrtos_menuconfig配置好的图片如下图所示当选......
  • 【C语言Coding】第二十四天
    【例题1】215.数组中的第K个最大元素-力扣(LeetCode)//通过看题目限定的数据范围->反推偏移量确定hash数组范围#defineoffset10000inthash[offset*2+5];intfindKthLargest(int*nums,intnumsSize,intk){memset(hash,0,sizeof(hash));inti;for(i=0;i......
  • SQLServer2008/2005 生成数据字典语句
    SELECT表名=casewhena.colorder=1thend.nameelse''end,表说明=casewhena.colorder=1thenisnull(f.value,'')else''end,字段序号=a.colorder,字段名=a.name,标识=casewhenCO......
  • iOS配置通用链接后,分享页面,打开微信后,一直显示连接中
    一开始发现的问题是  apple-app-site-association  这个json里面的bundleid错了但是修正之后仍然显示连接中: 微信开放平台后台显示通用效验通过微信自检代码 checkUniversalLinkReady 检测失败 后来领导说上线之后可能就好了,果然,上线了,分享就没问题了......
  • c语言代码练习35
    问:判断数组是否是另一个数组的逆转数组#define_CRT_SECURE_NO_WARNINGS1#include<stdio.h>#include<string.h>#include<assert.h>voidMylift(char*left,char*right){assert(left!=NULL);assert(right!=NULL);charrmp=0;while(le......
  • 1024 | 9位开发者分享生涯“最”时刻,文武状元大PK等你来
    本文分享自华为云社区《1024程序员节,和华为云一起做不被定义的开发者》,作者:华为云社区精选。1024,祝所有开发者们节日快乐“代码有注释,程序无bug,需求不改动,永远充满好奇心”在这特别的一天华为云1024程序员节,文状元大考序幕拉起更有9位开发者现身说法分享了他们程序员生涯......
  • 技术干货分享:实现app中跑自己小程序的最低可实现方式
    微信作为超级APP,除了庞大的用户群体外,更让人一直模仿便是:在桌面应用上如何跑自己的小程序?那么作为一名程序员,自从有了这个想法以后,就想着如何把他变成现实。但是,目前调研了一圈后发现,基本没有可能自己完成,所以基本只能依靠其他工具包来完成。直到偶然间看到一位开发大佬的公众号......
  • c语言代码练习34
    问:将字符串的n个字符左旋例:asdf左旋一个sdfaasdf左旋两个dfas#define_CRT_SECURE_NO_WARNINGS1#include<stdio.h>#include<string.h>voidAyue(char*ar,intk){inti=0;intsz=strlen(ar);for(i=0;i<k;i++){chartmp=*......
  • GO语言的流程控制语句
    ifif5>9{fmt.Println("5>9")}如果逻辑表达式成立,就会执行{}里的内容。逻辑表达式不需要加()。{必须紧跟在逻辑表达式后面,不能另起一行。ifc,d,e:=5,9,2;c<d&&(c>e||c>3){//初始化多个局部变量。复杂的逻辑表达式fmt.Println("fit")}......
  • 工具分享:一款可以兼容微信支付宝多个小程序的兼容工具
    antmove的初衷是提供一种小程序跨平台开发的解决方案,帮助开发者底层本实现小程序的跨平台开发(微信小程序、支付宝小程序、百度智能小程序、头条小程序),做到一套代码开发、多小程序平台运行的目的。目前antmove已经帮助了多款微信小程序到支付宝小程序的迁徙,代码转换率高达90%......