第六讲-C语言三种结构-顺序结构选择结构循环结构
C语言的四种程序结构

C语言的四种程序结构C语言是一种通用高级编程语言,被广泛应用于系统开发、嵌入式编程和科学计算等领域。
在C语言中,程序结构是指程序的组织方式和逻辑架构,它决定了程序的执行顺序和流程。
C语言具有四种基本的程序结构,分别是顺序结构、选择结构、循环结构和函数调用结构。
本文将对这四种程序结构进行详细介绍。
一、顺序结构顺序结构是最简单、最常见的程序结构,它按照代码的顺序执行,一行接一行地执行程序语句,没有任何跳转或分支。
它的基本形式如下:```c语句1;语句2;...```在顺序结构中,每一条语句都按照先后顺序依次执行,直到执行完所有语句为止。
这种结构适合于一些简单的操作,比如输入输出、变量赋值等。
二、选择结构选择结构根据条件判断的结果选择执行不同的代码段,它用于根据特定条件选择性地执行不同的代码。
C语言中最常见的选择结构是if 语句和switch语句。
1. if语句:if语句根据条件表达式的值决定是否执行特定的代码块。
它的基本形式如下:```cif (条件表达式) {执行语句块1;} else {执行语句块2;}```条件表达式的值为真时,执行语句块1;否则执行语句块2。
if语句可以嵌套,形成多层选择结构。
2. switch语句:switch语句根据表达式的值从多个选项中选择一个进行执行。
它的基本形式如下:```cswitch (表达式) {case 值1:执行语句块1;break;case 值2:执行语句块2;break;...default:执行语句块n;}```根据表达式的值,选择对应的case进行执行,如果没有匹配的case,则执行default中的语句块。
每个case后面必须加上break语句,以避免执行其他case的语句。
三、循环结构循环结构用于重复执行一段代码,直到满足特定的循环条件才终止。
C语言中最常见的循环结构是for循环、while循环和do-while循环。
1. for循环:for循环通过设置初始条件、循环条件和步进操作,按照规定的次数重复执行一段代码。
C语言程序的三种基本结构

C语⾔程序的三种基本结构1、程序结构:在C语⾔程序中,⼀共有三种程序结构:顺序结构、选择结构(分⽀结构)、循环结构; 顺序结构:从头到尾⼀句接着⼀句的执⾏下来,直到执⾏完最后⼀句; 选择结构:到某个节点后,会根据⼀次判断的结果来决定之后向哪⼀个分⽀⽅向执⾏; 循环结构:循环结构有⼀个循环体,循环体⾥是⼀段代码。
对于循环结构来说,关键在于根据判断的结果,来决定循环体执⾏多少次; 注:在逻辑上有⼀种bool类型(也叫boolean类型,布尔类型),只有两个值,即真和假。
C语⾔的判断表达式最终的值就是⼀个bool类型,这个判断表达式的bool值就决定了选择结构如何选择,循环结构如何循环;2、顺序结构:顺序结构很简单,⼀般我们遇到的除了选择结构和循环结构外,都是顺序结构;3、选择结构:C语⾔中常⽤的选择结构主要有以下两种: (1) if else:引⼊关键字:if else else if if (bool值) // 如果bool值为真,则执⾏代码段1,否则执⾏代码段2 { 代码段1 } else { 代码段2 } if (bool值1) // 如果bool值1为真,则执⾏代码段1,否则判断bool值2是否为真 { 代码段1 } else if (bool值2) // 若bool值2为真则执⾏代码段2,否则直接执⾏代码段3 { // 开头的if和结尾的else都只能有⼀个,但是中间的else if可以有好多个 代码段2 } else { 代码段3 }1 #include <stdio.h>23int main(void)4 {5int a, b, max;67 a = 456;8 b = 45;910if (a > b) // 判断表⽰式11 {12 max = a;13 printf("true.\n");14 }15else if (a == b)16 {17 max = a;18 printf("a == b.\n");19 }20else21 {22 max = b;23 printf("false.\n");24 }2526 printf("max = %d.\n", max);2728return0;29 } (2) switch case:引⼊关键字:switch case break default switch (变量) // 执⾏到这⼀句时,变量的值是已知的 { // switch case语句执⾏时,会⽤该变量的值依次与各个case后的常数去对⽐,试图找到第⼀个匹配项,找到匹配的项⽬后, case 常数1: // 就去执⾏该case对应的代码段,如果没找到则继续下⼀个case,直到default 代码段1; // 如果前⾯的case都未匹配,则default匹配。
C语言

