自考计算机基础与程序设计0.ppt

上传人:laozhun 文档编号:2868698 上传时间:2023-02-27 格式:PPT 页数:46 大小:971KB
返回 下载 相关 举报
自考计算机基础与程序设计0.ppt_第1页
第1页 / 共46页
自考计算机基础与程序设计0.ppt_第2页
第2页 / 共46页
自考计算机基础与程序设计0.ppt_第3页
第3页 / 共46页
自考计算机基础与程序设计0.ppt_第4页
第4页 / 共46页
自考计算机基础与程序设计0.ppt_第5页
第5页 / 共46页
点击查看更多>>
资源描述

《自考计算机基础与程序设计0.ppt》由会员分享,可在线阅读,更多相关《自考计算机基础与程序设计0.ppt(46页珍藏版)》请在三一办公上搜索。

1、,C语言程序设计基础,共 26 页 第 2 页,C语言主要内容,数据:数据类型,常量、变量运算符及表达式语句:输入/出语句,控制结构语句函数,数组指针构造数据类型:结构体,共同体,枚举预编译与位运算文件,第三章,复杂的数据类型,小,大,第四、五章,第六章,第七章,第八章,第九章,第十章,第十一章,共 26 页 第 3 页,第三章 C语言程序设计基础,第一节 介绍基本数据类型、常量与变量第二节 各种类型的常量第三节 各种类型的变量第四节 运算符及表达式第五节 类型转换,数据与运算符,共 26 页 第 4 页,3-1 介绍基本数据类型、常量与变量,构造数据类型,基本数据类型,数据类型,整型,实型,

2、字符型,数组,结构体,枚举,指针,空类型,共同体,数据类型,数据:是程序加工处理的对象,3-1介绍基本数据类型、常量与变量,数据,程序运行过程中,值不允许改变的数据,程序运行过程中,值允许改变的数据,main()int a,b,sum;a=2;b=3;b=c;sum=a+b;,#define pi 3.1415926main()int r;float s;r=1;s=3.1415926*r*r;s=pi*r*r;,常量的使用:直接常量是直接引用符号常量要先定义再引用,由数字和字符直接表示,常量值即数据本身,用一个标识符代表常量,区分常量名和常量值,常量,常量,变量,直接常量,符号常量,变量是用

3、一个符号来表示一个数据变量名:变量的名字,一个变量有唯一的变量名变量的值:变量中存放的数据,值可变变量的类型:限定变量值的类型 整型,实型,字符型,2,a,1)变量的概念,main()int a,b,sum;a=2;a=3;sum=a+b;,任何变量都具有这三个属性,3-1介绍基本数据类型、常量与变量,变量,2)变量的使用,定义,变量的定义:1)类型说明符 变量名;int-整型 char-字符型 float,double-实型 例如:int a;char c;float f;2)类型说明符 变量表;例如:int a,b;等价 int a;int b;,变量赋值,变量的赋值:变量名=常量 或 变

4、量名=变量 例如:a=2;a=b;,确定变量名和变量类型,变量的引用,变量的引用:sum=a+b;printf(“%d”,a);,修改变量的值,取变量的值,先定义,然后赋值,最后引用,3-1介绍基本数据类型、常量与变量,变量与常量使用的对比,直接常量的使用:直接引用(没有定义和赋值)a=2;a=3.14;符号常量的使用(无赋值)1)定义#define pi 3.1415926 2)引用s=pi*r*r;,变量的使用:1)变量定义:int a;2)变量赋值 a=2;3)变量的引用:sum=a+b;,3-1介绍基本数据类型、常量与变量,什么时候用常量和变量?,共 26 页 第 9 页,各种类型的常

5、量 按照数据类型划分,3-2各种类型的常量,直接常量,整型常量,实型常量,字符型常量,字符常量,字符串常量,共 26 页 第 10 页,整型常量,3-2各种类型的常量,三种表示形式:十进制:以非0打头,+,-,09八进制:以0打头,+,-,07十六进制:以0 x打头,+,-,09,AF.(0是零),举例:int a;a=20;a=020;a=0 x20;,一般编程使用十进制,但是考试中,给你一个数要能区分,共 26 页 第 11 页,实型常量,3-2各种类型的常量,数学表示实数 常用形式:科学记数法:,两种表示形式:小数形式:指数形式:,举例:double a;a=314.15;a=3.141

