C程序设计基础

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

最新文档


当前位置:首页 > 图纸专区 > 小学资料


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

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


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