文档章节

第04天C语言(00):笔记总结

lyh2017iOS
 lyh2017iOS
发布于 2017/07/08 10:10
字数 1776
阅读 0
收藏 0

#####01-Switch-基本概念

 if格式:

  if(条件表达式)

  {

     语句...

  }

  

  switch格式:

  

  switch(条件表达式)

  {

     case 整数: // case可以有一个或多个

         语句;

         break;

      case 整数: // case可以有一个或多个

         语句;

         break;

     default:   

         语句;

         break;

  

  

  }

 1.拿到条件表达式返回值(注意返回值 必须是整型)

  2.利用条件表达式的返回值 和 switch 后面大括号的每一个case进行比较, 判断条件表达式的返回值 和  case后面的整数是否相等 条件表达式 == 整数

  3.如果条件表达式的返回值 等于 某一个case后面的整数, 那么就会执行该case后面的语句

  4.执行完语句 之后 如果遇到break 就会结束整个switch语句, 也就是说后面的所有语句 都不会被执行

  5.如果前面的case 不满足, 也就是前面的case的整数 和 条件表达式的返回值 不相等 就会 继续判断后面的case

  6.如果前面的所有case都不满住, 就会执行 default后面的语句

  

 /*

  结束switch语句

  1.遇到break

  2.执行到switch对应大括号的结束 }

  */

 // break 的作用 用于结束switch语句

 //没有写break  注意 : 如果switch中有一个case满足了条件, 那么其他所有的case 和 default都会失效

#####02-Switch-注意点

 1.switch的条件表达式注意点

  switch的条件表达式 必须是返回整数的表达式, 也就是说()中只能放整数

  或者写能够转换为证书的类型也可以 例如char可以转换int类型, 所以写char也可以

  

   2.case的取值

   switch中, case后面只能放返回值是整数的表达式或者整数,或者能够转换为整数的类型

   case的取值 不能重复

   case后面不能放变量,因为系统在编译的时候对 switch后面所有的case进行优化, 会根据case后面的常量值,生成一张取值表

  

   default的位置问题

   switch的default可以随便放

   无论default写在什么地方, 他都会最后执行(只有前面所有的case都不满住的情况下才会执行)

   只要有某一个case满足, 那么所有的case都会失效

   同理 : 只要default满足,那么所有的case都会失效

#####03-Switch-练习1

 什么时候用switch,什么时候用if

  在开发中一般情况下用if, if比较灵活

  如果说对一些固定的值进行判断, 并且这些值得数量不多的情况,可以使用switch

  从理论上来说,switch的性能效率比if高

#####04-Switch-练习2

 getchar(); // 专门用来获取字符,或从输入缓冲区中获取字符

#####05-while-基本概念

while (条件表达式)

 {

    语句...

 }

  while 是对给定的条件进行判断, 如果条件满足,就执行while后面大括号的内容,执行完毕之后会再次判断条件表达式,如果满足会再次执行while后面大括号的内容,直到 条件表达式不满足为止

  

  术语 : while后面大括号的内容, 称之为 循环体

  while的应用场景 : 当我们需要反复的执行 某一段代码的时候 就可以使用while

  注意点 : 和if一样,如果条件表达式一开始就不满足,那么循环体就不会被执行

#####06-累加思想

 注意: break只能用在switch和循环结果中, 离开这两个东西 没有任何的效果

 思想 : 累加思想, 通过循环来进行累加

#####07-计数器思想

 计算器思想,如果以后开发中想获取什么中有多少个什么,第一个时间就要想到计算器思想

#####08-while-练习3

 使用系统的声音 1>导入stdlib.h 2>使用system的方法

 system("say huatenghudong");

#####09-While-注意点

 最简单的死循环 while (1);

#####10-break-基本概念

 用于跳出循环

#####11-continue-关键字

 只要看到continue,那么后面所有语句都不会执行,会执行再次去判断条件表达式

#####12-dowhile

do

 {

 }while(条件表达式);

  do while和while的区别;

  while如果条件表达式 一开始就不满足, 那么循环体永远不会被执行

  do while如果条件表达式一开始就不满足, 同样会执行一次 循环体

  也就是说, 无论条件表达式是否满足, do while始终会执行一次循环体

  一般情况下,能用while就用while

  do while一般用于校验

  ---

  int number = -1;

  do {

  printf("请输入一个整数\n");

  scanf("%i",&number);

  } while (number <= 0);

#####13-for循环-基本概念

for (初始化表达式;条件表达式;循环后增值表达式)

 {

    语句;

    ...

 }

  条件表达式 : 和 while,dowhile一样,只有条件满足才会执行循环体

  初始化表达式 : 在整个for循环的生命周期中,初始化表达式 只会执行一次

  循环后增值表达式 : 会在每次循环体之后 完毕之后调用一次

#####14-for和while对比

 while

 什么时候用while?

 如果用于控制循环的增量 在循环执行完毕之后换需要使用,那么可以使用while

 for

 如果用于控制循环的增量 在循环执行完毕之后不需要使用了, 那么可以使用for

#####15.for循环-注意点

 1.任何数值都有真假性

 2.for也可以省略大括号,for省略大括号的时候,只会执行离他最近的一条语句

 3.作用域混乱

 4.空语句

 5.其实,初始化表达式 和 循环后增量表达式 可以写多条语句, 语句之间用,链接

 6.作用域问题

 7.最简单的死循环

