收藏 分销(赏)

C程序设计基础-PPT课件.ppt

上传人:a199****6536 文档编号:9282125 上传时间:2025-03-19 格式:PPT 页数:26 大小:1.38MB
下载 相关 举报
C程序设计基础-PPT课件.ppt_第1页
第1页 / 共26页
C程序设计基础-PPT课件.ppt_第2页
第2页 / 共26页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,2.1,常量和变量,第二章,C,程序设计基础,符号常量在其作用域内不能再赋值。,符号常量的好处:(1)含义清楚。(2)需改变时,,“,一改全改,”,。,注意:,2025/3/19 周三,1,2.1,常量和变量,注意:,1,、变量中的值:变量必须要有值才能参与运算,,(如果一个变量没有赋值,则该变量是一个随机值),变量可以在定义后与其赋值,也可以定义时赋值,可根据程序的需要而改变;,2,、变量的类型:不同类型的变量所能存放的数据值的大小是不同的;,3,、变量名:用于区分不同的变量,即,标识符,;,2025/3/19 周三,2,标识符:,C,语言中的标识符用于给程序种的常量,变量,函数,文件指针和数据类型等命名。其构成规则如下:,1,、标识符由英文字母(,az,,,AZ,)或下划线开头,后面可跟字母、数字或下划线;,2,、标识符中的大、小写英文字母表示不同含义,即代表不同的标识符,通常,C,程序种的变量用小写字母,符号常量用大写字母;,3,、不同的,C,编译系统对标识符所用的字符个数由不同的规定,,ANSI C,可以识别的标识符的前,31,个字符,但由有的,C,编译系统 只识别前,8,个字符;,4,、用户取名时,应当尽量遵循,“,见名知意,”,和,“,简洁明了,”,的原则;,2025/3/19 周三,3,2.2,基本数据类型,基本类型,构造类型,指针类型,空类型,整型 字符型 实型,(,浮点型,),枚举类型 数组类型,单精度型,双精度型,结构体类型,共用体类型,数据类型,2025/3/19 周三,4,2.2,基本数据类型,整型,整型常量,整型常量即整型常数,十进制整数、八进制整数,(以,0,开头的数)、,十六进制整数,(以,0 x,开头的数),整型变量的分类,整型变量总体上可以分为,有符号数和无符号数,两类,整数类型,所占位数,定义类型字,表示数的范围,有,符,号,基本型,16,int,-32768 +32767,短整型,16,short int,-32768 +32767,长整型,32,long int,-2,31,(,2,31,-1,),无,符号,基本型,16,unsigned int,0 65535,短整型,16,unsigned short,0 65535,长整型,32,unsigned long,0,(,2,32,-1,),2025/3/19 周三,5,2.2,基本数据类型,整型类型,整型变量的定义,用定义类型字来定义变量的类型,一般放在函数,开头,的声明部分。,#include,void main(),int a,b,c,d;,/*定义整型变量*/,unsigned u;,a=1;b=-2;u=10;,c=a+u;d=b+u;,printf(a+u=%d t b+u=%d n,c,d);,整型数据的,溢出,如果一个整形变量存放的值,,超出,它所允许的范围,将会产生溢出,例如一个,int,型变量,如果其值为,32767,,再加,1,就会产生溢出,变成,-32768,,但运行时并不报错。,2025/3/19 周三,6,2.2,基本数据类型,整型类型,整型常量的类型,注意:,1,、一个整常量,如果其值在,-32768+32767,范围内,认为它是,int,型,它可以赋给,int,型和,long int,型变量。,2,、一个整常量,如果其值超过了上述范围,而且是在,-2147483648 +2147483647,范围内,则认为它是,long int,型。,3,、一个整常数后面加一个字母,u,或,U,,认为是一个,unsigned int,型常数。,4,、一个整常数后面加一个字母,l,或,L,,认为是一个,long int,型常数。,【例】整型变量的定义与使用。,#include,void main(),int a,b,c,d;,程序结果为:,unsigned u;,a=12;b=-24;u=10;a+u=22 b+u=-14,c=a+u;d=b+u;,printf(,“,a+u=%d,b+u=%dn,”,c,d);,2025/3/19 周三,7,2.2,基本数据类型,实型,实型常量的表示方法,1,、十进制小数形式:,.123 23.12,、指数形式:,123e3 1.234e34,(,e,前必须有数字,,e,后指数必须为整数,),在数的后面加字母,f,或,F,,就为单精度数,否则处理成双精度数。,实型变量,单精度,(float):4B 10-38 1038 67,双精度,(double):8B 10-308 10308 1516,长双精度,:16B 10-4931 104932 1819,实型数据在内存中的存放形式,一个实型数据一般在内存中占四个字节,系统把一个实型数分成小数部分和指数部分,分别存放采用规范化的指数方式示,如:,数符,小数,指数符号,指数,+,0.123456,-,2,小数部分,指数部分,2025/3/19 周三,8,2.2,基本数据类型,字符型,字符型变量,字符变量用来存放字符常量,,字符变量的定义形式如下:,char c1,c2;,可以用下面的语句对,c1,、,c2,赋值:,c1=a;,c2=b;printf(,“,%c,%c,%d,%d,”,c1,c2,c1,c2);,字符数据的存放,一个字符常量放到一个字符变量中,是把该字符的,ASCII,码,放在存储单元中。,c1,c2,97,98,注意:,1,、字符型数据和整形数据是,通用,的。但字符数据只能存放,0255,范围内的整数。,2,、字符数据与整数可以,直接,进行算术运算。,3,、字符数据与整型数据可以,相互,赋值。,4,、,Turbo C,将字符数据处理成带符号的整数,如果不想按有符号处理,可将字符变量定义为,unsigned char,类型。,2025/3/19 周三,9,2.2,基本数据类型,字符型,字符常量,C,语言的字符常量是用,单引号,括起来的一个字符,称为转义字符。如,a,,,X,,,A,。,C,语言还有一些特殊字符的常量,如下表,字符形式,功能,n,换行,t,横向跳格,(,即跳到下一个输出区,),b,退格,r,回车,f,走纸换页,反斜杠字符,单引号,ddd,1,到,3,位八进制数所代表的字符,xhh,1,到,2,位十六进制数所代表的字符,2025/3/19 周三,10,2.2,基本数据类型,各种数据类型值之间混合运算,数据类型转换,整型、实型、字符型数据间可以混合运算。例如:,10+,a,+1.5,2-,b,=12.0000,在运算时,不同类型的数据要先转换成同一类型,然后进行运算。转换的规则如下所示:,高,double float,long,unsigned,低,int char,short,设,int i;float f;double d;long e;,则式子,10+,a,+i*f-d/e,的结果为,double,型。这种转换称为自动转换。,2025/3/19 周三,11,C,语言中自动转换是系统自动完成的,但有时自动转换没完成或不能实现。这是就需要强制转换。,格式为,:,(,类型名,),(表达式),如,(double)5/2,(int)(2.5),等,例,2-9,:,#include,void main(),float x=3.7,y=4.4,z;,z=(int)(x+y);,printf(,“,x=%f,y=%f,z=%fn,”,x,y,z);,2025/3/19 周三,12,2.3,运算符与表达式,运算符总汇,2025/3/19 周三,13,2.3,运算符与表达式,算术运算符,符号,功能,例子,+,加法运算或正值运算,1+2,,,+9,-,减法运算或负值运算,4-8,,,-8,*,乘法运算,5*3,/,除法运算,4/3,%,取余运算,7%3,使用说明:,1,、,两个整数相除的结果为整数,,如,4/3,的结果为,1,,小数部分被舍去;,2,、,两个参加运算的数中有一个数为实数,,此时所有的数都按,double,型进行计算,其,结果为,double,型数据;,3,、,%,运算符要求两个操作数都是整数,,否则编译器会报错。例如,5.3%3,就是错误的表达式。如果实在要运算,可以先将其强制类型转换为整数,再进行求余,如,(int)(5.3%3)=2,;,2025/3/19 周三,14,2.3,运算符与表达式,赋值运算符与赋值表达式,符号,功能,例子,=,将表达式右边的数据赋值给左边的变量,x=3+a,+=,将表达式右边的计算结果,加上,左边的变量再赋值给左边的变量,x+=3+a,等价于,x=x+(3+a),-=,将表达式右边的计算结果,减去,左边的变量再赋值给左边的变量,x-=3+a,等价于,x=x-(3+a),其它,使用说明:,1,、赋值号左边必须是变量;,2,、赋值号的作用是将表达式右边的值计算出来再赋值给左边的变量;,3,、原则上要求赋值号左右两边数据类型要一致,实在不一致时,系统将尽可能自动进行类型转换,把右边的数据类型转换为左边的;,2025/3/19 周三,15,2.3,运算符与表达式,关系运算符和关系表达式,符号,功能,例子,小于,3,大于,34,是,假的,=,比较是否相等,3=4,是,假的,!=,比较是否不等,3!=4,是,真的,=,小于等于,3=,大于等于,3=4,是,假的,使用说明,1,、,=,优先级高于,=,和!,=,2,、判断两个数是否相等,应该使用,“,=,”,而不是赋值号,“,=,”,;,3,、在书写,“,=,”,等符号时,中间不要有空格;,4,、算术运算符的优先级,高于,关系运算符,关系运算符,高于,赋值运算符;,5,、关系表达式的结果只能是真或假,分别用,“,1,”,或,“,0,”,表示,.,2025/3/19 周三,16,2.3,运算符与表达式,逻辑运算符和逻辑表达式,符号,功能,例子,&,逻辑与,0&0=0,、,0&1=0,、,1&0=0,、,1&1=1,|,逻辑或,0|0=0,、,0|1=1,、,1|0=1,、,1|1=1,!,逻辑非,!1=0,、,!0=1,使用说明:,1,、逻辑非优先级,高于,逻辑与和逻辑或,逻辑与和逻辑或优先级,相同,;,2,、,C,语言规定:非,0,都表示,“,真,”,,只有,0,表示,“,假,”,;,例:,6-3+!5,a=1,b=2 a(a=a-1)&(b=b+1),2025/3/19 周三,17,2.3,运算符与表达式,逗号运算符和逗号表达式,使用说明:,1,、逗号运算符是,所有运算符当中优先级最低的,;,一般形式:,表达式,1,,表达式,2,,,,表达式,n,运算规则:,先计算表达式,1,,然后计算表达式,2,,,,最后计算表达式,n,运算结果:,整个表达式的结果就是表达式,n,计算的结果,2025/3/19 周三,18,2.3,运算符与表达式,自增和自减运算符,符号,功能,例子,+,加,1,i+,+j,-,减,1,i-,-j,使用说明:,1,、,“,+,”,、,“,-,”,都只能作用于变量,不能作用于常量和表达式,例如,3+,,,(a+b)-,都是非法的;,2,、自增和自减运算符的优先级是相同的,而结合性的是,“,自右自左,”,,所以,-i+,这样的表达式是合法的,它表示先做,i+,,再做,-i,;,3,、应该尽量避免书写,a+b,这样的表达式,虽然在语法上它是正确的,但是你其实可以选择这样写,(a+)+b,,不是吗?,2025/3/19 周三,19,2.3,运算符与表达式,位运算符,符号,功能,例子,&,按位与,0&0=0,、,0&1=0,、,1&0=0,、,1&1=1,|,按位或,0|0=0,、,0|1=1,、,1|0=1,、,1|1=1,按位异或,00=0,、,01=1,、,10=1,、,11=0,按位取反,(00001101)=11110010,左移,00001101,右移,001101002=00001101,使用说明:,1,、位运算符都是对二进制数据进行按位操作的,所以遇到,3&4,这样的表达式,别忘了写先将数据转换为其对应的二进制;,2,、左移和右移只是对操作数进行按位移动而已,如果不是将运算结果赋值给原变量的话,就不会改变原变量的值,例如,a2,和,a=a2,是两码事,,前者不会改变,a,的值,而后者就会改变,;,2025/3/19 周三,20,2.3,运算符与表达式,其他运算符,符号,功能,例子,?:,条件运算符,34?3:4,这样的表达式的值就是,3,sizeof,取字节数运算符,sizeof(char),的值就是,1,使用说明:,1,、条件运算符是,C,语言中唯一的三目运算符,它的优先级比赋值运算符高一些,其结合方向为,“,自右至左,”,;,2,、取字节数运算中,变量或数据类型所占据的字节数是和编译器相关的,在不同的编译器中,同样的数据类型可能就占据了不同的字节数,例如,int,在,TC,中就,2,字节,,而在,VC,中,就占据了,4,个字节,;,2025/3/19 周三,21,2.4 C,语句概述,C,语句种类:,1,、表达式语句:,在一个表达式后面加一个分号,“,;,”,,就构成表达式语句;,2,、函数调用语句:,在函数调用后面加一个分号,“,;,”,,就构成函数调用语句;,3,、控制语句:,控制,C,程序执行流程的语句,,C,语言中包含了选择和循环共,9,种流程控制语句;,4,、空语句:,只有一个分号构成,“,;,”,,它并不执行任何具体操作,通常在特殊情况下做程序跳转的转向位置标记或循环语句的循环体;,5,、复合语句:,由一对大括号,把若干语句括起来的一组语句称为符合语句;,2025/3/19 周三,22,2.5,数据的输入与输出,字符输入,/,输出函数,函数,功能,示例,putchar(int),向终端输出一个字符,putchar(a),getchar(),从终端读入一个字符,ch=getchar(),使用说明:,1,、,putchar,函数带有一个参数,这个参数就是将要输出的字符,输出的默认终端指的是显示器;,2,、,getchar,函数没有带参数,所以你必须将终端输入进来的这个字符赋值给一个字符变量才行,输入的默认终端指的是键盘;,2025/3/19 周三,23,2.5,数据的输入与输出,格式化的输出,函数,功能,示例,printf(“,格式控制字符串,”,输出列表,),格式化的输出函数,printf(“a=%d”,a),使用说明:,1,、格式控制字符穿是用双引号引起来的字符串,它包含如下,3,种信息:,格式说明符:,由,%,和格式字符组成,表示将输出的数据转换为指定的格式;,转义字符:,由,和转义字符组成,表示一些操作行为;,其它普通字符:,既原样输出的字符,一般为提示信息或便于理解输出信息的一些字符;,2,、输出列表是需要输出的一些数据,可以是变量或表达式,其项数必应该与控制参数中的格式转换控制字符的个数相同;,2025/3/19 周三,24,2.5,数据的输入与输出,格式控制字符(以,%,开始),形式,含义示例,%,d,十进制形式输出整数(正数不输出符号),%,o,八进制形式输出整数(不输出前导符,0,),%,x,十六进制形式输出整数(不输出前导符,0 x,),%,u,无符号形式输出十进制整数,%,c,字符形式输出一个字符,%,s,输出一个字符串,%,f,小数形式输出单,双精度,默认输出,6,位小数,%,e,指数形式输出单,双精度数,数字部分小数位数为,6,位,%,g,自动选取,%f,或,%e,格式中的一种,输出实数,不输出无意义的,0,使用说明:,以上格式字符,除了,X,,,E,,,G,外,其它格式字符必须使用小写字母。,2025/3/19 周三,25,2.5,数据的输入与输出,格式化的输入,函数,功能,示例,scanf(“,格式控制字符串,”,地址列表,),格式化的输入函数,scanf(“%d”,&a),使用说明:,1,、,scanf,函数中,“,格式控制,”,后面跟的应当是,变量的地址,,而,不是变量名,;,2,、在,“,格式控制,”,字符串中,最好只用格式说明符而不要加入其它字符,。,如果有,则在输入数据在其对应位置必须输入相同的字符,数据才能被正确接收,;,3,、在接收数据时,系统默认的分隔符是,空格、回车和,Tab,键,。,4,、,遇到非法输入时,系统认为数据输入结束,;,5,、在用,“,%c,”,格式符接收字符数据时,,空格,和,转义字符,都作为,有效字符输入,;,2025/3/19 周三,26,
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服