文档章节

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

lyh2017iOS
 lyh2017iOS
发布于 2017/07/08 10:10
字数 1776
阅读 0
收藏 0
点赞 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
博文 354
码字总数 137380
作品 0
朝阳
JavaScript 30天每日效果图

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

黎跃春 ⋅ 2017/07/19 ⋅ 0

5.22-5.30一周总结

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

idealclover ⋅ 2017/05/31 ⋅ 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

日常生活 -- 开博二周年

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

qq_29350001 ⋅ 2017/12/03 ⋅ 0

C语言书籍资料汇总

我汇总出自己收藏的C语言方面的书籍资料,方便后期使用,或许你也用的到。 以下内容,有链接的都可以下载。 一、书籍 元老级别的书籍: C程序设计语言.pdf (c语言之父) C Primer plus 第5...

BjarneCpp ⋅ 2017/11/06 ⋅ 0

C语言嵌入式系统编程修炼之屏幕操作

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

jus3ve ⋅ 2017/12/30 ⋅ 0

C语言的谜题

我们可以看到很多C语言相关的一些东西。比如《语言的歧义》主要告诉了大家C语言中你意想不到的错误以及一些歧义上的东西。而《谁说C语言很简单》 则通过一些看似你从来不可能写出的代码来告诉...

crazyinsomnia ⋅ 2010/02/22 ⋅ 3

[ios学习]零基础学习iOS开发如何分配时间

在培训期间,学生的时间应该如何分配 学生在学习期间的主要工作时间分配 9:00~ 9:30,认真听同学的学习阶段中的分享,俗话说的好"三人行,必有我师"; 9:30~ 18:00,认真听老师的课堂上课,并且...

浩浩老师 ⋅ 2015/09/15 ⋅ 0

Oracle ORA-14400 分区关键字未映射

工作中,数据库是用的oracle,ora-14400这个报错,之前也出现过,处理好了,但没有写笔记,今天又遇到了,又要去百度。于是决定总结一下,并分享出来。 遇到这个问题,首先通过查询,查看分区...

xiaobo137 ⋅ 2016/08/19 ⋅ 0

C语言嵌入式系统编程修炼

C语言嵌入式系统编程修炼 来源: ChinaUnix博客 C语言嵌入式系统编程修炼之内存操作篇 数据指针 在嵌入式系统的编程中,常常要求在特定的内存单元读写内容,汇编有对应的MOV指令,而除C/C++以...

DB_Terrill ⋅ 2011/04/12 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Android JNI 读写Bitmap的方法

Java层创建Bitmap,通过JNI将Bitmap传到C/C++进行处理 Java部分 public static native boolean greenBitmap(Bitmap bitmap); C/C++部分 JNIEXPORT jboolean JNICALL Java_com_test_Test_gree......

国仔饼 ⋅ 6分钟前 ⋅ 0

一次性让你懂async/await,解决回调地狱

什么是async? 欢迎留言讨论 async 函数是 Generator 函数的语法糖。使用 关键字 async 来表示,在函数内部使用 await 来表示异步。相较于 Generator,async 函数的改进在于下面四点: 内置执...

阿K1225 ⋅ 7分钟前 ⋅ 0

angular常用命令

.下载更新操作 1.利用npm下载angular的命令行工具AngularCLI: npm install -g @angular/cli 2.下载jquery: npm install --save jquery 3.更新npm: npm i -g npm 4.更新angular: ng update ......

消散了的诗意 ⋅ 9分钟前 ⋅ 0

window.print 页面打印

定义和用法 print() 方法用于打印当前窗口的内容。 语法 window.print(); window.print() 实际上,是浏览器打印功能菜单的一种程序调用。与点击打印功能菜单一样,不能精确分页,不能设置纸型...

初学者的优化 ⋅ 10分钟前 ⋅ 0

魔兽世界 7.0版本上 PVE装备全攻略

  T套 因为大家应该都会打穿副本的所以具体是哪个boss我就不说了。   T1: 所有套装都在【熔火之心】出   T2: 头原来是在【奥妮克希亚的巢穴】改到黑翼之巢的奈法利安了,腿是在【熔火之...

wangchen1999 ⋅ 10分钟前 ⋅ 0

java.math.BigDecimal使用小结

原文地址 java.math.BigDecimal使用小结 divide方法 使用BigDecimal.divide方法时一定要考虑: 除数是否为0 商是否是无限小数 正确的使用方式 判断除数是否为0,是0做另外的处理逻辑 调用除法...

666B ⋅ 13分钟前 ⋅ 0

关于qstring转char乱码问题。

if (OpenClipboard(NULL)) { HGLOBAL hgClip; EmptyClipboard(); QByteArray byay = FValue.toLocal8Bit(); //转latin编码 char *bochsrc_line = byay.data(); hgClip = GlobalAlloc(GMEM_DD......

backtrackx ⋅ 13分钟前 ⋅ 0

了解SSH加密和连接过程

介绍 SSH或安全shell是安全协议,也是安全管理远程服务器的最常用方式。通过使用多种加密技术,SSH提供了一种机制,用于在双方之间建立加密安全连接,对彼此进行身份验证,以及来回传递命令和...

吴伟祥 ⋅ 20分钟前 ⋅ 0

微信小程序

小程序的基础配置:导航栏和tabbar 在app.json文件中配置导航栏和tabrbar 导航栏的设置 设置导航,背景黑色,文字白色,文字内容 { "pages":[ "pages/index/index", "pages/logs/l...

上官清偌 ⋅ 23分钟前 ⋅ 0

【转】百度坐标坐标系之间的转换(JS版代码)

/** * Created by Wandergis on 2015/7/8. * 提供了百度坐标(BD09)、国测局坐标(火星坐标,GCJ02)、和WGS84坐标系之间的转换 *///定义一些常量var x_PI = 3.1415926535897932...

HAVENT ⋅ 24分钟前 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部