版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第三章顺序程序设计1第三章顺序程序设计1一、算术运算和算术表达式二、赋值运算和赋值表达式三、自增自减运算四、优先级和类型转换五、赋值语句六、顺序结构程序设计
主要内容2一、算术运算和算术表达式主要内容2C语言运算符简介1、算术运算符
+-*/%2、关系运算符><==>=<=!=
3、逻辑运算符!&&||4、位运算符<<>>~|^&5、赋值运算符
=及其扩展赋值运算符6、条件运算符?:7、逗号运算符,8、指针运算符*&9、求字节数运算符sizeof10、强制类型转换运算符(类型)11、分量运算符.12、下标运算符[]13、其他如函数调用运算符()分类运算符3C语言运算符简介1、算术运算符一、算术运算符和算术表达式基本算术运算符+-*/%说明
例:5/3=1-5/3=-1模运算符或求余运算符算术表达式用算术运算符和括号将运算对象(也称操作数)连接起来的、符合C语法规则的式子。优先级和结合性先乘除、后加减,有括号先算括号。自左至右常量、变量、函数等说明如果一个运算符两侧的数据类型不同,先自动进行类型转换,使二者具有同一类型,然后进行运算。
两个整数相除的结果为整数,舍去小数部分。当商为负数时,多采用“向零取整”的方法。求余运算的两侧均应为整数例:5%3=2例:a*b/c-1.5+’a’4一、算术运算符和算术表达式基本算术运算符+-*举例:已知三角形的边长a、b、c,求三角形周长的一半(数学公式为s=-(a+b+c))。#include<stdio.h>voidmain(){floata,b,c,s;a=3;b=4;c=5;s=1/2*
(a+b+c);printf("s=%8.2f",s);}s=0.00程序运行结果:?s=6.00程序运行结果:改为:1.0/2(1/2.0)或(float)1/2(1/(float)2)125举例:已知三角形的边长a、b、c,求三角形周长的一半(数学公二、赋值运算符和赋值表达式赋值运算符简单赋值运算符:=复合赋值运算符:+=,-=,*=,/=,%=……简单赋值运算符的一般形式为:变量
=
表达式它的作用是将一个表达式的值赋给一个变量。
复合赋值运算的一般格式为:变量双目运算符=表达式└──┬──┘复合赋值运算符它等价于:变量=变量双目运算符
(表达式)。只有当表达式简化为一个变量或一个常数时,两边的括号可以省略。6二、赋值运算符和赋值表达式赋值运算符简单赋值运算符:=简例1floata;intb;a=1.2;b=a*3;?b
b=3例2a+=3;x*=y+8a=a+3;x=x*(y+8)例3a=b=5;a=7+(b=8)?a,b
a=5;b=5a=15;b=8自右而左的结合性赋值表达式格式:<变量><赋值运算符><表达式>赋值表达式的值:被赋变量的值类型转换转换条件:当赋值运算符两侧的数据类型不一致时转换原则:转换为被赋值变量的类型。具体见P54。7例1floata;intb;?bb=3例2a+=两种格式:
运算符前置:++i--i运算符后置:i++i--作用:(1)自增运算符(++)使单个变量的值增1;(2)自减运算符(--)使单个变量的值减1。i=i+1i=i-1两种格式的区别:(1)运算符前置,则遵守前置规则:在使用i之前,使i的值加(减)1)(2)运算符后置,则遵守后置规则:在使用i之后,使i的值加(减)1)两种格式的共同点:
运算符++,不论前置还是后置,都使变量的值增1;运算符--,不论前置还是后置,都使变量的值减1。
三、自增(++)、自减(--)运算8两种格式:运算符前置:++i例如:下面的程序使用了++和--运算符。#include<stdio.h>intmain(){inti,j;i=2;j=2;++i;/*表达式++i加上分号后,就构成了一条合法的C语句*/i++;/*这种语句称为表达式语句*/--j;j--;printf("i=%d,j=%d\n",i,j);return0;}请大家写出该程序的每条语句执行后,变量i和j的值。9例如:下面的程序使用了++和--运算符。#include<在赋值语句中右侧的表达式中
使用了自增运算符后:(自减运算同理)k=++i;和k=i++;在赋值语句中右侧的表达式中使用了++运算符,此时将执行两个操作:(1)将i的值赋给k;(2)i的值增1。
k=++i;因为++运算符在变量i的前面,即++前置,则按照前置规则:i先加1,后使用(即先给i的值加1,后将i的值赋给k)k=i++;因为++运算符在变量i的前面,即++前置,则按照后置规则:i先加1,后使用(即先给i的值加1,后将i的值赋给k)10在赋值语句中右侧的表达式中
使用了自增运算符后:(自减程序举例#include<stdio.h>intmain(){inti,j,k;i=2;j=2;++i;/*表达式语句*/k=++i;
/*赋值语句*/
k=i++;/*++运算符后置,则遵守后置规则:先使用i赋值,后给i加1*/k=--j;/*前置运算*/k=j--;/*后置运算*/printf("i=%d,j=%d,k=%d\n",i,j,k);printf("i=%d,j=%d,k=%d\n",i,j,--k);/*按照前置规则处理--k*/return0;}请大家写出该程序的每条语句执行后,变量i,j,k的值。(i,j,k)=(3,2,不定),(4,2,4),(5,2,4),(5,1,1),(5,0,1)11程序举例#include<stdio.h>请大家写出该程序四、优先级和类型转换隐式转换(自动转换)对于表达式3*4+10.5/2-3.1C语言是如计算的呢?计算结果应是什么数据类型呢?在计算过程中遵守如下规则:12四、优先级和类型转换隐式转换(自动转换)对于表达式1.隐式转换(自动转换)转换发生条件运算转换------不同类型数据混合运算时先转换、后运算赋值转换------把一个值赋给与其类型不同的变量时输出转换------输出时转换成指定的输出格式函数调用转换------实参与形参类型不一致时转换(到函数一章时再讲)131.隐式转换(自动转换)转换发生条件运算转换------不同转换规则doublefloatlongunsignedintchar,short高低1、纵向向上的箭头表示不同类型的转换方向(由低类型转化为高类型),不表示转换所经的步骤。2、横向向左的箭头表示必须的转换。
隐式转换(自动转换)说明:必定的转换运算对象类型不同时转换14转换规则doublefloatlongunsignedintinti;floatf;doubled;longe;……i=2;f=2.5;d=3.9;e=3;……
10+‘a’+i*f-d/e1075.01.3112.0110.7intdoubledoubledoubledouble思考:根据已知变量定义及赋值语句,计算以下表达式的值,并说明每一步所得结果的数据类型。15inti;10+‘a’+i*f-d/e1075.01.32.显式转换(强制转换)一般形式
(要转换成的数据类型)(被转换的表达式)注:当被转换的表达式是一个简单表达式时,外面的一对圆括号可以缺省。举例
floatx,y;x=2.3;y=4.5;说明强制转换得到的是所需类型的中间变量,原变量或表达式的类型不变。(int)(x+y)(int)x+y值为6属于int类型值为6.5属于double类型162.显式转换(强制转换)一般形式(要转换成的数据类型)(六、顺序结构程序设计C语句概述简单语句顺序结构程序设计17六、顺序结构程序设计C语句概述17结构化程序的基本结构之一是顺序结构。C程序由函数组成,而函数的功能靠语句实现。因此,需要先学习C语句的语法。1、C语句概述C语言的语句用来向计算机系统发出指令,完成特定操作。一个语句经编译后产生若干条机器指令。一个实际的C程序通常包含若干语句。C语言的语句分成两大类:简单语句和控制语句(包括复合语句)。简单语句执行一些基本的操作,控制语句控制程序中语句的执行流程。默认情况下,C程序的执行流程是顺序的,即逐个执行按书写顺序排列的语句,除非遇到控制语句改变流程的执行顺序。18结构化程序的基本结构之一是顺序结构。C程序由函数组成,而函数C语句控制语句函数调用语句由一次函数调用加一个分号构成一个语句。表达式语句空语句?1、出现在函数体的执行部分。2、作用是向计算机系统发出操作指令。复合语句if()~else~switchfor()~while()~do~while()continuebreakgotoreturnif(x>y)z=x;elsez=y;printf("Hello!");由表达式加一个分号构成一个语句。a=3;;由{}将一些语句括起来。{t=a;a=b;b=t;}?C语言语句概述19C语句控制语句函数调用语句由一次函数调用加一个分号构成一个语2、简单语句简单语句由一个表达式以及紧跟其后的分号构成。表达式语句表达式;
例如,n++;x1=(-b+sqrt(b*b-4*a*c))/(2*a);x2=(-b-sqrt(b*b-4*a*c))/(2*a);z=x+a%3*(int)(x+y)%2/4;w=(float)(a+b)/2+(int)x%(int)y;p=money*pow((1+rate),year);202、简单语句简单语句由一个表达式以及紧跟其后的分号构成。表达构成方式由赋值表达式加分号构成。例如a=3;b=a*3+5;赋值语句在程序中使用赋值语句完成所需的计算.
例程:已知圆的半径r=5cm,编程计算圆的面积.提示:面积的计算公式为s=πr221构成方式由赋值表达式加分号构成。例如a=3;赋值语句在程序中赋值语句例程:已知圆的半径r=5cm,编程计算圆的面积.提示:面积的计算公式为s=πr2分析:(1)将数学公式转变为C语言的赋值语句,即
s=3.1415926*r*r;(2)为程序定义变量,半径用r表示,面积用s表示.(3)设计程序的每个执行步骤:
①给r赋值;②计算面积,计算结果保存到s;③输出s的值22赋值语句例程:已知圆的半径r=5cm,编程计算#include<stdio.h>intmain(){floatr,s;/*定义变量
*/r=5;/*给r赋值*/s=3.1415926*r*r;/*计算面积,保存到s*/printf(“圆的面积为%f\n”,s);/*输出s的值*/return0;}例程:已知圆的半径r=5cm,编程计算圆的面积.面积的计算公式为s=πr223#include<stdio.h>例程:已知函数调用语句
函数调用;
例如,
printf("Hello!");printf("sum=%f\n",sum);scanf(“%d%d”,&a,&b);putchar(ch1);举例:两者结合可构成一个赋值语句ch1=getchar();24函数调用语句函数调用;例如,举例:两者结合可构成3、顺序结构程序设计顺序结构是最简单、最常用的程序结构,在这种结构的C语言程序中,完全按照语句书写的先后顺序执行程序,主要由表达式语句和标准库函数调用语句构成,例如,由赋值操作、输入/输出操作构成的程序有很多都是顺序结构的。通常程序编写的步骤是:分析实际问题写出算法、画出流程图根据流程图写出相应的C语句程序253、顺序结构程序设计顺序结构是最简单、最常用的程序结构,在例3.1:编写程序,实现两个变量值的交换功能。分析:假设两个变量是a和b,a的初始值是10,b的初始值是25,经过程序的处理,结果使得a的值为25,b的值为10。要求分别输出交换前后的变量值。要想实现两个变量值的交换,需要借助于第三变量(假设为t),先把a的值暂存在t中,然后将b的值存入a中,最后将t的值(a原来的值)存入b中。26例3.1:编写程序,实现两个变量值的交换功能。分析:#include"stdio.h"intmain(){floata,b,t;printf("请输入a,b的初始值");scanf("%f%f",&a,&b);printf("交换之前a,b的值\n");
printf("a=%f\tb=%f\n",a,b);t=a;a=b;b=t;printf("交换之后a,b的值\n");printf("a=%f\tb=%f\n",a,b);return0;}运行结果是:请输入a,b的初始值1025(键盘输入)交换之前a,b的值a=10.000000b=25.000000交换之后a,b的值a=25.000000b=10.00000027#include"stdio.h"运行结果是:请输入a,b例3.2编写程序,实现从键盘输入三角形的三边长,求三角形面积的功能。分析实际问题,假设保证输入的三角形三个边长的值能构成三角形。用变量a、b、c分别表示三个边长,根据已有的数学知识,有面积公式:其中,将问题描述成C语言程序设计要求的具体算法。28例3.2编写程序,实现从键盘输入三角形的三边长,求#include"stdio.h"#include"math.h"intmain(){doublea,b,c,s,area;printf("请输入三角形的三边长值");scanf("%lf%lf%lf",&a,&b,&c);printf("输入的三角形三边长值");
printf("a=%.2lfb=%.2lfc=%.2lf\n",a,b,c);s=(a+b+c)/2.0; area=sqrt(s*(s-a)*(s-b)*(s-c));printf("三角形面积值\n");printf("area=%.2lf\n",area);return0;}29#include"stdio.h"29其中,sqrt()是一个标准数学函数,计算平方根,需要在程序开始处写一个预编译处理命令#include"math.h"。运行结果是:请输入三角形的三边长值345(键盘输入)输入的三角形三边长值a=3.00b=4.00c=5.00三角形面积值area=6.0030其中,sqrt()是一个标准数学函数,计算平方根,需要在程序例3.3:编写程序,实现从键盘输入一个大写字母,输出对应的小写字母的功能。分析实际问题,从键盘输入一个大写字母,经过程序的处理得到对应的小写字母,将这个小写字母输出到显示器上。大小写字母的转换算法可以采用大写字母ASCII码值加上32得到对应小写字母ASCII码值的方法。变量输入、输出均采用字符格式。31例3.3:编写程序,实现从键盘输入一个大写字母,输出对#include"stdio.h"intmain(){charch1,ch2;printf("请输入一个大写字母:\n");ch1=getchar();printf("转换前:%c%d\n",ch1,ch1);ch2=ch1+32;printf("转换后:%c%d\n",ch2,ch2);return0;}运行结果是:请输入一个大写字母:D(键盘输入)转换前:D68转换后:d10032#include"stdio.h"运行结果是:请输入一个大例3.4:编写程序,分行输出一个3位整数的每一数字,先输出百位数字,再输出十位数字,最后一行输出各位数字。分析:可以采用整数的除法、求余运算,将一个3位整数的每一数字分离出来并保存,然后进行分行输出。实际数据举例:假设要分离的整数为836,则:836/100;836%100/10;836%10;分别为百位、十位、个位数字计算过程可写为:假设要分离的整数保存在变量x中,则:a=x/100;b=x%100/10;c=x%10;执行后,变量a,b,c中分别为百位、十位、个位数字33例3.4:编写程序,分行输出一个3位整数的每一数字,先输出#include"stdio.h"intmain(){intx,a,b,c;printf("请输入一个3位整数\n");scanf("%d",&x);printf("您输入的3位整数是:%d\n",x);a=x/100;b=x%100/10;c=x%10;printf("分行输出结果是:\n");printf("%d\n",a);printf("%d\n",b);printf("%d\n",c);return0;}运行结果是:请输入一个3位整数836(键盘输入)您输入的3位整数是:836分行输出结果是:83634#include"stdio.h"运行结果是:请输入一个3上述例题程序的构成是类似的:预处理命令主函数首部主函数体开始变量声明输入已知变量值计算或处理操作输出结果主函数体结束程序中语句是顺序执行的。35上述例题程序的构成是类似的:预处理命令程序中语句是顺序执行的运行简单程序时,包含三个阶段:
输入阶段:从键盘输入两个整数;
计算阶段:通过表达式和赋值语句求值
输出阶段:结果在屏幕上输出。总结36运行简单程序时,包含三个阶段:
输入阶段作业P66:3.6,3.7,3.9
37作业P66:3.6,3.7,3.9371、编辑方法一:先创建C源程序方法二:先创建空工程2、编译和链接编译|编译Ctrl+F7编译|构件F7
3、执行编译|执行Ctrl+F5一、上机环境与步骤
——VisualC++集成开发环境文件|新建381、编辑一、上机环境与步骤
——Visual方法一:先创建C源程序文件标签文件类型文件名目录39方法一:先创建C源程序文件文件类型文件名目录39方法二:先创建空工程——步骤1工程标签工程类型工程名目录40方法二:先创建空工程——步骤1工程工程类型工程名目录40方法二:先创建空工程——步骤2选择空工程41方法二:先创建空工程——步骤2选择空工程41方法二:先创建空工程——步骤3文件标签文件类型文件名选中此项42方法二:先创建空工程——步骤3文件文件类型文件名选中此项42第三章顺序程序设计43第三章顺序程序设计1一、算术运算和算术表达式二、赋值运算和赋值表达式三、自增自减运算四、优先级和类型转换五、赋值语句六、顺序结构程序设计
主要内容44一、算术运算和算术表达式主要内容2C语言运算符简介1、算术运算符
+-*/%2、关系运算符><==>=<=!=
3、逻辑运算符!&&||4、位运算符<<>>~|^&5、赋值运算符
=及其扩展赋值运算符6、条件运算符?:7、逗号运算符,8、指针运算符*&9、求字节数运算符sizeof10、强制类型转换运算符(类型)11、分量运算符.12、下标运算符[]13、其他如函数调用运算符()分类运算符45C语言运算符简介1、算术运算符一、算术运算符和算术表达式基本算术运算符+-*/%说明
例:5/3=1-5/3=-1模运算符或求余运算符算术表达式用算术运算符和括号将运算对象(也称操作数)连接起来的、符合C语法规则的式子。优先级和结合性先乘除、后加减,有括号先算括号。自左至右常量、变量、函数等说明如果一个运算符两侧的数据类型不同,先自动进行类型转换,使二者具有同一类型,然后进行运算。
两个整数相除的结果为整数,舍去小数部分。当商为负数时,多采用“向零取整”的方法。求余运算的两侧均应为整数例:5%3=2例:a*b/c-1.5+’a’46一、算术运算符和算术表达式基本算术运算符+-*举例:已知三角形的边长a、b、c,求三角形周长的一半(数学公式为s=-(a+b+c))。#include<stdio.h>voidmain(){floata,b,c,s;a=3;b=4;c=5;s=1/2*
(a+b+c);printf("s=%8.2f",s);}s=0.00程序运行结果:?s=6.00程序运行结果:改为:1.0/2(1/2.0)或(float)1/2(1/(float)2)1247举例:已知三角形的边长a、b、c,求三角形周长的一半(数学公二、赋值运算符和赋值表达式赋值运算符简单赋值运算符:=复合赋值运算符:+=,-=,*=,/=,%=……简单赋值运算符的一般形式为:变量
=
表达式它的作用是将一个表达式的值赋给一个变量。
复合赋值运算的一般格式为:变量双目运算符=表达式└──┬──┘复合赋值运算符它等价于:变量=变量双目运算符
(表达式)。只有当表达式简化为一个变量或一个常数时,两边的括号可以省略。48二、赋值运算符和赋值表达式赋值运算符简单赋值运算符:=简例1floata;intb;a=1.2;b=a*3;?b
b=3例2a+=3;x*=y+8a=a+3;x=x*(y+8)例3a=b=5;a=7+(b=8)?a,b
a=5;b=5a=15;b=8自右而左的结合性赋值表达式格式:<变量><赋值运算符><表达式>赋值表达式的值:被赋变量的值类型转换转换条件:当赋值运算符两侧的数据类型不一致时转换原则:转换为被赋值变量的类型。具体见P54。49例1floata;intb;?bb=3例2a+=两种格式:
运算符前置:++i--i运算符后置:i++i--作用:(1)自增运算符(++)使单个变量的值增1;(2)自减运算符(--)使单个变量的值减1。i=i+1i=i-1两种格式的区别:(1)运算符前置,则遵守前置规则:在使用i之前,使i的值加(减)1)(2)运算符后置,则遵守后置规则:在使用i之后,使i的值加(减)1)两种格式的共同点:
运算符++,不论前置还是后置,都使变量的值增1;运算符--,不论前置还是后置,都使变量的值减1。
三、自增(++)、自减(--)运算50两种格式:运算符前置:++i例如:下面的程序使用了++和--运算符。#include<stdio.h>intmain(){inti,j;i=2;j=2;++i;/*表达式++i加上分号后,就构成了一条合法的C语句*/i++;/*这种语句称为表达式语句*/--j;j--;printf("i=%d,j=%d\n",i,j);return0;}请大家写出该程序的每条语句执行后,变量i和j的值。51例如:下面的程序使用了++和--运算符。#include<在赋值语句中右侧的表达式中
使用了自增运算符后:(自减运算同理)k=++i;和k=i++;在赋值语句中右侧的表达式中使用了++运算符,此时将执行两个操作:(1)将i的值赋给k;(2)i的值增1。
k=++i;因为++运算符在变量i的前面,即++前置,则按照前置规则:i先加1,后使用(即先给i的值加1,后将i的值赋给k)k=i++;因为++运算符在变量i的前面,即++前置,则按照后置规则:i先加1,后使用(即先给i的值加1,后将i的值赋给k)52在赋值语句中右侧的表达式中
使用了自增运算符后:(自减程序举例#include<stdio.h>intmain(){inti,j,k;i=2;j=2;++i;/*表达式语句*/k=++i;
/*赋值语句*/
k=i++;/*++运算符后置,则遵守后置规则:先使用i赋值,后给i加1*/k=--j;/*前置运算*/k=j--;/*后置运算*/printf("i=%d,j=%d,k=%d\n",i,j,k);printf("i=%d,j=%d,k=%d\n",i,j,--k);/*按照前置规则处理--k*/return0;}请大家写出该程序的每条语句执行后,变量i,j,k的值。(i,j,k)=(3,2,不定),(4,2,4),(5,2,4),(5,1,1),(5,0,1)53程序举例#include<stdio.h>请大家写出该程序四、优先级和类型转换隐式转换(自动转换)对于表达式3*4+10.5/2-3.1C语言是如计算的呢?计算结果应是什么数据类型呢?在计算过程中遵守如下规则:54四、优先级和类型转换隐式转换(自动转换)对于表达式1.隐式转换(自动转换)转换发生条件运算转换------不同类型数据混合运算时先转换、后运算赋值转换------把一个值赋给与其类型不同的变量时输出转换------输出时转换成指定的输出格式函数调用转换------实参与形参类型不一致时转换(到函数一章时再讲)551.隐式转换(自动转换)转换发生条件运算转换------不同转换规则doublefloatlongunsignedintchar,short高低1、纵向向上的箭头表示不同类型的转换方向(由低类型转化为高类型),不表示转换所经的步骤。2、横向向左的箭头表示必须的转换。
隐式转换(自动转换)说明:必定的转换运算对象类型不同时转换56转换规则doublefloatlongunsignedintinti;floatf;doubled;longe;……i=2;f=2.5;d=3.9;e=3;……
10+‘a’+i*f-d/e1075.01.3112.0110.7intdoubledoubledoubledouble思考:根据已知变量定义及赋值语句,计算以下表达式的值,并说明每一步所得结果的数据类型。57inti;10+‘a’+i*f-d/e1075.01.32.显式转换(强制转换)一般形式
(要转换成的数据类型)(被转换的表达式)注:当被转换的表达式是一个简单表达式时,外面的一对圆括号可以缺省。举例
floatx,y;x=2.3;y=4.5;说明强制转换得到的是所需类型的中间变量,原变量或表达式的类型不变。(int)(x+y)(int)x+y值为6属于int类型值为6.5属于double类型582.显式转换(强制转换)一般形式(要转换成的数据类型)(六、顺序结构程序设计C语句概述简单语句顺序结构程序设计59六、顺序结构程序设计C语句概述17结构化程序的基本结构之一是顺序结构。C程序由函数组成,而函数的功能靠语句实现。因此,需要先学习C语句的语法。1、C语句概述C语言的语句用来向计算机系统发出指令,完成特定操作。一个语句经编译后产生若干条机器指令。一个实际的C程序通常包含若干语句。C语言的语句分成两大类:简单语句和控制语句(包括复合语句)。简单语句执行一些基本的操作,控制语句控制程序中语句的执行流程。默认情况下,C程序的执行流程是顺序的,即逐个执行按书写顺序排列的语句,除非遇到控制语句改变流程的执行顺序。60结构化程序的基本结构之一是顺序结构。C程序由函数组成,而函数C语句控制语句函数调用语句由一次函数调用加一个分号构成一个语句。表达式语句空语句?1、出现在函数体的执行部分。2、作用是向计算机系统发出操作指令。复合语句if()~else~switchfor()~while()~do~while()continuebreakgotoreturnif(x>y)z=x;elsez=y;printf("Hello!");由表达式加一个分号构成一个语句。a=3;;由{}将一些语句括起来。{t=a;a=b;b=t;}?C语言语句概述61C语句控制语句函数调用语句由一次函数调用加一个分号构成一个语2、简单语句简单语句由一个表达式以及紧跟其后的分号构成。表达式语句表达式;
例如,n++;x1=(-b+sqrt(b*b-4*a*c))/(2*a);x2=(-b-sqrt(b*b-4*a*c))/(2*a);z=x+a%3*(int)(x+y)%2/4;w=(float)(a+b)/2+(int)x%(int)y;p=money*pow((1+rate),year);622、简单语句简单语句由一个表达式以及紧跟其后的分号构成。表达构成方式由赋值表达式加分号构成。例如a=3;b=a*3+5;赋值语句在程序中使用赋值语句完成所需的计算.
例程:已知圆的半径r=5cm,编程计算圆的面积.提示:面积的计算公式为s=πr263构成方式由赋值表达式加分号构成。例如a=3;赋值语句在程序中赋值语句例程:已知圆的半径r=5cm,编程计算圆的面积.提示:面积的计算公式为s=πr2分析:(1)将数学公式转变为C语言的赋值语句,即
s=3.1415926*r*r;(2)为程序定义变量,半径用r表示,面积用s表示.(3)设计程序的每个执行步骤:
①给r赋值;②计算面积,计算结果保存到s;③输出s的值64赋值语句例程:已知圆的半径r=5cm,编程计算#include<stdio.h>intmain(){floatr,s;/*定义变量
*/r=5;/*给r赋值*/s=3.1415926*r*r;/*计算面积,保存到s*/printf(“圆的面积为%f\n”,s);/*输出s的值*/return0;}例程:已知圆的半径r=5cm,编程计算圆的面积.面积的计算公式为s=πr265#include<stdio.h>例程:已知函数调用语句
函数调用;
例如,
printf("Hello!");printf("sum=%f\n",sum);scanf(“%d%d”,&a,&b);putchar(ch1);举例:两者结合可构成一个赋值语句ch1=getchar();66函数调用语句函数调用;例如,举例:两者结合可构成3、顺序结构程序设计顺序结构是最简单、最常用的程序结构,在这种结构的C语言程序中,完全按照语句书写的先后顺序执行程序,主要由表达式语句和标准库函数调用语句构成,例如,由赋值操作、输入/输出操作构成的程序有很多都是顺序结构的。通常程序编写的步骤是:分析实际问题写出算法、画出流程图根据流程图写出相应的C语句程序673、顺序结构程序设计顺序结构是最简单、最常用的程序结构,在例3.1:编写程序,实现两个变量值的交换功能。分析:假设两个变量是a和b,a的初始值是10,b的初始值是25,经过程序的处理,结果使得a的值为25,b的值为10。要求分别输出交换前后的变量值。要想实现两个变量值的交换,需要借助于第三变量(假设为t),先把a的值暂存在t中,然后将b的值存入a中,最后将t的值(a原来的值)存入b中。68例3.1:编写程序,实现两个变量值的交换功能。分析:#include"stdio.h"intmain(){floata,b,t;printf("请输入a,b的初始值");scanf("%f%f",&a,&b);printf("交换之前a,b的值\n");
printf("a=%f\tb=%f\n",a,b);t=a;a=b;b=t;printf("交换之后a,b的值\n");printf("a=%f\tb=%f\n",a,b);return0;}运行结果是:请输入a,b的初始值1025(键盘输入)交换之前a,b的值a=10.000000b=25.000000交换之后a,b的值a=25.000000b=10.00000069#include"stdio.h"运行结果是:请输入a,b例3.2编写程序,实现从键盘输入三角形的三边长,求三角形面积的功能。分析实际问题,假设保证输入的三角形三个边长的值能构成三角形。用变量a、b、c分别表示三个边长,根据已有的数学知识,有面积公式:其中,将问题描述成C语言程序设计要求的具体算法。70例3.2编写程序,实现从键盘输入三角形的三边长,求#include"stdio.h"#include"math.h"intmain(){doublea,b,c,s,area;printf("请输入三角形的三边长值");scanf("%lf%lf%lf",&a,&b,&c);printf("输入的三角形三边长值");
printf("a=%.2lfb=%.2lfc=%.2lf\n",a,b,c);s=(a+b+c)/2.0; area=sqrt(s*(s-a)*(s-b)*(s-c));printf("三角形面积值\n");printf("area=%.2lf\n",area);return0;}71#include"stdio.h"29其中,sqrt()是一个标准数学函数,计算平方根,需要在程序开始处写一个预编译处理命令#include"math.h"。运行结果是:请输入三角形的三边长值345(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 课件中国气候教学课件
- 北师大版四下英语教案
- 《麦比乌斯圈》大班科学教案
- 智能化停车场建设项目招投标
- 小学二年级语文下册第四.五.六单元教案
- 养殖业资格证发放管理办法
- 图书馆吊顶施工合同
- 地铁站通信信号系统招投标文件
- 灾害救援:枪支弹药管理办法
- 上海市物业招投标策略与技巧
- 如何做好船舶成本管理
- 沙利文-内窥镜行业现状与发展趋势蓝皮书
- 比亚迪e6说明书
- 规范诊疗服务行为专项整治行动自查表
- (新平台)国家开放大学《建设法规》形考任务1-4参考答案
- 渠道管理PPT(第3版)完整全套教学课件
- 精益工厂布局及精益物流规划课件
- 《新时代劳动教育》-02新时代劳动价值观课件
- 2023年口腔医学期末复习-牙周病学(口腔医学)考试历年真题荟萃带答案
- 多元智能测试题及多元智能测试量表
- 【典型案例】长江流域浙江的历史发展:人民群众是社会物质财富的创造者
评论
0/150
提交评论