(演示)计算机程序设计基础(c语言)-第2章_数据类型、运算符与表达式(通信专业用+新版).ppt_第1页
(演示)计算机程序设计基础(c语言)-第2章_数据类型、运算符与表达式(通信专业用+新版).ppt_第2页
(演示)计算机程序设计基础(c语言)-第2章_数据类型、运算符与表达式(通信专业用+新版).ppt_第3页
(演示)计算机程序设计基础(c语言)-第2章_数据类型、运算符与表达式(通信专业用+新版).ppt_第4页
(演示)计算机程序设计基础(c语言)-第2章_数据类型、运算符与表达式(通信专业用+新版).ppt_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1,第2章数据类型、运算符与表达式,2,内容提要,基本数据类型;常量和变量;标识符命名;常用运算符和表达式;运算符的优先级与结合性,3,例2.1一个简单的C程序例子,#include/*函数功能:计算两个整数相加之和入口参数:整型数据a和b返回值:整型数a和b之和*/intAdd(inta,intb)return(a+b);/*主函数*/main()intx,y,sum=0;printf(Inputtwointegers:);/*输入两个整型数x和y*/scanf(%d%d,(背诵),程序特点函数(Function)是C程序的基本单位,即C程序是由函数构成的.函数的一般形式由首部和函数体组成函数名(参数)变量声明部分;执行语句部分;函数的名字为main的函数,称主函数。只能有一个.一个程序总是从main函数开始执行的除main函数外,其它函数都是在执行main函数时被调用执行的;包括用户自定义函数和库函数C语言的书写格式与规则(教材15页),4,续,#includeintAdd(inta,intb)return(a+b);main()intx,y,sum=0;printf(Inputtwointegers:);scanf(%d%d,思考:Q:#include作用?A:#include是编译预处理命令,stdio.h是系统提供的头文件,作用是该头文件包含到本文件中.Q:本程序中有几个函数?A:main函数和add函数还有吗?Q:函数的结构?A:函数名(参数)变量声明部分;执行语句部分;Q:main的函数的作用?A:是主函数。只能有一个.一个程序总是从main函数开始执行的除main函数外,其它函数都是在执行main函数时被调用执行的;包括用户自定义函数和库函数,5,C程序常见符号分类,关键字(Keyword)又称为保留字,C语言中预先规定的具有固定含义的一些单词int,return等见附录B标识符(Identifier)系统预定义标识符,main,库函数名printf等用户自定义标识符,Add,x,y等运算符(Operator)34种,详见附录D分隔符(Separator)空格、回车/换行、逗号等其它符号大花括号“”和“”通常用于标识函数体或者一个语句块“/*”和“*/”是程序注释所需的定界符,6,常见符号示例,#includeintAdd(inta,intb)return(a+b);main()intx,y,sum=0;printf(Inputtwointegers:);scanf(%d%d,思考:Q:哪几个是关键字(Keyword)?A:int,returnQ:哪几个是标识符(Identifier)?A:系统预定义标识符,main库函数名printf,scanf用户自定义标识符,函数名Add,变量名x,y,sum等Q:哪几个是运算符(Operator)?A:=+Q:哪几个是分隔符?A:,空格回车Q:其它符号的含义?A:大花括号和:通常用于标识函数体或者一个语句块/*和*/程序注释所需的定界符“Inputtwo.:”双引号是字符串定界符%d:格式转换说明符55页n:转义字符23页,7,标识符命名,由英文字母、数字和下划线组成,大小写相关不可以是数字开头直观,见名知意,便于记忆和阅读最好使用英文单词或其组合切忌使用汉语拼音下划线和大小写通常用来增强可读性variable_name(UNIX风格)variableName(Windows风格)不允许使用关键字作为标识符的名字int,float,for,while,if等教材21页,8,数据类型(DataType),什么是数据(Data)?定义一:数据是客观事物的符号表示。定义二:能输入到计算机中并被计算机程序处理的符号的总称。程序处理的数据有常量(Constant)和变量(Variable)两种基本的数据形式。(教材22-28页)数据为什么要区分类型?主要的目的是便于对它们按不同的方式和要求进行处理不同的的数据类型区别包括合法的取值范围数据表示形式占用内存空间大小可参与的运算种类,9,数据类型的分类教材18页,空类型,数据类型,基本类型,构造类型,指针类型,整型int,实型(浮点型)float,字符型char,枚举类型,数组类型,结构体类型,共用体类型,单精度实型,双精度实型,基本整型,长整型,短整型,无符号整型,长双精度实型,本章只介绍基本类型,10,常量:在程序的运行过程中,其值不能改变的量。直接常量:有不同的类型。整型常量1实型常量-12.45字符型常量a字符串常量:是一对双引号括起来的字符序列。如Inputtwointegers:,常量,教材22页,11,变量教材26页,变量:在程序的运行过程中,其值可以改变的量。特点:变量有名字,用用户自定义的标识符来标识变量名.变量在内存中占据一个具体的存储单元,该单元用变量名标识.该内存单元存放的数据称为变量的值变量声明:声明为某种具体类型变量定义语句格式:数据类型关键字变量名1,变量名2,inti=1,sum=0;注意:1.声明的顺序无关紧要2.声明变量,是初始化变量的最好时机,不被初始化的变量,其值为危险的随机数3.变量必须先定义,后使用(?)。所有变量必须在第一条可执行语句前定义,例,例,12,例1:求半径r分别为5和5.3圆的周长,#includemain()intr1=5,cf1;floatr2=5.3;cf1=2*3*r1;printf(cf1=%dn,cf1);printf(cf2=%fn,2*3.14*r2);,Page12,变量名?提示:哪些是前面提到的标识符?,13,例2:求半径r分别为5和5.3圆的周长,#includemain()intr1=5,cf1;floatr2=5.3;cf1=2*3*r1;printf(cf1=%dn,cf1);printf(cf2=%fn,2*3.14*r2);,Page13,运行结果:cf1=30cf2=33.284001,变量定义语句有几条?,运行结果是什么?,为什么得到这样的输出的格式?,14,格式输出函数printf(),格式输出函数printf(格式控制字符串,输出值参数表);输出若干个任意类型的数据printf(a=%db=%f,a,b);,输出表列(输出其值),普通字符(原样输出),printf()的各种格式转换说明符见教材55页表3-1,15,变量为什么要先定义?,启发:与数据类型不同有关系变量的数据类型决定了编译程序(编译器)为其分配的内存单元的字节数,数据的存放形式,该变量的合法取值范围及可参与的运算.数据类型的不同体现在哪些方面?合法的取值范围数据表示形式占用内存空间大小可参与的运算种类下面详细介绍各种数据类型,16,数据类型的分类教材18页,空类型,数据类型,基本类型,构造类型,指针类型,整型int,实型(浮点型)float,字符型char,枚举类型,数组类型,结构体类型,共用体类型,单精度实型,双精度实型,基本整型,长整型,短整型,无符号整型,长双精度实型,本章只介绍基本类型,17,用关键字int表示,所占内存根据计算机结构的不同而有区别,在大多数机器上占4个字节。整型常量:整常数123,-345,0;0 x”或者“0X”开始的整型常数是十六进制0 x12整型变量:存储整型常量的变量,基本数据类型:整型,类型关键字所占内存(字节)数值范围I/O格式符有符号基本int与计算机结构有关%d短整shortint2-3276832767%hd长整longint4-231(231-1)%ld无符号unsignedint2065535%uunsignedshort2同上%huunsignedlong40(232-1)%lu(见附录C),18,数据类型修饰符,Short:短型Long:长型Signed有符号一般缺省都是有符号的,所以这个修饰符通常省略unsigned他们是无符号的整数教材19页,19,基本数据类型:实型(浮点型),实型(浮点型):一般占内存4个字节长类型关键字所占内存(位)数值范围有效数字I/O格式符单精度float410-3710387%f双精度double410-3071030816%f长双精度Longdouble810-493110493219%f(见附录C)实型常量十进制形式:0.123,123.456,-16.5指数形式:1.23e2代表123102实型变量:存储实型常量的变量,20,基本数据类型:字符型,字符常量单引号括起来的一个字符,如:a,D,?,$转义字符如:n(换行)教材23页表2-2字符变量用来存放字符常量例:charc1,c2;c1=a;c2=A;字符数据在内存中的存储形式以ASCII码存储(见附录E),占1字节,用7个二进制位,Page20,21,基本数据类型:字符型,字符串(常量)1.是一对双引号括起来的字符序列。如“Howdoyoudo”;“China”;“a”2.字符串的存储方式,3.字符常量与字符串常量不能混淆所以:charc;c=a;,22,整型数据在内存的存储方式,整型数据占内存2或4个字节。,23,实型(浮点型)数据在内存的存储方式,110.011(B)=+0.110011(B)2+11(B),N=数符尾数2阶符阶码尾数的位数决定数的精度阶码的位数决定数的范围,浮点型数据占内存4或8个字节,24,字符型数据在内存的存储方式,字符型数据,在内存占一个字节(8位)采用ACSII码(AmericanStandardCodeforInformationInterchange)美国信息交换标准码见附录E包括128个常用字符,用7位二进制编码,从0到127其中控制字符:032,127;普通字符:94个。例如:“a”字符的编码为1100001,对应的十进制数是97;0930H39H4857AZ41H5AH6590az61H7AH97122,25,例3:求半径r分别为5和5.3圆的周长,#includemain()intr1=5,cf1;floatr2=5.3;cf1=2*3*r1;printf(cf1=%dn,cf1);printf(cf2=%fn,2*3.14*r2);,Page25,有哪几种类型的变量?变量名是?,26,格式输入函数引入例4:从键盘输入半径r的值(实数),求圆的周长。,#includemain()floatr,cf;printf(“Inputtheradialn”)scanf(%f,Page26,运行结果:cf=33.28,程序运行结果完整吗?scanf()的功能?,27,格式输入函数scanf(),格式输入函数scanf(格式控制字符串,参数地址表);scanf(%d,%f”,scanf()的各种格式转换说明符见教材57页表3-2,28,C常用运算符及表达式,算术运算符关系运算符逻辑运算符位运算符赋值运算符条件运算符逗号运算符指针运算符求字节运算符强制类型转换运算符分量运算符下标运算符其他表达式:用运算符和括号将操作数(也称运算对象)连接起来,符合c语法规则的式子.,29,例:从键盘输入两个整数,找出其值大的数,并求其平均值,并输出。,#includemain()inta,b,aver,max;printf(Inputthea,b);scanf(%d,%d,用到了哪些运算符?,赋值运算符算术运算符关系运算符,30,赋值运算符与赋值表达式,赋值运算符:=作用是将一个数据赋给一个变量赋值表达式:例:a=5变量的值是5,整个表达式值为5复合的赋值运算符:C语言中有10种复合运算符:+=,-=,*=,/=,%=等例:a+=3等价于a=a+3x*=y+8等价于x=x*(y+8),31,算术运算符,算术运算符与算术表达式基本的算术运算符:+,-,*,/,%其中:/运算符两侧若为整数,则结果为整数,舍去小数部分并“向零取整”。若有一个数为实数,结果为double型.5/2=25.0/2=2.5%运算符两侧必须为整数,结果为余数如:7%4=3,32,关系运算符,,=,floatlongintshortchar,教材44页,41,类型强制转换可以通过“(类型)表达式”的方式把表达式的值转为任意类型,#include/*例2.7教材40页*/main()intm=5;printf(m/2=%dn,m/2);printf(float)(m/2)=%fn,(float)(m/2);printf(float)m/2=%fn,(float)m/2);printf(m=%dn,m);,m/2=2(float)(m/2)=2.000000(float)m/2=2.500000m=5,42,逗号运算符与逗号表达式,格式:表达式1,表达式2求解顺序及结果:先求解1,再求解2,最终结果为表达式2的值例a=3*5,a*4最终结果为60(逗号运算符的优先级低于赋值运算符)(a=3*5,a*4),a+5结果为:20,43,优先级,()-.!+-+-*printf(circumference=%fn,2*PI*R);,area=88.247263circumference=33.300854,自学教材22页,47,基本数据类型:枚举类型(自学教材25页),枚举:一一列举,用于某些量仅由有限个数据值组成枚举类型:描述的是一组整型值的集合,用关键字enum来定义这种类型main()enumresponseno,yes,none;enumresponseanswer;ans

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论