第3章 最简单c程序设计1_第1页
第3章 最简单c程序设计1_第2页
第3章 最简单c程序设计1_第3页
第3章 最简单c程序设计1_第4页
第3章 最简单c程序设计1_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

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

文档简介

1、3.1 数据的表现形式及其运算数据的表现形式及其运算3.2 C语句语句3.3 数据的输入输出数据的输入输出3.4 顺序程序设计举例顺序程序设计举例3.1 数据的表现形式及其运算数据的表现形式及其运算3.1.1 常量和变量常量和变量3.1.2 数据类型数据类型3.1.3 整型数据整型数据3.1.4 字符型数据字符型数据3.1.5 浮点型数据浮点型数据3.1.6 怎样确定常量的类型怎样确定常量的类型3.1.7 运算符和表达式运算符和表达式3.1.1 常量和变量常量和变量1.常量:在程序运行过程中,其值常量:在程序运行过程中,其值不能被改变的量不能被改变的量整型常量整型常量:如:如1000,1234

2、5,0,-345实型常量实型常量u十进制小数形式:如十进制小数形式:如0.34 -56.79 0.0u指数形式:如指数形式:如12.34e3 (代表代表12.34 103)3.1.1 常量和变量常量和变量字符常量字符常量:l单引号括起来的单引号括起来的一个字符。如:字符。如: a l字符常量的值是一个数字值。如字符字符常量的值是一个数字值。如字符常量常量 0 ,其,其ASCII为为48,所以存,所以存储的实际值为储的实际值为48。l字符常量可以象整数一样参与运算。字符常量可以象整数一样参与运算。3.1.1 常量和变量常量和变量字符常量字符常量:转义字符转义字符 功能功能 转义字符转义字符 功功

3、 能能 a 响铃响铃 反斜杠字符反斜杠字符 b 退一格退一格 单引号字符单引号字符 f 走纸换页走纸换页 “ 双引号字符双引号字符 n 换行换行 ? 问号问号 r 回车回车 ooo 13位位8进制数代表的字符进制数代表的字符 t 横向跳格横向跳格 xhh 12位位16进制数代表的字符进制数代表的字符 main() char c1=101,c2= x42; printf(atbctbABCn); printf(xyzt%c %c,c1,c2); 结果?结果?a bc xyz A B3.1.1 常量和变量常量和变量l双引号括起来的字符序列。双引号括起来的字符序列。 如如How are you,0等

4、等l字符串在存储时末尾被自动加上字符字符串在存储时末尾被自动加上字符0l字符常量与只包含一个字符的字符串常量的字符常量与只包含一个字符的字符串常量的区别区别字符串常量:3.1.1 常量和变量常量和变量用一个标识符代表一个常量用一个标识符代表一个常量 #define PI 3.14159 main( ) float r,s,area; scanf(%f,&r); s=2* *PI* *r; area=PI*r*r; printf(s=%7.2f,area=%7.2f,s,area); 符号常量:3.1.1 常量和变量常量和变量符号常量习惯用大写字母表示,如,符号常量习惯用大写字母表示,如,PI、

5、NUM等等使用符号常量的好处:使用符号常量的好处:u含义清楚含义清楚u修改方便修改方便3.1.1 常量和变量常量和变量2. 变量:在程序运行期间,变量的值是可以改变的变量:在程序运行期间,变量的值是可以改变的变量名:变量名:u标识符标识符u由由字母、数字、下划线字母、数字、下划线组成,第一个字符不能是数字组成,第一个字符不能是数字u不能使保留字不能使保留字u不同系统对其长度有不同规定,建议为不同系统对其长度有不同规定,建议为8先定义、后使用先定义、后使用u保证变量使用的正确性保证变量使用的正确性u便于编译程序分配内存单元便于编译程序分配内存单元u便于检查运算的合法性便于检查运算的合法性3.1.

6、1 常量和变量常量和变量3.常变量:常变量:const int a=3;在该变量存在期间其值不能改变在该变量存在期间其值不能改变。3.1.2 数据类型数据类型所谓所谓类型类型,就是对数据分配存储单元的安,就是对数据分配存储单元的安排,包括存储单元的长度排,包括存储单元的长度(占多少字节占多少字节)以以及数据的存储形式及数据的存储形式不同的类型分配不同的长度和存储形式不同的类型分配不同的长度和存储形式3.1.2 数据类型数据类型C语言允许使用的数据类型:语言允许使用的数据类型:基本类型基本类型u整型类型整型类型l基本整型基本整型l短整型短整型l长整型长整型l双长整型双长整型l字符型字符型l布尔型

7、布尔型u浮点类型浮点类型l单精度浮点型单精度浮点型l双精度浮点型双精度浮点型l复数浮点型复数浮点型3.1.2 数据类型数据类型C语言允许使用的数据类型:语言允许使用的数据类型:基本类型基本类型枚举类型枚举类型空类型空类型派生类型派生类型u指针类型指针类型u数组类型数组类型u结构体类型结构体类型u共用体类型共用体类型u函数类型函数类型算术类型算术类型纯量类型纯量类型3.1.3 整型数据整型数据1. 整型数据的分类整型数据的分类最基本的整型类型最基本的整型类型u基本整型基本整型(int型型):占:占2个或个或4个字节个字节u短整型短整型(short int):VC+6.0中占中占2个字节个字节u长

8、整型长整型(long int):VC+6.0中占中占4个字节个字节u双长整型双长整型(long long int):C99新增的新增的3.1.3 整型数据整型数据各类型数据长度、取值范围各类型数据长度、取值范围 signed intunsigned int signed short intunsigned short int signed long intunsigned long int比特数161632321616类 型最小取值范围表表3.2 ANSI标准定义的整数类型标准定义的整数类型 3276832767 即 215( 215 1)04294967275 即 0( 232 1) 214

9、74836482147483647 即 231( 231 1) 3276832767 即 215( 215 1)065535 即 0( 216 1)065535 即 0( 216 1)3.1.3 整型数据整型数据整型数据在内存中的存放形式整型数据在内存中的存放形式 以二进制形式存放。以二进制形式存放。有符号数以有符号数以“补码补码”存放存放u正数的补码与原码相同正数的补码与原码相同u负数的补码:负数的补码:l原码逐位取反后,加原码逐位取反后,加1l2n负数负数(n是数据存放所占二进制位数)是补码是数据存放所占二进制位数)是补码 例:例:5和和5的存放形式。的存放形式。3.1.3 整型数据整型数

10、据整型变量的定义整型变量的定义所有的所有的变量需先定义类型变量需先定义类型int a,b,c; /*指定指定a,b,c为整型变量为整型变量*/unsigned count; /*指定指定lower为无符号整型变量为无符号整型变量*/long s;有些变量可以预先设置初值:有些变量可以预先设置初值:int a=0,b,c; /*指定指定a,b,c为整型变量,为整型变量,a a的初值为的初值为0 0*/int a=0,b=0,c=0; /*指定指定a,b,c为整型变量,为整型变量,a a、b b、c c的的初值为初值为0 0*/3.1.3 整型数据整型数据整型变量的溢出整型变量的溢出由于超出整型变

11、量的表示范围而会产生由于超出整型变量的表示范围而会产生“溢出溢出”。例:例:int型变量型变量a为为32767,加上加上1后出后出现什么结果?现什么结果?3.1.3 整型数据整型数据自动转换自动转换无符号整型常量,在常量后加无符号整型常量,在常量后加u或或U。长整型常量,在常量后加长整型常量,在常量后加l或或L。3.1.4 字符型数据字符型数据1.字符与字符代码字符与字符代码大多数系统采用大多数系统采用ASCII字符集字符集u字母:字母:A Z,a zu数字:数字:09u专门符号:专门符号:29个:个:! ” # & ( ) *等等u空格符:空格、水平制表符、换行等空格符:空格、水平制表符、换

