二级C(数据类型)_第1页
二级C(数据类型)_第2页
二级C(数据类型)_第3页
二级C(数据类型)_第4页
二级C(数据类型)_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

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

文档简介

1、2022-5-312022-5-32v 一、一、 基本符号集基本符号集v C语言的字符集由下列字符构成:v (1)英文字母:AZ,az。v (2)数字字符:09。v (3)特殊符号:v 空格 ! % * & _(下划线)v + = - / v ; . , () 2022-5-33v二、二、 关键字关键字v 关键字是C语言已经定义的、具有特殊功能和含义的单词、单词缩写或者单词组合。以下列出的是C语言的关键字:v auto break case char const continue default do double else enum extern float for goto if

2、int long register return short signed sizeof static struct switch typedef unsigned union void volatile while 注: 语句定义词 和 变量类型说明符 2022-5-34三、三、 标识符标识符 标识符用于给变量、函数和其他用户自定义类型命名。 (1)必须以英文字母或下划线开始,并由字母、数字和下划线组成。例如:chABC,intX,uY126 等都是合法的标识符,而555Str,-chabc,+intJ等则是非法的标识符。 (2)每个标识符可以由多个字符组成,但只有前 8个标识符为有效标识符

3、。例如:employee1和employee2 被认为是相同的标识符employee。 (3)大写字符和小写字符代表不同的标识符。 (4)不能使用C语言的关键字作为标识符。2022-5-35 (1)C 语言程序是由函数构成由函数构成的,一个源程序可以包含若干个函数,但必须有且只必须有且只有一个函数为主函数有一个函数为主函数mainmain()()。 (2)由大括号括起来的部分为函数体,函数体可以包含若干条C语句。每条语每条语句必须以分号句必须以分号“;”;”结束结束。 (3)除主函数外,C 语言系统还提供一些可直接使用的库函数,如:printf()、scanf()等。用户也可以根据需要,自己定

4、义函数如:sum()。 (4)程序可以加注释注释以增加可读性,其内容必须用/ /* *.* */ /括起来。 (5)C语句一般用小写字母书写一般用小写字母书写。 main() /* 主函数 */ printf(I am a C programmer,I like C!); /* 输出被显示的内容 */ 2022-5-36 C语言是编译执行的高级语言,用C编写的源程序必须经编译、连接生成相应的二进制代码后,才能被执行。C 程序的编辑、编译、连接等过程可以在现成的集成开发环境下完成。vC程序的上机步骤:编辑(.C)编译(.OBJ)连接(.EXE)执行2022-5-371.数据类型:数据类型:202

5、2-5-38数据类型基本类型复杂类型整型类型实型类型字符型类型单精度型双精度型构造类型指针类型枚举类型自定义类型数组类型结构体类型共用体类型数据类型基本类型数据类型复杂类型基本类型数据类型复杂类型基本类型数据类型复杂类型基本类型数据类型整型类型复杂类型基本类型数据类型实型类型整型类型复杂类型基本类型数据类型字符型类型实型类型整型类型复杂类型基本类型数据类型构造类型字符型类型实型类型整型类型复杂类型基本类型数据类型指针类型构造类型字符型类型实型类型整型类型复杂类型基本类型数据类型枚举类型指针类型构造类型字符型类型实型类型整型类型复杂类型基本类型数据类型自定义类型枚举类型指针类型构造类型字符型类型

6、实型类型整型类型复杂类型基本类型数据类型自定义类型枚举类型指针类型构造类型实型类型整型类型复杂类型基本类型数据类型自定义类型枚举类型指针类型构造类型实型类型整型类型复杂类型基本类型数据类型单精度型自定义类型枚举类型指针类型构造类型实型类型整型类型复杂类型基本类型数据类型双精度型单精度型自定义类型枚举类型指针类型构造类型实型类型整型类型复杂类型基本类型数据类型数组类型双精度型单精度型自定义类型枚举类型指针类型构造类型实型类型整型类型复杂类型基本类型数据类型结构体类型数组类型双精度型单精度型自定义类型枚举类型指针类型构造类型实型类型整型类型复杂类型基本类型数据类型字符型类型共用体类型结构体类型数组