6、5E2;,练习:a=-3.1415E-2;,3-2各种类型的常量,共 26 页 第 12 页,字符型常量-字符常量,字符常量 用一对单引号括起来的一个字符 例如:a,A,2,+字符取自ASCLL字符集(255个)ASCLL码:一个字符对应一个数值(0255)字符的存储:在计算机中存储的是字符对应的ASCLL 码例如:char c;c=A;有时,字符数据与整型数据能通用int c;c=A;等价c=65;,65,C,思考:输出什么?char c;c=A+1;printf(“c=%c”,c);,共 26 页 第 13 页,字符型常量-字符常量,字符常量 分为 1.可显示字符:az,09等,原样输出

7、2.转义字符:打头的字符*:n,0,t,r,”等,不是原样输出,而是各自表示一定控制意义 例如:n 回车换行 0 字符串结束*:ddd,八进制数ddd对应的ASCLL字符 例如:101-A xhh,十六进制数hh对应的ASCLL字符 例如:x41-A,举例:printf(“abcndef”);printf(“abc0def”);,举例:printf(“abc101e”);printf(“abcx41e”);,转义字符是一个整体,例如:n,101被看做一个字符,不能拆开,3-2各种类型的常量,例2.3 分析下面的运行结果。main()printf(123456t101aaa ndeftx42n)

8、;,3-2各种类型的常量,注意:1)字符串常量与字符常量不可混淆 例如:”a”与a a)定界符不同 b)字符常量只能是一个字符 c)存储方式不同 2)在字符常量和字符串常量内,空格是一个字符,Ascll码是32“”与”不同,前者字符长度是2,后者是1,字符型常量-字符串常量,字符串常量 用一对双引号括起来的多个字符字符串数据的存储:每个字符串常量末尾,系统自动添加一个转义符0 例如:”CHINA”,字符长度6,ASCII码值,举例:”CHINA”,”a”,a,3-2各种类型的常量,共 26 页 第 16 页,各种类型的变量 按照数据类型划分,变量,整型变量 int,实型变量,字符型变量 cha

9、r,单精度 float,双精度 double,3-2各种类型的变量,整型变量,1)基本整型:类型说明符:int,存储占内存两个字节举例:int a;a=2;数据范围:-3276832767(-215(215-1)2)短整型类型说明符:short int(short),占字节和范围与int一样3)长整型类型说明符:long int(long),存储占4个字节数据范围:(-231(231-1)举例:long a;a=40000;4)整型数据的输出printf:%d 十进制整数%ld 十进制长整数,高字节,低字节,高字节,低字节,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,举例:

10、整型变量,main()int i;long int long_i;/*变量定义放在前面*/i=40000;/*溢出*/printf(i=%dn,i);long_i=40000;/*改用long int*/printf(long_i=%ldn,long_i);,结果:i=-25536 Long_i=40000,整数,如果数据范围超过32767或-32768用long int,整型变量,整型变量,修饰符:signed带符号数,unsigned无符号数signed int,等价int 2字节-32768 32768unsigned int 2字节 0 65535signed short 同signe

11、d intunsigned short 同unsigned intsigned long,等价long 4个字节-2147483648 2147483647unsigned long 4个字节 0 4294967295,存储占字节数没有改变取值范围改为从0开始,正数的范围扩大一倍,举例:unsigned int i;i=40000;printf(“i=%u,i);,i=40000,signed和unsigned比较:,实型变量,实型变量分为单精度型和双精度型1)单精度浮点:类型说明符:float,存储占4个字节数据范围 10-38(1038)精度:有效数字7位举例:float f;2)双精度浮