12、行等u不能显示的字符:空不能显示的字符:空(null)字符字符(以以0表表示示)、警告、警告(以以a表示表示)、退格、退格(以以b表示表示)、回车、回车(以以r表示表示)等等2 .字符变量字符变量char c1,c2; /*指定指定c1,c2c1,c2为字符型变量为字符型变量*/字符型数据的存储字符型数据的存储以以ASCII码存储,存储形式与整型一样,可以和整数码存储,存储形式与整型一样,可以和整数进行运算进行运算main()char c1,c2;c1=a;c2=b;c1=c1-32;c2=c2-32;printf(“%c,%cn”,c1,c2);printf(“%d,%dn”,c1,c2);

13、结果:A,B 65,663.1.5 浮点型数据浮点型数据浮点型数据是用来表示具有小数点的实数浮点型数据是用来表示具有小数点的实数float型型(单精度浮点型单精度浮点型)u数值以规范化的二进制数指数形式存放数值以规范化的二进制数指数形式存放指数形式:指数形式:123e3、123E3规范化的指数形式:规范化的指数形式:1.23e5、1.23000e+053.1.5 浮点型数据浮点型数据小数部分小数部分指数部分指数部分+0.3141591如:如:3.14159 的存储格式如下:的存储格式如下:3.14159=+ 0.314159 101变量在内存中的存放形式变量在内存中的存放形式“数据精度数据精度

14、”与与“存储范围存储范围”的矛的矛盾。盾。注注意意实型变量的分类实型变量的分类变量的定义变量的定义float x,y; /*指定指定x,y为单精度实型变量为单精度实型变量*/double z; /*指定指定z为双精度实型变量为双精度实型变量*/类型floatdoublelong double比特数3264128有效数字61519数值范围()1.2 10 38 3.4 1038 () 2.3 10308 1.7 10308() 3.4 104932 1.1 1049323.1.6 怎样确定常量的类型怎样确定常量的类型字符常量:由单撇号括起来的单个字符或字符常量:由单撇号括起来的单个字符或转义字符

15、转义字符整型常量:不带小数点的数值整型常量:不带小数点的数值u系统根据数值的大小确定系统根据数值的大小确定int型还是型还是long型等型等浮点型常量:凡以小数形式或指数形式出浮点型常量:凡以小数形式或指数形式出现的实数现的实数uC编译系统把浮点型常量都按双精度处理编译系统把浮点型常量都按双精度处理u如要编译系统将实数作为单精度来处理,可以如要编译系统将实数作为单精度来处理,可以数后加数后加f或或F。3.1.7 运算符和表达式运算符和表达式1.基本的算术运算符:基本的算术运算符:+ :正号运算符:正号运算符(单目运算符单目运算符) - :负号运算符:负号运算符(单目运算符单目运算符)* :乘法

16、运算符:乘法运算符/ :除法运算符:除法运算符% :求余运算符:求余运算符+ :加法运算符:加法运算符 - :减法运算符:减法运算符注意:注意:对于对于“/”运算符:运算符:u两个整数相除得整数。两个整数相除得整数。u正负数相除,正负数相除,“向向0取整取整”。对于对于“%”运算符:运算符:u运算对象必须是整数。运算对象必须是整数。2. 自增、自减运算符:自增、自减运算符: +运算符的作用是使变量的值增运算符的作用是使变量的值增1 1。 i+ i+ :i=i+1;i=i+1; -运算符的作用是使变量的值减运算符的作用是使变量的值减1 1。 常见的用法有:常见的用法有:u+i,-i:在使用:在使