7、类型双精度型单精度型自定义类型枚举类型指针类型构造类型实型类型整型类型复杂类型基本类型数据类型2022-5-39基本类型基本类型类型类型 大小大小 常量常量 变量变量整型整型 4B 23(十十) 027(八八) 0 x17(十六十六) int a,b;短整型短整型 2B 15 (-32768-32767) short int a,b;长整型长整型 4B 36 72L long int a,b;无符号整型无符号整型 。单精度单精度 4B 3.14 1.25e3 (7个有效位个有效位) float a,b;双精度双精度 8B 3.14 1.25e3 (15个有效位个有效位) double a,b;

8、 。字符型字符型 1B a A 8 0 n 101 char a,b; 。字符串字符串 字符个数字符个数 “good” “a” “” 无无 。 转242022-5-3102 2、 常量常量v整型常量: 5、0、-8v实型常量: 2.5、-1.2v字符型常量:a、b 。 转义字符常量:如:n, ,v符号常量:用一个名字(字符序列)来代表一个常量, 如:用PI表示3.14,v字符串串常量:“123”,“ABCD”回92022-5-3113. 3. 变量变量 1.1.变量的命名变量的命名:(:(同标识符同标识符) )合法的变量名合法的变量名: :day,year,book,student,a1,a2

9、,b1,b2不合法的变量名不合法的变量名:#852,.com,s1,1999y,123,floatv使用变量前,必须先定义,否则不能作为变量来使用.2.2.变量的定义变量的定义 v 存储属性 数据类型 变量名表 数据类型决定了变量的取值范围和占用内存空间的字节数 static/auto/register int a,b,c; static/auto/register float x,y; static/auto/register char ch; 回92022-5-312整型常量整型常量 整型常量有三种表示方法:v (1 1)十进制整数)十进制整数: :如1236,-234,0。v (2 2)

10、八进制整数)八进制整数: :以数字0开头的数是八进制数。如 011表示八进制数的(11)8 v (3 3)十六进制整数)十六进制整数: :以0 x开头的数是十六进制数。 如0 x123即(123)16 。2022-5-313 整型变量整型变量v整型变量可以分为:基本型、短整型、长整型和无符号整型4种类型,其定义的关键字如下: (1)基本型:用int表示; (2)短整型:用short int或short表示; (3)长整型:用long int或long表示; (4)无符号整型: 无符号整型无符号整型: : 用unsigned int或unsigned表示; 无符号短整型无符号短整型: :用uns

11、igned short int或unsigned short表示; 无符号长整型无符号长整型: :用unsigned long int或unsigned long表示。2022-5-314 整型数据类型 所占位数 所占字节数 数的表示范围 int 32 4 -21474836482147483647,即-231231-1 short 16 2 -3276832767,即-215215-1 long 32 4 -21474836482147483647,即-231231-1 unsigned int 32 4 04294967295,即0232-1 unsigned short 16 2 065

12、535,即0216-1 unsigned long 32 4 04294967295,即0232-1 整型变量数值取值范围整型变量数值取值范围2022-5-315v mainmain()()v v int a int a,b b,s1s1,s2; s2; v unsigned x; / unsigned x; /* * 定义名为定义名为x x的无符号整型变量的无符号整型变量 * */ /v a=10;b=-30;x=20; a=10;b=-30;x=20;v s1=a+x;s2=b+x; s1=a+x;s2=b+x;v printf printf(a+x=%da+x=%d,b+x=%dnb+x

13、=%dn,s1s1,s2s2); ;v v 运行结果为v a+x=30,b+x=-10回92022-5-316实型常量实型常量 在C语言中,把称为实数或浮点数。 1.1.十进制数形式十进制数形式如:3.14159,-7.2,8.9等都是十进制形式。 2.2.指数法形式指数法形式 如:180000.0用指数法可以表示为1.8e5,1.8称为尾数,5称为指数。 0.00123用指数法可以表示为1.23E-3。 (1)字母e或E之前(即尾数部分)必须有数字。(2)e或E后面的指数部分必须是整数。 如:e-3,9.8e3.1,e5都是不合法的。2022-5-317 实型变量实型变量 实型变量又称为浮点

