C语言结构化程序设计 |
您所在的位置:网站首页 › 结构化程序语言包括 › C语言结构化程序设计 |
目录 1. 顺序结构 2. 选择结构 2.1 if语句 2.2 switch语句 3. 循环结构 3.1 while语句 3.2 for语句 3.3 do-while 4. 跳转语句 4.1 break 4.2 continue语句 4.3 goto语句 C语言程序设计的结构有:顺序结构 选择结构 循环结构 跳转语句;总共分为9条语句,实现程序结构化编程,使程序具有逻辑性,层次性。 1. 顺序结构从程序的入口函数开始,从上往下依次执行,上一条语句结束之后,下一条语句才会继续执行,是程序的整体的趋势。 2. 选择结构程序根据条件有选择性的执行其中的语句块(一条语句或者是多条语句);选择结构的语句有: if语句, switch…case…break…default语句。 2.1 if语句(1)第一种形式:单分支 if( 条件表达式 ) { //条件成立,则执行if语句 }说明: if语句默认执行离它最近的语句,如果仅仅只有一条语句,可以不用加括号,如果是多条语句则必须加大括号,建议只有一条语句的时候,也用大括号括起来 执行原理:条件表达式成立(表达式的值是非零值),则执行if语句里面的内容,如果条件不成立,则if语句结束程序继续往下执行 条件表达式:通常关系运算符 逻辑运算符 算数运算符,也可以使用数据值来作为if语句,只要数据为非零值,则条件成立。 (2)第二种形式:双分支 if(条件表达式) { //条件成立,则执行if语句 } else { //条件不成立,则执行else语句 }一个条件,两种选择,如果.....否则.....。 (3)第三种形式:多分支 if(条件表达式1) { //条件1成立,则执行语句块1,整个if嵌套结构结束 } else if(条件表达式2) { //条件2成立,则执行语句2,整个if结构结束 } else if(条件表达式3) { //条件3成立,则执行语句3,整个if结构结束 } .... else if(条件表达式n) { //条件n成立,则执行语句n,整个if结构结束 } else { //条件n不成立,则执行语句n+1,整个if结构结束 //else根据程序的实际情况,可加可不加 {} } 2.2 switch语句 格式: switch(整型表达式) { case 整型常量1: 语句块1; case 整型常量2:语句块2; case 整型常量3:语句块3; .... default: 语句块; } 如果在case里面定义变量,则需要加大括号执行原理:先执行整型表达式,根据整型表达式的值,用于跟case后面的整型常量进行比较,从第一个case开始比较,一旦匹配成功,则从该case后面的语句开始执行,一直到遇到 } 括号结束switch结构,如果整型表达式的值跟case后面的整型常量都不匹配,则执行default默认语句 说明:在使用switch结构的时候,更希望与整型表达式跟case后面的常量匹配成功之后,仅仅只执行其中的一个case(匹配成功的case),而其他的case后面的内容不在执行,需要使用break语句,结束switch结构。如下代码所示: switch(a) { case 1: { printf("case 1执行\n"); int i = 6; //在case里面定义变量则需要加大括号 while(i != 0) { printf("%d =========== %d\n",i,i); i--; } printf("**************\n"); } break; //结束switch结构 case 2: printf("case 2执行\n"); break; case 3: printf("case 3执行\n"); break; case 'A': printf("case A执行\n"); break; default: printf("default执行\n"); } 3. 循环结构一条语句或者多条语句重复多次执行---------循环结构 3.1 while语句 格式: while( 条件表达式 ) { //循环体 }while语句默认执行离它最近的一条语句, 如果循环体只有一条语句,原则上可以不用加大括号,但是建议把大括号加上去。 执行原理:先执行条件表达式,如果条件成立(条件表达式的值是非零值),则执行循环体,然后在判断条件是否成立,如果成立,则继续执行循环体,如果条件不成立,则不执行循环体,while语句结束。 条件表达式的写法不受限制,只要能够判断条件是否成立。 3.2 for语句 格式: for( 赋值表达式 ; 条件表达式; 循环变量表达式) { //循环体, //默认执行离它最近的一条语句,如果是一条语句,也可以不用加大括号,建议加上 }(1)表达式的作用 赋值表达式:只执行一次,循环体开始执行的初始值,给循环变量赋初值;条件表达式:判断循环体是否执行的条件,条件不成立,则循环结束 ;循环变量表达式: 作用加快循环的结束,循环变量变化的值。(2)执行原理: 先执行赋值表达式,然后判断是否满足条件,如果满足条件则执行循环体,循环体执行完成之后,继续执行循环变量表达式,然后在判断是否满足条件,如果满足继续执行循环体,然后执行循环变量表达式,依次往返,如果不条件表达式不成立,则for循环结构结束,在整个过程中赋值表达式只执行一次。 (3)说明: for循环语句,其中赋值表达式可以写括号的外面,循环变量表达式可以写在循环体的后面,但是分号不能丢,并且赋值表达式,条件表达式,不仅仅可以只有一条语句,可以是多条语句,但是必须用逗号隔开。可以使用for循环写一个死循环,for(;;); 一个标准的死循环是用while语句表示,while(1);能够写成for循环结构的一定可以写成while语句或者do-while语句。反之不一定成立for循环更适合于循环次数可知的情况,范围的程序,while或者do-while更适合于循环次数不可知的情况,只需要确定什么时候循环结束。 3.3 do-while 格式: do { //循环体 }while(条件表达式);(1)执行原理: 先执行循环体,然后在判断条件表达式是否成立,如果成立,则继续执行循环体,在判断条件是否成立,如果条件表达式不成立,则do-while循环结构结束 (2)while语句和do-while的区别: while 先判断条件,然后在执行循环体,循环体可能一次也不会执行;do-while 先执行循环体,然后在判断条件是否成立,循环体至少会执行一次。 4. 跳转语句 4.1 break(1)作用: 中断,打断 (2)适用于:选择结构的switch语句,结束switch结构;循环结构for,while,do-while,结束循环,通常跟if搭配使用在循环结构,结束离它最近的循环。 int main (void) { int data; while(1) { printf("请输入一个整型数据:"); scanf("%d",&data); if(data >= 0 && data 4.3 goto语句(1)作用:跳转,表示程序跳转到某个地方 (2)格式: goto 标签名(符合标识符的命名规则即可) (3)含义: 程序遇到goto语句,表示程序要跳转到标签名所在的地方,从该标签的名的下面继续往下执行 (4)说明: 程序一般往上跳转;可以达到循环的效果;goto语句不能使用太多,可能会造成程序的紊乱 ;goto语句尽量少用或者不用。 int main() { int data; input: printf("请输入一个整型数据:"); scanf("%d",&data); if(data < 0 || data > 99) { printf("数据输入错误,请重新输入:"); goto input; //表示程序要跳转到Input所在的地方,从input的下面开始继续往下执行 } switch(data / 10 ) { case 6: printf("该整型数据的范围是:60~69");break; case 7: printf("该整型数据的范围是:70~79");break; case 8: printf("该整型数据的范围是:80~89");break; case 9: printf("该整型数据的范围是:90~99");break; default : printf("该整型数据的范围是: |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |