欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    第2章 c语言语法基础(总结)ppt课件.ppt

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

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

    第2章 c语言语法基础(总结)ppt课件.ppt

    数据类型和表达式,数据类型基本数据类型整型int实型(浮点型)float double字符型char构造数据类型数组、结构、联合、枚举指针类型空类型运算:对数据的操作运算符数据 表达式例,a*8,数据的存储和基本数据类型,数据的存储整型数据,设整数在内存中用2个字节存储1 000 0001 1000 00010 000 0001 1000 0001,符号位1:负数0:正数,实型和字符型数据的存储,实型数据的存储-1.2345e+02符号位 阶码 尾数字符型数据的存储一个字节存储ASCII码,基本数据类型,整型有符号整型 无符号整型 数据长度int unsigned int 16或32位short int unsigned short int 16位long int unsigned long int 32位字符型char 8位实型(浮点型)单精度浮点型 float 32位双精度浮点型 double 64位,基本数据类型整型,扩展的整数类型:short long unsigned int有符号整型 无符号整型 数据长度int unsigned int 16或32位short int unsigned short int 16位long int unsigned long int 32位,整数类型的取值范围,int 32位-2147483648 2147483647-231 231-1short int 16位-32768 32767-215 215-1long int 32位-2147483648 2147483647-231 231-1unsigned int 32位 0 4294967295 0 232-1unsigned short int 16位 0 65535 0 216-1unsigned long int 32位 0 4294967295 0 232-1,基本数据类型字符型,字符具有数值特征A 65 0100 0001 整型变量和字符变量的定义和赋值可以互换【ASCII码范围】char c;c=A;或c=65;,int i;i=65;或i=A;,基本数据类型实型,实型(浮点型)数据单精度浮点型 float双精度浮点型 double 存储 数据精度 取值范围(有效数字)float 4字节 七/八位(10-38 1038)double 8字节 十六位(10308 10308),数据精度和取值范围,数据精度 与 取值范围是两个不同的概念:float x=1234567.89;虽在取值范围内,但无法精确表达。float y=1.2e55;y 的精度要求不高,但超出取值范围。并不是所有的实数都能在计算机中精确表示 实型常量的类型都是double,1234567.80,常量符号常量整型常量、实型常量、字符型常量变量 变量的定义和使用,常量和变量,常量,常量的类型通常由书写格式决定123(整型)4.56(实型)A(字符型)符号常量:用一个标识符(用大写字母)代表一个常量:PI:EPS#define PI 3.14,应用举例 求球的表面积和体积,#include#define PI 3.14int main(void)double r,s,v;printf(“Enter r:);scanf(%lf,加分号?,通常用大写字母,符号常量的优点,#include int main(void)double r,s,v;scanf(%lf,#include#define PI 3.14int main(void)double r,s,v;scanf(%lf,3.14159,3.14159,3.14159,整型常量(整数),整数的表示三种表现形式:十进制整数:正、负号,09,首位不是0例:10,123八进制整数:正、负号,07,首位是0例:010,0123,09216进制整数:正、负号,09,a-f,A-F,前缀是0 x,0X例:0 x10,0 x123,整数的表示,123=01111011(B)二进制=173(O)八进制=7B(X)十六进制123 0173 0 x7b16 020 0 x1010 012 0XA10 010 0 x10不能超出整型数据的取值范围比长整型数还要大的数只能用实数来表示,整数的类型,判断整数的类型整数后的字母后缀123L long123U unsigned123LU unsigned long整数的值,实型常量(实数、浮点数),实数的表示浮点表示法0.123 123.4 12.12科学计数法6.026E-27 1.2e+30 1E-5实数的类型double,字符型常量,字符常量a A 9+$ASCII字符集列出所有可用的字符(256个)每个字符:惟一的次序值(ASCII 码)0-9 升序排列A-Za-z,字符的数值特征,字符ASCII 码对字符进行运算 对字符的ASCII 码进行运算例如:A 的 ASCII 码 65则:A+1=66,对应字符 B,区分数字字符和数字 1 1,转义字符,反斜杠后跟一个字符或数字字符常量,代表一个字符 n 101 x41 A所有字符都可以用转义字符表示,字符串常量:任意多个字符,放在“”中,字符串结束标志字符串长度,变量,在程序运行过程中,其值可以被改变的量。变量必须先定义,后使用定义变量时要指定变量名和数据类型变量应该先赋值,后引用,变量的定义,变量名:合法的标识符小写字母;见名知义变量的类型:在定义时指定变量定义的一般形式类型名 变量名表;int celsius,fahr;float x;double area,length;变量名代表内存中的一个存储单元,存放该变量的值该存储单元的大小由变量的数据类型决定,变量的使用,必须先定义,后使用应该先赋值,后引用变量的赋值方法变量赋初值:在定义变量时对它赋值int a=5,b=3;赋值表达式int a,b;a=5;b=3;输入int a,b;scanf(%d%d,包括:整型数据的输入和输出实型数据的输入和输出字符型数据的输入和输出,数据的输入和输出,整型数据的输入输出,printf(格式控制,输出参数1,.,输出参数n);scanf(格式控制,输入参数1,.,输入参数n);格式控制说明%十进制 八进制 十六进制int%d%o%xlong%ld%lo%lxunsigned%u%o%xunsigned long%lu%lo%lx,举例 输出整型数据,#include int main(void)printf(%d,%o,%xn,10,10,10);printf(%d,%d,%dn,10,010,0 x10);printf(%d,%xn,012,012);return 0;,10,12,a10,8,1610,a,输入整型数据,#include int main(void)int a,b;printf(input a,b:);scanf(%o%d,input a,b:17 1715 17f,17,%x%d,实型数据的输入和输出,输入 scanf()float:%f 或%e 以小数或指数形式输入一个单精度浮点数double:%lf或%le 以小数或指数形式输入一个双精度浮点数输出 printf()float 和double使用相同的格式控制说明%f以小数形式输出浮点数,保留6位小数%e以指数形式输出,实型数据输出示例,#include int main(void)double d=3.1415926;printf(%f,%en,d,d);printf(%5.3f,%5.2f,%.2fn,d,d,d);return 0;,3.141593,3.14159e+003.142,3.14,3.14,一共5位,小数3位,小数点一位,实型数据输入输出示例,假定float的精度为7位,double的精度为16位#include int main(void)float f;double d;printf(input f,d:);scanf(%f%lf,input f,d:1234567890123.123456 1234567890123.123456f=1234567954432.000000d=1234567890123.123540d=1234567890123.120120,字符型数据输入输出,scanf()和 printf()%cchar ch;scanf(%c,输入输出一个字符,输入输出字符示例1,#include int main(void)char ch1,ch2;ch1=getchar();ch2=getchar();putchar(ch1);putchar(#);putchar(ch2);return 0;,AbA#b,输入输出字符示例2,#include int main(void)char ch1,ch2,ch3;scanf(%c%c%c,AbCA#b#C,A bCA#b,输出字符型数据,b的ASCII码98#include int main(void)char ch=b;printf(%c,%dn,b,b);printf(%c,%dn,98,98);printf(%c,%dn,97,b-1);printf(%c,%dn,ch-a+A,ch-a+A);return 0;,b,98b,98a,97B,66,#include int main()char ch;ch=b;printf(%c,%dn,ch,ch);return 0;,printfb%c putchar98%d142%o62%x,scanfb%c getchar()98%d142%o62%x,scanf(%c,字符运算,大小写英文字母转换 b-a=B-A z-a=Z-A m M,a-AA-a,0,m-a+A=MM-A+a=m,8-0=88+0=8,数字字符和数字转换 9-0=9-0 9=9+08 8,不同类型数据的混合运算,先转换为同一类型,再运算。自动类型转换 非赋值运算的类型转换 赋值运算的类型转换强制类型转换,类型转换,自动类型转换(非赋值运算),水平方向:自动垂直方向:低 高,自动类型转换(非赋值运算),A+12 10.05 65 77 66.95,自动类型转换(赋值运算),变量=表达式计算赋值运算符右侧表达式的值将赋值运算符右侧表达式的值赋给左侧的变量,将赋值运算符右侧表达式的类型自动转换成赋值号左侧变量的类型,自动类型转换(赋值运算),double x;x=1;,x=?,short a=1000;char b=A;long c;c=a+b;,c=?,int ai;ai=2.56;,ai=?,short bi;bi=0 x12345678L,bi=?,强制类型转换,强制类型转换运算符(类型名)表达式(double)3(int)3.8(double)(5/2)(double)5/2,3.032.02.5,强制类型转换示例,#include int main(void)int i;double x;x=3.8;i=(int)x;printf(x=%f,i=%d n,x,i);printf(double)(int)x=%fn,(double)(int)x);printf(x mod 3=%dn,(int)x%3);return 0;,x=3.800000,i=3(double)(int)x=3.000000 x mod 3=0,表达式:由运算符和运算对象(操作数)组成的有意义的运算式子,它的值和类型由参加运算的运算符和运算对象决定。运算符:具有运算功能的符号运算对象:常量、变量和函数等表达式算术表达式、赋值表达式、关系表达式、逻辑表达式、条件表达式和逗号表达式等,表达式,算术表达式算术运算符,单目+-+-双目+-*/%注意/整数除整数,得整数1/4=0,10/3=3%模(求余):针对整型数据5%6=5,9%4=1,100%4=0+和 单目运算符,+10 和 10双目运算符,x+10 和 y 10 双目运算符两侧操作数的类型要相同,否则,自动类型转换后,再运算。,自增运算符+和自减运算符-,int n;n+n n-n(只适合变量运算)使变量的值增1或减1+n n+n=n+1-n n-n=n-1取变量的值作为表达式的值+n:n=n+1;取n值作为表达式+n 的值n+:取n值作为表达式 n+的值;n=n+1,自增运算和自减运算,int n,m;n=2;m=+n;n=2;m=n+;,n=3,n=3,m=3,m=2,m=nm=n+1,n=n+1m=n,算术运算符的优先级和结合性,单目+-+-双目*/%双目+-,从右向左,-5+3%2=(-5)+(3%2)=-43*5%3=(3*5)%3=0-i+,-(i+),写出C表达式,数学式 C算术表达式s(s-a)(s-b)(s-c)(x+2)e2x,赋值表达式,赋值运算符=x=3*4优先级较低,结合性从右向左x=y=3,x=(y=3),赋值表达式,变量=表达式计算赋值运算符右侧表达式的值将赋值运算符右侧表达式的值赋给左侧的变量将赋值运算符左侧的变量的值作为表达式的值,右侧表达式的类型自动转换成左侧变量的类型,int n;double x,y;n=3.14*2;x=10/4;x=(y=3);,复合赋值运算符,赋值运算符简单赋值运算符=复合赋值运算符复合算术赋值运算符+=-=*=/=%=复合位赋值运算符赋值表达式 变量 赋值运算符 表达式x+=exp 等价于 x=x+expx*=y-3,x=x*(y-3),关系表达式关系运算符,比较两个操作数,比较的结果:真 假x y x=y x!=y优先级 算术运算符=!=赋值运算符左结合,a b=cd=a bch a+1 d=a+b c3=x=5b-1=a!=c,(a b)=cd=(a b)ch(a+1)d=(a+b)c)(3=x)=5(b-1)=a)!=c,关系表达式,用关系运算符将2个表达式连接起来的式子哪些是关系表达式?a b=cd=a bch a+1d=a+b cb-1=a!=c3=x=5关系运算的结果真 1假 0,char ch=w;int a=2,b=3,c=1,d,x=10;,001101,逻辑表达式逻辑运算符,&|!逻辑运算结果:1(真)0(假)逻辑运算对象:关系表达式或逻辑量x=3&x=5!x判断逻辑量的真假:非0(真)0(假),(ch=a&ch=A&ch=3&x=5,逻辑运算的规则真值表,x y x&y x|y!x假 假 0 0 1假 真 0 1 1真 假 0 1 0真 真 1 1 0,0 00 非0非0 0非0 非0,优先级!算术运算符关系运算符&|赋值运算符左结合,逻辑运算符的优先级和结合性,a|b&c!a&bx=3&x=5!x=2a|3+10&2,a|(b&c)(!a)&b(x=3)&(x=5)(!x)=2a|(3+10)&2),逻辑表达式,用逻辑运算符将关系表达式或逻辑量连接起来的式子哪些是逻辑表达式?a&ba|b&c!a&ba|3+10&2!(x=2)!x=2ch|b,char ch=w;int a=2,b=0,c=0;float x=3.0;,0101101,exp1&exp2先算exp1,若其值为0,STOPexp1|exp2先算exp1,若其值为1,STOP,写出满足要求的逻辑表达式,x 为零关系表达式 x=0 逻辑表达式!xx 不为零x!=0 x x 和 y 不同时为零!(x=0&y=0)x!=0|y!=0 x|y,x取0!x 真x取非0!x 假,x取0 x=0 真x取非0 x=0 假,等价,条件表达式,exp1?exp2:exp3,非0,0,y=(x0)?x+2:x*x;,int n;(n0)?2.9:1n=10n=-10,2.91.0,if(x0)y=x+2;else y=x*x;,z=(ab)?a:b;,if(ab)z=a;else z=b;,逗号表达式,表达式1,表达式2,表达式n先计算表达式,然后计算表达式,,最后计算表达式n的值,并将表达式n的值作为逗号表达式的值.int a,b,c;(a=2),(b=3),(c=a+b);逗号运算符的优先级最低,左结合,a=2,b=3,c=a+b,sum=0;for(i=0;i=100;i+)sum=sum+i;,逗号表达式的用途,for(i=0,sum=0;i=100;i+)sum=sum+i;,for(i=0,sum=0;i=100;i+)sum+=i;,位运算,位逻辑运算 按位取反 单目 右结合&按位与 按位异或:相同取0,不同取1|按位或移位运算 对操作数右移给出的位数复合位赋值运算,位逻辑运算,x=0 00000000 00000000 y=3 00000000 00000011x&y 00000000 00000000 x|y 00000000 00000011x y 00000000 000000111010 0101=1111,注意区分:&和|&和|,按位取反&按位与 按位异或:相同取0,不同取1|按位或,x&y得 0 x|y得 1,位移位运算,对操作数右移给出的位数x3 将x向右移3位 00111010 3 00000111,复合位赋值运算符,&=|=a&=b 相当于 a=a&b a=2 相当于 a=a 2,其他运算,长度运算符 sizeof单目运算符,计算变量或数据类型的字节长度int a;sizeof(a)求整型变量 a 的长度,值为4(bytes)sizeof(int)求整型的长度,值为4(bytes)sizeof(double)求双精度浮点型的长度,值为8(bytes),运算符的优先级和结合性,()!-+-(类型名)sizeof*/%+-=!=&|?:=+=-=*=/=%=,程序解析大小写字母转换,#include int main(void)char ch;printf(input characters:);ch=getchar();while(ch!=n)if(ch=A,input 10 characters:Reold 123?rEOLD 123?,while(ch=getchar()!=n),(ch=getchar()!=nch=getchar()!=n等价吗?,数值的表示方法原码 反码 补码,正数的原码、反码和补码相同1 的补码 0 000 0000 0000 000132767 的补码 0 111 1111 1111 1111(215-1,2个字节的存储单元能表示的最大正数)负数的原码、反码和补码不同-1原码 1 000 0000 0000 0001 反码 1 111 1111 1111 1110 原码取反补码 1 111 1111 1111 1111 反码1,原码 反码 补码,32767补码 0 111 1111 1111 1111-32767原码 1 111 1111 1111 1111反码 1 000 0000 0000 0000 原码取反补码 1 000 0000 0000 0001 反码1-32768=-32767-1补码 1 000 0000 0000 0000(2个字节的存储单元能表示的最小负数),-32768-1 0 1 32767,32767 0111 1111 1111 1111 1 0000 0000 0000 0001 0 0000 0000 0000 0000-1 1111 1111 1111 1111-2 1111 1111 1111 1110-32767 1000 0000 0000 0001-32768 1000 0000 0000 0000,32767+1=32768?1000 0000 0000 000=-32768-32768-1=-32769?0111 1111 1111 1111=32767,本章小结,本章在已经学习了C语言的三种程序设计结构之后,对C语言的语法做了复习和总结,具体包括:数据包括:常量和变量 数据的基本类型:整形 实型 字符型 各类型数据的输入和输出 数据类型转换 运算符及表达式,关系运算符运算符名称示例功能缩写大于aba大于b时返回真;否则返回假GT=大于等于a=ba大于等于b时返回真;否则返回假GE=等于a=ba等于b时返回真;否则返回假EQ!=不等于a!=ba不等于b时返回真;否则返回假NE,结果值关系运算符的值只能是0或1。关系运算符的值为真时,结果值都为1。关系运算符的值为假时,结果值都为0。注意(1)前4种关系运算符的优先级别相同,后两种也相同。前四种高于后两种。(2)关系运算符的优先级低于算术运算符。(3)关系运算符的优先级高于赋值运算符,

    注意事项

    本文(第2章 c语言语法基础(总结)ppt课件.ppt)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

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




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开