一些关于常量的实例
量的类型
整型常量
10,-30,0
包括正整数、负整数和零在内的所有整数
实型常量
3.14,-0.56,18.0
由于计算机中的实型数是以浮点形式表示的,即小数点位置可以是浮动的,因此实型常量既可以称为实数,也可以称为浮点数 正
三子己
符型常量 'x ','X','0'.'9' 用一对单引号括起来的任意字符
符串常量 "Hello!". *K88”.*9* 用对双引号括起来的零个或多个字符
不同进制的整型常量的表示形式
进制
整数17的不同
进制表示
整数-31的不同
进制表示
特
点
十进制
二进制
-31
00010001 -000011111
(0 *2'+0 *2°+0 *2+1 *2*(-(0 *2°+0 *2°→0 *2
*2*. 17))。-31
以10为基的教值系统称为十进制.由0.9的数字序列组成,数字可以带正负号
以2为基的数值系统称为二进制( Binary.二通制整数由0.1数字序列维成。在二进制系统中,数10相当于十进制中的数2
八进制
-037 为八进制.八进制(将00010001从最低位开(将000101111从最低位整数由数字0开头,后期0-始三位一组得到其压缩表示开始3位一组得到其压编表7(可用3位二进制位表示)021) 示-037) 的数字序列组成。在八进(2 φ8'+1 ψ8.17) (-(3 *8'+7 *8))。:31制系统中,数10相当手+
进制中的数8
0x11
将00010001从最低位开六进制始四位组得 到其压缩表示
0x11)
(1 *16'+1 16°≈17)
-0xIP 为十六进制,80:0001111从最低位开大进制能数电数字0加子始4位一组得到其压缩表示母x(或义)开头,后最0-9.-0x1F)
-(116°+F *16*”
制位表示)的数字序列量成在十六进制系统中,数10相当于十进制中的数16
不同类型的整型常量
不同类型的整型常量的表示形式
有符号整型常量
无符号整型常量
长整型常量
无符号长整型常量
10,-30,0
30u,256U
-2561,1024L
301u
默认的int型定义为有符号整数,因此对int 型无须使用signed
无符号整型常量由常量值后跟U或山来表示,不能表示成小于0的数,如一30u就是不合法的
长整型常量由常量值后跟工或1来表示
无符号长整型常量由常量值后跟LU、Lu、lU或lu来表示
实型常量的表示形式
用量
不同形式的实型常量
十进制小数形式
0.123.-12.35;98
十进制小数形式与人们表示实数的假用形式国是由数字和小数应组成的。住息咨须行6实型数如果没有小数点,则不能作为小数形式的
桥数形式
458-6
(等价于0.00000345)
指数形式用于直观地表示绝对值很大或银小的数。在C语言中由于程序编镇时不能输人上下角标所以铁字母e成者E来代表以10为屁的指数。其中6的左边是数值部分(有效数字)、可以表示成整数或者小数形式,它不能省略干的右边是指数部分必须是 整数形式
实现常量有电输力区精国和区以植助之分。但无有符号和无符号之分。不同类型的实型常量的表示形式如表2-5所示。
不同类型的实型常量
不同类型的实型常 量的表示形式
实
特点
单精度(loat)实型常量
欢精度double)实型常量
长发精度(long double)实型常量
1.25F,1.25e-3
0.123.-12.35.98
1.25L
单精度实型常量由市量值后跟Q或表示
实型常量隐含按双精度型处理
长双精度型常量由常量值后跟或表示
衡量内存空间大小的表示单位
中文称谓
(比特)位
换算方法
Byte(B)
字节
1B=8b
Kilobyte( KB)
千
IKB=1024B
Megabyte( MB)
兆
IMB=1024KB
Gigabyte( GB)
吉
1CB=1024MB
Terabyte(TB)
太
1TB=I024GB
本章知识点小结
常量和变量
整型,实型和字符型
变量的定义和赋值
C程序处理的数据有需量和变量同种基本形式
C语言的基本数据类型有整型、实型。字符型和技举类型等
变量必须先定义,后使用。变量名标识内存中一个具体的存储单元,变量值是存储单元中存放的数据
变量与常量的区别在于:在程序执行的过程中,常量的值保持不变,变量的值则是可以改变的
枚举等其他数据类型将在后续章节中介绍
标准C(C89)规定所有变量必须在第一条可执行语句之前定义
赋值运算符
计算字节数运算符sizeof()
运算符的优先级
运算符的结合性
圆括号
标识符命名
用于为变量赋值,将。右边的表达式的值赋值给左边的变量
用于计算数据类型成表达式所古内春的字节数
表达式的计算顺序是由运算符的优先级决定的,优先级高的先算,优先级低的后算
当运算符的优先级相同时,则由诺算符的结合性决定运算的先后顺序
在C语言的34种运算符中,圆括号的优先级最高。在任何表达式中,都优先计算括号内表达式的值。因此,可以使用国括号改变运算的先后顺序
标识符必须以字母或下划线开头,且只能由英文字母、数字和下刘线组成
献值运算样的专值月铺量,不能易常留成表话式
sienl是C关键中,数名
用圆括号梅表达武杨避免国设用和国用福W 先级和结合性固导结的错误
不允许使用G关键学为标符命机
本章常见错误小结
常见错误实例
int newvalue ;
newvalue = 0 ;
printf ("Input n:") ;int n;
intn一3.5;
⊥ntm≠n∞0;
常见错误描述变量米定义就使用
忽视了变量区分大小写,使得定义的变量和使用的变量不同名
在可执行语句之后定义变量
在定义变量时,用于变量初始化的常量类型与定义的变量类型不致
在定义变量时,对多个变量进行连续赋初值
错误类型编译错误
编译错误
编译错误
有的编译器不提示错误
编译错误
算术运算符的优先级与结合性
运算符
含
义
取相反数
乘法除法求余
加法减法
需要的操作
数个数
1个(一元)
2个(二元)
2个(二元)
运算实例
-( -1)12/512.0/5
1185118 (-5)(-11)1 5
5+15-1
运算结果
2.41
优先级
最高
较低
最低
结合性
从右向左
从左向右
赋值中常见的自动类型转换
左侧变量(目标)类型 右侧表达式的类型 可能丢失的信息signed char char 当值大于127时,目标值为负值char short 高8位char int(16位) 高日位char int(32位) 高24位char long 高24位
oc
short int(16位) 无
short int(32位) 高16位int(16位) long 高16位int(32位) long 无
小数部分(非四舍五人),在某些情况下整出int float 数部分的精度也会损失float double 精度,结果舍八double long double 精度,结果舍八
本章错误小结
常见错误实例
2 *π*r
常见错误描述表达式中使用了非法的标识符
↓Ead S上城
错误类型编译错误
4ac或者
4xaxc
将乘法运算符*省略,或者写成x
编译错误
1 a-b2 a+b
表达式未以线性形式写出,即分子、分母、指数、下标等未写在同一行上
常见错误实例
1.0/2.0+[a-b]/la+b)
sinx
3.5号0.5
1/2
float (m) 12
tdefine PI = 3.14159;
+=,-=,*=,1=,8=
(a+b)++
常见错误描述
使用方括号“”和“了”以及花括号“(”和”1”限定表达式运算顺序
使用数学函数运算时,未将参数用圆括号括起来,且未注意其定义城要求和参数的单位对浮点数执行求余运算
误将浮点数除法当做整数除法
强转表达式中的类型名未用圆括号括起来
误以为(float)m这种强制运算可以改变变量m的类型和数值
误以为用双引号括起来的字符串中与宏名相同的字符也被宏替换,误以为宏替换时可以做语法检查
误以为三角函数中的角的单位是角度
将宏定义当做C语句来使用,在行末加上了分号,或者在宏名后加上了“=”
将复合的赋值运算符+=,-一,*=,1=,8=的两个字符中间加人了空格
对一个算术表达式使用增1或者减1运算
%d 输出带符号的+进制整数正数的符号省略
以无符号的十进制整数形式输出
以无符号的人进制整数形式输出.不输出前导符0
以无符号十六进制整数形式(小写)输出,不输出前导符0x以无符号十六进制整数形式(大写)输出,不输出前导符0x输出一个字符输出字符串
以十进制小数形式输出实数(包括单、双精度),整数部分全部输出.含输出6位小数,输出的数字并非全部是有效数字,单精度实数的有效位数最为位,双精度实数的有效位数一股为16位。
%f适合于输出像3.14这样的小数位较少的实数,可以使实数输出的宽生较小
以指数形式(小写e表示指数部分)输出实数,要求小数点前必须有且仅有位非零数字。
%e适合于输出像1.0e+10这样的小数位较多的实数,可以使实数输出的重度较小。
在不同的编译环境下,使用%e输出数据所古的列数略有差异
%E 以指数形式(大写E表示指数部分)输出实数
函数printf()的格式修饰符格式修饰符 用 法
英文字母1 修饰格式符d,o,x,u时,用于输出long 型数据
英文字母L 修饰格式符f,e,B时,用于输出long double型数据英文字母h修饰格式符 d,o,x时,用于输出short型数据
本章知识点小结
用单引分钻起来的了符
以反解线(八)开人、有特定含义的学善样列
转文字特
字符输出函数putchar 0
字符输人函数getcharo
putchar ch1zputchar1'n'11
getchat 0↑
向屏幕输出字有
从键盘输人字符
数据的格式化输出两教printto
printt("input a:”) printt("a 1d'n",a) ↓
数据的格式化输人民数scanto scanti"id", 6a);
以各种格式进行任息类型数据的屏幕输出操作
以各种格式进行任意类型数据的操作