欢迎来到装配图网! | 帮助中心 装配图网zhuangpeitu.com!
装配图网
ImageVerifierCode 换一换
首页 装配图网 > 资源分类 > PPT文档下载
 

《C程序设计初步》PPT课件.ppt

  • 资源ID:12941905       资源大小:3.14MB        全文页数:50页
  • 资源格式: PPT        下载积分:9.9积分
快捷下载 游客一键下载
会员登录下载
微信登录下载
三方登录下载: 微信开放平台登录 支付宝登录   QQ登录   微博登录  
二维码
微信扫一扫登录
下载资源需要9.9积分
邮箱/手机:
温馨提示:
用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
支付方式: 支付宝    微信支付   
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

《C程序设计初步》PPT课件.ppt

第二章C程序设计初步(2),C语言程序设计ProgramminginC,原子类型:基本数据类型,数值类型,非数值类型,整型,有符号短整型(short),无符号短整型(unsignedshort),有符号整型(int),无符号整型(unsignedint),有符号长整型(long),无符号长整型(unsignedlong),实型(浮点型),单精度型(float),双精度型(double),字符类型(char),空类型(void),结构体(struct),枚举类型(enum),(C语言的特殊数据类型),构造类型,指针类型,共用体(union),数组(array),上讲内容回顾,上讲内容回顾,常量整型常量实型常量字符型常量字符串常量符号常量变量定义声明变量赋值变量使用,2.2.3如何确定问题领域的数据及其类型,分析:,【例2-3】理解程序设计中数据、变量的选择和确定。若编程计算商场某种商品打折之后的价格,需要定义哪些数据(常量和变量),数据类型如何确定?,(1)需求分析:输入商品原价和折扣率,计算并输出商品打折之后的价格。(2)设,商品原价、折扣率和打折之后的价格分别用变量a、b、p表示,则计算公式为:p=a*b其中a,b为输入变量,p为输出变量。(3)根据实际,商品的原价、折扣率和打折之后的价格选为实数较合理。变量定义语句如下:floata,b,p;,本讲内容,一、输入输出函数的简单应用(2.4.1)二、运算符(Operator)和表达式(Expression)(2.3),一、输入输出函数的简单应用,1.格式输出函数printf2.格式输入函数scanf,1、格式输出函数printf,printf函数简单调用形式:功能1:按原样输出字符串。printf("字符串");,【例】用printf函数输出如下内容。,#include"stdio.h"voidmain(void)printf("nt=n");printf("t星月的来由n");printf("tn");printf("t树枝想去撕裂天空,n");printf("t但却只戳了几个微小的窟窿,n");printf("t它透出了天外的光亮,n");printf("t人们把它叫作月亮和星星。n");printf("nt=n");,1、格式输出函数printf,功能2:按格式说明符输出对应的数据项。printf("%格式说明符",输出数据);,不同的数据类型对应不同的格式符。,inta=1;floatb=2.3;charc=k;printf("%dn",a);printf("%f,%cn",b,c);,常用的printf格式符,普通字符原样输出,inta=1,b=2;printf("c=%d+%d=%dn",a,b,a+b);,显示结果:,1.格式输出函数printf,2.格式输入函数scanf,常用scanf()函数接收用户从键盘输入的数据,实现人机交流。功能:程序暂停,用户按格式符要求从键盘输入数据,存入相应变量scanf函数调用的简单形式有:(1)scanf("%格式说明符",floatb;charc;scanf("%d",2.格式输入函数scanf,scanf("a=%d,b=%d",2.格式输入函数scanf,普通字符照原样输入,scanf("%d%f%c",从键盘输入:9011234.56y注意:两个数值数据之间用空白符分开;数值数据和字符数据间不需要用分隔符分开;,二、运算符(Operator)和表达式(Expression),运算符(1)运算符的分类按运算功能分:,二、运算符(Operator)和表达式(Expression),按操作数的个数分:单目运算符(UnaryOperator)x+双目运算符(BinaryOperator)x+y三目运算符(TernaryOperator)x?1:0(2)运算符的优先级(Priority)和结合性(Combine)优先级分为15级结合性:左结合(自左至右)和右结合(自右至左),表达式(Expression)由运算符和操作对象组成的式子叫表达式。操作数可以是常量、变量、函数或表达式。每个表达式均有结果值。任何表达式加上分号“;”构成C语句。,二、运算符(Operator)和表达式(Expression),1.算术运算符和算术表达式2.赋值运算符和赋值表达式3.自增/自减运算符4.逗号运算符和逗号表达式5.指针运算符6.数据类型转换,二、运算符(Operator)和表达式(Expression),1.算术运算符和算术表达式,数学式子ax2+bx+cC语言表达式a*x*x+b*x+c注意:(1)乘号不能省2*a2a(2)符号非法(3)表达式只能写在同一行上。a+b/2(4)只有小括号,没有中括号和大括号。,1.算术运算符和算术表达式,*、/、%为同一优先级,高于+、;,“整除”:如果除运算的两个操作数都是整型数据,叫“整除”运算,则运算结果也为整型。“实除”:若除数或被除数至少有一个是实数,则被看成是“实除”,则运算结果为实型。例:inta;a=5/2;因为5和2为整数,5/2是整除运算,所以,结果为整数,取整数2。例:charch=101;或charch=e;intb=ch/3;/*整除,b的值为33*/,除法运算(“/”),例:floata;a=5.0/2.0;a=5/2.0;a=5.0/2;5.0/2.0、5/2.0、5.0/2均是实除,结果均为2.500000a的值为2.500000例:求表达式1/2*(a+b)的结果。因为1/2的结果为整型0,所以表达式的结果为0。,除法运算(“/”),求余运算的操作对象只能是整数类型。例:inta=5%2;/*a值是1*/。5%2结果为:15%-2结果为:1-5%2结果为:-1取余操作结果的符号与机器有关,一般是与第一个操作数符号相同。求余应用例:判断奇/偶数。如,x%2的结果为0,则说明x为偶数;x%2的结果不为0,则说明x为奇数。,求余运算(%),例:判断a是否能被3整除。,a%3的结果为0,则说明a能被3整除;如a%3的结果不为0,则说明a不能被3整除。,例:利用整除和求余运算拆分一个整数的各位数字。设a是一个三位数,则:a%10的结果是a的个位数字;a/100的结果是a的百位数字;a%100/10的结果是a的十位数字;,如:123%10=3123/100=1123%100/10=2,求余运算(%),2.赋值(Assigment)运算符和赋值表达式,赋值运算符号:=赋值表达式形式为:变量=表达式说明:(1)=左边必须是变量名,不能是表达式。如,a+b=3;/*错误!不能给表达式赋值*/(2)结合方向是自右向左。(3)优先级别很低(14级),仅高于将学到的逗号(,)运算符。(4)赋值操作:先计算右边表达式的值,再转换成左边变量对象的类型,存入左边变量代表的内存空间。,(5)赋值表达式加上分号(;),构成赋值语句。如,赋值语句:r=2;(6)执行语句中,可以使用连续赋值操作。如:inta,b;a=b=100;/*等价于a=(b=100),结果a和b的值都为100*/初始化语句中,inta=b=100;是不允许的。,2.赋值(Assigment)运算符和赋值表达式,【例】编程实现交换两个变量的值。,分析:(1)问题背景和陈述:计算机基本功能是进行计算,也常用于处理许多与计算无关的事务。交换任意两个变量的值即属于事务处理。(2)需求分析:输入a和b的值输出a和b的值,2.赋值(Assigment)运算符和赋值表达式,(3)处理流程数据“两两交换”操作处理流程可以借用第三个变量实现两个变量内存中值的交换。设第三个变量为t;演示如下:,定义变量:floata,b,t;,输出a,b,输入a,b的值,t=a;a=b;b=t,atb,2.赋值(Assigment)运算符和赋值表达式,(4)算法,#includevoidmain(void)floata,b,t;printf("请输入两个变量的值:n");scanf("%f%f",(5)编码:,定义变量:floata,b,t;,输出a,b,输入a,b的值,t=a;a=b;b=t,2.赋值(Assigment)运算符和赋值表达式,(6)测试:,引例:有语句如下:product=product*n;n=n+1;a=a/b;m=m+3;i=i-1;特征:对变量进行某种运算后,结果再赋值给变量自身。总结:类似这种形式的运算与赋值,常用复合赋值运算符描述。,2.赋值(Assigment)运算符和赋值表达式,*=、+=、-=、/=、%=等。作用:优化代码;生成短小的汇编代码表达式格式:变量复合赋值运算操作数运算符的等价变化如下,product=product*n;n=n+1;a=a/b;m=m+3;i=i-1;,product*=n;n+=1;a/=b;m+=3;i-=1;,复合赋值运算符,例:进行以下复合运算操作之前,设a原值都为10。inta=10;a-=2;a*=2;a/=2;a%=2;,复合赋值运算符,符号:+、-功能:使该变量加1(自增)或减1(自减)。a+a-单目运算符,优先级与正、负号优先级相同,但高于基本算术运算符,结合性为自右向左。如:表达式-i+等价于-(i+)。注意:自增和自减运算符只能用于变量如:(a+b)+/*错误,不能对表达式进行自运算*/,3.自增(Increment)/自减(Decrement)运算符,例,有语句如下:intn=10;n+;/*或+n;n的值都是11*/n-;/*或-n;n的值都是10*/如表达式中仅仅是对单个变量进行自运算(Self-operation),前置运算或后置运算的结果相同。,有前置(Prefix)和后置(Postfix)两种运算方式。前置运算:运算符在变量的前面,如+n,-n;后置运算:运算符在变量的后面,如n+,n-。,3.自增(Increment)/自减(Decrement)运算符,含有自增(减)运算的复杂表达式中,自增(减)的前置和后置运算是有区别的。前缀形式+a-a先使a的值加(减)1,再使用a后缀形式a+a-先使用a,再使a的值加(减)1例:inta=8,b=2,c,d;c=+a;d=b+;printf("%d,%d,%d,%dn",a,b,c,d);,3.自增(Increment)/自减(Decrement)运算符,逗号运算符(,)将多个表达式连接起来,称逗号表达式。逗号表达式的一般形式为:表达式1,表达式2,表达式n例,交换两变量值的逗号表达式:t=x,x=y,y=t,4.逗号(Comma)运算符,说明:结合性:自左向右优先级:最低功能:依次求解每个表达式,逗号表达式的值是最后一个表达式的值。,例如:a=5,a+,a*3t=1,t+5,t+x=(a=3*5,a*4),表达式值为18,且a=6表达式值为1,且t=2表达式的值为60,且x=60,a=15,4.逗号(Comma)运算符,与地址操作有关的运算符叫指针运算符。说明:变量名前的*标明其后的标识符是指针变量,表示与一般变量的区别。如,int*pa;/*指针变量pa*/float*pb;/*指针变量pb*/,5.指针运算符,在执行语句中,“*指针变量名”表示取其后指针变量所指向变量的值。inta;int*p;p=,5.指针运算符,C语言允许不同类型的数据进行混合运算。计算合法的C语言表达式时,先将表达式中不同类型的数据转换为同一类型,再进行运算。类型转换在C语言中也是一种运算。(1)数据类型自动转换(隐式转换)根据需要由系统自动进行的。(2)强制类型转换(显式类型转换)由编程者强制进行的。,6.数据类型转换(TypeConversion),低高低intcharshortunsignedlong高doublefloat,算术运算过程的转换规则,(1)数据类型自动转换(隐式转换),例:intr;floatgirth;girth=2*PI*r;/*求圆周长*/,若赋值运算符两侧的数据类型不同,则赋值号右侧表达式类型的数据将转换为赋值号左侧变量的类型,再进行赋值。,赋值运算中的数据类型自动转换,例:floata=5/2;/*隐式类型转换*/a为实型,a的值是2.000000,非2.5。计算5/2时发生了精度丢失,5/2的结果是2,再赋值给实型变量,转换为2.000000。,(1)数据类型自动转换(隐式转换),如,有以下定义:floata=10;/*a的结果值为10.0(数据填充)*/intb=15.5;/*b的结果值为15(数据截取)*/,注意:若右侧表达式结果数据类型长度比左侧变量的数据类型长时,将丢失一部分数据,从而造成数据精度的降低或出错。,(1)数据类型自动转换(隐式转换),例:V=4/3*PI*r*r*r/*求圆体积*/分析:表达式中,常量4和3均是整数,4/3结果是整数(为1),这并不是需要的结果。为保证结果的有效性,写为4.0或3.0,自动变换为实数运算。,例:S=1/2*PI*r*r/*求圆面积*/常量1和2均是整数,1/2结果也是整数(为0),这并不是想要的结果。为了保证结果的有效性,写为1.0或2.0,自动变换为实数运算。,(1)数据类型自动转换(隐式转换),将一个表达式的值强制转换成所需的数据类型。强制类型转换一般格式为:(类型说明符)表达式功能:强行将表达式结果的类型转换为括号内要求的类型。,(2)强制类型转换(显式类型转换),例:(int)4.2的结果是4;例:intx=4;(float)x表示将x的值被强制转换为实型,但x的类型仍是整型,而表达式(float)x的类型是float类型。例:floatx=4.9;(int)x+4.2结果为8.2。(int)(x+4.2)结果为9。,(2)强制类型转换(显式类型转换),例:intb=5,c=2;floata=(float)b/c;把b强制转换为float型,c自动转换为float型,结果为2.500000*/,(2)强制类型转换(显式类型转换),本讲小结,一、输入输出函数的简单应用1.格式输出函数printf2.格式输入函数scanf二、程序中的常用运算符(Operator)和表达式(Expression)1.算术运算符和算术表达式2.赋值运算符和赋值表达式3.自增/自减运算符4.逗号运算符和逗号表达式5.指针运算符6.数据类型转换,TheEndthanks,

注意事项

本文(《C程序设计初步》PPT课件.ppt)为本站会员(tia****nde)主动上传,装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知装配图网(点击联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!