• 返回值
通过return返回 return 表达式;
函数
自定义函数
• 调用 函数名(实参) 注:
1. 调用时函数名必须与所定义的函数名一致 2. 实参的个数与形参的个数必须一致 3. 实参和形参的类型、顺序必须一直
函数
•
函数说明(为了遵循“先定义,后使用”的原则) 类型名 函数名(参数类型1,参数类型2……); 注:
数据类型
常 用 基 本 类 型
C语言简介
整型
实型 字符型
常 用 组 合 类 型
数组 机构体
公用体
数据类型1
整型
常量:1、57、8、6……
名称 关键字 int short (int) long (int) unsigned 字节 4 2 4 4
C语言简介
变 量
基本整型 短整型 长整形 无符号型
16位系统:long是4字节,int是2字节 32位系统:long是4字节,int是4字节 64位系统:long是8字节,int是4字节 C语言又规定,无论什么平台,都要保证long型占用的字节数不小于int型
选择结构
逻辑运算
选择结构
逻辑运算符 &&(逻辑“与”)、 ||(逻辑“或”)、 !(逻辑“ 非”) &&:当运算符两边的值均为1时,计算值为1,否则为0 ;左边为0,右边被短路 ||:当运算符两边的值中有一个为1时,计算值为1,两 者都为0时,计算值为0;左边为1,右边被短路 !:单目运算符 优先级:! > 算术运算符 > 关系运算符 > && > || > 赋值运 算符
通过二进制相互转换
数的存储
C语言简介
c语言三大语法结构

c语言三大语法结构C语言是一种通用的、过程性编程语言,作为一种高级编程语言,它具有三种基础的语法结构,包括顺序结构、分支结构和循环结构。
这三种语法结构构成了C语言编写程序的基础。
本文将会介绍三种语法结构的基本概念、语法特点、用法和注意事项。
一、顺序结构顺序结构是一种最简单的程序结构,指按照一定的顺序执行各个语句,从上到下顺序执行,是程序主体的基础,也是其他语法结构的基础。
语法特点:顺序结构的语法特点是由两个基本要素组成,即语句和算法。
语句是C语言的基本单元,而算法是指代码实现某一特定功能的具体过程。
用法:顺序结构的主要用途是按照特定的顺序执行不同的语句。
通常情况下,程序会从主函数开始执行,然后按照顺序执行其他函数,最后结束程序。
注意事项:在使用顺序结构时,应该注意程序的阅读性和可维护性。
这意味着应该尽量避免使用过多的嵌套结构、尽量减少语句的数量和行数、以及使用注释来描述程序的特定部分和算法。
二、条件结构条件结构是一种可以让程序根据不同的条件执行不同的语句。
通过检查某个条件的真假,程序执行不同的代码,这会使我们的程序更加灵活和强大。
语法特点:条件结构的语法特点是由三部分组成,即条件表达式、真语句以及假语句。
条件结构使用条件表达式来判断某个条件是否为真或者假,如果该表达式为真,则执行真语句,否则执行假语句。
用法:条件结构的主要用途是根据程序的条件执行不同的语句。
在实际应用中,条件结构通常用于判断用户输入是否正确、程序执行是否成功等方面。
注意事项:在使用条件结构时,应该注意两个关键点。
第一点是条件表达式一定要正确,表达式的错误可能会导致程序崩溃或者出现错误结果。
第二点是两种情况都要考虑到,分别对应于真和假这两种情况,否则可能会导致程序逻辑错误。
三、循环结构循环结构是一种可以重复执行某些相似或相同的语句的结构。
通过检查循环计数器的变化,程序可以执行一系列重复的语句。
语法特点:循环结构的语法特点是由三部分组成,即循环条件、循环语句以及更新计数器。
程序设计的三种基本结构