12、点:类型说明符:double,存储占8个字节数据范围:10-308(10308)精度:有效数字15-16位举例:double d;3)实型数据的输出printf:%f 小数形式,6位小数%e 指数形式,main()float f1;f1=12.14;printf(f1=%f,f1);printf(f1=%e,f1);,结果:f1=12.141593d1=12.1415926,main()float f1;double d1;f1=12.1415926;printf(f1=%fn,f1);/*7位有效数字*/d1=12.1415926;/*改用double*/printf(d1=%10.7fn,

13、d1);,结果:12.1400001.21400e+01,精度与数据范围的区别,字符型变量,1)字符型变量:类型说明符:char,存储占1个字节数据范围:0 255(28-1)举例:char c;c=a;/*用于存放字符常量*/c=“a”;/*错误*/2)没有字符串变量 字符串要用字符数组来存放3)某些情况下,char型与int型数据可以互换4)字符型数据的输出:pirntf:%c输出数对应的字符%s 输出字符串,char ch;ch=a;printf(“ch=%d”,ch);printf(“ch=%c”,ch);printf(“ch=%s”,”a”);,char c1;int d1;c1=9

14、7;d1=a;printf(c1=%d,d1=%dn,c1,d1);printf(c1=%c,d1=%c,c1,d1);,注意:,所有变量都在函数开头就定义,而不是在引用变量的前面定义,main()int a,b,sum;a=2;a=3;sum=a+b;,main()int a,b;a=2;a=3;int sum;sum=a+b;,3-2各种类型的变量,变量赋初值(也称为变量初始化),1)赋初值:在变量定义的同时给变量赋予初值.举例:int a=5;等价于 int a;a=5;2)可以给定义变量中的所有或一部分变量赋初值 char a,b,c=a;等价于 char a,b,c;c=a;floa

15、t a=0.1,b=0.4,c=0.5;等价于 float a,b,c;a=0.1;b=0.4;c=0.5;,共 26 页 第 24 页,变量,整型变量 int,实型变量,字符型变量 char,单精度 float,双精度 double,3-2常量与变量,直接常量,整型常量,实型常量,字符型常量,字符常量,字符串常量,小结:,符号常量,常量,3-3 运算符与表达式,运算符,每一种运算符代表一种运算操作.例如:+-加法,1)表达式由运算符和运算分量组成 例如:a+b a,b是运算分量 2)不同运算符对应表达式的格式不同 例如:运算符+,表达式:a+b 双目运算符 运算符+,表达式:a+单目运算符

16、运算符?:,表达式 a?b:c 三目运算符3)多个表达式又可以组成一个表达式 例如:a*c+a/b+a,表达式 表示一种运算关系的算式,运算符,按运算类型分类 1.算术运算符 2.自增、自减运算符 3.赋值运算符 4.关系运算符 5.逻辑运算符 6.条件运算符 7.逗号运算符按运算分量的数目分类 单目运算 例如:自增运算符 a+双目运算 加法运算符 a+b 三目运算 条件运算符 a?b:c,主要学习:1)每种运算符的运算含义,构成表达式的格式。举例:a+b2)运算符之间:一个表达式中包含多个不同运算符,存在优先级、结合性问题 优先级关系:一个表达式中包含多个不同运算符时,运算优先次序 结合性:

17、相同优先级的运算符进行运算时的次序,3-3 运算符与表达式,例如:a*c+a/b+a,算术运算符与算术表达式,1)算术运算符2)算术表达式的格式:求负是单目运算符,-a 其它都是双目运算符,a+b,a-b,a*b,a/b,a%b3)优先级-(求负)(*,/,%)(+,-)4)结合性:自左向右注意:1)整数/整数 结果仅保留整数 举例:5/2 实数/整数 整数/实数 结果包含小数 举例:5.0/23)整数%整数 5.0%2 余数符号是被除数符号-7/3-1 7/-3 1,举例:int a=8,b=5,c=2,d;d=(a+b*c)d=(a/b*b)d=(a%b*c),d=18d=5d=6,/与%

