c-2数据类型、运算符和表达式_第1页
c-2数据类型、运算符和表达式_第2页
c-2数据类型、运算符和表达式_第3页
c-2数据类型、运算符和表达式_第4页
c-2数据类型、运算符和表达式_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

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

文档简介

1、第三章 数据类型、运算符、表达式对数据的操作运算运算符和表达式整型字符型实型(浮点型)单精度型双精度型数组类型结构体类型共用体类型构造类型基本类型指针类型空类型数据类型3 C语言程序的基本元素语言程序的基本元素有七种:有七种:标识符标识符 关键字关键字 空白字符空白字符 注释注释 分隔符分隔符常量常量 运算符运算符一一.标识符标识符u标识符的概念标识符的概念用来标记文件名、常量、变量、函数名等有效字符序列用来标记文件名、常量、变量、函数名等有效字符序列u标识符的使用规则标识符的使用规则n由英文字母、数字由英文字母、数字(09)或下划线或下划线_组成的字符序列组成的字符序列, 且必须由英文字母或

2、且必须由英文字母或_开头,大小写敏感。开头,大小写敏感。n不与关键字标识符相同,故又称不与关键字标识符相同,故又称合法标识符合法标识符n标识符的长度无统一规定标识符的长度无统一规定标识符的习惯用法标识符的习惯用法常量用大写常量用大写 变量用小写变量用小写常用取简常用取简 专用取繁专用取繁 顾名思义顾名思义例:判断下列标识符号合法性sum Sum M.D.John day Date 3days student_name #33 lotus_1_2_3 char ab _above $1232022-2-23三三. .空白字符空白字符即程序中标识符与标识符之间即程序中标识符与标识符之间, ,行与行

3、之间的空白间隔的字符行与行之间的空白间隔的字符作用:程序文本格式的编辑,提高可读性作用:程序文本格式的编辑,提高可读性空白字符在编译时不产生代码空白字符在编译时不产生代码四四. .注释注释(/(/* *.* */ / 或者或者 /) )辅助程序编辑过程中的记忆、阅读和理解辅助程序编辑过程中的记忆、阅读和理解使用的位置:与使用的位置:与“空白字符空白字符”相同,可多行注释相同,可多行注释不产生编译代码不产生编译代码不允许嵌套不允许嵌套n所谓关键字:即已由系统内部使用,不能重作其它定义所谓关键字:即已由系统内部使用,不能重作其它定义nC关键字共有关键字共有32个个二二. .关键字关键字例如:例如:

4、 /*This is a example/* for test */ */非法非法五五. .分隔符分隔符有八种,在有八种,在C编译程序中有其固定含义编译程序中有其固定含义lC语言的基本元素(标识符(标识符 关键字关键字 空白字符空白字符 注释注释 分隔符分隔符 常量常量 运算符运算符)l常量和变量l基本数据类型及其定义l不同类型数据间的转换l运算符和表达式3.1常量和变量常量和变量一、常量n定义:常量是在程序运行过程中,其值不能被改变的量。n分类: 直接常量:从其字面形式即可判断的常量。 12(整型)、3.5(实型)、a(字符型)符号常量:利用一个有效标识符来代表一个常量(基本上用大写)。 :

5、PI #define PI 3.14例1:(直接常量)#include void main( ) int r; float l,s; r=10; l=2*3.14*r; s=3.14*r*r; printf(“l=%fn”,l); printf(“s=%fn”,s);求圆的周长和面积。l=2*3.14159*r;s=3.14159*r*r;例2:(符号常量)#include #define PI 3.14void main( ) int r; float l,s; r=10; l=2*PI*r; s=PI*r*r; printf(“l=%fn”,l); printf(“s=%fn”,s);#d

6、efine PI 3.14159 符号常量的优点符号常量的优点: :符号常量的实际值易于修改。符号常量的实际值易于修改。 符号常量的意义比较明确。符号常量的意义比较明确。例例 int x=3; char a, b, c; float pi=3.1415;/*定义定义pi并初始化并初始化*/ float score; 变量的定义变量的定义 类型类型 变量名表;变量名表;二、变量(存储常量的容器)二、变量(存储常量的容器)n变量的概念变量的概念n变量:在程序执行过程中,其值可以改变的量变量:在程序执行过程中,其值可以改变的量n变量名:在内存中占有一个存储单元,并对应一个地址变量名:在内存中占有一个

7、存储单元,并对应一个地址3变量名变量名x(地址)(地址)变量(值)变量(值)变量的取值范围变量的取值范围存储空间大小存储空间大小( (字节数字节数) )合法标识符合法标识符定义的同时可以赋初值定义的同时可以赋初值变量的定义和使用变量的定义和使用C C使用变量的原则:使用变量的原则:“先先定义定义,再,再使用使用”#include void main( ) int x,y; x=3; y=x*x;printf(“%d”,y);一个变量只定义一次,定义变量一般在程序的开头,不能定义在程序的中间或后面。3.23.2基本数据类型及其定义基本数据类型及其定义n基本数据类型(整型 实型 字符型)八八 进进

8、 制制 整整 数:无符号,数:无符号,07组成,最高位用组成,最高位用0引导,引导, 如如010,0123 十六进制整数:无符号,十六进制整数:无符号,09及及af 或或 AF组成,最高位用组成,最高位用0 x或或0X 引导,如引导,如0 x1a,0X1A 一一. 整型类型整型类型整型常量整型常量十十 进进 制制 整数:带符号,整数:带符号,09组成,第一位数字为非零(除零外),组成,第一位数字为非零(除零外), 如如10,123. . 整型类型整型类型整型变量整型变量 P45P45类型类型符号符号关关 键键 字(小写)字(小写)取取 值值 范范 围围字节数字节数整整 型型带带signed i

9、nt-231 231 -14B*signed short int-3276832767327672Bsigned long int-231 231 -14B不不带带unsigned int0 232 -14B*unsigned short int065535655352Bunsigned long int0232 -14B注意点:1.整型变量的分类2.整型变量在内存中所占的字节数及其取值范围3.整型变量的溢出问题4.整型变量输入输出的格式控制字符用 %d和%u3. 整型数据的输入输出printf (格式控制字符串, 输出参数1, . , 输出参数n);scanf (格式控制字符串, 输入参数1

10、, . , 输入参数n);格式控制说明 % 十进制 八进制 十六进制int %d %o %xlong %ld %lo %lxunsigned %u %o %xunsigned long %lu %lo %lx例3(1) 输出整型数据 # include void main( ) int a=10; unsigned b=8; long c=100; printf(%d, %o, %xn, a, 10, 10); printf(%d, %u, %ldn, a, b, c); printf(%d, %xn, 012, 012); 10, 12, a10, 8, 10010, aprintf(%d,

11、 %#o, %#xn, 10, 10, 10);10,012,0 xa10,012,0 xa格式控制字符普通字符注意事项:输入时,格式控制字符个数与输出参数应遵循注意事项:输入时,格式控制字符个数与输出参数应遵循个数一致、顺序一致和类型一致。个数一致、顺序一致和类型一致。int a;unsigned b;long c;scanf(“_”,&a,&b,&c);printf(“_”,a,b,c);%d%u%ld%d%u%lda=%d,b=%u,c=%ld例3(2) 输入整型数据两部分不能同时缺省两部分不能同时缺省b. 指数形式(指数)指数形式(指数)整数部分整数部分 . 尾

12、数部分尾数部分 E | e + | - 指数部分指数部分二二.实型数据实型数据实型常量实型常量a. 十进制形式:由十进制形式:由09数字及小数点组成(小数)数字及小数点组成(小数)如:如: e3 2.1e3.5 .e3 e指数部分为整数指数部分为整数错误!2.2.实型数据实型数据实型变量实型变量 float 型型 : 字长字长32位(位(4个字节)个字节) double型型 :字长:字长64位(位(8个字节)个字节) long double型:字长型:字长128位(位(16个字节)个字节)存放包含小数位的值存放包含小数位的值分单精度分单精度(float)(float)和双精度和双精度(doub

13、le)(double)两种两种floatfloat型的有效位数达到型的有效位数达到7 7位位doubledouble型的有效位数达到型的有效位数达到1616位位3. 实型数据的输入和输出n输入 scanf( )nfloat:%f 或%e 以小数或指数形式输入一个单精度浮点数ndouble: %lf或%le 以小数或指数形式输入一个双精度浮点数n输出 printf( )float 和double使用相同的格式控制说明n%f以小数形式输出浮点数,保留6位小数(float有效数字7位,double有效数字16位)n%e以指数形式输出例1:#include void main( ) float a;

14、double b; a= 1234.111111; b= 1234.111111; printf(“a=%f,b=%f ”,a,b); 输出结果:a=1234.111* , b=1234.111111例2.实型数据输出示例# include void main( ) double d = 3.1415926; printf(%f, %en, d, d); printf(%5.3f, %5.2f, %.2fn, d, d, d); 3.141593, 3.141593e+000一共一共5位,小数位,小数3位,小数点占一位位,小数点占一位3.142, 3.14, 3.14复习1、请选出可用作C语言

15、用户标识符的一组标识符_。 A).void define WORD B).a3_b3 _789 IF C).For -gif CASE D).3d UNDO sizeof2、void main() int i=010,j=10,k=0 x10; printf(%d,%d,%dn,i,j,k);输出结果是。 A).8,10,16 B).8,10,10 C).10,10,10 D).10,10,163、指出下面正确的输入语句是_。A). scanf( a=b=%d ,&a , &b)B). scanf( a=%d,b=%f ,&m , &f)C). scanf( %3d,c) D). scanf( %5.2f”, &f) 转义字符:在单引号中,用反斜线引导的字符或数字来转义字符:在单引号中,用反斜线引导的字符或数字来 表示其他含义的字符常量表示其他含义的字符常量三三.字符型数据字符型数据字符常量字符常量普通字符:用普通字符:用单引号单引号括起来的括起

温馨提示

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

评论

0/150

提交评论