程序设计的三种基本结构程序设计中的三种基本结构是顺序结构、选择结构和循环结构。
这些结构是用来控制程序执行顺序和逻辑流程的基础。
一、顺序结构:顺序结构是程序中最简单的结构,即按照顺序执行各个语句,一条接一条地执行,没有跳转和分支。
顺序结构利用语句的执行顺序来确定程序的执行流程。
例子如下:```int a, b, c;a=10;b=20;c=a+b;```在上面的例子中,按照顺序结构,首先给变量a赋值为10,然后给变量b赋值为20,最后将a和b的和赋值给变量c。
程序将按照这个顺序执行下去。
二、选择结构:选择结构用来根据一些条件的真假来决定程序的执行流程。
根据条件的结果,可能会选择执行一段代码或者另一段代码。
常见的选择结构有if语句、switch语句等。
例子如下:int x = 10;if (x > 0)//x大于0的情况下执行的代码printf("x is positive");} else//x小于等于0的情况下执行的代码printf("x is not positive");```在上面的例子中,根据if语句中的条件判断表达式x > 0的结果,如果为真,则执行if语句块内的代码;如果为假,则执行else语句块内的代码。
通过选择结构,程序可以根据不同的条件来执行不同的代码块。
三、循环结构:循环结构用来进行重复执行一段代码的操作。
通过判断循环条件的真假来控制循环的执行和退出。
常见的循环结构有for循环、while循环、do-while循环等。
例子如下:```int i;for (i = 0; i < 10; i++)printf("%d\n", i);在上面的例子中,利用for循环结构,通过初始化循环变量i并设置循环条件i < 10以及每次循环完执行的表达式i++来实现了循环打印数字0到9的功能。
循环结构使得程序可以重复执行同一段代码,以达到需要重复执行的任务。
程序的三大结构(顺序结构、选择结构、循环结构)

程序的三⼤结构(顺序结构、选择结构、循环结构)⼀、顺序结构、选择结构、循环结构⼆、顺序结构程序按照从上到下的顺序执⾏。
三、选择结构程序按照某个条件执⾏(出⼝只有⼀个)1. if条件语句执⾏逻辑:对条件进⾏判断,如果条件返回值为true 则执⾏。
if(){ }else{} (1)单分⽀ if(饿了){ 睡觉 }(2)双分⽀ if(条件){ code; }else{ code2; } (3)多分⽀ if(条件1){ code1; }else if(条件2){ code2; }else{ code3; } (4)a.判断⼀个整数,属于哪个范围:⼤于0,⼩于0,等于0; var num = 10; if(num > 0){ code1; }else if(num < 0){ code2; }else{ code3; } b.判断⼀个整数是奇数还是偶数,并输出判断结果 var num = 111; if( num % 2 == 0 ){ code1; }else if(num % 2 != 0){ code2; } c.开发⼀款软件,根据公式(⾝⾼-108)*2=体重,可以有10⽄左右的浮动。
来观察测试者体重是否合适 var height = 200; var weight = 200; var item = ( height - 108 ) * 2; if( weight <= item + 10 && weight >= item - 10 ){ console.log("标准"); }else{ console.log("不标准"); }2.switch分⽀ 对某个固定值的判断 (1)语法: switch() { case value: 执⾏的语句; } (2)case穿透。
如果每⼀个case语句执⾏完毕之后,没有遇到 break , 让程序继续往下执⾏。
c语言三大语法结构

c语言三大语法结构C语言是一种高级编程语言,具有简单易学、灵活高效的特点,广泛应用于软件开发领域。
作为一种编程语言,C语言有着三大基本语法结构,即顺序结构、选择结构和循环结构。
1. 顺序结构顺序结构是C语言中最简单的语法结构,它按照程序的编写顺序逐步执行语句。
在顺序结构中,每一条语句都会按照顺序执行,一条执行完毕之后再执行下一条。
例如:```#include <stdio.h>int main() {int a = 10;float b = 3.14;char c = 'A';printf("a的值:%d\n", a);printf("b的值:%f\n", b);printf("c的值:%c\n", c);return 0;}```以上代码就是一个简单的顺序结构程序,逐条执行语句并输出相应的结果。
首先定义了整型变量a并赋值为10,接着定义了浮点型变量b并赋值为3.14,最后定义了字符型变量c并赋值为'A'。
然后打印出这三个变量的值。
最后使用 `return 0` 结束程序。
2. 选择结构选择结构是根据条件的真假来执行不同的代码块。
C语言中的选择结构主要有if语句和switch语句。
if语句的语法结构如下:```if (条件) {// 条件为真时执行的代码块} else {// 条件为假时执行的代码块}```示例代码:```#include <stdio.h>int main() {int num = 5;if (num > 0) {printf("这是一个正数\n");} else {printf("这不是一个正数\n");}return 0;}```以上代码中,使用if语句判断变量num是否大于0,如果为真则输出"这是一个正数",否则输出"这不是一个正数"。
C语言第六讲-三种结构-顺序结构选择结构循环结构