14、型变量,按能够表示数的精度,又分为单精度浮点型变量和双精度浮点型变量,定义方式分别如下:v 一般系统单精度型数据占 4个字节,有效位为7位,数值范围约为10-38 1038 ,而双精度型数据占8个字节,有效位为1516位,数值范围约为1030810 308.回92022-5-318字符型常量字符型常量 字符型常量是由括起来的单个字符构成,例如:A,b,2,%,;等都是有效的字符型常量。 一个字符型常量的值是该字符集中对应的编码值,例如:在ASCII字符集中,字符常量09的ASCII编码值是4857。 AZ的ASCII编码值是65 az的ASCII编码值是97 :即以反斜杠字符开头的字符序列。如

15、:n,代表一个“回车换行”符。这类字符称为 “”2022-5-3192022-5-320字符型变量字符型变量 一个字符型变量用来存放一个字符,. 字符型数据可分为两类: 一般字符类型(char)和无符号字符类型(unsigned char)。注意注意: :。 字符数据的字节长度和取值范围字符数据的字节长度和取值范围 数据类型 字节长度 取值范围 char 1 -128127的整数 unsigned char 1 0255的整数2022-5-321 例1: 字符型数据与整型数据可以通用。 main() char c1,c2; /* 定义名为c1,c2的字符型变量 */ c1=65;c2=66;

16、printf(%c,%cn,c1,c2); printf(%d,%dn,c1,c2); 运行结果为 A,B 65,662022-5-322v例2: 字符型数据可以进行算术运算。 main() char c1,c2; /* 定义名为c1,c2的字符型变量 */ c1=A;c2=b; c1=c1+32;c2=c2-32; /* 将c1,c2的ASCII码分别加减32 */ printf(%c,%cn,c1,c2); printf(%d,%dn,c1,c2); 运行结果为 a,B 97,66回92022-5-323 字符串常量字符串常量 字符串常量是由括起来的字符序列,例如:“program,A,b

17、ook都是字符串常量v字符串常量与字符常量的区别: (1)字符串常量是用双引号括起来的字符序列; (2)字符串常量在内存中存储时有串尾标记0;v串长度:字符个数 “good” 串长 4 占5B “A” 串长 1 占2B “” 串长 0 占1B “a:b” 串长 5 占6B回92022-5-3241.1.先定义后赋值先定义后赋值 int a,b,c; char d; float f; a=2; b=5; c=10; d=a; f=5.7;2.定义和赋值同时进行定义和赋值同时进行 int a=5; short b=10; char c=a; float d=7.8;2022-5-325v一、一、

18、算术运算符和算术表达式算术运算符和算术表达式 1.1.算术运算符算术运算符 算术运算符有加,减,乘,除及取模5种,分别由: + + , - -, * *, / /, % % 来表示。vC语言规定:(1)取模运算符 %,仅用于整型变量或整型常量,例如:5%3,其值为2。(2)优先级: 先乘、除、取模,后加、减。(3)结合方向: 从左至右; 2. 2.算术表达式算术表达式 由算术运算符、括号以及操作对象组成的符合C语言语法规则的表达式称为算术表达式。例如下述式子均为算术表达式: a+b*c+(x/y)-700 100%3+100*2运算符及表达式运算符及表达式运算量个数、类型的要求运算量个数、类型

