您的位置:首页 > 编程语言 > C语言/C++

黑马程序员-iOS基础-C语言基础(三)流程控制及函数

2014-12-09 22:05 537 查看
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
黑马程序员-iOS基础-C语言基础(三)
流程控制及函数
一、流程控制
代码流程控制的三种结构:顺序结构、选择结构、循环结构
顺序结构:默认的流程结构。按照书写顺序执行每一条语句。

选择结构:对给定的条件进行判断,再根据判断结果来决定执行哪一段代码。

循环结构:在给定条件成立的情况下,反复执行某一段代码。



二、选择结构

分类:if、switch

1)if

结构:

a.if(条件){ }

b.if(条件){ }

else{ }

c.if(条件1){ }

else if(条件2){ }

else if(条件3){ }

else if(条件4){ }

else{ }

d.if(条件)

使用注意:

1.判断条件可以只是数字

2.比较大小时,常量值放在左边,变量放右边

如:a==0有时会被误写为a=0,造成永远出错,建议写0==a,因为0=a将永远无法成立,起到纠错作用

3.注意赋值运算符不要写两个=

4.if条件后不要打分号

5.作用域必须明确,if后面的语句必须用大括号

if结构的特点:同一时刻只有一个大括号里的代码会被执行.

2)switch

结构:

switch(数值)

{

case 数值1: 语句1; break;

case 数值2: 语句2; break;

default: 语句3; break;

}

特点:

1.默认情况下,只有一个case后面的代码会被执行

2.如果case后面没有break,并且这个case成立

就会按顺序执行后面所有case中的语句,直到遇到break为止

3.如果要在case后面定义新变量,必须用{}包住

3)if和switch的区别和联系

1.if语句能完成的功能,switch不一定能完成

2.部分情况下,if和switch可以互换

3.switch能完成的功能,if都能完成

三、循环结构

分类:while/do while/for

1)while

格式:while(表达式) {循环体}

1.确定要重复执行的操作

2.确定约束条件

特点:

如果一开始条件就不成立,永远不会执行循环体

如果条件成立,就会执行一次循环体

执行完毕,再次判断条件是否成立

使用注意:

死循环

while条件后写分号

2)do while

格式:do{循环体}while(表达式);

特点:先执行一次循环体,再判断条件

其他与while相同

3)for

格式:格式:for(语句1;条件;语句2){循环体}

执行顺序:语句1,初始化语句=>条件=>循环体(条件成立执行,否则跳出循环)=>语句2,增量语句=>再次判断条件=>。。。

使用注意

1>死循环 for(;;);

2>for循环体内部变量的作用域

3>作用域混淆

如:for (int i = 0; i<5; i++) int a = 10; 编译会产生错误

while循环和for循环的比较

1.可以互换

2.for循环的变量可以及时回收

3.优先for,再while,最后do while

4)continue和break

continue:结束本次循环,继续下一次循环.使用场合:循环结构

break的使用:某次的时候停止循环.使用场合:switch:退出整个switch语句;循环:退出整个循环.

三、函数

函数的定义:由一个或多个代码段构成的,每个程序段都有自己的功能,这些程序段就称为“函数”

1)定义函数

目的:把常用功能封装起来方便使用

组成:函数名,函数体

什么时候定义:添加一个常用的新功能

格式:

返回值类型 函数名(形式参数列表)

{

函数体

}

步骤:

1.根据函数的作用起一个有明确意义的函数名

2.确定函数的形参个数

3.确定函数的返回值

注意:默认情况下,C语言不允许两个函数名称相同

2)形参和实参

形参:函数定义时,写在函数参数列表中的变量

函数体内部不能定义和形参一样的变量

实参:函数调用时传入的具体变量

实参个数必须与形参一样

注意:

基本数据类型做函数形参是值传递

修改函数内部形参的值对原实参不影响

一个函数可以没有形参,也可以有无限多个形参

传指针结果会不一样

3)返回值return

作用

1.退出函数

2.返回一个具体值给函数调用者

注意

函数可以没有返回值

void修饰的函数可以省略return

可以多次使用return

当使用void修饰函数时return后面不能有其他语句

函数的弱语法

如果没有写返回值类型,默认是int

如果写了返回值,可以不返回

调用一个没有定义过的函数如果先进行函数声明是可以编译成功的

4)函数注意点

1.默认情况下不允许函数重名

2.函数不能嵌套定义

3.编译从上到下,写的函数要放在main函数前或者写函数声明

函数不能重复定义,但可以重复声明

如果有函数声明,没有函数定义

编译可以通过,因为编译器只检测语法是否合理,不会检测函数有没有定义

链接会报错,因为链接时会检测函数是否定义

5)#include

.h 头文件header file

作用

纯文本拷贝文件里的所有内容到include所在的位置

使用相对路径/绝对路径

注意

自己写的文件用""

系统自带的文件用<>

#include <stdio.h>的作用:拷贝相关函数的声明

6)多文件团队开发

链接:把项目中所有相关联的.o文件、C语言函数库合并在一起,生成可执行文件

1.函数定义放.c文件,声明放.h文件

2.如果要使用某个.c文件中定义的函数,只需要#include这个.c文件对应的.h文件

3..h文件的作用:被别人拷贝。编译链接时不需要考虑.h文件

7)main函数

返回值:0,正常退出;1,异常退出

8)printf函数

返回值:字符串的字符数长度

\n占一个字符

一个中文占3个字符

9)转义符

\n 换行

\t tab

\"代表一个双引号,不起作用

\+标点符号代表输出该符号,将会去掉该符号原有的作用
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: