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

来源:互联网 发布:淘宝客服怎么手机登录 编辑:程序博客网 时间:2024/04/29 15:08

------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
 \"代表一个双引号,不起作用

\+标点符号代表输出该符号,将会去掉该符号原有的作用

 

 

 

 

0 0
原创粉丝点击