注意
例如:
#include”stdio.h” void main(){ int a=1,sum=0; do{ sum+=a; a++; } while(a<101); printf(“The sum is:%d”,b); }
循环结构( 循环结构(三)
C、 for(init;condition;step){ statements; }
?
输入学生百分制成绩,转换成等级制输出 三项说明: •无论条件是否为真,总要先判断(执行)一遍 •如果语句只有一条,则大括号可以省略 •程序的缩排
选择结构( 选择结构(四)
E、switch(常量表达式){ case 常量1: statements1; break; case 常量2: statements2; break; case 常量3: statements3; 3: break; case 常量4: statements4; break; default: statements5; break; }
2、省略condition语句 原因: 条件不固定 例如: int a,b=0; for(a=1;;a++){ b+=a; if(a>=10)break; } printf(“%d\n”,b); 注意:分号不能省
与循环结构有关的关键字
break 用法: break; 功能:跳出当前循环 例如:在128—365之间找出三个15的倍数并输出 continue 用法:continue; 功能:继续判断当前循环的条件 例如:计算1+2+3+5+6+7+8+9+10的和 while(a<24){ c*=a; c++; if(a==12)continue; b+=a; a++; } for(i=0;i<10;i++){ c*=a; c++ if(i==5)continue; j+=I; }
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• 无论条件是否为真,总要先判断(执行)一遍条件 • 如果语句只有一条,则大括号可以省略 • 关于程序的缩排
选择结构(二)
B、
if(condition){ statements1; } else { statements2; } /*双分支选择结构*/
功能:首先判断condition是否为真, 如果为真,则执行statements1, 否则,执行statements2
? 对两个数据按升序排序并输出
三项说明:
输入两个数,输出其中的最大数(最小数)
• 无论条件是否为真,总要先判断(执行)一遍条件 • 如果语句只有一条,则大括号可以省略 • 关于程序的缩排
选择结构(三)
C、 if(condition1){ statements1; } else if(condition2){ statements2; } else if(condition3){ statements3; } else if(condition4){ statements4; } . . . /*至多执行一句*/ D、 if(condition1){ statements1; } else if(condition2){ statements2; } else if(condition3){ statements3; } else if(condition4){ statements4; } else { statements5; } /*必然执行一句*/
2、省略condition语句 原因: 条件不固定 例如: int a,b=0; for(a=1;;a++){ b+=a; if(a>=10)break; } printf(“%d\n”,b); 注意:分号不能省
与循环结构有关的关键字
break 用法: break; 功能:跳出当前循环 例如:在128—365之间找出三个15的倍数并输出 continue
for循环的变体形式
1、省略init语句 原因: 初始化已经完成 例如: int a=1,b=0; for(;a<10;a++)b+=a; printf(“%d\n”,b); 注意:分号不能省 3、省略step语句 原因: 控制变量每次变化不一样 例如: int a,b=0; for(a=1;a<10;){ b+=a; if(a==3)a+=2; else a++; } printf(“%d\n”,b); 注意:分号不能省
作业
书面作业: P86 P108 1.2 1.2 1.3 1.3 1.4 1.4 2 2.1 2.2 2.4
附加题:
1、int a=2,b=3,c; if(a>b);c=a+b;
程序段执行完毕后c的值是多少? 2、int a=10,b=0; while(a>0){ b+=a; a++; if(a>20)break; } 描述该段程序的任意数的阶乘
四项说明:
•无论条件是否为真,总要先判断(执行)一遍
•在跳出循环体之前,还要再执行一遍条件 •如果语句只有一条,则大括号可以省略 •程序的缩排
循环结构(二)
B、 do{ statements; } while(condition);
/*直到型循环*/ 功能:先执行循环体statements, 然后再判断条件; 如果为真,则继续执行; 否则,跳出循环体
? int a=2,b; b=a>0?0:1;
逗号表达式
用逗号连接的表达式称为逗号表达式 逗号表达式的值是最后一个表达式的值 例如:int a=2,b=3,c=4; c=(a+b,b+c,c-a); /*不要给a,b赋值*/ printf(“%d\n”,c); /*c=2*/
顺序结构
顺序结构是程序设计中的三种基本结构之一
用法:continue;
功能:继续判断当前循环的条件
例如:计算1+2+3+5+6+7+8+9+10的和 while(a<24){ c*=a; c++; if(a==12)continue; b+=a; a++; }
for(i=0;i<10;i++){ c*=a; c++ if(i==5)continue; j+=I; }
注意
例如:
#include”stdio.h” void main(){ int a=1,sum=0; do{ sum+=a; a++; } while(a<101); printf(“The sum is:%d”,b); }
循环结构(三)
C、 for(init;condition;step){ statements; }
例如:#include”stdio.h” void main(){ int a=1234,b; b=a%10*1000; b+=a/10%10*100; b+=a/100%10*10; b+=a/1000; printf(“%d”,b); }
又如: #include”stdio.h” main(){ int i,j,k,n; printf(“‘water flower’number is:”); for(n=100;n<1000;n++){ i=n/100;/*分解出百位*/ j=n/10%10;/*分解出十位*/ k=n%10;/*分解出个位*/ if(i*100+j*10+k==i*i*i+j*j*j+k*k*k){ printf(“%-5d”,n); } } printf(“\n”); }
?
输入学生百分制成绩,转换成等级制输出 三项说明: •无论条件是否为真,总要先判断(执行)一遍 •如果语句只有一条,则大括号可以省略 •程序的缩排
选择结构(四)
E、switch(常量表达式){ case 常量1: statements1; break; case 常量2: statements2; break; case 常量3: statements3; break; case 常量4: statements4; break; default: statements5; break;
第六讲 三种结构
目标
掌握条件运算符和逗号表达式 顺序结构 选择结构 循环结构
条件运算符
条件运算符是C语言中唯一的一个三目运算符 表达式1?表达式2:表达式3; 例如: int a=2,b; b=a>0?++a:a; printf(“%d\n”,b); b=a<0?++a:a; printf(“%d\n”,b);
功能: 1、首先执行init语句 2、判断condition 3、如果为真,则执行statements;如果为假,则跳出 4、将statements执行完后,再执行step;转第二步
说明:
• 两个分号,在任何情况下,一个都不能少 • 大多数情况下,要避免构成死循环 • 如果语句只有一条,则大括号可以省略 • 程序的缩排
?
1、输入等级制分数,转化为 百分制输出 2、制作一个简单的菜单
}
循环结构(一)
A、 while(condition){ statements; } /*当型循环*/ 求1—100的和 推广 功能:首先判断条件是否为真,如果为真, 则执行语句块,执行完毕后, 再次判断条件是否为真; 如果为假,则跳出循环体。 求数轴任意区间的数的和
选择结构(一)
选择结构能够使程序根据条件做出相应的判断,使程序选择执行某一段代码块, 它使程序具有了智能
A:
if(condition){ statements; } /*单分支选择结构*/
?
输入年份,判断是否是闰年 输入字符检测
功能:首先判断条件是否为真,如果为真,则执行语句; 否则,什么也不做, 继续往下执行
3、根据输入字母输出字符串 若输入m,则输出“Good mornning!” 若输入n, 则输出“Good afternoon!” 若输入h, 则输出“Hello!” 若输入e, 则输出“Good evening!”
4、程序设计 求1!+2!+3!+4!+……+10!的值