19、的要求优先级优先级结合方向结合方向2022-5-326例如:mani() int a=5,b=2; float c; a=5/2;b=5%2;c=5.0/2; printf(“a=%dtb=%dtc=%fn”,a,b,c);思考:分解数字思考:分解数字 如:将一个三位数拆分出个、十、百位如:将一个三位数拆分出个、十、百位2022-5-327二、二、 赋值运算符和赋值表达式赋值运算符和赋值表达式 1. 1.赋值运算符赋值运算符 赋值运算符是:=例如:a=10;x=a+5;v注意:如果“=”两侧的类型不一致,在赋值时要进行类型转换。v结合方式:右结合(允许连续赋值:a=b=c=5;)2.2.复合赋

20、值运算符复合赋值运算符 + =,- =,* =,/ =,% =, a+=2 等价于 a=a+2 x*=y+5 等价于 x=x*(y+5) x%=8 等价于 x=x%82022-5-328例如:例如:main() int a=12; a+=a; printf(“a=%dn”,a); a=6; a%=a+=a-=a*a; printf(“a=%d n”,a);2022-5-3293.3.自增自减运算符自增自减运算符 增1运算符(+) 减1运算符(-)v单目运算符。既可以在操作数前,也可以在操作数后单目运算符。既可以在操作数前,也可以在操作数后, ,其其操作操作对象只能是变量,不能是常量或表达式。对

21、象只能是变量,不能是常量或表达式。例如:i+;i-; +i;-i;结合方向是结合方向是“自右向左自右向左” main() int i=4,j,k,; j=+i; k=i+ printf(“i=%d j=%d k=%dn”,i,j,k);2022-5-330三、三、 关系运算符和关系表达式关系运算符和关系表达式 1.1.关系运算符关系运算符 关系运算符均为二目运算符,共有以下6种: v 大于 v = 大于等于 v = 小于等于v = 等于 v != 不等于关系运算符=和!=低于前四种运算符。结合方向均为自左至右。2022-5-3312.2.关系表达式关系表达式v例如:a+bc-6 关系运算符的优

22、先级低于算术运算符关系运算符的优先级低于算术运算符v关系表达式的值是一个逻辑值,即“真”或“假”。v在在C语言中,常用语言中,常用1表示表示“真真”,用,用0表示表示“假假”。例如:main() int x=40,y=4,z=4; x=y=z; printf(“%dn”,x); x=x=(y=z); printf(“%dn”,x);2022-5-332四、四、 逻辑运算符和逻辑表达式逻辑运算符和逻辑表达式 1.1.逻辑运算符逻辑运算符 &(逻辑与) | (逻辑或) !(逻辑非)三种。v其中 & 和 | 为双目运算符, ! 为单目运算符, 2. 逻辑表达式逻辑表达式a&b

23、,!c,(,(a+b)&(c=0) 均为逻辑表达式均为逻辑表达式 !(非) (高) 算术运算符 关系运算符 &和| 赋值运算符 (低) 2022-5-333例如: main() int x,y,z; x=y=z=0; +x|+y&+z; printf(“x=%dty=%dtz=%dn”,x,y,z); 100 x=y=z=0; +x&+y|+z; printf(“x=%dty=%dtz=%dn”,x,y,z); 110 x=y=z=0; +x&+y&+z; printf(“x=%dty=%dtz=%dn”,x,y,z); 111 2022-5-3

24、34五、五、 其他运算符其他运算符 1.1.逗号运算符逗号运算符 逗号运算符为“,”。v其一般形式为 表达式1,表达式2, 说明:v(1)逗号表达式的执行过程是: 先求表达式 1的值,再求表达式 2的值,最后求表达式n的值;表达式n的值就是整个逗号表达式的值。v(2)逗号运算符是所有运算符中级别最低的。2022-5-335例如:main() int x=2,y=3,z=5,a=1,b=2,c=3; a=b+,c+; printf(“a=%d,b=%d,c=%dn”,a,b,c); x+=(y+,z*=y); printf(“x=%d,y=%d,z=%dn”,x,y,z); 334 22,4,202022-5-3362.2.条件运算符条件运算符 条件运算符是一个三目运算符,其一般形式为 表达式

温馨提示

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

最新文档

评论

0/150

提交评论