大学C语言程序设计第二版(电子工业)第2章_第1页
大学C语言程序设计第二版(电子工业)第2章_第2页
大学C语言程序设计第二版(电子工业)第2章_第3页
大学C语言程序设计第二版(电子工业)第2章_第4页
大学C语言程序设计第二版(电子工业)第2章_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

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

文档简介

1、大学大学C/C+语言程序设计语言程序设计 第第2章章 C语言基础语言基础第第2 2章章 C C语言基础语言基础2.1 2.1 基本概念基本概念2.2 C2.2 C语言的数据类型语言的数据类型2.3 2.3 运算符与表达式运算符与表达式大学大学C/C+语言程序设计语言程序设计 第第2章章 C语言基础语言基础2.1.0 C语言字符集C语言利用字符集中的字符,根据语法规则,组成各种不同的语句,最后形成具有某种功能的程序。C语言的字符集可分为以下4类。(1)英文字母: 大小写各26个,共计52个。(2)阿拉伯数字:0、1、2、3 、4、5、6 、7、8、9共10个。(3)下画线:_。(4)特殊符号:通

2、常由12个符号组成,主要用来表示运算符。例如:+ - * / % + - = = b _above $123 2.1 2.1 基本概念基本概念大学大学C/C+语言程序设计语言程序设计 第第2章章 C语言基础语言基础32个关键字:(用来命名c语言中的语句,数据类型等。auto break case char constcontinue default do double elseenum extern float for gotoif int long register returnshort signed sizeof static structswitch typedef unsigned

3、union voidvolatile while大学大学C/C+语言程序设计语言程序设计 第第2章章 C语言基础语言基础常量定义:程序运行时其值不能改变的量(即常数)常量分为:符号常量 直接常量符号常量:用标识符代表常量定义格式:#define 符号常量 常量如 #define PRICE 30例 符号常量举例#define PRICE 30main() int total; total=10*PRICE; printf(total=%d,total);大学大学C/C+语言程序设计语言程序设计 第第2章章 C语言基础语言基础变量变量变量是指以标识符为名字,在程序运行中其值可变量是指以标识符为名

4、字,在程序运行中其值可以改变的量。以改变的量。 变量分为整型、实型、字符型等。变量分为整型、实型、字符型等。 变量的定义形式:类型标识符变量的定义形式:类型标识符 变量名变量名1 ,1 ,变量变量名名2,2,变量名变量名3.3.;例如:例如:intint a,b,ca,b,c; ;float float x,yx,y; ;char c1,c2;char c1,c2;大学大学C/C+语言程序设计语言程序设计 第第2章章 C语言基础语言基础变量变量名的长度:变量名的长度:C C语言中未统一规定,随不同系统语言中未统一规定,随不同系统而变。而变。C C语言对变量的要求:语言对变量的要求:先定义、后使

5、用先定义、后使用:(1 1)编译程序不能翻译未定义变量;)编译程序不能翻译未定义变量;(2 2)编译程序在编译时根据变量类型确定存储单)编译程序在编译时根据变量类型确定存储单元的数量;元的数量;(3 3)编译程序在编译时根据变量类型进行语法检)编译程序在编译时根据变量类型进行语法检查,例如,整型变量查,例如,整型变量a a、b b可以进行可以进行“求余求余”运算:运算:a a b b,若把,若把a a、b b定义为实数,则上述运算非法。定义为实数,则上述运算非法。大学大学C/C+语言程序设计语言程序设计 第第2章章 C语言基础语言基础2.2 C语言的数据类型数据类型总表数据类型决定:数据类型决

6、定:1. 数据占内存字节数数据占内存字节数2. 数据取值范围数据取值范围3. 其上可进行的操作其上可进行的操作大学大学C/C+语言程序设计语言程序设计 第第2章章 C语言基础语言基础2.2.1 整型(integer)数据 整型变量:整型数据是一种不含小数部分的数值型数据。int i1, i2, i3;long int i;short int j;unsigned int v;在在VC6.0VC6.0中,基本整型(中,基本整型(intint)数据在内存中占)数据在内存中占个字节。个字节。关关 键键 字字 字字 节节 数数取取 值值 范范 围围 short short unsigned unsig

7、ned shortshort intint unsigned unsigned long long unsigned unsigned long long 2 22 24 44 44 44 4-3276832767065535065535-2147483648-2147483648214748364721474836470 042949672954294967295-2147483648-2147483648214748364721474836470 042949672954294967295大学大学C/C+语言程序设计语言程序设计 第第2章章 C语言基础语言基础大学大学C/C+语言程序设计语

