版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1/49 第第 2 2 章章 C C语言基础语言基础 2.1 2.1 基本概念基本概念 2.2 2.2 基本数据类型基本数据类型 2.3 2.3 运算符与表达式运算符与表达式 2/49 2.1 基基 本本 概概 念念 2.1.1 C2.1.1 C语言字符集语言字符集 任何一种语言都有它自己规定的一系列字符,计算机任何一种语言都有它自己规定的一系列字符,计算机 程序设计语言也不例外。利用这些字符,根据语法规则,程序设计语言也不例外。利用这些字符,根据语法规则, 组成各种不同的语句,最后形成具有某种功能的程序。组成各种不同的语句,最后形成具有某种功能的程序。 C C语言的字符集可分为以下语言的字符
2、集可分为以下4 4个类:个类: (1 1)英文字母:大小写各)英文字母:大小写各2626个,共计个,共计5252个;个; (2 2)阿拉伯数:)阿拉伯数:0 0、1 1、2 2、3 3、4 4、5 5、6 6、7 7、8 8、9 9共共 1010个数字;个数字; (3 3)下划线:)下划线:_ _; 3/49 (4)特殊符号:通常由)特殊符号:通常由12个符号组成,个符号组成, 主要用来表示运算符。主要用来表示运算符。 例如:例如: + - * / % + - = = b 8/49 在同一程序块中,每个变量都有唯一的名字,不 能被重复定义。 使用变量时必须“先定义,后使用”。 定义形式:定义形
3、式:类型标识符: 变量名1 ,变量名2,变量名3.; 例如:int a,b,c; float x,y; char c1,c2; 或 int c1,c2; 注意 9/49 变量初始化变量初始化 在说明变量的同时给变量一个初始值。 int a=5, b=3; int a=b=c=3; int a,b,c; a=b=c=3; 例如 10/49 2.2 2.2 基本数据类型基本数据类型 字符型(字符型(charchar) 整型(整型(short,int,long,unsignedshort,int,long,unsigned) 基本类型基本类型 数值类型数值类型 单精度型(单精度型(floatfloa
4、t) 实型实型 双精度型(双精度型(doubledouble) 枚举类型(枚举类型(enumenum) 数据类型数据类型 数组类型(数组类型( ) 构造类型构造类型 结构体类型(结构体类型(structstruct) 共用体类型(共用体类型(unionunion) 指针类型(指针类型(* *) 空类型(空类型(voidvoid) 11/49 2.2.1 2.2.1 整型数据整型数据 1 1整型变量整型变量 整型变量分为:基本型(整型变量分为:基本型(intint)、短整型()、短整型(shortshort)和)和 长整型(长整型(longlong)。)。 同样存储长度的数据又分无符号(同样存储
5、长度的数据又分无符号(unsignedunsigned)数和有)数和有 符号(符号(signedsigned)数。)数。 定义格式如下:定义格式如下: int i1, i2, i3;int i1, i2, i3; long int lv; long int lv; short int sv; short int sv; unsigned int uv; unsigned int uv; 其中,其中,long intlong int、short intshort int、unsigned intunsigned int中的关键字中的关键字 int int 可以省略。可以省略。 在在Visual
6、C+ 6.0Visual C+ 6.0中,基本整型(中,基本整型(intint)数据在内存中占)数据在内存中占4 4 个字节。个字节。 12/49 关 键 字字 节 数取 值 范 围 char1-128127即-27(27-1) unsigned char10255即0(28-1) shortint2-3276832767即-215(215-1) unsigned shortint2065535即0(216-1) int4 -2147483648 2147483647 即-231(231-1) unsigned int404294967295即0(232-1) longint4 -214748
7、3648 2147483647 即-231(231-1) unsigned long int404294967295即0(232-1) Visual C+ 6.0所支持的整型数据所支持的整型数据 13/49 2 2整型常量整型常量 语言中整型常量通常用十进制、八进制或十六进制语言中整型常量通常用十进制、八进制或十六进制 三种数制来表示。三种数制来表示。 (1 1)十进制数形式:十进制整数表示方法与数学上)十进制数形式:十进制整数表示方法与数学上 的整数表示方法相同,例如:的整数表示方法相同,例如:200, -100, 0200, -100, 0 (2 2)八进制数形式:八进制整数在数码前加数字
8、)八进制数形式:八进制整数在数码前加数字0 0 (注意不是字母(注意不是字母o o)。例如:)。例如:01440144 (3 3)十六进制数形式:十六进制整数在数码前加)十六进制数形式:十六进制整数在数码前加0X0X。 例如:例如:0 xFFFF0 xFFFF 另外,在整型常量的末尾加上字母另外,在整型常量的末尾加上字母L L或或l l,就组成了长,就组成了长 整型常量,如整型常量,如981016L981016L、0L0L等。等。 14/49 2.2.2 实型数据实型数据 1实型变量 C语言中,带有小数点的数称为实型数,也 可称为浮点数。 实型数的值域也受机器中的存储长度的限制, 它只是数学中
9、实数的一个子集。 实型数据有:单精度实数(float)、双精度 实数(double)和长双精度实数类型(long double)。 实型变量也分为单精度实型变量、双精度实 型变量和长双精度实型变量。 15/49 Visual C+ 6.0所支持的实型数据所支持的实型数据 关 键 字字 节 数取 值 范 围精度(有数位) float4-3.410-38 3.4103867 double8-1.710-308 1.7103081516 long double16-1.210-4932 1.21049321819 16/49 单精度实型变量的定义格式如下: float f1, f2; 双精度实型变量
10、的定义格式如下: double d1, d2; 单精度实型变量和双精度实型变量之间的差 异表现在数据精度上。 17/49 2实型常量 实型常量一般不分float型和double型,任何 一个实型常量,既可以赋给float变量,又可赋 给double型变量,它会根据变量的类型来截取相 应的有效位数。 实型数据有如下两种表示形式。 (1)十进制小数形式:由数字和小数点组成,如 3.14159,4.,.3,-6.5。 (2)指数法形式:指数法又称为科学记数法,它 由“十进制小数”+“e(或E)”+“十进制数整 数”三部分组成。 18/49 例如: 3.12E-6表示3.1210-6 4E+3表示41
11、03 .05E6表示0.05106 123.e-6表示12310-6 注意: (1)e或E之前(即尾数部分)必须有数字,e或E 后面的指数部分必须是整数。例如,6E0.2、E-2、 1.25e1.5、e3都是不合法的实型常量。 (2)精度又称有效位。 如果要求的精确度高,就要使用double型数据。 19/49 2.2.3 字符型数据 C语言字符型数据包括ASCII字符表中的所有字 符,字符数据包括可显示字符和非可显示字符。 1字符型变量 字符型变量用来存放一个字符。 定义的一般格式如下: char c1, c2; c1,c2即为字符型变量。 20/49 2字符型常量 有两种形式: (1 1)
12、用一对单引号括起来的一个字符)用一对单引号括起来的一个字符 (注意:一定要是英文的单引号(注意:一定要是英文的单引号 )。)。 例如例如: A: A表示大写字母表示大写字母A A; aa表示小写的字母表示小写的字母a a; 99表示字符表示字符9 9; 表示空格符。表示空格符。 (2 2)用单引号括起来的由反斜杠()用单引号括起来的由反斜杠( )引导的一个字符)引导的一个字符 或一个数字序列。或一个数字序列。 反斜杠引导的是转义字符,即反斜杠后面的字符转反斜杠引导的是转义字符,即反斜杠后面的字符转 变成另外的意义。变成另外的意义。 例如,例如, n表示表示“回车换行回车换行”控制。控制。 21
13、/49 转义字符表转义字符表 字字 符符 形形 式式 功功 能能 n换行换行 t 制表字符,也叫横向制表字符,也叫横向 跳格字符跳格字符 v竖向跳格竖向跳格 b退格退格 r回车回车 f走纸换页走纸换页 反斜杠字符反斜杠字符 单引号字符单引号字符 双引号字符双引号字符 ddd 13位八进制数表示位八进制数表示 的字符的字符 xhh 12位十六进制数表位十六进制数表 示的字符示的字符 22/49 使用这种方法可以用来表示字符集中的 任何一个字符,特别是“控制字符”。 例如,7、07、007 三个都表示响铃字符(bell)。 101,x41都代表字母A。 注意 23/49 3字符串常量 字符串常量是
14、用双引号括起来的字符序列, 如China、I am student等。 字符串常量在内存中的存放:每一个字符 均以其ASCII码存放,且最后添加一个0 。 字符串常量“CHINA”存放在内存中的情况是: C语言中没有专用的字符串变量,但是可以用字符 数组来存放字符串。 字符a和字符串a的区别? CHINA0 24/49 2.3 运算符与表达式运算符与表达式 按操作功能来对运算符进行分类,大致可分为以下几类: 算术运算符 关系运算符 逻辑运算符 赋值运算符 按位运算符 其它运算符 表达式是由操作数和运算符组成的序列。 25/49 2.3.1 算术运算符和算术表达式算术运算符和算术表达式 1、 运
15、算符 +(加):3+4、 +3 -(减):3-5、 -5 *(乘):3*5 /(除):5/2的值为2 2;5.0/2的值为2.52.5; %(取余):5%3的值为2 2; -5%3的值为-2-2; 5%(-3)的值为2 2; -5%(-3)的值为-2-2; 12.3%3 若a能被b整除,则有:a%b=0 26/49 2、算术表达式 用算术运算符和括符将操作数连接起来的式子。 优先级:() *、/、% +、- 结合性:从左至右; 表达式的值: 数值型(int、long、unsigned、double); 例如: 已知: float a=2.0; int b=6,c=3; 求解: a*b/c-1.
16、5+a+fabs(-5)=? 27/49 double float long unsigned int char,short float a=2.0; float a=2.0; int b=6,c=3; int b=6,c=3; a*b/c-1.5+a+fabs(-5) 12.0/3 5 4.0 - 1.5 2.5 + 97(int) 99.5 + 5 104.5(double) 28/49 3、自增与自减运算符 +i,-i:使用之前使i的值增1(或减1); i+,i-:使用之后使i的值增1(或减1); i=i+1; j=i;i+; 所以i的值为4,j的值为3。 i+;j=i; 所以i的值为4
17、,j的值为4。 例如: (1) i+; +i; 等价于 (2) i=3; j=i+; 等价于 (3) i=3; j=+i; 等价于 29/49 结合性:自右至左。 如: i=2; j=-i+; 等价于:j=-(i+); 即: j=-i;i+; “+”与”-“是同优先级 所以i的值为3,j的值为-2。 设初值设初值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 /
18、c=20,a=4/c=20,a=4 30/49 2.3.2 关系运算符和关系表达式关系运算符和关系表达式 1、6种关系运算符: = = != 2、关系表达式:用关系运算符将表达式连接起来的式子 优先级: ( = )( = != ) 结合性:自左至右; 表达式的值: 若为真,则结果为1; 若为假,则结果为0。 35 的值为 ; 32 的值为 ; 3+(43)*4的值为 ; 3+43*4 的值为 ; 算术运算符优先级高于关系运算符 例如 0 0 3 1 注意:数学表达式注意:数学表达式1x5在计算机中应写为:在计算机中应写为: 1x b=0.5; x=0.3; 则 a=x278在C中是允许的, 值
19、为 0 语 言 程 序 设 计 第 二 章 数 据 描 述 C 例 应避免对实数作相等或不等的判断 如 1.0/3.0*3.0=1.0 结果为 可改写为:fabs(1.0/3.0*3.0-1.0)b)=c f=abc 1 0 32/49 2.3.3 逻辑运算符和逻辑表达式逻辑运算符和逻辑表达式 1、3种逻辑运算符: float b=3.5; !a (0) !(a b) (1) b = 1; c = a+ 结果:a为1,b b为为1 1,c为0。 (2)a = 1; b = 1; c=0; d = -a b- (c = b+3 ); 结果:a为0,b为0,c c为为0,0,d为1。 逻辑表达式一
20、般用于控制语句中的条件: 例如: n是小于m的偶数: nm float x1=65.5, x2; char c1=a,c2; 则: b=x1; b的值为 ; x2=a; x2的值为 ; c2=x1; c2的值为 ; x2=c1; x2的值为 ; 6565 3.0000003.000000 A 97.00000097.000000 38/49 3、 复合赋值运算符 *=、/=、 %=、 +=、 -=, =, int 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) 语 言 程 序 设 计 第 二 章 数 据 描 述 C /a=2 等价于a=a%(4-1) 40/49 2.3.5 2.3.5 其它运算符其它运算符 1.条件运算符 ?和: ,它们与三个操作数组组成三元运算。 形式为: ? : 求值规则和表达式的值: 真(非0),求解表达式2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年一级注册建筑师之建筑经济、施工与设计业务管理考试题库300道及参考答案ab卷
- 2026年一级建造师之一建民航机场工程实务考试题库300道附答案(精练)
- 2026年【保安员(初级)】考试附参考答案(模拟题)
- 2026年理财规划师之二级理财规划师考试题库500道及答案(全优)
- 2026年中级银行从业资格之中级公司信贷考试题库300道【预热题】
- 2025年特岗文学素养题库及答案
- 2026年一级注册建筑师之建筑经济、施工与设计业务管理考试题库300道及完整答案(有一套)
- 2026年初级银行从业资格之初级个人贷款考试题库【研优卷】
- 2026年期货从业资格之期货法律法规考试题库500道含答案(b卷)
- 2026年一级建造师之一建铁路工程实务考试题库300道及参考答案(a卷)
- 人工智能与创业智慧(北京林业大学)学习通网课章节测试答案
- 浪浪山小妖怪开学第一课课件
- 五金厂生产部工时统计制度
- 研磨钻石的专业知识培训课件
- 以青春之名赴时代之约-高中爱国主题班会-2025-2026高中主题班会
- 2025年传达学习医疗机构重大事故隐患判定清单会议记录
- 桂林学院《新时代中国特色社会主义与实践》2024-2025学年第一学期期末试卷
- 企业无违规经营声明范本模版
- 2025年医疗器械直调申请表
- 道桥模拟考试题与答案
- 2025至2030中国家用燃气报警器市场现状发展分析及发展战略规划报告
评论
0/150
提交评论