c语言设计初步(顺序结构).ppt_第1页
c语言设计初步(顺序结构).ppt_第2页
c语言设计初步(顺序结构).ppt_第3页
c语言设计初步(顺序结构).ppt_第4页
c语言设计初步(顺序结构).ppt_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第3章c程序设计初步,本章主要内容,C程序结构数据的输出函数printf()数据的输入函数scanf()顺序程序设计举例,案例1:(p5,1.4节)在屏幕上显示Hello,World!,/*example1.1ThefirstCProgram*/#includemain()printf(“Hello,World!n”);,输出:Hello,World!,C程序结构1.任何程序都由函数构成,有且只有一个主函数2.程序由若干语句组成3.语句由;结束,仿案例1编程序实现在屏幕上显示如下信息Programmingisfun!AndProgramminginCisevenmorefun!,#include编译预处理命令main()printf(Programmingisfun!n);printf(AndProgramminginCisevenmorefun!n);,案例2:计算身高h为2米、体重w为90千克的肥胖指数k,(k=w/h2),本案例将包括以下内容程序解析2语法知识(1)常量、变量和数据类型(2)算术运算和赋值运算(3)格式化输出函数printf,1程序解析,案例2:计算身高h为2米、体重w为90千克的肥胖指数(k=w/h2)源程序如下:#includemain()inth,w,k;变量定义h=2;w=90;变量使用k=w/(h*h);printf(“h=%d,w=%d,k=%dn,h,w,k);输出结果,输出:h=2,w=90,k=22,2涉及语法:常量、变量和数据类型,inth,w,k;h=2;w=90;k=w/(h*h);数据常量:在程序运行过程中,其值不能被改变变量:在程序运行过程中,其值可以被改变数据类型常量类型:由书写形式决定,2、90是整型常量(整数)2.1是双精度浮点型常量(实数)变量类型:在定义时指定,h,w,k是整形变量,变量的定义,变量定义的一般形式:类型名变量名表;例如:inth,w,k;定义整型变量floatx;定义单精度浮点型变量doublearea,length;定义双精度浮点型变量double型数据比float精度高,取值范围大p17表2.2、p18表2.3说明:1.定义变量时要指定变量名和数据类型2.可以在定义变量时为变量赋初值,例如:floatx=3.14;,变量名:小写字母;见名知义标识符只能由数字、字母、下划线组成,第一个字符必须是字母或下划线,变量的定义,说明:3.变量名代表内存中的一个存储单元,存放该变量的值,该存储单元的大小由变量的数据类型决定,该存储单元的地址用“可知如下信息:变量名:x变量x的值:3.14变量x的类型:float变量x的地址:h=2;w=90;k=w/(h*h);printf(“h=%d,w=%d,k=%dn,h,w,k);,一个变量只能定义一次变量一般都定义在程序的头上不能定义在程序的中间或后面,应该先赋值,后引用,算术运算和赋值运算,k=w/(h*h);1、算术运算双目算术运算符:+-*/%算术表达式:用算术运算符将运算对象连接起来的符合C语言语法规则的式子数学式:w/h2C表达式:w/(h*h)或者:w/h/h数学式:s(s-a)(s-b)(s-c)C表达式:s*(s-a)*(s-b)*(s-c),算术运算,注意:/整数除整数,得整数如:1/20,9/425*(fahr-32)/9和5/9*(fahr-32)等价吗%针对整型数据求余数如:565,941,10040双目运算符两侧操作数的类型最好相同,如果不相同,结果为精度高的类型。P26图2.2例如,3+4.2结果为double型。运算优先级:先做*/%,再做+-结合性:左结合。例如:6+5*3%6/2-2.5=?附录B:优先级和结合性,赋值运算,赋值运算符=赋值表达式:用=将一个变量和一个表达式连接起来的式子变量表达式例如:h=2;w=90;k=w/(h*h);1.计算赋值运算符右侧表达式的值,赋给左侧的变量2.赋值运算符扩展得到复合的赋值运算符:+=、-=、*=、/=、%=例如:执行x=3;x+=5;后,x=8,的左边必须是一个变量,格式化输出函数printf,数据输出:格式化输出函数printf#includeprintf(HelloWorld!n);printf(h=%d,w=%d,k=%dn,h,w,k);printf(格式控制字符串,输出项1,输出项n);,用双引号括起来,表示输出的格式,要输出的数据,printf格式控制字符串,printf(HelloWorld!n);printf(h=%d,w=%d,k=%dn,h,w,k);格式控制字符串:普通字符:原样输出格式控制说明(%):按指定的格式输出数据,与数据类型有关的格式控制符:int型:%dfloat和double型:%fprintf(“h=%d,w=%d,k=%dn”,h,w,k);注意:输出项和格式控制符保持一一对应,输出:h=2,w=90,k=22,改进的计算肥胖指数,身高和体重有可能是实数,将计算结果-肥胖指数k四舍五入保留两位小数,程序如下:,#includemain()doubleh,w,k;变量定义h=1.8;w=93;变量使用k=w/(h*h);printf(“h=%f,w=%f,k=%7.2fn,h,w,k);输出结果,输出:h=1.800000,w=93.0000000,k=28.70,相关内容见p38表3.1-3.2,案例3计算任意一个人的肥胖指数,1程序解析2格式化输入函数scanf3常用数学库函数,1程序解析,要解决的问题:输入任意的身高h和体重w计算肥胖指数k=w/h2输出,并保留2位小数要实现计算任意一个人的肥胖指数,即在编写程序时不清楚h和w的值,无法在程序中给变量h和w赋值。我们可以在程序中加上一条为h和w输入数据的语句,以便在程序运行时为h和w输入数据,计算任意一个人的肥胖指数源程序,#includemain()doubleh,w,k;scanf(“%lf,%lf”,程序运行后,当执行到scanf()时,等待用户为h和w赋值,用户输入”1.8,93”后,输出结果为:,h=1.800000,w=93.0000000,k=28.70,scanf格式控制字符串,格式控制字符串中包括:格式控制说明:按指定的格式输入数据,%与数据类型有关int型:%dfloat型:%fdouble型:%lf普通字符:原样输入例如:scanf(%lf,输入:9.5,scanf(x=%lf,输入:x=9.5,尽量不要出现普通字符,scanf(“%lf,%lf”,输入参数为变量的地址,用逗号间隔:如,Enterh,w:1.8,93h=1.800000,w=93.0000000,k=28.70,#includemain()doubleh,w,k;scanf(“%lf,%lf”,为了让用户清楚需要输入的数据,我们对程序加了改进,本程序中h2也可以用c提供的数学函数来做,K=w/pow(h,2);,#include,常用数学库函数,库函数C语言处理系统提供事先编好的函数,供用户在编程时调用。如,scanf(),printf(),pow()这些函数在相应的系统文件(头文件)中定义,并由这些文件引导执行。#include命令用户调用库函数时,将相应的头文件包含到源程序中。例如调用scanf,printf,需要#include调用sqrt,需要#include,常用数学库函数,平方根函数sqrt(x)绝对值函数fabs(x)fabs(-3.56)的值为3.56幂函数pow(x,n):xnpow(1.1,2)的值为1.21(即1.12)指数函数exp(x):exexp(2.3)的值为e2.3以e为底的对数函数log(x):lnxlog(123.45)的值为4.815836以10为底的对数函数log10(x):log10 xlog10(123.45)的值为2.091491。,例1任意从键盘输入一个三位整数,要求正确分离出它的个位、十位、百位数,分别在屏幕上输出。,顺序程序设计举例,#includevoidmain()intx,b0,b1,b2;printf(pleaseenteranintegerx:);scanf(%d,运行结果:pleaseenteranintegerx:123bit0=3,bit1=2,bit2=1,最低位数字可用对10求余的方法得到最高位的百位数字可用对100整除的方法得到中间位的数字可通过将其变换为最高位再整除的方法得到,b1=(x-b0)/10%10;,例2,将双精度实型数据a与b的值交换,#includemain()doublea,b,t;scanf(“%lf,%lf”,小结,本章从案例出发介绍了C程序的构成以及C语言的常用语法

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论