17、用i之前,先使之前,先使i的值加(减)的值加(减)1ui+,i-:在使用:在使用i之后,使之后,使i的值加(减)的值加(减)1 已知已知 i=5;(1)j=i+; j=? i=? (2)j=+i; j=? i=? 5666注意:注意: 1、自增和自减运算符只能用于变量,表达式、自增和自减运算符只能用于变量,表达式(x+y)+是不合法的。是不合法的。2、自增和自减运算符的结合方向是、自增和自减运算符的结合方向是“自右向自右向左左”。如表达式。如表达式 -i+ 等价于等价于 -(i+)。3、i+j是是(i+)+j还是还是i+(+j)?自左至右自左至右4、i=5;printf(“%d,%d”,i,i

18、+)结果结果3. 算术表达式和运算符的优先级与结合性:算术表达式和运算符的优先级与结合性:算术表达式算术表达式u用算术运算符和括号将运算对象连接起来的式子称为算用算术运算符和括号将运算对象连接起来的式子称为算术表达式。术表达式。u运算对象包括常量、变量、函数等运算对象包括常量、变量、函数等运算符有优先级和结合性运算符有优先级和结合性u在求表达式的值时,要按照优先级的高低依次计算在求表达式的值时,要按照优先级的高低依次计算u如果运算符两侧优先级相同,则按规定的结合方向进行如果运算符两侧优先级相同,则按规定的结合方向进行。结合性结合性从左到右从左到右- +(负号运算符)* / % + - (加减运

19、算符) 我最高! 我最低!C语言允许数据值从一种类型转换成语言允许数据值从一种类型转换成另一种类型。在进行运算时,不同类另一种类型。在进行运算时,不同类型的数据要先转换成同一类型,然后型的数据要先转换成同一类型,然后进行运算。转换的规则按图所示。进行运算。转换的规则按图所示。 高高 double float long unsigned 低低 int char, short 4.不同类型数据间的混合运算:说明:说明:u横向向左的箭头表示当运算对象为横向向左的箭头表示当运算对象为不不同类同类横向向左的箭头表示必定的转换,如字符横向向左的箭头表示必定的转换,如字符型型(char)数据和短整型数据和短

20、整型(short)数据必数据必定先转换成整型定先转换成整型(int),以提高运算精度,以提高运算精度。u纵向的箭头表示当运算对象为不同类型时纵向的箭头表示当运算对象为不同类型时转换的方向。数据总是由低级别向高级别转换的方向。数据总是由低级别向高级别转换转换。3.1.7 运算符和表达式运算符和表达式5. 强制类型转换运算符强制类型转换运算符强制类型转换运算符的一般形式为强制类型转换运算符的一般形式为 (类型名)(表达式)(类型名)(表达式)u(int) (x+y) (将(将x+y的值转换成的值转换成int型)型) u(float)(5%3)(将(将5%3的值转换成的值转换成float型)型)有两

