您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > 第3章顺序和选择结构程序设计资料
C语言程序设计第3章顺序和选择结构程序设计3.1结构化程序设计3.2语句与分程序3.3顺序结构程序设计3.4选择结构程序设计3.5自增自减、求字节数的运算3.6程序举例3.7典型错误及典型例例题3.1结构化程序设计结构化程序设计的三种基本结构顺序结构选择结构循环结构同一组命令重复执行多次。先对给定条件进行判断,然后由判断的结果决定执行的去向。按照可执行语句书写的顺序执行。3.1结构化程序设计结构化程序设计的三种基本结构结构化程序设计的三种基本结构常用传统流程图和N-S图表示。传统流程图常用的几种图形:3.1结构化程序设计结构化程序设计的三种基本结构三种基本结构流程图((a)标识用传统流程图表示(b)标识用N-S图表示)3.1结构化程序设计结构化程序设计的三种基本结构3.1结构化程设计结构化程序设计的三种基本结构3.1结构化程序设计结构化程序设计的三种基本结构3.1结构化程序设计结构化程序设计的三种基本结构3.1结构化程序设计结构化程序设计的三种基本结构3.1结构化程序设计结构化程序设计的三种基本结构3.1结构化程序设计结构化程序设计的三种基本结构流程图示例:3.1结构化程序设计结构化程序设计的三种基本结构3.2语句与分程序C程序的可执行语句在程序运行时产生相应的操作。例如:printf(“Hello,Cprogram!”);输出:Hello,Cprogram!表达式语句函数调用语句控制语句复合语句(或称分程序)空语句可执行语句包括3.2语句与分程序可执行语句简介表达式语句在表达式后面加上分号。(例如:++i;x=y;)函数调用语句在调用库函数或自己定义函数后面加上分号。例如:printf(welcome);控制语句控制改变了语句执行的顺序。(例如:分支、循环、转向语句)复合语句(或称分程序)控用{}把多个语句括起来。(例如:{++i;x=y;})空语句用一个分号表示。常用于循环语句中。3.2语句与分程序本章要介绍的表达式有:算术表达式赋值表达式复合赋值表达式(不讲:移位和位逻辑结合的复合赋值运算符5个(=、=、&=、^=、|=))。逗号表达式(本书未介绍)关系表达式逻辑表达式自增自减表达式条件表达式3.3顺序结构程序设计◆C表达式由运算对象和运算符组成运算对象:常量、变量及函数调用。运算符:对运算对象进行的运算和处理。C语言提供了丰富的运算符。后面分别介绍。算术表达式3.3顺序结构程序设计1.算术运算符:+加-减*乘/除%取模(求余)算术表达式3.3顺序结构程序设计算术表达式3.3顺序结构程序设计算术表达式2.算术表达式由运算对象(常量、变量及函数等)、运算符、圆括号连接的表达式,称为算术表达式。算数表达式举例:inta=10,b=10;doublex=1.5;longw=12345;表达式1:((a+b)*x)+w/(b-4)*sqrt(x)表达式2:a*x-b*x+w/15-1讨论:表达式1、2的计算过程和最后类型。3.3顺序结构程序设计算术表达式(inta=10,b=10;doublex=1.5;longw=12345;)表达式1:((a+b)*x)+w/(b-4)①整③整②双④长整⑤双注意与圆括号的结合。表达式2:a*x/b*x+w/15-1①双④长整②双③双⑤双⑥双3.3顺序结构程序设计赋值表达式1.简单赋值表达式赋值运算符=赋值运算符,简称赋值号。赋值表达式形式:变量名=表达式功能:先计算表达式的值,再将此值赋给“=”左边的变量。3.3顺序结构程序设计赋值表达式例如:inta,b,c,d;a=1;b=2;c=d=3;(“=”右可是一个赋值表达式)c=a+b+d;(变量c得到一个新值)例题:求5.24的50倍。#includestdio.hmain(){floatx,y;x=5.24;y=x*50;printf(“%f\n”,y);}3.3顺序结构程序设计赋值表达式2.使用规则1)注意赋值号与算术等号的区别(如:x=x+1)。2)赋值有保存的功能。3)赋值号的左边必须是变量(如:x+1=x或8=n)。4)赋值可以连续使用,但要注意合法性(自右向左)。例如:a=b=c=0(赋初值时不行)5)赋值运算中的类型转换规则:赋值号两边类型不同时,以左边的类型为准,即:长整型=短整型短整型=长整型(易出错)有符号=无符号无符号=有符号3.3顺序结构程序设计说明:复合运算符还有“=”与移位和位逻辑结合的5个复合赋值运算符(=、=、&=、^=、|=),构成不同形式复合赋值表达式。复合赋值表达式运算符使用形式功能3.3顺序结构程序设计复合赋值表达式例如:a+=b+=x+=5;---------正确a+=b+x=5;---------错误●复合赋值右边可以是表达式,形式:a–=x+y相当于:a=a-(x+y)3.3顺序结构程序设计复合赋值表达式#includestdio.hmain(){inta,b;floatx,y;a=10;b=15;a+=b;x=1.5;y=2.5;x-=y;printf(“%d%f\n”,a,x);}结果:25-1.000000赋值运算例题:3.3顺序结构程序设计复合赋值表达式●不同类型互相赋值时,以“=”左边为准。例如:inta=3,b=5;floatx=1.5;x=a*b;-------结果为实型a+=x;-------结果为整型注意:在赋值表达式或复合赋值表达式的后面加上“;”就成为赋值语句。3.3顺序结构程序设计复合赋值表达式(补充)位运算:实现二进制的位运算。◊位运算符运算符含义运算规则~按位取反~0=1~1=0左移a2(a为00000011,左移后为00001100。)右移a2(a为00001000,右移后为00000010。)&按位与0&0=00&1=01&0=01&1=1|按位或0|0=00|1=11|0=11|1=1^按位异或0^0=00^1=11^0=11^1=03.3顺序结构程序设计复合赋值表达式(补充)位运算的复合赋值表达式运算符使用形式功能=a=2a=a2=b=1b=b1&=a&=ba=a&b|=a|=ba=a|b^=a^=ba=a^b3.3顺序结构程序设计逗号表达式(补充)逗号运算符:,逗号表达式一般形式:表达式1,表达式2,表达式3,……表达式n功能:由左到右逐个运算各表达式,表达式n的值为最后的值。例如:inta,b,c;a=(a=2,b=3,c=a+b,a+b+c);a=(a=1,a+=(b=2,c=3,b+=c),b+c);3.3顺序结构程序设计程序举例执行程序:#includestdio.hmain(){intx,y,t;scanf(“%d%d”,&x,&y);printf(“x=%dy=%d\n”,x,y);t=x;x=y;y=t;printf(“x=%dy=%d\n”,x,y);}例1:从键盘输入两个整数给变量x和y,然后输出x和y,在交换x和y中值后,再输出x和y。输入:123456↙输出:x=123y=456x=456y=123可用赋值语句3.3顺序结构程序设计程序举例#includestdio.hmain(){doublex;scanf(“%lf”,&x);printf(“(1)x=%f\n”,x);x=x*100;x=x+0.5;x=int(x);x=x/100;printf(“(2)x=%f\n”,x);}输入:123.4567↙输出:(1)x=123.456700(2)x=123.460000例2:输入一个double类型的数,使该数保留小数点后两位,对第三位小数四舍五入后输出此数。执行程序:3.3顺序结构程序设计程序举例例3:输入三角形的3个边长(a、b、c),求三角形的面积。求面积公式:))()((cpbpapp面积=2cbap其中:3.3顺序结构程序设计程序举例#includestdio.h#includemath.hvoidmain(){floata,b,c,p,area;printf(“inputa,b,c:”);scanf(“%f%f%f”,&a,&b,&c);p=(a+b+c)/2;area=sqrt(p*(p-a)*(p-b)*(p-c));printf(“area=%8.2f\n”,area);}求三角形面积程序:3.3顺序结构程序设计程序举例#includestdio.hmain(){inta=2,b=4,c=8;a=a+b;c-=a;printf(“inputa,c:\n”);printf(“%d%d\n”,a,c);c=(b+=2,a+=2,b+a);printf(“c=%d\n”,c);}例4:阅读下列程序,写出执行程序的输出结果。inputa,c:62C=14输出结果:3.3顺序结构程序设计程序举例练习题(编程序):1.输入一个整数,输出该数的5倍、10倍。2.输入一个半径,求该半径所对应的圆面积,周长,并输出。3.输入一个3位的正整数,将该数的百位、十位、个位分三行输出。并输出3位数的和。例如:输入357输出:3573+5+7=153.4选择结构程序设计关系表达式1.关系运算符2.关系表达式关系运算符包括以下几种:小于=小于或等于大于=大于或等于==等于!=不等于关系表达式示例:Xy(x=1.5y=2.6)K==3(k=3)X+y=a*b(x=1.5y=2.6a=4b=5.0)作用:关系运算符用于两个数的比较。注运算符的优先级,前四种相同,后两种相同,前四种优先级高于后两种。3.4选择结构程序设计关系表达式使用注意:①关系表达式的值(结果)为整型,当:关系式成立,为真,其值为1关系式不成立,为假,其值为0②运算符的优先级:算术运算关系运算赋值运算③关系运算符可以连用,例如若判x是否在(-1,5)用:-1x5允许,错!(不能正确表达x的取值范围)3.4选择结构程序设计关系表达式④注意“==”与“=”的区别。例如:if(a==b)和if(a=b)意义完全不同⑤用“==”判浮点型时注意:浮点型在机内为近似值。例如:floata=5.0;if(a==5.0)可写为:if(fabs(a-5.0)1e-5)红绿表示:|a-5.0|1.0e-53.4选择结构程序设计关系表达式⑥关系运算可以与其它运算符混合运算。例如:inta=3,b=4;charch1=‘A’;floatx=1.5,y=0;关系式:ch1+a=ch1+bx*4a+ch1x+a!=y讨论以上关系式的结果3.4选择结构程序设计逻辑表达式1.逻辑运算符:&&逻辑与||逻辑或!逻辑非作用:逻辑运算是将关系运算连接起来,用于判断多个条件。优先级:!&&||2.逻辑表达式示例:x-1&&x5(-1x5)3.4选择结构程序设计逻辑表达式ab!aa&&ba||b非0非0011非000010非010100100逻辑运算表:(其中1为真,0为假)3.4选择结构程序设计逻辑表达式使用注意:①逻辑式的结果为整型值1或0当:逻辑式成立为1逻辑式不成立为0②逻辑式中的量可以是任意值,例如以下是逻辑式:x2&&x=6ch=‘a’&&ch=‘z’a=0||a=5x+y1&&x-y03.4选择结构程序设计逻辑表达式③与其它运算符混合运算时的优先级:!算术关系&&||赋值④在同一个式中&&或||的运算,当能确定结果时,不再计算。例如:x&&y当x=0时,结果为0,y不需要运算x||y当x=1时,结果为1,y不需要运算3.4选择结构程序设计问题提出与解决办法X+1x≥0X2x0y=ifswitchb.在C中用条件表达式构成选择结构:表达式1?表达式2:表达式3a.在C中实现选择结构使用语句:实现程序中语句的选择执行,如解决:3.4选择结构程序设计if语句if语句有两种基本形式:形式1:if(表达式)语句其中:表达式:可以是任意表达式(关系、逻辑、算术、赋值等),结果以0或非0判断。语句:可以是任一个语句,若是两条以上的语句
本文标题:第3章顺序和选择结构程序设计资料
链接地址:https://www.777doc.com/doc-3846783 .html