1. c语言是结构化的程序设计语言,其形式主要有三种——(1)顺序结构(2)选择结构(3)循环结构

1)

  1. 顺序结构是按照代码的顺序,从上往下从前往后依次进行执行的

  1. 顺序结构的特点——1.自上而下 2. 依次执行 3. 没有分支


int main()
{printf("1\n");    //1printf("2\n");    //2printf("3\n");    //3printf("4\n");    //4printf("5\n");    //5return 0;
}

一段简单的printf代码,其程序运行结果如下

程序按顺序1、2、3、4、5依次执行,依次分别打印出的“ ”里的语句。


2)选择结构

选择结构两大类——1*、if else语句

—— 2*、switch -case 语句

a.if else语句

函数使用--

if(函数表达式)

{

执行语句;

}

else if(函数表达式)

{

执行语句;

}

else

{

执行语句;

}

int main()
{int i = 10;if( i >= 10 )printf("666\n");    //(1)else if( i <= 0){                    //(2)i++;printf("%d\n",i);}else printf("7777\n");    //(3)if( i >= 0)printf("我爱c语言\n"); //(4)printf("hahahaha\n");    //(5)return 0;
}

注意:这一段代码里一共有五个printf函数,而且{}的布置也有不同

程序执行结果如上,最后只打印了执行了3条printf函数,现在来简单讲解一下该段代码实际上在编译器中是如何运行的

当程序执行时,函数从主函数进入,为常量i分配了一个int类型的空间并赋值为10,下一步就是进入if语句分支,此时i = 10 满足(i >= 10)进入下方的执行语句,打印出“666”,下一步程序指向下一个if(不是else 后面的 if),即直接来到第四个printf的判断条件——(i >= 0),此时i = 10 > 0 满足条件判断进入打印“我爱c语言”,由于最后一个printf函数执行没有条件判断,因此无论如何,只要程序不在前面的语句中断,程序都会打印出“hahahahaha\n”。

|在这里补充上if分支的规则

  1. .else优先与近的if结合

  1. if后的语句只执行一条,如果要执行多条语句,需要花括号{}

  1. 当一个程序有多个if语句时,执行完一个if后不干涉程序进入下一个if,只要满足条件判断就可以执行语句

  1. if后的else if --当if中条件判断满足时,不进入与之关联的else if 和else 即使符合条件判断也不进入。

b.switch case语句

使用方法:

switch(条件参数)

{

case _:

case _:

执行语句;

break;

default:

执行语句;

break;

}

e.g

int day = 5;
scanf("%d",&day);
switch(day)
{case 1:case 2:case 3:case 4:case 5:printf("工作日\n");break;case 6:case 7:printf("周末\n");break;default:printf("输入错误\n");
}

以上的代码用于在用户输入数字1234567对应的日期判断每个星期中的工作日或者周末

break的用法是在循环或者switch分支中直接结束当前结构语句(循环或者分支),上面的例题中如果没有break,那么在执行完”工作日“打印后程序不会结束,而是进入下一步执行语句。


3)循环结构

循环有三大类a.while 循环

b.do while 循环

c.for循环

a*) while 循环注意事项和使用

while (判断条件)

{

执行语句;

必须要有限制条件;

}

int i = 10;
while(i)
{printf("%d",i);i--;
}

最后程序执行如下

代码执行分析:

由main函数进入后为变量i分配一块空间并且赋值为10

while()内的循环判断条件规则是:0为假,非零为真,即结果不为0时符合条件判断就可进入执行语句

在执行的语句中遵循顺序结构,先printf后i自减,经过了十次循环后i=0作为判断条件,不进入之后的执行语句,因此执行过程在while循环中往往比判断少一轮。

b*) do while循环

使用:

do

{

循环体;

必须有限制条件;

}while(条件判断);

当程序进入do while循环后,先进入一次循环体,再进行条件判断,当判断结果为真时,进入下一次循环,当结果为假时,退出循环结构。

在循环体中,除了当前的执行语句之外,必须要有能限制while循环次数的语句来防止死循环,一个循环体中可以没有其它的执行条件,但是必须要有限制条件;

当循环体中程序进行到break,则程序会直接终止在循环结构的进程,从而进行下一语句,值得注意的是,break只能跳出一层循环/分支结构,在多组循环或者分支嵌套的情况下往往采用多个break来结束程序在循环中的进程。

当循环体中的程序进行到continue,程序会直接终止该次循环结构的进程,与break不同的是:continue执行后程序下一步执行的是下一次的循环体语句,而不是循环结构后的程序。

c*) for循环

使用:

for( 初始条件 ;限制条件 ;控制循环变量 )

{

循环体;

}

e.g打印出0 - 9的十个数字

for(i = 0 ; i < 10 ; i++ )
{printf("%d ",i);
}

实际上如果底层逻辑没有太大区别的时候,for循环和while循环可以相互转换上面的for循环还可以这样写

i = 0;
while(i < 10)
{printf("%d ",i);i++;
}

两者执行的效果是完全相同的,只是在一些特定的场合,人们更倾向于特定的写法,像是while常被用于做未知循环次数的循环,for循环更多被应用于已知循环次数的循环。

值得注意的是,不管是那种循环,其限制循环次数的条件是一个合格的循环所必备的,而且循环限制条件可以不仅限于一条,在有需求的环境下,人们可以创建多个变量来控制循环次数。