8、言程序设计 第第2章章 C语言基础语言基础&整型常量(整常数)v三种形式:l十进制整数:由数字09和正负号表示.如 123,-456,0l八进制整数:由数字0开头,后跟数字07表示.如0123,011l十六进制整数:由0 x开头,后跟09,af,AF表示.(A表示10,B表示11, C表示12, D表示13, E表示14, F表示15) 如0 x123,0Xff例 12 与 12Lv整型常量的类型l根据其值所在范围确定其数据类型l在整常量后加字母l或L,认为它是long int 型常量2.2.2 实型数据实型数据 1实型变量带有小数点的数称为实型数,也可称为浮点数。它是数学中实数带有小数点的数

9、称为实型数,也可称为浮点数。它是数学中实数的一个子集。的一个子集。实型数据有:单精度实数(实型数据有:单精度实数(floatfloat)、双精度实数()、双精度实数(doubledouble)和)和长双精度实数类型(长双精度实数类型(long doublelong double)。它们在内存中所占的字节)。它们在内存中所占的字节数及取值范围如下所示。数及取值范围如下所示。关 键 字字 节 数取 值 范 围精度 float double long double48163.410-38 3.410381.710-308 1.7103081.210-4932 1.21049326715161819大

10、学大学C/C+语言程序设计语言程序设计 第第2章章 C语言基础语言基础大学大学C/C+语言程序设计语言程序设计 第第2章章 C语言基础语言基础&实型常量(实数或浮点数)实型常量(实数或浮点数)v表示形式表示形式:l十进制数形式:由数字和小数点组成(必须有小数点) 如0.123, .123, 123.0, 0.0, 123.0.123, .123, 123.0, 0.0, 123.l指数形式:(e或E之前必须有数字;指数必须为整数)如12.312.3e3 ,123E2, 1.23e4e3 ,123E2, 1.23e4 ,e-5(e-5(错错) ) ,1.2E-3.51.2E-3.5(错)(错)

11、v实型常量的类型实型常量的类型l默认double型l在实型常量后加字母f或F,认为它是float 型大学大学C/C+语言程序设计语言程序设计 第第2章章 C语言基础语言基础&字符型变量v字符变量存放字符ASCII码vchar与int数据间可进行算术运算 char c1=a,c2; c2=b+2; 没有字符串变量,用字符数组存放Ch2_006.c2.2.3 字符变量大学大学C/C+语言程序设计语言程序设计 第第2章章 C语言基础语言基础&字符常量v定义:用单引号括起来的单个普通字符或转义字符. v字符常量的值:该字符的ASCII码值转义字符及其含义:转义字符含义nvrdddtbf“xhh转义字符

12、含义换行垂直制表回车单引号13位8进制数代表的字符水平制表退格换页反斜线双引号12位16进制数代表的字符如 101 -A 012 -n x61 -a 483 -()如 A65, a97, 048 , n10如 a A ? n 101v转义字符:反斜线后面跟一个字符或一个代码值表示例 转义字符举例main() printf(“A B Cn); printf(101 x42 x43 n); printf(How are you?n); printf( C Program n);运行结果:(屏幕显示)A B CA B C”How are you?”C Program大学大学C/C+语言程序设计语言程

13、序设计 第第2章章 C语言基础语言基础例如:#include /* 包括系统头文件一定要 */#include main() /* C语言都一定要以main开头 */char c1=a, c2=b+2 ;int i;printf(s1=%dn,3+4*2);printf(s2=%dn,15/3-4*2);printf(s3=%dn,5/3);printf(s3a=%fn,5.0/3);printf(s4=%dn,-5/3);printf(s5=%dn,8%3);printf(s6=%dn,-7%3);printf(c1=%c,c2=%c 101 x41 v x61n,c1,c2);printf

