while循环的运行原理:
1.如果一开始条件就不成立,永远不会执行循环体。
2.如果条件成立,就会执行一次循环体,执行完毕,再次判断条件是否成立。
break:直接结束整个while循环。
continue:结束当前的循环体,进入下一次循环体的执行。
定义while循环的步骤:先确定需要重复执行的操作,再确定约束条件。
while()后面不要加分号,否则当条件成立时会陷入死循环。
最简单的while死循环:while(1);
while和do-while的区别:
1. 很多情况下,while和do while可以互换。
2. while特点:如果一开始的条件不成立,永远不会执行循环体。
do while特点:不管一开始的条件是否成立,至少会执行一次循环体。
3. 最好使用while。
/* for (语句1; 条件; 语句2) { 循环体 } 语句1:初始化语句 语句2:增量语句(执行完循环体后再执行的语句) 1.for一开始就会执行一次语句1(整个for循环只会执行一次) 2.判断条件是否成立,如果条件成立,就会执行一次循环体,然后就会执行语句2,再次判断条件是否成立 */
不要随便在for()后面写分号。
/* 错误:变量a的作用域不明确 如果要在循环体中定义新的变量,必须用大括号{}包住 for (int i=0; i<5; i++) int a = 10; */
// 循环体内可以定义与循环条件中同名的变量 for (int i = 0; i < 5; i++) { int i = 10; }
最简单的利用for循环实现的死循环:for( ; ; );
/* break: 1.使用场合 1> switch语句:退出整个switch语句 2> 循环结构:退出整个循环语句 2.注意点 只对最近的循环结构有效 continue: 1.使用场合 循环结构:结束当前这次的循环体,进入下一次循环体 2.注意点 只对最近的循环结构有效 */
一般优先使用for循环,然后再考虑while,最后再考虑do while。
什么情况下定义函数:添加一个常用的新功能。
/* 参数注意点 1.形式参数:定义函数时函数名后面中的参数,简称形参 2.实际参数:调用函数式传入的具体数据,简称实参 3.实参个数必须等于形参个数 4.函数体内部不能定义和形参一样的变量 5.如果是基本数据类型作为函数形参,纯粹是值传递,修改函数内部形参的值,并不会影响外面实参的值 6.一个函数可以没有形参,也可以有无限多个形参 */
/* return的作用: 1> 退出函数 2> 返回一个具体值给函数调用者 返回值注意点 1> void代表没有返回值 2> 如果没有明确说明返回值类型,默认是返回int类型 3> 就算明确声明了返回值类型,也可以不返回任何值 默认情况下,C语言不允许两个函数的名称一样 */
/* 定义函数的步骤 1> 根据函数的作用,起一个有意义的名称 2> 确定函数的形参个数 3> 确定函数的返回值 */
/* 1.默认情况下,不允许有函数的名称一样 2.函数不能嵌套定义 3.函数不能重复定义,但是可以重复声明 4.如果有函数的声明,没有函数的定义 1> 编译可以通过,因为编译器只会检测语法合不合理,并不会检测函数有没有定义 2> 链接报错,因为链接的时候会检测函数是否定义 */
如果既没有函数的声明,也没有函数的定义,编译能通过。
/* include 1> 作用:拷贝右边文件的所有内容到#include所在的位置 2> 自定义的文件用"",系统自带的文件用<> 3> #include <stdio.h>的目的:拷贝printf函数的声明 */
/* 链接:把项目中所有相关联的.o目标文件、C语言函数库合并在一起,生成可执行文件 1. 函数的定义放.c文件,函数的声明放.h文件 2. 如果要使用某个.c文件中定义的函数,只需要#include这个.c文件对应的.h文件 3. .h文件的作用:被别人拷贝。编译链接的时候不需要管.h文件 4. cc xx.o xxx.o 将多个目标文件链接在一起 cc xx.c xxx.c 将多个源文件编译、链接 */
// \n是一个转义字符,回车键 // \t tab键 // \" 一个双引号 // printf函数返回的字符串常量的字符数,并不是字数 // 1个汉字占据3个字符
时间: 2024-12-12 13:47:22