21、种类型转换有两种类型转换u系统自动进行的类型转换系统自动进行的类型转换u强制类型转换强制类型转换 例如例如 若若x原为实型变量且值为原为实型变量且值为2.6,在执,在执行行 i=(int)x 后得到一个整数后得到一个整数2,并把它赋给整型,并把它赋给整型变量变量i,但,但x仍为实型,值为仍为实型,值为2.6。 6.运算符运算符(1) 算术运算符算术运算符 (+ - * / % + -)(2) 关系运算符关系运算符 ( !)!)(3) 逻辑运算符逻辑运算符 (!(! |)(4) 位运算符位运算符 ( | )(5) 赋值运算符赋值运算符 (及其扩展赋值运算符)(及其扩展赋值运算符)(6) 条件运算

22、符条件运算符 (?:)(?:)6.运算符运算符(7) 逗号运算符逗号运算符 (,)(,)(8) 指针运算符指针运算符 (*和)和)(9) 求字节数运算符求字节数运算符 (sizeof)(10) 强制类型转换运算符强制类型转换运算符 ( (类型类型) )(11) 成员运算符成员运算符 (.-)(12) 下标运算符下标运算符 ( )(13) 其他其他 (如函数调用运算符()(如函数调用运算符()3.2 C语句语句3.3.1 C语句的作用和分类语句的作用和分类3.3.2 最基本的语句最基本的语句-赋值语句赋值语句3.3.1 C语句的作用和分类语句的作用和分类源程序文件1C程序数据声明源程序文件2源程

23、序文件n预处理命令数据声明函数1函数首部函数n函数体执行语句3.2.1 C语句的作用和分类语句的作用和分类语句分为以下语句分为以下5类:类:(1) 控制语句:控制语句: if、switch、for、while、dowhile、continue、break、return、goto等等(2) 函数调用语句函数调用语句(3) 表达式语句表达式语句(4) 空语句空语句(5) 复合语句复合语句1.赋值运算符赋值运算符: 简单的赋值就是把一个表达式的值赋给一个变量简单的赋值就是把一个表达式的值赋给一个变量。l例如:例如: i = 5 ; j=3;i = j + 1;3.2.2 最基本的语句最基本的语句-赋

24、值语句赋值语句2.复合的赋值运算符复合的赋值运算符u在赋值符在赋值符“”之前加上其他运算符,可以构成复合的之前加上其他运算符,可以构成复合的运算符运算符例如:例如:i + = 2 等价于等价于 i = i + 2 a * = b + 5 等价于等价于 a = a * (b + 5)x% = 3 等价于等价于 x = x%33.赋值表达式赋值表达式 由赋值运算符将一个变量和一个表达式连接起来由赋值运算符将一个变量和一个表达式连接起来的式子称为赋值表达式。的式子称为赋值表达式。形式:形式: 变量赋值运算符表达式变量赋值运算符表达式 例如:例如:x=3 y=x+3 对赋值表达式求解的过程是:将赋值运

25、算符右侧对赋值表达式求解的过程是:将赋值运算符右侧的表达式的值赋给左侧的变量。赋值表达式的值的表达式的值赋给左侧的变量。赋值表达式的值就是被赋值的变量的值。就是被赋值的变量的值。结合性结合性从右向左从右向左4.赋值过程中的类型转换赋值过程中的类型转换u两侧类型不一致,但都是算术类型时,自动将两侧类型不一致,但都是算术类型时,自动将右侧的类型转换为左侧类型后赋值右侧的类型转换为左侧类型后赋值 注意:注意: 一般形式的赋值表达式中的一般形式的赋值表达式中的“表达式表达式”也可以是一也可以是一个赋值表达式。如:个赋值表达式。如: a=b=8按照从右到左的结合性等价于按照从右到左的结合性等价于a=(b

26、=8) 赋值表达式也可以包含复合的赋值运算符。赋值表达式也可以包含复合的赋值运算符。 设设a的值为的值为6,计算,计算a+=a-=a*a 先进行先进行a*a的计算,结果为的计算,结果为36 再进行再进行a-=36的计算,相当于的计算,相当于a=a-36=-30 最后进行最后进行a+=-30的计算,相当于的计算,相当于a=a-30=-60 4.赋值语句赋值语句 由赋值表达式加上一个分号构成,作用是将一个确定的值赋给一个变量。 格式:变量名=表达式; 说明先计算,后赋值。赋值语句中的“=”是赋值号而不是数学意义上的等号。赋值号两侧的内容不能任意调换。看下面程序的运行结果 ?main() int a=1,b=2; b=a; printf(%d%d,a,b); 如果把b=a; 换成a=b;,程序的结果如何?3.3 数据的输入输出数据的输入输出3.4.1 输入输出举例输入输出举例3.4.2 有关数据输入输出的概念有关数据输入输出的概念3.4.3 用用printf函数输出数据函数输出数据3.4.4 用用scanf函数输入数据函数输入数据3.4.5 字符数据的输入输出字符数据的输入输出3.3.1 输入输出举例输入输出举例例例3

温馨提示

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

评论

0/150

提交评论