C语言结构化程序设计

您所在的位置:网站首页 结构化程序语言包括 C语言结构化程序设计

C语言结构化程序设计

2024-07-11 05:47| 来源: 网络整理| 查看: 265

目录

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