18、的区别:9/2 与 9%2,减与求负区别:9-2 与-2,自增、自减运算符,1)运算符2)表达式的格式:单目运算符,自增:后置形式a+,前置形式+a 自减:后置形式a-,前置形式-a 前置与后置的区别:+a:先自增,再参与运算-a:先自减,再参与运算 a+:先参与运算,再自增 a-:先参与运算,再自减 举例:y=+a;等价 a=a+1;y=a;a先加1再赋值 y=a+;等价 y=a;a=a+1;a先赋值再加1 3)优先级+,-同级注意:运算分量只能是变量,不能是常量或表达式 2+错误(a+b)+错误,x=3,z=3 x=3,y=6,z=3*6=18 x=3,y=6,z=2*6=12 x=3,y

19、=6,z=3*5=15 x=3,y=6,z=2*5=10 x=4,z=4*4=16,自增自减运算实例,实例 已知:int x=2,y=5,z;z=+x;x?z?z=+x*+y;z=x+*+y;z=+x*y+;z=x+*y+;z=+x*+x;,赋值运算符,复合赋值运算符,1)赋值运算符2)赋值表达式的格式:变量=表达式 例如:a=2;a=2*b;注意:1)左边必须是变量,不能是常量或表达式 例如:2=2 错误(a+b)=2 错误 2)赋值表达式的值就是被赋值变量的值 a=(b=10);a?b?3)复合赋值运算符 op=op可以是+,-,*,%,位运算符4)优先级:=与op=同级 5)结合性:自右

20、向左,e1 op=e2 等价于:e1=e1 op(e2),例:x+=2;等价 x=(x+2);x*=y+1;等价 x=x*(y+1);不等价 x=x*y+1;,a=b=10;等价 a=(b=10)a=3;b=a*=a;等价 b=(a*=a),实例 已知:int a=3,b=-4,c=5,x=2.5,y=4.7;b%=c+a-c/7 a+-c+b+a+=b+3(a+=b)+3,-4,运算实例,()自增、自减运算符算术运算符赋值运算符,高,-6,2,2,关系运算符与关系表达式,1)关系运算符 用于比较两个分量的大小关系,2)关系表达式格式:双目运算符 例如:ab,a=b,a!=b3)关系运算结果:

21、只有两种结果(0和1)1-“成立”,0-“不成立”例如:95 2,=,=c5)结合方向:从左到右 例如:ab=c6)注意:区分=与=举例:int a;a=2;与 a=2的区别 写表达式:判断a是否能被2整除?满足返回1,否则返回0,a%2=0,数学,c语言是=数学,c语言是=数学,c语言是!=数学=,c语言是=,关系运算符实例,实例 已知:int a=13,b=2,c=1;aba!=ba=b(ab)=cab=c,成立,结果为 1成立,结果为 1不成立,结果为 0成立,结果为 1与上面等价,结果为 1,如何判断数学中的逻辑关系:0a9?,等价于(0=a)=9,10 结果恒为1,0=a=9,逻辑运

22、算符与逻辑表达式,1)逻辑运算符,与:当两个分量同时为真(非0)时,结果为1,其余为0 举例:5&,|从左到右 举例:a|b|c,逻辑运算符,2)数学表达式 0 x9 在c语言中如何写?(0=x)&(x=9),举例:,注意:1)表达式1|表达式2 1|a 恒为1 如果表达式1,已经为1,不再计算表达式2举例:int a=1,b=3,c;c=(a+)|(b+);a?b?c?2)表达式1 a?b?c?,a=2,b=3,c=1,a=-1,b=3,c=0,1)a=1,b=3,c=0;!a&b|a&(c+1)?,1,条件1满足,并且条件2满足 条件1&条件2条件1满足,或条件2满足 条件1|条件2,逗号

23、运算符与逗号表达式,1)逗号做分隔符 例如:int a,b,c;printf(“%d,%d”,a,b);2)逗号做运算符,3)表达式格式:表达式1,表达式2,表达式n 例如3+5,6+8,3+14)执行过程:先执行表达式1,再执行表达式2,依次执行下去,最后求表达式n的值 整个表达式的值是表达式n的值 举例:3+5,6+8 的值是14 5)逗号运算符的优先级比其他所有运算符都低 举例:1)a=3*5,a*4的值?2)(a=3*5,a*4),a+15的值?,60,30,条件运算符表达式格式:表达式1?表达式2:表达式3 举例:(52)?4:1 或者(ab)?(a+1):(a/b)功能:如果表达式

