版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C程序相关设计第三教学讲义( (变量是重点变量是重点!)!)( (重点重点, ,特别特别) ) C C语言的基本元素语言的基本元素一一 符号集符号集 (4 4种基本符号)种基本符号) 大小写英文字母、数字、下划线及大小写英文字母、数字、下划线及2828种标点符号和运算符种标点符号和运算符二二 标识符标识符v 标识符是用来作为变量名、常量名、函数名等的一串字符标识符是用来作为变量名、常量名、函数名等的一串字符v 标识符的构成规则:标识符的构成规则:l 只能由字母、数字、下划线组成,且第一个字只能由字母、数字、下划线组成,且第一个字符符必须是字母或下划线必须是字母或下划线l 不能使用不能使用C C
2、语言中语言中关键字关键字! ! (见(见P365P365的表)的表)v例如例如: :l 合法的标识符合法的标识符, ,如如: a s sum day Date student_name : a s sum day Date student_name lotus_1_2_3 _above lotus_1_2_3 _abovel 非法的标识符非法的标识符, ,如如: M.D.John 3days : M.D.John 3days student namestudent name int ab a/b int ab a/b $123 $123 x x f(x) f(x)(如,(如,sumsum和和S
3、UMSUM是两个不同的标识符)是两个不同的标识符) C C语言的基本元素语言的基本元素一一 符号集符号集 (4 4种基本符号)种基本符号) 大小写英文字母、数字、下划线及大小写英文字母、数字、下划线及2828种标点符号和运算符种标点符号和运算符二二 标识符标识符: : 是用来作为变量名、常量名、函数名等是用来作为变量名、常量名、函数名等 由英文字母、数字、下划线组成的、第一个字符只能是英文字母由英文字母、数字、下划线组成的、第一个字符只能是英文字母或下划线的、且不为或下划线的、且不为C C关键字的关键字的 一串字符。一串字符。三三 关键字关键字 (保留字)(保留字)P365P365 关键字是关
4、键字是C C语言中语言中的一类标识符,不能移为它用。的一类标识符,不能移为它用。 注意注意:所有关键字都:所有关键字都必须小写必须小写。 如,如,else else 与与 Else Else 代表不同含义。代表不同含义。 前者是前者是C C语言中的关键字语言中的关键字 后者是用户自己定义的标识符后者是用户自己定义的标识符 C C语言的数据类型语言的数据类型C C语言提供的数据结构,以数据类型形式出现语言提供的数据结构,以数据类型形式出现。常用的有以下3类6种:1. 基本类型:整型、实型基本类型:整型、实型(浮点型浮点型)、字符型等。、字符型等。2. 构造类型:数组、结构体类型等。构造类型:数组
5、、结构体类型等。3. 指针类型。指针类型。 常量与变量一一 常量和符号常量常量和符号常量 程序程序运行运行时其值时其值的量的量(即常数)(即常数) 如,如,12、a、 abc 用用代表的常量。代表的常量。一般形式:一般形式: 如如注意注意: 符号常量通常用大写字母表示。符号常量通常用大写字母表示。例例 3.1 3.1 符号常量举例符号常量举例 某商品单价为某商品单价为3030元元, ,顾客要买顾客要买1010件件, ,编程计算商品的总价格编程计算商品的总价格. .算法分析算法分析 ( (要求用符号常量代替要求用符号常量代替商品单价商品单价) )1 1 “输入输入“数据数据:num (:num
6、(件数件数) )2 2 计算总价计算总价: total: total3 3 输出总价输出总价#include void main() int num,total; num=10; total=num*PRICE; printf(total=%dn,total); 常量与变量1 变量的概念:变量的概念: 变量是变量是2 变量的定义方法变量的定义方法: 一般形式:一般形式: 类型符类型符 变量名列表变量名列表3a变量名变量名变量的值变量的值变量的存储单元变量的存储单元小资料小资料: :1 1 什么是存储单元什么是存储单元: :存储单元实际上是计算机中的存储单元实际上是计算机中的。2 2 计算机中的
7、存储单元是如何表示和存储数据的计算机中的存储单元是如何表示和存储数据的: :每个电元件或磁元件表每个电元件或磁元件表示一个二进制数位示一个二进制数位, ,通电通电( (或上磁或上磁) )表示表示1,1,断电断电( (或消磁或消磁) )表示表示0.0.如,如, int a,i,j,max;int a,i,j,max; char c1,c2,s; char c1,c2,s; float x,root1,root2; float x,root1,root2; double y1,y2; double y1,y2; 整型数据整型数据整型常量整型常量 (三种形式)(三种形式) 十进制常数十进制常数 如,
8、如, 123、-12、0八进制常数八进制常数 由数字由数字07组成,最高位必须用组成,最高位必须用 做做引导符引导符!如,如, 012 - (12)8 =(10)10 、-012十六进制常数十六进制常数由由09和和af(AF)组成,最高位必须用组成,最高位必须用做做引导符引导符。如,如, 0 x12 - (12)16 =(18)10 0 xaf - (af)16 =10*16+15=(175)10 1) 0121 2) 17 3) 0128 4) o21 5) 0 x11 6) fff 7) 01a 8) 0 x1h 9)0XFF#include void main() int n=012,m
9、=0 x12; printf(n=(%o)8,(%d)10,(%x)16n,n,n,n); printf(m=(%x)16, (%d)10,(%o)8n,m,m,m);0128o21fff01a0 x1h 整型数据整型数据符号位符号位101000000000000 0a100111111111111 1b010111111111111 1取反二二 整型变量整型变量1 1 整型数据在内存中是整型数据在内存中是存放存放 如,如,int a=10,b=-10;int a=10,b=-10; 整型数据整型数据二二 整型变量整型变量 1 整型数据在内存中是整型数据在内存中是存放的存放的2 整型变量是根据
10、整型变量是根据的不同进行分类的(的不同进行分类的(6类)类)类型名类型名 占字节数占字节数(以(以IBMIBM机为例)机为例) 取值范围取值范围 short int 2 (162 (16个数位个数位) )215215-1 int int2 (162 (16个数位个数位) )0216-1 (065535) Unsigned short int2 (162 (16个数位个数位) ) 0216-1unsigned long int4 (324 (32个数位个数位) ) 0232-1 (P43(10位数位数) 整型数据整型数据二二 整型变量整型变量 1 整型数据在内存中是整型数据在内存中是存放的存放的
11、 2 整型变量是根据整型变量是根据的不同进行分类的(的不同进行分类的(6类)类)如,如, int a,b; int a,b; long m,n; long m,n; unsigned num,k; unsigned num,k;011100000000000000000000000000000111000000000000intintlonglong0111000000000000 unsigned unsigned1313例例 3.2 3.2 不同种类整型数据的运算不同种类整型数据的运算#include #include void main() void main() int a,b,c,d
12、;int a,b,c,d;unsigned u; unsigned u; a=12;b=-24;u=10; a=12;b=-24;u=10; c=a+u; d=b+u;c=a+u; d=b+u;printf(a+u=%dnb+u=%dn,c,d); printf(a+u=%dnb+u=%dn,c,d); 运行结果:运行结果:a+u=22a+u=22b+u=-14b+u=-14 整型数据整型数据运行结果:运行结果:32767,-3276832767,-32768如如, int整型最大允许值是整型最大允许值是: 思考思考: 怎样编程检验一下怎样编程检验一下: :如如果运算使变量数据超出果运算使变量
13、数据超出最大允许范围会怎样最大允许范围会怎样? ?因为在内存中:因为在内存中:a: 0111 1111 1111 1111 32767a: 0111 1111 1111 1111 32767b: 1000 0000 0000 0000 -32768b: 1000 0000 0000 0000 -32768的补码的补码例例 3.3 P443.3 P44#include #include void main() void main() short a,b; short a,b; a=32767;a=32767; b=a+1; b=a+1; printf(%d,%d,a,b); printf(%d,
14、%d,a,b); 二二 整型变量整型变量 1 整型数据在内存中是整型数据在内存中是存放的存放的 2 整型变量是根据整型变量是根据的不同进行分类的(的不同进行分类的(6类)类) 3 各类整型变量的定义:如各类整型变量的定义:如,int a,b; 整型数据整型数据 一个整数,如果其值在一个整数,如果其值在-32768-+32767-32768-+32767,则认为它是,则认为它是intint型的。型的。 一个整数,如果其值在超出了上述范围且在一个整数,如果其值在超出了上述范围且在-2147485648-+2147485647-2147485648-+2147485647范围内,则认为它是范围内,则
15、认为它是longlong型的。(再大就看作实型的了。)型的。(再大就看作实型的了。) 一个整常量后面加一个字母一个整常量后面加一个字母u u,则认为它是,则认为它是unsignedunsigned型的。型的。 一个整常量后面加一个字母一个整常量后面加一个字母l l或或L L,则认为它是,则认为它是longlong型的。型的。 如,如,0L 0L 占占4 4个字节个字节二二 整型变量整型变量 1 整型数据在内存中是整型数据在内存中是存放的存放的 2 整型变量是根据整型变量是根据的不同进行分类的(的不同进行分类的(6类)类) 3 各类整型变量的定义:各类整型变量的定义: 如如,int a,b; 4
16、 整型数据的溢出整型数据的溢出 实型数据实型实型常量常量 (浮点数)(浮点数) 十进制小数形式十进制小数形式 如,如, .123、123.、0.、.0、 指数形式(指数形式() 如,如,、3.45E3 (表示:(表示:3.45103 的的) 注意注意:e的前后必须有数字的前后必须有数字,e后必须是整数。后必须是整数。 如,如,.3e3、3e3、3.e3 3e、e3、3ek 实型常量的类型:实型常量的类型: 后缀,后缀,f、F 为为float 后缀,后缀,l、L 为为 long duoble 实型数据二二 实型变量实型变量在计算机中是按照在计算机中是按照存放的存放的 如图所示:如图所示:2424
17、位位8 8位位小数部分占的大,则小数部分占的大,则有效数字多,结果精确。有效数字多,结果精确。指数部分占的大,则指数部分占的大,则表达的数值范围大。表达的数值范围大。在这一位上误差不超过这一位的半个单位,则称这一位在这一位上误差不超过这一位的半个单位,则称这一位是有效数字。是有效数字。 实型数据二二 实型变量实型变量 1 实型数据在计算机中是实型数据在计算机中是的的也是根据也是根据的不同进行分类的的不同进行分类的(3 3类)类) 类型名类型名 占字节数占字节数(以(以IBMIBM机为例)机为例) 有效数字有效数字取值范围取值范围 long long double double 10101818
18、 19191010-4931-4931|x|10|x|1049324932 实型数据例例 / /* * 注意到:注意到:floatfloat型有效数字为型有效数字为7 7位。位。* */ /#include #include void main() void main() float a,b; float a,b; b=a+20; b=a+20; printf( %f,%fn,a,b); printf( %f,%fn,a,b); 运行结果:运行结果:12345678848.000000, 12345678848.00000012345678848.000000, 12345678848.000
19、000 7 7位位二二 实型变量实型变量 1 实型数据在计算机中是实型数据在计算机中是的的 2 2 实型变量也是根据实型变量也是根据的不同进行分类的(的不同进行分类的(3 3类)类) 字符型数据一一 字符常量字符常量 1 用用括起来的括起来的一个一个字符:字符: 如,如,a 、A、+、9等等。等等。2 转义字符:如,转义字符:如,n , 101=A。0(串结束符串结束符)转义字符表转义字符表 P48转义字符含义vrdddbfxhh转义字符含义换行垂直制表回车响铃单引号3位8进制数代表的字符水平制表退格换页反斜线双引号2位16进制数代表的字符 字符型数据一一 字符常量字符常量 1 用用括起来的括
20、起来的一个一个字符:字符: 如,如,a 、A、+、9等等。等等。2 转义字符:如,转义字符:如,n , 101=A。0(串结束符串结束符)3 字符常量在内存中的存储方式字符常量在内存中的存储方式:(以以ASCIIASCII码形式,占一个字节码形式,占一个字节) 如,在内存中:如,在内存中:aa97970011 00010011 0001AA65650010 00010010 0001二二 字符型变量(占一个字节)字符型变量(占一个字节)1 1 字符变量是用来存放字符的(同样存放的是字符的字符变量是用来存放字符的(同样存放的是字符的 ASCIIASCII码),且码),且2 2 字符变量的定义方法
21、:字符变量的定义方法:如,如,char c1,c2;char c1,c2; unsigned char c3,c4,c5; unsigned char c3,c4,c5; 3 3 给字符变量赋值的方法:给字符变量赋值的方法:c1=a; c2=101;(A) c3=n; c1=a; c2=101;(A) c3=n; c4= a c4= a ;( (响铃响铃) c5= 0 ) c5= 0 ; 甚至甚至:c1=65; c2=97;c1=65; c2=97;4 4 考虑,如何编程试一试输出几个字符考虑,如何编程试一试输出几个字符 字符型数据例例 #include #include void main(
22、) void main() char c1, c2 ; char c1, c2 ; c1=97; c2=a; c1=97; c2=a; printf( printf(n,c1,c2); n,c1,c2); printf( printf(n,c1,c2); n,c1,c2); a a 97 97 7 7 字符型数据例例 3.7 3.7 小写字母转化为大写字母小写字母转化为大写字母#include #include void main() void main() char c1, c2 ; char c1, c2 ; c1=a; c1=a; c2=c; c2=c; c1=c1-32; c2=c2-
23、32; c1=c1-32; c2=c2-32; printf( printf(n,c1,c1); n,c1,c1); printf( printf( n,c2,c2); n,c2,c2); 运行结果:A 65C 67 字符型数据一一 字符常量字符常量 (一般字符常量:如,(一般字符常量:如,a;转义字符:如,;转义字符:如,n ,ASCII码码二二 字符型变量字符型变量(, ,以字符的以字符的ASCIIASCII码的形式存储码的形式存储, ,可以参加数值运算)可以参加数值运算)1 1 字符串常量:字符串常量: 字符串常量是用双引号括起来的一串字符。字符串常量是用双引号括起来的一串字符。 如,如
24、,welcomewelcome、20082008、 a (a) a (a) 等。等。2 2 字符串在内存中的存储方式与结束标记:字符串在内存中的存储方式与结束标记:00如,如,welcomewelcome在内存中:在内存中:welcome0 变量赋初值 在在给它赋初值,称为变量的初始化。给它赋初值,称为变量的初始化。 注意注意:绝对不允许:绝对不允许: i=j=k=1; 如,如,int a=3;float f=3.56;char c=a;int i,j,k=1; /int i=1,j=1,k=1; /3.7 各类各类数值型数据数值型数据之间的混合运算之间的混合运算 包括实、整、字符型。包括实、
25、整、字符型。 数据类型转化的原则为:数据类型转化的原则为:高高 doubledoublefloatfloat long long unsigned unsigned 低低 intint char, short char, short说明:必定的转换运算对象类型不同时转换v 混合运算示例:混合运算示例: 10+ a + 1.5 - 123456789 10+ a + 1.5 - 123456789 * * b bintintintintintintlonglongcharcharcharchardoubledoubledoubledoubledoubledoubledoubledoubledou
26、bledoublelonglonglonglong3.8 几个常用运算符几个常用运算符 c c运算符总表:运算符总表:2 2 关系运算符关系运算符 = = = !=3 3 逻辑运算符逻辑运算符 !(!(逻辑非逻辑非) &() &(逻辑与逻辑与) |() |(逻辑或逻辑或) ) 4 4 位运算符位运算符 () (右移右移) ) ( (按位取反按位取反) |() |(按位或按位或) () (按位异或按位异或) &() &(按位与按位与) )6 6 条件运算符条件运算符 ? : (? : (这是这是c c中唯一的一个三元运算符中唯一的一个三元运算符) )8 8 指针运算符指针运算符 * *( (指针
27、运算符指针运算符) &() &(地址运算符地址运算符) )9 9 求字节数运算符求字节数运算符 (sizeof)(sizeof)11 11 分量运算符分量运算符 . - (. - (也称为结构体成员运算符也称为结构体成员运算符) )12 12 下标运算符下标运算符 13 13 其他其他 如,函数调用运算符:如,函数调用运算符: 函数名函数名()()3.8 几个常用运算符几个常用运算符1 1 基本算术运算符基本算术运算符: : + - + - * * (取余)(取余) 如,如, 3/4=0 3/4=0 5%2=1 5%2=1 2%5=2 2%5=2 优先级:优先级: * * / % / % +
28、- + - 结合方向:结合方向: 由左到右。由左到右。 3.8 几个常用运算符几个常用运算符2 2 强制类型转换运算符(左结合)强制类型转换运算符(左结合) 一般形式:一般形式: 如,如,(double)a(double)a (float)(5%2) (float)(5%2) (int)x%3 (int)x%3 例例3 38 8#include #include void main()void main() int i; int i; float x=3.56; float x=3.56; i= i=(int)x(int)x%2; %2; printf(x=%f, i=%dn,x,i); pr
29、intf(x=%f, i=%dn,x,i); 运行结果:运行结果:x=3.56, i=1x=3.56, i=13.8 几个常用运算符几个常用运算符如,如,i=3;i=3;j=i+;j=i+;printf(i=%d, j=%dn,i,j);printf(i=%d, j=%dn,i,j);又如,又如,i=3;i=3;j= +i;j= +i;printf(i=%d, j=%dn,i,j);printf(i=%d, j=%dn,i,j);输出结果为:输出结果为:i=4, j=4i=4, j=4输出结果为:输出结果为:i=4, j=3i=4, j=33 3 自增自减运算符自增自减运算符: :(右结合(右
30、结合!) i+i+i=i+1i=i+13.8 几个常用运算符几个常用运算符(右结合(右结合!)!)两种赋值运算符:两种赋值运算符:一般赋值运算符:一般赋值运算符: = =复合赋值运算符:复合赋值运算符: += -= += -= * *= /= %= /= %=1 1) 一般的赋值表达式一般的赋值表达式: : = 如如 y=(x=1)+2 y=(x=1)+2练习练习: :1 int a, b, c; a=b=c=21 int a, b, c; a=b=c=22 int a, b; float c;2 int a, b; float c;3 3 求求 a=(b=-2)+(c=12)a=(b=-2)+(c=12)赋值运算赋值运算-最重要的运算之一最重要的运算之一, ,它具有它具有的功能的功能!3.8 几个常用运算符几个常用运算符2 2) 复合的赋值运算符:复合的赋值运算符: += -= += -= * *= /= %= /= %=如:如: x+
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 低聚糖益生元活性评价-洞察与解读
- 技术资源整合-洞察与解读
- 2026年护理核心制度试题及答案
- 27. 冷链交接验收检查标准制度 (15字)
- 万达商管公司制度知识点
- 2025安徽兴合融资租赁(上海)有限公司招聘2人笔试历年备考题库附带答案详解
- 地下室环氧树脂地坪施工质量保证方案
- 品牌知名度提升与消费者需求分析方案2025
- 2025年珠宝首饰行业规模白皮书方案
- 资金筹款与财务风险识别与评估方案2025
- 2026AHA-ASA急性缺血性卒中早期管理指南解读课件
- 2026年北京市高校毕业生到农村从事支农工作招聘467人农业笔试参考题库及答案解析
- 放射科床旁照相工作制度
- 辽水集团笔试试题题库
- 鱼塘平地改造方案范本
- 2026新疆文旅投集团所属产业公司选聘50人笔试模拟试题及答案解析
- 2025-2026学年安徽省马鞍山市高三第一次教学质量监测物理试卷(含解析)
- 工程伦理道德案例分析
- 辽宁省抚顺市(2025年)招聘警务辅助人员考试真题及答案
- 2026年网络安全攻防电子数据取证关键技术题库
- 《中药提取物质量控制研究技术指导原则(征求意见稿)》
评论
0/150
提交评论