顺序程序设计第2讲数据类型和运算符_第1页
顺序程序设计第2讲数据类型和运算符_第2页
顺序程序设计第2讲数据类型和运算符_第3页
顺序程序设计第2讲数据类型和运算符_第4页
顺序程序设计第2讲数据类型和运算符_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

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

文档简介

第3章顺序程序设计2

——数据类型和运算符上节回顾常量整型常量:十进制(100),八进制(032),十六进制(0xf3)实型常量:十进制形式(1.23),指数形式(3.2e3)字符常量:普通字符(’a’),转义字符(’\n’),ASKII码表字符串常量:”abcde”,末端有一个结束符’\0’符号常量:#define,直接替代变量有类型,有名字,分配内存命名时只能用数字,字母和下划线三种符号,且第一个字符不能是数字常变量,既有常量特性(值不能变);又有变量特性(有类型,有名字,分配内存)3.2.2数据类型所谓类型,就是对数据分配存储单元的安排,包括存储单元的长度(占多少字节)以及数据的存储形式基本类型枚举类型(enum)空类型(void)派生类型整型类型浮点类型基本整型(int)短整型(short[int])长整型(long[int])*双长整型(longlong[int])字符型(char)*布尔型(bool)单精度浮点数(float)双精度浮点数(double)*复数浮点数(plex)指针类型(*)数组类型([])结构体类型(struct)共用体类型(union)函数类型3.2.3整型各种整型的长度基本整型(int):占2个(老编译器TurboC)或4个字节(8个二进制位),在VC++6.0中占4个字节短整型(shortint):VC++6.0中占2个字节长整型(longint):VC++6.0中占4个字节(跟基本整型一样)双长整型(longlongint):C99新增的,占8个字节整型数据在内存的存储方式131int(32位)符号位数字位3.2.3整型整型的符号有符号(默认)[signed]int,[signed]short,[signed]long无符号unsignedint,unsignedshort,unsignedlong各种整型在内存中的表示方式范围有符号整型int(4字节)00000000000000000000000000000000001111111111111111111111111111111231-1=2147483647~~10000000000000000000000000000000-011111111111111111111111111111111-(231-1)=-2147483647~~-2147483648(-2147483648~2147483647)3.2.3整型无符号整型unsignedint(4字节)有符号短整型short(2字节):-32768~32767无符号短整型unsignedshort(2字节):0~65535例:输出下面两个程序的运行结果00000000000000000000000000000000011111111111111111111111111111111232-1=~~(0~)3.2.3整型110000110101000050000=short11000011010100001011110010110000补码->原码-155363.2.3整型1000000000000001-1=unsignedshort1111111111111111原码->补码655353.2.4字符型字符型(char),占1个字节(无符号数0-255),对应ASCII码表的字符(P377附录B)常用的字符(0-127),包括26个小写字母(97-122):abcdefghijklmnopqrstuvwxyz26个大写字母(65-90):ABCDEFGHIJKLMNOPQRSTUVWXYZ10个数字(48-57):

0123456789其他符号:

空格!″#%&′()*+-/:;<=>?[\]^_{|}~扩展的字符(128-255),IBM机器上专用

3.2.4字符型例:写出下面程序的输出结果:字符可以与整数无条件自动转换,字符所代表的数值为其ASCII码3.2.5浮点型浮点型数据是用来表示具有小数点的实数单精度浮点数(float),占4个字节,6位有效数字双精度浮点数(double),占8个字节,16位有效数字长双精度浮点数(longdouble)TurboC环境:占16个字节,19个有效数字VC6,占8个字节,15个有效数字浮点数在内存的存储方式:1238符号位小数位指数位float-.3141591=-0.314159*101=-3.14159Double的小数位为52,指数位为113.2.5浮点型例:强制输出保留20个有效数字3.2.5浮点型例3.1有人用温度计测量出用华氏法表示的温度(如64°F,今要求把它转换为以摄氏法表示的温度(如17.78°C)提示:华氏法与摄氏法的转换方法是3.2.5浮点型#include<stdio.h>intmain(){floatf,c;//定义f和c为单精度浮点型变量f=64.0; //指定f的值c=(5.0/9)*(f-32);//单位转换printf("f=%f\nc=%f\n",f,c);//输出f和c的值return0;}3.2.7运算符和表达式P378附录D,34种运算符按功能划分(1)算术运算符+,-,*,/,++,--,%……(2)逻辑运算符>,>=,<,<=,==,!=,&&,||……(3)位运算符<<(左移),>>(右移),~(取反),&(与),|(或),^(异或)……(4)赋值运算符=,+=,-=,*=,/=,%=……(5)逗号运算符:,(6)其它特殊运算符

(),[],->,.,sizeof,?:……3.2.7运算符和表达式按形式划分:单目,双目,三目(1)单目运算符:只有一个操作数

运算符右操作数:-123,&a

左操作数运算符:a++,b—(2)双目运算符:两个操作数

左操作数运算符右操作数:a*3,x>y(3)三目运算符:三个操作数

操作数1?

操作数2:

操作3

如:a?b:ca成立,则执行b,否则执行c3.2.7运算符和表达式自增(++),自减(--)运算符只能用于整型变量:5++,(x+y)--×单独使用效果一样:i++++ii=i+1但作为赋值语句右边时,作用不一样:a=i++;①a=i;②i++;先用后加a=++i;①++i;②a=i;先加后用

谁先靠近赋值运算符的谁先做3.2.7运算符和表达式#include<stdio.h>intmain(){inta=3,b;b=++a; printf("a=%d\tb=%d\n",a,b);return0;}#include<stdio.h>intmain(){inta=3,b;b=a++; printf("a=%d\tb=%d\n",a,b);return0;}#include<stdio.h>intmain(){inta=3,b;b=--a; printf("a=%d\tb=%d\n",a,b);return0;}#include<stdio.h>intmain(){inta=3,b;b=a--; printf("a=%d\tb=%d\n",a,b);return0;}3.2.7运算符和表达式算术表达式和运算符的优先级与结合性C算术表达式——用算术运算符和括号将运算对象(也称操作数)连接起来的、符合C语法规则的式子优先级——越高越先做(P378附录D)括号优先级最高,赋值/逗号运算符优先级最低c=a+b*(x–y):①(x-y)②b*③a+④c=结合性——多个运算符执行的顺序从左到右:a+b–c①(a+b)②-c从右到左:a=b=c①b=c②a=b3.2.7运算符和表达式不同类型数据间的混合运算整型、浮点型、字符型数据间可混合运算:3+2.5+’a’进行运算时,不同类型的数据先转换成同一类型,再进行运算说明:这种类型转换是由系统自动进行的。横向向左箭头:必定转换纵向箭头:运算对象为不同类型时转换小结为:“向高看齐”——向表达能力强的类型转换 3.2.7运算符和表达式强制类型转换运算符——将一个变量的类型强制转换成指定的类型一般形式:

(类型名)(表达式)如:floata=3.5;doubleb=3.1415926;intc=65;chard;c=(int)(a+b);d=(char)c;(a+b)被强制转换为整型,相当于只取整数d被强制转换为字符型,该转换可以由系统自动完成3.2.7运算符和表达式#include<stdio.h>intmain(){ floatx=3.5; doubley=2.7654321; intz; charc1; floata1,a2;

z=(int)(x+y); c1=(char)70; a1=(float)10/4; a2=(float

温馨提示

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

评论

0/150

提交评论