int i = 0,j = 10;
for( ;i > 3 && j % 2 != 0;i++,j++)
{;
}

如上,i 和 j都是控制循环次数的变量;

在for循环的设计中,括号中的条件可以省略不写,但必要在循环体中体现,虽然这样的代码c语言支持读写,但为了避免程序出现错误和程序难以被看懂,应该尽量减少这样的写法。

C语言循环结构和分支相关推荐

  1. python的两种循环结构_python分支和循环结构

    Python Python开发 Python语言 python分支和循环结构 1.分支结构 1.1应用场景 迄今为止,我们写的Python代码都是一条一条语句顺序执行,这种代码结构通常称之为顺序结构. ...

  2. python语言与c语言相比在分支结构上有什么不同_C语言顺序结构和分支结构总结...

    1. 本章学习总结 1.1 思维导图 1.2 本章学习体会及代码量学习体会 1.2.1 学习体会 感觉学的内容比较基础,也是日后编程的基石.今后还应多加练习,能够更自如地运用,避免低级错误,一步步地提 ...

  3. c语言条件型循环结构报告,C语言循环结构实习报告 - 副本

    认识(实习)报告 实验(实习)名称循环结构程序设计 日期得分指导教师系专业年级班次姓名学号 一. 实验目的 (1)掌握在程序设计条件型循环结构时,如何正确地设定循环条件,以及如何控制循环的次数. ⑵了 ...

  4. c语言中循环结构的作用,C语言循环结构知识点

    C语言循环结构知识点 引导语:循环结构可以减少源程序重复书写的工作量,用来描述重复执行某段算法的问题,这是程序设计中最能发挥计算机特长的程序结构.以下是百分网小编分享给大家的C语言循环结构知识点,欢迎 ...

  5. 循环结构作业c语言,c语言循环结构练习题带答案

    c语言循环结构练习题带答案 第5章 循环结构程序设计 5.1 基本知识点 Øwhile语句的使用格式和注意事项 Ødo-while语句的使用格式和注意事项 Øfor语句的使用格式和注意事项 Øbrea ...

  6. 循环结构作业c语言,C语言循环结构练习题带答案(最新整理)

    <C语言循环结构练习题带答案(最新整理)>由会员分享,可在线阅读,更多相关<C语言循环结构练习题带答案(最新整理)(10页珍藏版)>请在人人文库网上搜索. 1.第 5 章循环结 ...

  7. 一起学习C语言:C语言循环结构(三)

    上一篇 <一起学习C语言:C语言循环结构(二)> 中,我们了解了while.do-while语法和continue语句的应用场景.本篇文章中,我们分析循环结构嵌套使用,并通过几个示例分析c ...

  8. 一起学习C语言:C语言循环结构(二)

    前言: 前一段时间发表的<["天才"必经之路]>文章非常热门,虽然我知道它会是一篇成功的文章,但,它的火爆程度还是超出了我的预期.前几日,我写了这个系列的第二篇文章,文 ...

  9. 一起学习C语言:C语言循环结构(一)

    上一章 <一起学习C语言:C语言基本语法> 系列内容中,我们了解了if语句.switch语句的使用方式以及不同运算符的优先级等内容.本章节,我们学习C语言循环结构用法. 章节预览: 1. ...

最新文章

  1. 扫描 VNC 的脚本
  2. jmeter语言设置
  3. Chromium下载各类版本(pyppeteer爬虫)
  4. si_meminfo获取当前系统物理内存使用情况
  5. CentOS7.4中搭建lnmp环境
  6. 突发!暂停新用户注册,微信这样回应
  7. 【flink】flink Source Coordinator Thread already exists driving actions Source Coordinator. Existing
  8. SQL Server警报解决性能问题:如何创建和使用SQL Server警报
  9. [翻译] KGModal
  10. linux数组删除数据,如何从shell数组中删除一个元素
  11. Vue - 引入集成 Tinymce 富文本编辑器(详细步骤及运行Demo),在 Vue.js 项目中使用富文本插件详细教程,附带超级详细的注释说明
  12. 晓日程-首款打通微信和桌面的免费日历应用
  13. elementUI开始时间和结束时间验证
  14. Mysq底层数据结构和优化整理
  15. 使用腾讯云服务器搭建Minecraft Java版服务器的一次踩坑
  16. 新体育杂志新体育杂志社新体育杂志社新体育编辑部2022年第8期目录
  17. java : mozilla rhino js引擎 使用教程
  18. POI之Excel单元格样式
  19. 什么是SaaS系统,SaaS系统有哪些优势
  20. 数组名和数组名取地址 的区别

热门文章

  1. xxl-job 调度中心/执行器/Springboot
  2. 作图控件北京图王的Visual Graph在PB中的应用
  3. 在国内企业做数据治理,建议您考个DAMA-CDGA/CDGP证书
  4. php户型图识别,买房必看!一分钟学会如何识别户型图中隐藏的猫腻
  5. 5G无线技术基础自学系列 | 基站数量计算
  6. 皮皮调度(1)——从Airflow到DolphinScheduler,以及“皮皮调度”的来历
  7. 中职计算机应用教学的重要性,浅谈中职计算机应用有效教学策略
  8. LINUX下USB1.1设备学习小记(2)_协…
  9. MD5加密安全吗(解析MD5)
  10. 2021牛客暑期多校训练营2 Girlfriend(阿波罗尼斯圆 + 计算几何)