#####16-循环嵌套-基本概念

 结论 : 循环嵌套执行的次数 等于 : 外循环执行的次数 * 内循环执行的次数

#####17-循环嵌套-练习1

 外循环控制行数

 内循环控制列数

#####18-循环嵌套-练习2

for (初始化表达式; 条件表达式 ;循环后增值表达式) {

 }

 

 尖尖朝上 : 修改内循环的 条件表达式

 尖尖朝下 : 修改内循环的 初始化表达式

 

  ---

  

  1.倒三角形

  ***

  **

  *

  for (int i = 0; i < 3; i++) {

     for (int j = i; j < 3; j++) {

         printf("*");

     }

     printf("\n");

  }

  

  ---

  

  2.正三角形

  for (int i = 0; i < 3; i++) {

     for (int j  = 0; j <= i; j++) {

         printf("*");

     }

     printf("\n");

  }

#####19-循环嵌套-练习3

    --*

     -***

     *****

涉及到正三角 和 倒三角的组合使用

     for (int i = 0; i < 3; i++) {

         for (int j = i; j < 2; j++) {

             printf("-");

         }

         // 0 * 2 = 0 (0)    1颗星

         // 1 * 2 = 2 (0~2) 3颗星

         // 2 * 2 = 4(0~4) 5颗星

         for (int k = 0; k <=i * 2; k++) {

             printf("*");

         }

         

         printf("\n");

     }

#####20-99乘法表

     for (int i = 1; i <= 9; i++) {

         for (int j = 1; j <= i; j++) {

             // 1 * 1 = 1

             //

             printf("%i * %i = %i\t",j,i,i*j);

         }

         printf("\n");

     }

---

#####快捷键

修改某一块的命名 command + control + e

© 著作权归作者所有

共有 人打赏支持
lyh2017iOS
粉丝 1
博文 357
码字总数 137380
作品 0
朝阳
私信 提问
JavaScript 30天每日效果图

JavaScript 30天每日效果图 在Github上看到了wesbos的一个Javascript30天挑战的repo,旨在使用纯JS来进行练习,不允许使用任何其他的库和框架,该挑战共30天,我会在这里复现这30天遇到的挑战...

黎跃春
2017/07/19
0
0
5.22-5.30一周总结

过去总结 所学总结 能想起来的部分 周一:雕爷和他吃枣药丸的牛排 周二:柯洁AlphaGo第一盘 周三:会计学pre:现金流量表; 周四:柯洁AlphaGo第二盘;ndarray,plot plt.plot(x,y) 周五:动...

idealclover
2017/05/31
0
0
C语言中常用计时方法总结

转载 http://blog.csdn.net/fzywj/article/details/8109368 C语言中常用计时方法总结 1. time() 头文件:time.h 函数原型:timet time(timet * timer) 功能:返回以格林尼治时间(GMT)为标准...

kcyyc007
2017/12/13
0
0
日常生活 -- 开博二周年

眼看2017年即将结束,CSDN博客也开通两年了。回顾这两年,感慨颇多。和多数人一样,一开始也是将CSDN作为一个查阅工具,当看到好的博文就会转载。但这就造成一个结果,对于那些转载文章,更多...

qq_29350001
2017/12/03
0
0
C语言嵌入式系统编程修炼之屏幕操作

这是我13年前创作和发表在互联网上的文章,这么多年过去了,这篇文章仍然在到处传播。现在贴回Linuxer公众号。 全文目录: C语言嵌入式系统编程修炼之道——背景篇 C语言嵌入式系统编程修炼之...

jus3ve
2017/12/30
0
0

没有更多内容

加载失败,请刷新页面

加载更多

方之熙博士被任命为RISC-V基金会中国顾问委员会主席,加速RISC-V ISA在中国的应用

中国顾问委员会将就RISC-V基金会的教育和应用推广战略提供指导 今天在中国乌镇举行的世界互联网大会(World Internet Conference)上,RISC-V基金会(RISC-V Foundation)宣布,半导体行业资深人...

whoisliang
12分钟前
0
0
为了用户体验,不要做浏览器兼容

读者看到文章标题也许会感到奇怪,按照通常的经验来说,为了用户体验应该做浏览器兼容,以便让不同的浏览器用户都能有好的体验,从而增加网站的流量,但是我认为做浏览器兼容属于同样的工作重...

Bob2100
12分钟前
0
0
分布式定时任务架构 (二) xxl-job二次开发实践

4个月前,公司有任务调度的需求,需要一周内完成,时间非常紧。 需求有三点: web界面编辑cron表达式,启动,停止任务 接入公司的rpc成本较低,公司有自研的rpc,研发人员希望共用同一套注解 ...

勇哥和你一起学技术
29分钟前
0
0
React和Redux的连接react-redux

通过Redux文档来了解react-redux,在一段时间的实践后准备翻一翻源代码,顺便做些相关的总结。我看的代码的npm版本为v4.0.0,也就是说使用的React版本是0.14.x。 react-redux提供两个关键模块...

前端攻城老湿
50分钟前
1
0
1、Mybatis连接池配置 和 Context.xml的配置

注意: (1)mybatis 3.2 之前 通过 set get 方法 获取相关属性。之后通过属性姓名获取相关关联。 (2)mybatis 映射 优先为 sql 语句中的别名与实体类的属性进行映射。 (3)jndi Java用于调...

KingFightingAn
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部