24、1成立(表达式的值为非0)则整个表达式的值取表达式2的值;否则,取表达式3的值,例:max=(ab)?a:b;,举例:52?4:1 的值?,4,求变量a与b的最大值,唯一的三目运算符,条件表达式能根据表达式1的值来选择结果,条件运算符与条件表达式,共 26 页 第 38 页,2-4 简单的C语言程序介绍,例4:/*example4.c*/int max(int x,int y)int m;if(xy)m=x;else m=y;return(m);main()int a,b,maxnum;scanf(%d,%d,运行结果是:2,5maxnum=5,输入两个数,输出较大的数,int max(int

25、 x,int y)int m;m=(xy)?x:y;return(m);,条件运算符,结合性:从右向左,举例:a=1,b=2,c=3,d=4,表达式ab?a:cb?a:(cd?c:d)结果:3,ab?a:cd?c:d,等价于 ab?a:(cd?c:d),运算符间的优先级,()括号 改变表达式中的优先级关系单目运算符+;-;!;-(负)算术运算符*;/;%+;-关系运算符;=;=;!=逻辑运算符%=右结合逗号运算符,高,低,优先级不同时:运算符优先级的高低决定进行运算的先后次序优先级相同时:同优先级运算符的运算次序由结合性决定。,3-5 数据类型转换,在一个表达式中,允许不同数据类型的数据进行混

26、合运算 例如:3.14+2-c+56/8.0运算要求:运算分量1 OP 运算分量2 两个运算分量必须先转换为相同类型,再运算数据类型转换方式有三种:“隐式的”类型转换“强制的”类型转换“赋值表达式”类型转换,3-5 数据类型转换,例如:3.14+2-c+56/8.0 运算:运算分量1 OP 运算分量2 两个运算分量必须先转换为相同类型,再运算“隐式的”类型转换是一种自动转换,只要两个分量是不同类型就自动转换 举例:32+1;1.4+2.1;c+a 但 2+3.1,2+a转换规则 较低类型较高类型 举例:a+32 字符 整型 32+3.14 整型 实型 float f;double d;f+d;

27、,举例:int i=3;float f=0.1;double d=3.4;long e=2;求10+a+i*f-d/e,5)107.3-1.7,-,-,在内存占字节少的类型,向占字节多的转换,注意类型间的隐式转换,3-5 数据类型转换,2、强制类型转换 强制将表达式值的类型转换为指定类型(类型名)表达式 类型名是int,float,double,char之一 例如:1)(int)(5.6)+3 2)int a=5;(float)a/2 3)x=1.6,y=2.5;(int)x+y与(int)(x+y)的区别,8/*隐式转换是double,强制为整型*/,2.5,表达式不是单个数据加(),举例:

28、已知:int a=3,b=-4,c=5,x=2.5,y=4.7;int(y)+y(float)(a+b)/2+(int)x%(int)y,1.5,8.7,小数部分全部舍掉,不会四舍五入,3-5 数据类型转换,3、赋值表达式的类型转换 int i;i=2;int i;i=3.1;变量=表达式;赋值号右边的类型赋值号左边变量的类型 例如:int a;a=3.14;float f;f=4;int d;d=f+1;,a=3f=4.0d=5,举例:三种类型转换 int a,b;求表达式:(a=3.4)+4.5+(float)(2),9.5,实例 设a=5;则a+=a*=a+a运算后,a=,100,运算实例,()括号单目运算符+;-;!;-(负)算术运算符*;/;%+;-关系运算符;=;=;!=逻辑运算符%=逗号运算符,高,0,5,设int a=6;a/=a+a运算后,a=,int a=5,b=2;表达式b+=(float)(a+b)/2,设a=3,b=-4,c=5;+a-c+b,共 26 页 第 46 页,第三章 C语言程序设计基础,第一节 介绍基本数据类型、常量与变量第二节 各种类型的常量第三节 各种类型的变量第四节 运算符及表达式第五节 数据类型转换,总结:,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号