




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基本语句和程序
结构设计whf@内容安排顺序结构1选择结构2循环结构3转向结构4基本语句0内容安排顺序结构1选择结构2循环结构3转向结构4基本语句0基本语句(Statements)控制语句表达式语句函数调用语句空语句复合语句控制语句完成一定的控制功能C语言的9种控制语句if-elsewhilecontinueswitchreturnfordo-whilebreakgoto表达式语句形式expression;表达式最后加一个分号举例a=3; /*赋值语句*/z=x*y,z++; /*一条语句*/x-y; /*语句,但无实际意义*/i++; /*语句*/i++ /*表达式,不是语句*/函数调用语句形式function(arguments);函数调用后加一个分号函数调用语句可以看作一种表达式语句举例printf("%d",i);getchar();myfun(a,b);空语句形式;只有一个分号用法作为转向点作为循环语句中的循环体举例for(i=1;i<=100;i++)sum+=i;for(i=1;i<=100;sum+=i++);复合语句(块语句,Block)形式{statements}用{}把若干条语句组合成为一个复合语句{}内可以没有任何语句,可以只有一条语句,也可以有多条语句可以包括复合语句、空语句、控制语句等用法一个复合语句当作一条语句来使用需要把多条语句放在只允许一条语句的场合复合语句举例intx,y,t;if(x>y){ /*复合语句开始*/t=x;x=y;y=t;} /*复合语句结束*/printf("%d,%d",x,y);C语言语句使用说明除复合语句外,语句都以分号;作为结束语句书写格式比较自由,确定语句结束的唯一标准是分号(;)注意区分表达式和表达式语句,它们的用法不同举例,if((a=b)>0)t=a;错例,if((a=b;)>0)t=a;举例,if(x>y){x--;y++;}错例,if(x>y){x--;y++}内容安排顺序结构1选择结构2循环结构3转向结构4基本语句0顺序结构ABab内容安排顺序结构1选择结构2循环结构3转向结构4基本语句0分支程序设计if语句条件运算符?:switch语句分支程序设计举例选择结构ABabpYN当p为“真”当p为“假”if语句的三种形式if(expression)statementif(expression)statement1
else
statement2if(expression1)statement1
elseif(expression2)statement2
elseif(expression3)statement3......
elseif(expressionn-1)statementn-1
else
statementnif语句的说明无论哪种形式,一条if语句,包括else或elseif子句,只算作一条语句if语句中的子句,可以是一条任何类型的语句,包括表达式语句、空语句、复合语句、控制语句子句末尾的分号,只表示子句的结束,不表示if语句结束注意复合语句末尾没有分号else子句都是可以没有的if语句举例if(x>y) /*y为x和y的较大值*/y=x;if(x>y) /*d为x和y之间的距离*/d=x-y;elsed=y-x;if(x>y); /*合法,但没有实际操作*/例考虑下面程序的输出结果:#include<stdio.h>main(){intx,y;scanf(“%d,%d”,&x,&y);if(x>y)x=y;y=x;elsex++;y++;printf(“%d,%d\n”,x,y);}if语句的嵌套if语句的各子句都可以又是if语句应注意if-else的配对关系else总是与其上面最近的if配对可以用{}明确if-else的配对关系if(exp1) if(exp1)if(exp2) {if(exp2)
statement1
statement1}else else
statement2
statement2#include<stdio.h>main(){intx,y;printf("Enterintegerx,y:");scanf("%d,%d",&x,&y);
if(x!=y)
if(x>y)printf("X>Y\n");elseprintf("X<Y\n");
elseprintf("X==Y\n");}运行:Enterintegerx,y:12,23X<YEnterintegerx,y:12,6X>YEnterintegerx,y:12,12X==Y例输入两数并判断其大小关系缺省{}时,else总是和它上面离它最近的未配对的if配对if(……)if(……)if(……)else…...else…...else…...if~else配对原则例:if(a==b)if(b==c)printf(“a==b==c”);elseprintf(“a!=b”);修改:if(a==b)
{if(b==c)printf(“a==b==c”);
}elseprintf(“a!=b”);实现if~else正确配对方法:加{}实现if~else正确配对方法switch语句
switch
(expression){
case
const-exp:statements
case
const-exp:statements......
case
const-exp:statements
default:statements
}switch语句的说明先求switch后表达式的值,若此值与某个case后的常量表达式的值相等,则跳转到这个case后的语句;若没有相等的常量表达式,则跳转到default跳转后程序一直往下执行,不会因为遇到另一个case而直接跳出switch根据实际需要,可以没有default若需要跳出switch,可使用break语句case和default的顺序不影响执行结果switch语句举例(1)switch(day){ /*打印星期的缩写*/case1:printf("Mon.\n");break;case2:printf("Tue.\n");break;case3:printf("Wed.\n");break;case4:printf("Thu.\n");break;case5:printf("Fri.\n");break;case6:printf("Sat.\n");break;default:printf("Sun.\n");
}例switch(score){case5:printf(“Verygood!”);case4:printf(“Good!”);case3:printf(“Pass!”);case2:printf(“Fail!”);default:printf(“dataerror!”);}运行结果:score为5时,输出:
Verygood!Good!Pass!Fail!dataerror!switch语句举例(2)内容安排顺序结构1选择结构2循环结构3转向结构4基本语句0循环程序设计while语句do-while语句for语句break和continue语句循环程序设计举例while语句while(expression) statementwhile型循环先判断表达式,后 执行语句一般情况下,循环 中应含有能使循环 语句结束的操作statementabexpr.真假用while循环求
#include<stdio.h>main(){inti,sum=0;i=1;while(i<=100){sum=sum+i;i++;}printf("%d",sum);}循环初值循环终值循环变量增值循环条件循环体例子do-while语句do
statementwhile
(expression);类似于Until型循环先执行一次循环体 语句,后判断表达 式statementabexpr.真假do-while语句举例inti,sum;i=1;sum=0;do{sum+=i;i++;}while(i<=100);for语句for
(expr1;expr2;expr3)
statementexpr1;while
(expr2){
statement
expr3; }for语句的说明三个表达式的说明expr1:初始化expr2:循环条件expr3:一般是循环变量的改变三个表达式都可以省略分隔表达式的分号不能省略expr1省略,不进行初始化expr2省略,认为循环条件永为“真”expr3省略,不在这里改变循环变量for语句举例inti,sum;for(i=1,sum=0;i<=100;i++)sum+=i;for(i=1,sum=0;i<=100;)sum+=i++;for(i=0,sum=0;i++<100;)sum+=i;循环程序设计举例求最大公约数和最小公倍数例2:求最大公约数和最小公倍数内容安排顺序结构1选择结构2循环结构3转向结构4基本语句0break语句形式break;说明跳出switch语句跳出本层循环语句如果有多层循环存在,break只跳出它所在的那一层循环语句,不影响外层循环的执行不能用于循环语句和switch语句之外的任何其他场合continue语句形式continue;说明结束本次循环跳过循环体中余下的其他语句,接着进行下一次循环的判定只能
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 部编版六年级语文上册互动学习计划
- 潢川二中数学教研组创新教学计划
- 水资源管理EPC项目承包人实施计划
- 城市基础设施建设设备及材料投入计划
- 收养儿童的网络安全与信息素养考核试卷
- 2024-2025学年度八年级组安全教育计划
- 智能浴霸快速加热技术考核试卷
- 2025年煤制氢项目发展计划
- 水果种植园农业项目投资与评估考核试卷
- 环境保护法律法规与实施措施
- 光伏-施工安全培训
- 2023年初中学生综合素质自我评价标准版本
- 机器人制造与工艺
- 参保个人停保申请表
- 武汉光谷为明实验学校六年级小升初语文测试卷(8套试卷带答案解析)
- 儿童环内环内置式包皮
- 永安道路货物运输承运人责任保险附加司乘人员责任保险(2020版)条款
- 汽车客运站危险源辨识和风险评价记录表
- 刑事证据课件
- GB/T 24747-2023有机热载体安全技术条件
- 沪教小学英语句型转换专题
评论
0/150
提交评论