14、(s7=021n); printf(s8=022n);for(i=1;i=10;i+) printf(007077);大学大学C/C+语言程序设计语言程序设计 第第2章章 C语言基础语言基础v字符常量与字符串常量不同&字符串常量v定义:用双引号(“”)括起来的字符序列v存储:每个字符串尾自动加一个 0 作为字符串结束标志h e l l o 0例 字符串“hello”在内存中a a 0例 a“a”例 空串 “”0例 空格串 “ ”0大学大学C/C+语言程序设计语言程序设计 第第2章章 C语言基础语言基础2.3 运算符和表达式C运运算算符符算术运算符:(算术运算符:(+ - + - * * / %

15、 + - / % + -)关系运算符:(关系运算符:( = != = !=)逻辑运算符:(!逻辑运算符:(! & |& |)赋值运算符:(赋值运算符:(= = 及其扩展)及其扩展)条件运算符:(条件运算符:(?:?:)逗号运算符:(逗号运算符:(, ,)强制类型转换:(类型)强制类型转换:(类型)大学大学C/C+语言程序设计语言程序设计 第第2章章 C语言基础语言基础学习运算符应注意:v运算符功能v与运算量关系l要求运算量个数l要求运算量类型v运算符优先级别v结合方向v结果的类型大学大学C/C+语言程序设计语言程序设计 第第2章章 C语言基础语言基础算术运算符和表达式v基本算术运算符: + -

16、 * / %l结合方向:从左向右l优先级: - - - -* * / % / % - - + -+ - (2) (3) (4) (2) (3) (4)说明:l“-”可为单目运算符时,右结合性l两整数相除,结果为整数l%要求两侧均为整型数据 例 5/2 = -5/2.0 =例 5%2 = -5%2 = 1%10 = 5.5%2 =例 5/2 = 2 -5/2.0 = -2.5例 5%2 = 1 -5%2 = -1 1%10 = 1 5.5%2 ()v自增、自减运算符+ -l作用:使变量值加1或减1l种类:前置前置 +i, -i(+i, -i(先执行先执行i i+1+1或或i-1i-1,再使用再使

17、用i i值)值)后置后置 i+,ii+,i-(-(先使用先使用i i值值, ,再执行再执行i i+1+1或或i-1i-1) a=3;b=5; a=3;b=5; 1. c=(a+) 1. c=(a+)* *b;b; 等价等价: c=a: c=a* *b b a=a+1 a=a+1 2. c=(+a)2. c=(+a)* *b;b;等价等价: a=a+1 : a=a+1 c=a c=a* *b b /c=15,a=4/c=15,a=4/c=20,a=4/c=20,a=4 混合运算类型自动转换 double float long unsigned int char,short说明说明:必定的转换必定

18、的转换运算对象类型不同时转换运算对象类型不同时转换float a=2.0 ;int b=6,c=3; 求 a*b/c+a运算结果数据类型?大学大学C/C+语言程序设计语言程序设计 第第2章章 C语言基础语言基础l说明:u+ -不能用于常量和表达式,如5+,(a+b)+u+ -结合方向: 自右向左u优先级:- + - -* / % -+ - (2) (3) (4)例 int i=3printf(“%d”,-i+);/-3 i=4 -i+ -(i+) 大学大学C/C+语言程序设计语言程序设计 第第2章章 C语言基础语言基础赋值运算符和表达式赋值运算符和表达式v简单赋值运算符简单赋值运算符l符号:符

19、号: = =l格式:格式: 变量标识符变量标识符= =表达式表达式l作用:将一个数据(常量或表达作用:将一个数据(常量或表达式)赋给一个变量式)赋给一个变量例 a=3;a=3; d=cosd=cos(a);(a); c=d+2; c=d+2; intint a=6.7 a=6.7 float b=4 float b=4大学大学C/C+语言程序设计语言程序设计 第第2章章 C语言基础语言基础v说明:l结合方向:自右向左l优先级: 14l左侧必须是变量,不能是常量或表达式l赋值表达式的值与变量值相等,且可嵌套例 3=x-2*y; a+b=3;例: int a,b,c; a=b=c=5; a=(b=

20、10)/(c=2);/表达式值为5,a,b,c值为5/表达式值5,a=5,b=10,c=2大学大学C/C+语言程序设计语言程序设计 第第2章章 C语言基础语言基础赋值转换-把一个值赋给与其类型不同的变量时v运算转换规则:不同类型数据运算时先自动转换左边变量的类型赋值时的类型转换赋值时的类型转换 实型数据赋给整型(字符型)变量:去掉小数部分; 如:int f=23.657; 变量f的值为23。整型(字符型)数据赋给实型变量: 补足有效位。 float f=3 double f=3大学大学C/C+语言程序设计语言程序设计 第第2章章 C语言基础语言基础v复合赋值运算l种类 += -= *= /=

21、%=l含义含义exp1 op= exp2 exp1 = exp1 op exp2a+=3a=a+3x*=y+8x=x*(y+8)x%=3x=x%3大学大学C/C+语言程序设计语言程序设计 第第2章章 C语言基础语言基础例例: : intint a=2; a=2; 1. a%=4-1; 1. a%=4-1; 2. a-=a 2. a-=a* *=3; =3; 3. a+=a-=a 3. a+=a-=a* *a a/a=-4 等价于a=a+(a=a-(a*a)/a=0 等价于a=a-(a=a*3)/a=2 等价于a=a%(4-1)大学大学C/C+语言程序设计语言程序设计 第第2章章 C语言基础语言基础关系运算符和表达式v关系运算符l种类种类: = !=l结合方向:自左向右结合方向:自左向右l优先级别:优先级别:=!=优先级优先级6(高)(高)优先级7(低)例 cca+ba+b /c( /c(a+ba+b) ) a=bc /a=(bc) a=bc /a=(bc)l关系表达式的值:是逻辑值“真”或“假”,用1和0表示例 int a=3,b=2,c=1,d,f; (ab)=c f=abc例 32

温馨提示

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

评论

0/150

提交评论