资源预览内容
第1页 / 共6页
第2页 / 共6页
第3页 / 共6页
第4页 / 共6页
第5页 / 共6页
第6页 / 共6页
亲,该文档总共6页全部预览完了,如果喜欢就下载吧!
资源描述
while语句,while语句在C51中用于实现当型循环结构,它的格式如下: while(表达式) 语句;/*循环体*/ while语句后面的表达式是能否循环的条件,后面的语句是循环体。当表达式为非0(真)时,就重复执行循环体内的语句;当表达式为0(假),则中止while循环,程序将执行循环结构之外的下一条语句。它的特点是:先判断条件,后执行循环体。在循环体中对条件进行改变,然后再判断条件,如条件成立,则再执行循环体,如条件不成立,则退出循环。如条件第一次就不成立,则循环体一次也不执行。 【例】 i=1; while(i10) a=a+1; i=i+1; ,for(表达式1;表达式2;表达式3) 语句; /*循环体*/ for语句后面带三个表达式,它的执行过程如下: (1)先求解表达式1的值。 (2)求解表达式2的值,如表达式2的值为真,则执行循环休中的语句,然后执行下一步(3)的操作,如表达式2的值为假,则结束for循环,转到最后一步。 (3)若表达式2的值为真,则执行完循环体中的语句后,求解表达式3,然后转到第四步。 (4)转到(2)继续执行。 (5)退出for循环,执行下面的一条语句。 【例】 for(j=0;j125;j+) ; 在for循环中,一般表达式1为初值表达式,用于给循环变量赋初值;表达式2为条件表达式,对循环变量进行判断;表达式3为循环变量更新表达式,用于对循环变量的值进行更新,使循环变量能不满足条件而退出循环。,for语句,在一个循环的循环体中允许又包含一个完整的循环结构,这种结构称为循环的嵌套。外面的循环称为外循环,里面的循环称为内循环,如果在内循环的循环体内又包含循环结构,就构成了多重循环。 【例】用嵌套结构构造一个延时程序。 void delay1ms(unsigned int i) unsigned char j; while(i- -) for (j=0;j125;j+); /延时1ms的延时语句(12M晶振时) 这里,用内循环构造一个基准的延时,调用时通过参数设置外循环的次数,这样就可以形成各种延时关系。,循环的嵌套,宏定义指令是指用一些标示符作为宏定义名,来替换其他一些符号或者常量的 预处理命令。使用宏定义指令,可以减少程序中字符串输入的工作量,而且可以提高程序的可移植性。 格式: #define 标示符 字符串 标示符就是我们定义的宏名, 字符串 是要替换的对象 【例】 #define PI 3.14159 #define uchar unsigned char,#define 宏定义指令,数组的格式,格式为:类型说明符 数组名常量表达式=值,值值; 其中,类型说明符是任一种基本数据类型或构造数据类型。 数组名是用户定义的数组标识符。 方括号中的常量表达式表示数据元素的个数,也称为数组的长度。 例如: int a10; 说明整型数组a,有10个元素。 float b10,c20; 说明实型数组b,有10个元素,实型数组c,有20个元素。 char ch20; 说明字符数组ch,有20个元素。,数组的初始赋值规定,1.可以只给部分元素赋初值。当 中值的个数少于元素个数时,只给前面部分元素赋值。例如: int a10=0,1,2,3,4;表示只给a0a45个元素赋值,而后5个元素自动赋0值。 2.只能给元素逐个赋值,不能给数组整体赋值。 例如给十个元素全部赋1值,只能写为: int a10=1,1,1,1,1,1,1,1,1,1;而不能写为: int a10=1; 3.如不给可初始化的数组赋初值,则全部元素均为0值。 Int a10; 4.如给全部元素赋值,则在数组说明中, 可以不给出数组元素的个数。例如: int a5=1,2,3,4,5;可写为: int a=1,2,3,4,5;动态赋值可以在程序执行过程中,对数组作动态赋值。 这时可用循环语句配合scanf函数逐个对数组元素赋值。,
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号