预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共29页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第三章 数据类型、运算符与表达式程序设计=数据结构+算法 C语言的数据结构是以数据类型形式出现的 常量(在程序运行过程中,其值不能改变的量。 分为字面常量和符号常量) 字面常量或直接常量: 整常量:十进制+3123-12012L12l(3.0不是) 八进制以0开头0123(十进制83)、-011(-9) 十六进制以0x开头0x123(291),-0x12(-18) 实常量:十进制小数点形式(必须有小数点) 0.2、.2、+2.0、-2.、0.0(2不是) e指数形式1e2、1E2(代表1×102=100) 15e2、1.5E3、5e-2,-.5e1,1E0, e前后必须有数,e后必为整数 3e、e3、E、2.1e3.5错! 123.456,12.3456e1,1.23456e2,0.123456e3均等价 规范化形式(小数点左边有且只有一位非零数字) 字符常量: ‘a’、‘A’(两者不同)、‘5’ 转义字符:以反斜杠字符“\”开头的字符序列。 意思是将“\”后面的字符转换成另外意思。 \n(换行,将当前位置移到下一行开头) \r(回车,将当前位置移到本行开头) \t(水平制表,跳到下一个Tab位置) \b(退格,将当前位置移到前一列) \ddd(1到3位八进制数所代表的字符) \101代表ASCII码(八进制)为101, 即ASCII码(十进制)为65的字符‘A’ \xhh(1到2位十六进制数所代表的字符) \x41代表ASCII码(十六进制)为41, 即ASCII码(十进制)为65的字符‘A’ \0代表ASCII码为0的控制字符,即“空操作”字符。字符串常量:一对双引号括起来的字符序列 如:”Howdoyoudo.”,”CHINA”,”a” printf(”Thisisaprogram.”); 在内存中长度为6字符 注意:’a’与”a”不同 内存中aa\0 charc=”a”;是错的 没有字符串变量,字符串需用字符数组存放。 符号常量: 例3.1 #definePRICE30#definePI3.1416 main()main() {intnum,t;{floatr,s; num=10;scanf(“%f”,&r); t=num*PRICE;s=2*PI*r; printf(”t=%d\n”,t);printf(“s=%f\n”,s); }} 输出:t=300输入:1 输出s=6.283184 变量: 定义:类型、名字、初始化 inti=1,j,k; shortm,n; longc,d; unsignedu,v; floata=3.6,b=7.1; doublex,y; charw1,w2=‘A’; 变量名:由字母、数字和下划线组成 第一字符必为字母或下划线 sum,X2,x2,student_name,_file正确 M.D,$123,#abc,x>y,3t,π,α不正确 注意,大小写字母认为是两个不同的字符 对变量“先定义,后使用” 6种整型变量: 有符号基本整型[signed]int 无符号基本整型unsignedint 有符号短整型[signed]short[int] 无符号短整型unsignedshort[int] 有符号长整型[signed]long[int] 无符号短整型unsignedlong[int] 其中,无符号整型变量中可以存放的正数的范围比一般整 型变量中正数范围扩大一倍。 例如:inta;(-32768~32767) unsignedintb;(0~65535) C语言没具体规定以上各类数据所占内存的字节数,只要求 long型数据长度不短于int型,short型不长于int型。 浮点型变量: 单精度(float) 双精度(double) 长双精度(longdouble) 字符型变量: 将一个字符常量放到一个字符变量中,实际上并不是把该 字符本身放到内存中去,而是将该字符的相应ASCII代码放 到存储单元中。 这样使字符型数据和整型数据之间可以通用。 例一: charc1,c2; c1=97; c2=98; printf(“%c%c\n”,c1,c2);ab printf(“%d%d\n”,c1,c2);9798 例二:inti;charc; i=‘a’; c=97;类型1213优先级运算符结合方向 1()[]->(指针结构成员运算符).(结构成员运算符)从左到右 2一元运算!~++--+-*&(type)sizeof从右到左 逻辑非按位反增1减1正负指针地址类型转算长度 3算术运算*(乘)/(除)%(求余数)从左到右 4算术运算+(加)-(减)从左到右 5按位运算<<(左移位)>>(右移位)从左到右 6关系运算<<=>>=从左到右 7关系运算==(相等)!=(不等)从左到右 8