03 第03章 C语言数据类型

合集下载

C C 程序设计教程(第4版)

C C  程序设计教程(第4版)
CC
程序设计教程(第4版)
电子工业出版社出版的图书
பைடு நூலகம்
01 成书过程
03 教材目录 05 教材特色
目录
02 内容简介 04 教学资源 06 作者简介
《C/C++程序设计教程(第4版)》是由孙淑霞、肖阳春、李思明编著,2014年1月电子工业出版社出版的普 通高等教育“十一五”国家级规划教材、国家精品课程教材、大学计算机规划教材。该教材可作为大专院校非计 算机专业本科生、研究生的相关课程的教学用书,也可作为计算机专业学生学习C/C++程序设计的教材,同时还 可供自学者参考。
全书由12章组成,主要内容包括:C/C++语言程序设计概述,C语言程序设计基础,控制结构,数组,指针, 函数,编译预处理与变量的存储类型,文件,结构体与共用体,图形程序设计基础,C++语言程序设计基础,查 找与排序。
成书过程
修订过程
出版工作
该教材具体编写分工如下:第1、4、5~8章由孙淑霞编写,第2、3章由肖阳春编写,第9、10章由魏琴编写。 全书由孙淑霞统稿。李思明、鲁红英、安红岩、刘祖明、雷珍、刘焕君参加了该精品课程的建设和飞机场编写过 程中的部分工作。
作者简介
孙淑霞,1956年生,女,汉族,成都成华区人,成都理工大学络教育学院教授、研究生导师,主要研究方向 为人工智能、模式识别、数字图像。
肖阳春,1963年生,男,四川内江人,硕士,成都理工大学信息与科学技术学院副教授,研究方向为计算机 图像、模式识别。
魏琴,1975年生,女,四川成都人,硕士,成都理工大学信息与科学技术学院讲师,研究方向为计算机图像、 模式识别、信息安全。
感谢观看
教材目录

C语言第三章数据类型和运算符及表达式复习题

C语言第三章数据类型和运算符及表达式复习题

数据类型、运算符和表达式复习题一.选择题1. 以下不合法的用户标识符是:()a) f2_G3 b) If c) 4d d) _82. 以下选项中合法的用户标识符是:()a) long b) _2Test c) 3Dmax d) A.dat3. 以下可用作用户标识符的是:()a) 12_a b) signed c) t-o d) _if4. 以下不是关键字的标识符是:()a) continue b) char c) If d) default5. C语言提供的合法的关键字是:()a) swicth b) cher c) Case d) void6. 以下选项中不合法的int整型常数是()a) 32768 b) -56 c) 03 d) 0xAF7. 以下合法的长整型常量是()a) 2L b) 49627 c) d) 213&8. 以下正确的实型常量是()a) 1.2E b) . c) 1.2e0.6 d) 89. 以下选项中合法的实型常数是()a) 5E2.0 b) E-3 c) .2E0 d) 1.3E10. 以下合法的八进制数是()a) 0135 b) 068 c) 013.54 d) o711. 以下合法的十六进制数是()a) 0x b) 0x4de c) 0x1h d) ox7712. 以下选项中非法的数值常量是()a) 019 b) 0L c) 0xff d) 1e113. 若变量已正确定义,以下合法的赋值表达式是()a) a=1/b=2 b) ++(a+b)c) a=a/(b=5) d) y=int(a)+b14. 若变量已正确定义,以下非法的表达式是()a) a/=b+c b) a%(4.0)c) a=1/2*(x=y=20,x*3) d) a=b=c15. 设x为int类型,其值为11,则表达式(x++*1/3)的值是:a) 3 b) 4 c) 11 d) 1216.设a,b均为double型,且a=5.5;b=2.5;则表达式(int)a+b/b的值是()a) 6. b) 6 c) 5. d) 6.17.若a为int型,且其值为3,则执行完表达式:a+=a-=a*a后,a的值是()a) -3 b) 9 c) -12 d) 618.设k和x均为int型变量,且k=7;x=12;则能使值为3的表达式是()a) x%=(k%=5) b) x%=(k-k%5)c) x%=k-k%5 d) (x%=k)-(k%=5)19. 若a,b,c 均被定义成整型并已赋大于1的值,能正确表示代数式cb a ⋅⋅1的C 语言表达式是( )a) 1/(float)a*b*c b) 1/(a*b*c)c) 1.0/a/b/c d) 1/a/b/(float)c 20. 以下变量x,y,z 均为double 型且已正确赋值,不能正确表示代数式zy x ⨯的C 语言表达式是( )a) x/y*z b) x*(1/(y*z))c) x/y*1/z d) x/y/z 21. 不能正确表示代数式d c ba ⋅⋅的C 语言表达式是( )a) a/(c*d)*b b) a*b/c/dc) a*b/c*d d) a*b/(c*d)22.若题中变量已正确定义并赋值,下面符合C 语法的表达式是( )a) a%=7.6 b) a++,a=7+b+cc) int(12.3)%4 d) a=c+d=a+723. 若t 已定义为double 型,则表达式:t=1,t++,t+5的值为( )a) 7 b) 7.0 c) 2.0 d) 1.024. 已有定义:int a,b; float x,y;,以下正确的赋值语句是:( )a) a=1,b=2, b) y=(x%2)/10; c) x*=y+8; d) a+b=x;25. 有以下程序:main(){ int y=1111;printf(“y=%6d\n ”,y);printf(“y=%+06d\n ”,y);}程序运行的结果是:( )a) y= 1111 b) y= 1111 c) y=1111 d) y= 1111y= y=+01111 y=+01111 y=111126. 有以下程序:main(){ int y=456;printf(“*y=%7o*\n ”,y);printf(“*y=%-7o*\n ”,y);printf(“*y=%07o*\n ”,y);}程序运行的结果是:( )a) *y= 710* b) *y= 456**y=710 * *y=456 **y=* *y=*c) *y=710* d) *y=456**y=-710* *y=-456**y=0710* *y=0456*27. 有以下程序:main(){ float y=3.667;printf(“*%f*\n”,y);printf(“*%7.2f*\n”,y);printf(“*%8.0f*\n”,y);}程序运行的结果是:()a) *3.* b) *3.** 3.67* *3.667 ** 4* *4.*c) *3.667* d) *3.**3.* *3.67**3.* *4.*28. 已有定义:double a,b;,若要求按输入方式(此处*代表一个空格)**1.0**2.0<回车> 分别给a,b输入1,2,则能正确进行输入的语句是()a) scanf(“%f%f”,&a,&b);b) scanf(“%5.1lf%5.1lf”,&a,&b);c) scanf(“%lf%lf”,&a,&b);d) scanf(“%5e%5e”,&a,&b);29. 以下合法的定义语句是()a) short _auto_=100-1;b) double b=1+5e2.5;c) long do=1l;d) float 2_and=1e-3;30. 以下选项中不是C语句的是()a) ++t b) ; c) k=i=j; d) {a/=b=1;b=a%2;}31. 有定义语句:int a=5,b;,不能给b赋2的赋值语句是()a) b=a/2; b) b=b+2; c) b=2%a; d) b=5;b=2;32. 设x和y均为int型变量,语句组x+=y;y=x-y;x-=y;的功能是()a) 把x和y从小到大排列b) 把x和y从大到小排列c) 无确定结果d) 交换x和y中的值33. 有定义语句:long int a; int k;,能给a赋40000的正确语句是()a) a=20000+20000; b) a=4000*10;c) k=400;a=k*100; d) a=4000;a=a*10;34. 若有定义:int a=8,b=5,c;,执行语句:c=a/b+0.4;后,c的值是()a) 1.4 b) 1 c) 2.0 d) 235. 有以下程序:main(){ int k=2,i=2,m;m=(k+=i*=k++);printf(“y=%d,%d\n”,m,i);}程序运行的结果是:()a) 8,6 b) 8,3 c) 6,4 d) 7,436. 有以下程序:main(){ int y=3,x=3,z=1;printf(“%d %d\n”,(++x,y++),z+2);}程序运行的结果是:()a) 3 4 b) 4 2c) 4 3 d) 3 337. 有以下程序:main(){ int i; long l ; float f ; double d ;i=f=l=d=20/3;printf(“%d %ld %3.1f %3.1f\n”,i,l,f,d);}程序运行的结果是:()a) 6 6 6.0 6.0 b) 6 6 6.7 6.7c) 6 6 6.0 6.7 d) 6 6 6.7 6.038. 有以下程序:main(){ unsigned a=32768; int b ;b=a ;printf(“b=%d\n”,b);}程序运行的结果是:()a) b=32768 b) b=32767 c) b=-32768 d) b=-139.有以下语句printf(“%d,%d,%u\n”,016,16,-16);其输出结果是()a) 16,16,65520 b) 14,16,65520c) 16,16,-16 d) 14,16,-1640.若有定义语句:int b=0x17;printf(“%d”,b++);,其正确的输出结果是()a) 23 b) 24 c) 25 d) 2241.有以下程序:main(){ int x=0xffff;printf(“%d\n”,x--);}程序运行的结果是:()a) 32767 b) FFFEc) -1 d) -32768二.填空题1.已有定义:float f=13.8;,则表达式:(int)f%3的值是______.2. 已有定义:int x=3;, 则表达式:x=x+1.78的值是______.3. 已有定义:double x=3.5; 则表达式:x=(int)x+1的值是_____.4. 已有定义:int x=10,y=3,z;, 则表达式:z=(x%y,x/y) 的值是_______.5. 设a,b,c为整型数,且a的值为2,b的值为3, c的值为4,表达式:a*=16+(b++)-(++c)的值为______.6. 已有定义:int x=0,y=0;,则计算表达式:(x+=2,y=x+3/2,y+5)后,表达式的值是___,变量x的值是___,变量y的值是____.7. 已有定义:int x=110,y=017;,则计算表达式:(x++,++y)后,按十进制表示,变量x的值是_____,变量y的值是_______。

C语言程序设计(2014年清华大学出版社出版的图书)

C语言程序设计(2014年清华大学出版社出版的图书)
韩婷婷,女,硕士,鲁东大学信息与电气工程学院副软件工程系讲师。主要研究领域为模型驱动的软件工程, 软件测试,软件维护,形式化方法。
谢谢观看
C语言程序设计(2014年清华大学出 版社出版的图书)
2014年清华大学出版社出版的图书
01 成书过程
03 教材目录 05 教材特色
目录
02 内容简介 04 教学资源 06 作者简介
《C语言程序设计》是2014年清华大学出版社出版的图书,作者是宋丽华、雷鹏、张小峰、韩婷婷。 该书是普通高等教育“十一五”国家级规划教材、计算机系列教材。该教材可作为计算机类、电气信息类的 本科教材,也可作为科技工作者业务学习的参考用书。 该教材共分9章,以程序设计思想为中心,强化算法思想和规范化编程。
雷鹏,男,工学硕士,毕业于山东大学计算机软件与理论专业,鲁东大学信息与电气工程学院副教授。研究 方向为计算机算法设计与分析、Led照明最优化、伽马辐照装置放射源棒最优化排列、软件工程、程序设计。
张小峰,男,工学博士,鲁东大学信息与电气工程学院副教授。主要从事数字图像处理、模式识别等方面的 研究工作。先后为本科生讲授《离散数学》《信息论与编码》《算法分析与设计》等课程。
2014年6月1日,该教材由清华大学出版社出版。
内容简介
第1章C语言入门:介绍简单的C程序组成、C程序的运行环境,算法的特性以及描述算法的方法,结构化程序 设计思想。
第2章数据类型和表达式:介绍C语言的基本数据类型,数据的表示,常量和变量,运算符和表达式,以及表 达式的计算过程。
第3章C语言的基本控制结构:介绍了C语言的三种基本结构,包括C语句的种类、数据的输入与输出、选择结 构和循环结构,并通过程序实例分析了选择和循环结构的构造过程。
成书过程

c语言实数类型及相关数据

c语言实数类型及相关数据

c语言实数类型及相关数据
C语言中的实数类型包括float、double和long double。

其中,float通常是单精度浮点数,占4个字节;double是双精度浮点数,通常占8个字节;而long double则是扩展精度浮点数,占据的字
节数因系统而异,一般大于等于double。

在C语言中,实数类型的数据可以用来表示带有小数点的数值,例如浮点数、双精度数等。

这些类型的数据可以用于存储非整数数值,如小数或者科学计数法表示的数值。

实数类型的数据在计算机中以二进制形式存储,采用IEEE 754
标准进行表示。

这种表示方法可以保证在一定范围内具有较高的精度,并且可以进行基本的算术运算。

在使用实数类型的数据时,需要注意由于浮点数精度的限制,
可能会出现舍入误差。

因此,在比较浮点数时,一般不直接使用相
等判断,而是判断它们的差值是否在一个可接受的范围内。

另外,C语言标准库中提供了一系列与实数类型相关的函数,
如sin、cos、exp、log等,用于进行数学计算。

这些函数可以对实
数类型的数据进行各种数学运算,满足实际编程中对实数的需求。

总的来说,C语言中的实数类型及相关数据在科学计算、工程计算等领域有着广泛的应用,能够满足对于精度和范围要求较高的数值计算需求。

c语言第03章

c语言第03章

活期存款一年后本息和为: p1=p0(1+r1) 一年期定期存款,一年后本息和为: p2=p0(1+r2) 两次半年定期存款,一年后本息和为:
r3 r3 p3 = p0(1 + )(1 + ) 2 2
6
3.1顺序程序设计举例

算法:
输入p0,r1,r2,r3的值 计算p1=p0(1+r1) 计算p2=p43; r 3 )
2 2
输出p1,p2,p3
7
3.1 顺序程序设计举例
#include <stdio.h> 定义变量同时赋予初值 int main ( ) {float p0=1000, r1=0.0036,r2=0.0225, r3=0.0198, p1, p2, p3; p1 = p0 * (1 + r1); p2 = p0 * (1 + r2); p3 = p0 * (1 + r3/2) * (1 + r3/2); printf(”%f\n%f\n%f\n”,p1, p2, p3); return 0; }
\„ \ddd \“ 单引号 例 void main() { printf(“Y\b=\n”);\xhh 3位8进制数代表的字符 aaa }
转义字符:反斜线后面跟一个字符或一个代码值表示
<
双引号 运行结果: 2位16进制数代表的字符 屏幕显示:= 15 打印机输出:¥
C语言程序设计
第3章 最简单的C程序设计
19
C语言程序设计
第3章 最简单的C程序设计

3.2.3不同类型数据间的转换
1.隐式转换
什么情况下发生
运算转换------不同类型数据混合运算时 赋值转换------把一个值赋给与其类型不同的变量时 输出转换------输出时转换成指定的输出格式

C语言习题答案1-7章

C语言习题答案1-7章

程序设计基础(C语言版)习题第01章绪论一.选择题1.以下叙述中正确的是________。

A)程序设计的任务就是编写程序代码并上机调试B)程序设计的任务就是确定所用数据结构C)程序设计的任务就是确定所用算法D)以上三种说法都不完整参考答案:D【解析】程序设计通常分为问题建模、算法设计、编写代码和编译调试四个阶段。

所以选项A)、B)、C)说法都不完整。

2.以下关于简单程序设计的步骤和顺序的说法中正确的是。

A)确定算法后,整理并写出文档,最后进行编码和上机调试B)首先确定数据结构,然后确定算法,再编码,并上机调试,最后整理文档C)先编码和上机调试,在编码过程中确定算法和数据结构,最后整理文档D)先写好文档,再根据文档进行编码和上机调试,最后确定算法和数据结构参考答案:B【解析】设计一个能解决实际问题的计算机程序需要经过以下几个过程:①建立模型。

②算法设计:给出解决问题的步骤,即算法。

③算法表达:选择一种表达算法的工具,对算法进行清晰的表达。

④编写程序:选择一种程序设计语言,把以上算法程序化,这称为编写程序。

⑤程序调试:对编写好的程序进行调试,修改程序中的错误。

⑥程序文档编写与程序维护。

综上所述,B)选项是符合上述描述的,其他选项不恰当。

3.以下叙述中正确的是________。

A)C程序的基本组成单位是语句B)C程序中的每一行只能写一条语句C)简单C语句必须以分号结束D)C语句必须在一行内写完参考答案:C【解析】函数是C程序的基本组成单位;C语言书写风格很自由,不但一行可以写多个语句,还可以将一个语句写在多行中。

故本题答案为C)。

4.以下叙述中正确的是。

A)C程序中的注释只能出现在程序的开始位置和语句的后面B)C程序书写格式严格,要求一行内只能写一个语句C)C程序书写格式自由,一个语句可以写在多行上D)用C语言编写的程序只能放在一个程序文件中参考答案:C【解析】在C语言中,注释可以加在程序中的任何位置,选项A)错误。

C语言第03章--数据类型和表达式

C语言第03章--数据类型和表达式
通常不被初始化的变量,其值为危险的随机数 通常不被初始化的变量,其值为危险的随机数
char int
ch = 'a'; i = 1;
17
变量的属性
例:
int sum=10; 类型
内存存放说明: 内存存放说明: 存放说明 变量名 1001 sum 10 变量值
存储单元的地址
二、 变量
命名规则 在C中变量名 函数名 文件名 数组名 等均称标识符 变量名, 函数名, 文件名, 数组名, 变量名 标识符 (identifier), 可由字母 数字 下划线 字母,数字 下划线组成,且第一个必 字母 数字和下划线 须为字母或下划线 字母或 字母 下划线,前8或32个有效。 注意: 字母大小写敏感; 注意 字母大小写敏感 不可用关键字; 不可用关键字 不可出现空格; 不可出现空格 见名知意; 见名知意 如: a1与A1为不同的变量名 如: int, for, if 等 如: stu 1, a 1等 如: sum, sort 等
e前必须有数 前必须有数 字,e后必须 后必须 有整数
合法:0.123、.123、123.0、123.、0.0 合法: 、 、 、 、 错误: 错误 - 2.0e2.5 e8
(3)字符常量 字符常量 —— 用单引号括起来的一个字符或转义字符 括起来的一个字符或转义字符 一个字符或转义字符. 例: ‘A’, ‘o’ , ‘1’, ‘#’, ‘a’ 等
float
必转
char, short long unsigned int 低
double 高
自动类型转换
34
例:
若:i 为 int , f为float ,d 为 double e 为long
字节数

计算机2级C语言题库第三章 数据类型、运算符与表达式

计算机2级C语言题库第三章 数据类型、运算符与表达式

第三章数据类型、运算符与表达式一单项选择题1.下面四个选项中,均不是c语言关键字的选项是()。

A) define IF Type B) getc char printfC) include scanf case D) while go pow3.下列四个选项中,均是C语言关键字的选项是()。

A) auto enum include B) switch typedef continueC) signed union scanf D) if struct type4.下面四个选项中,均是不合法的用户标识符的选项是()。

A) A P_0 do B) float la0 _AC) b-a goto int D) _123 temp int5.以下有4组用户标识符,其中合法的一组是()。

A) For -sub Case B) 4d DO SizeC) f2_G3 IF abc D) WORD void define7.下面四个选项中,均是合法整型常量的选项是()。

A) 160 -0xffff 011 B) -0xcdf 01a 0xeC) –01986 012 0668 D) -0x48a 2e5 0xe8.下面四个选项中,均是正确的八进制数或十六进制数的选项是()。

A) -10 0x8f -011 B) 0abc -017 0xcC) 010 -0x11 0xf1 D) 0a12 -0x123 -0xa9.设C语言中,一个int型数据在内存中占2个字节,则unsigned int型数据的取值范围为()。

A) 0~255 B) 0~32767 C) 0~65535 D) 0~2147483647 10.在C语言中,不正确的int类型的常数是()。

A)32768 B)0 C)037 D)0xAF13.下面四个选项中,均是合法的浮点数的选项是()。

A) +1e+1 5e-9.4 03e2 B) -.60 12e-4 -8e5C) 123e 1.2e-.4 +2e-1 D) -e3 .8e-4 5.e-015.以下选项中合法的字符常量是()。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

3.2 常量与变量
Hale Waihona Puke 注意: • 编译系统将大写字母和小写字母认为是两 个不同的字符。 • 建议变量名的长度最好不要超过8个字符。 • 在选择变量名和其它标识符时,应注意做 到“见名知意”,即选有含意的英文单词 (或其缩写)作标识符。 • 要求对所有用到的变量作强制定义,也就 是“先定义,后使用” 。
注意:字母e(或E)之前必须有数字,且e后面的 指数必须为整数:


1e3、1.8e-3、-123e-6、-.1e-3 e3、2.1e3.5、.e3、e
3.4 浮点型数据
规范化的指数形式:
在字母e(或E)之前的小数部分中,小数点左边 应有一位(且只能有一位)非零的数字。
123.456可以表示为: 123.456e0, 12.3456e1, 1.23456e2, 0.123456e3, 0.0123456e4, 0.00123456e 其中的1.23456e2称为“规范化的指数形式”。
符号短整型)
long e,f;(指定变量e、f为长整型)
例3.2 整型变量的定义与使用 运行结果: a+u=22, #include <stdio.h> b+u=-14 void main() {int a,b,c,d; /*指定a、b、c、d为整 型变量*/ unsigned u; /*指定u为无符号整型变量 * / a=12;b=-24;u=10; c=a+u;d=b+u; printf(″a+u=%d,b+u=%d\n ″,c,d); 说明: 可以看到不同种类的整型数据可以进行算术运算 可以看到不同种类的整型数据可以进行算术运算 } 说明:
例如:
3.4 浮点型数据
3.4.2 浮点型变量 (1)浮点型数据在内存中的存放形式 一个浮点型数据一般在内存中占4 个字节(32位)。与整型数据的存储方 式不同,浮点型数据是按照指数形式 存储的。系统把一个浮点型数据分成 小数部分和指数部分,分别存放。指 数部分采用规范化的指数形式。
3.4 浮点型数据
符号常量: 用一个标识符代表一个常量。符号常量的值在其作用域内不 符号常量 : 用一个标识符代表一个常量。符号常量的值在其作用域内不 能改变,也不能再被赋值。 能改变,也不能再被赋值。 说明: 程序中用#define命令行定义PRICE代表常量30,此后凡在本文件 程序中用#define命令行定义PRICE代表常量30,此后凡在本文件 说明: 中出现的PRICE都代表30,可以和常量一样进行运算 中出现的PRICE都代表30,可以和常量一样进行运算
3.3 整型数据 注意:
• 十进制数10的二进制形式为1010,Turbo C 2.0和Turbo C++ 3.0为一个整型变量在 内存中分配2个字节的存储单元(不同的编 译系统为整型数据分配的字节数是不相同 的,VC++ 6.0则分配4个字节)。 • 数值是以补码(complement) 表示的。
3.5 字符型数据
3.5.1 字符常量
(1)用单引号包含的一个字符是字符型常量 (2)只能包含一个字符
‘a’,’A’, ‘1’ ‘abc’、“a”

3.5 字符型数据
有些以“\”开头的特殊字符称为转义字符 \n 换行 \t 横向跳格 \r 回车 \\ 反斜杠 \ddd ddd表示1到3位八进制数字 \xhh hh表示1到2位十六进制数字
例3.4 浮点型数据的舍入误差 #include <stdio.h> 运行结果: 123456.789e5 void main() {float a,b; a = 123456.789e5; b = a + 20 ; printf(“%f\n”,b); 说明:一个浮点型变量只能保证的有效数字是7位有效数字,后 说明: } 说明:一个浮点型变量只能保证的有效数字是7位有效数字,后 面的数字是无意义的,并不准确地表示该数。应当避免将一
例3.5 转义字符的使用 #include <stdio.h> void main() {printf(″ ab c\t de\rf\tg\n″); printf(″h\ti\b\bj k\n″); }• 显示屏上的运行结果: • 打印机上的显示结果:
f h gde jk fab c gde h jik
3.1
C的数据类型
整型 int 单精度实型 float 双精度实型 double
C语言提供了以下一些数据类型。 基本类型
字符型 char 实型(浮点型) 数组类型 结构类型 struct 联合类型 union 枚举类型 enum
数据类型 构造类型 指针类型
空类型(无值类型) void
3.2 常量与变量
3.2 常量与变量
变量命名的规定:C语言规定标识符只能由 字母、数字和下划线三种字符组成,且第一 个字符必须为字母或下划线。 例:sum,_total, month, Student_name,
lotus_1_2_3,BASIC, li_ling M.D.John, ¥123,3D64,a>b


例3.3 整型数据的溢出 #include <stdio.h> 运行结果: 32767,-32768 void main() {int a,b; a=32767; b=a+1; printf(“%d,%d\n”,a,b); } 说明:数值是以补码表示的。一个整型变量只能容纳-32768~ 说明:数值是以补码表示的。一个整型变量只能容纳-32768~ 说明:
3.2 常量与变量
3.2.2 变量 • 变量代表内存中具有特定属性的一个存储单 元,它用来存放数据,这就是变量的值,在 程序运行期间,这些值是可以改变的。 • 变量名实际上是一个以一个名字对应代表一 个地址,在对程序编译连接时由编译系统给 每一个变量名分配对应的内存地址。从变量 中取值,实际上是通过变量名找到相应的内 存地址,从该存储单元中读取数据。
(2) 浮点型变量的分类
浮点型变量分为单精度(float型)、双精度 (double型)和长双精度型(long double)三类 形式。 类型 float double型 long double 位数 32 64 128 数的范围 10-37 ~ 1038 10-307~10308 10-4931~104932 有效数字 6~7 位 15~16位 18~19位
3.3 整型数据
3.3.1整型常量的表示方法 整型常量即整常数。在C语言中,整常数 可用以下三种形式表示:
(1)十进制整数。 如:123, -456.4。 (2)八进制整数。以0开头的数是八进制数。 如:0123表示八进制数123,等于十进制数 83,-011表示八进制数-11,即十进制数-9。
3.3 整型数据
无符号短整型 unsigned short 2字节 无符号长整型 unsigned long 4字节
3.3 整型数据
例如:整数13在内存中实际存放的情况:
3.3 整型数据
(3)整型变量的定义: C规定在程序中所有用到的变量都必须在 程序中定义,即“强制类型定义”。 例如: int a,b(指定变量a、b为整型) unsigned short c,d;(指定变量c、d为无
3.2.1 常量和符号常量
• 在程序运行过程中,其值不能被改变的量称为常量 • 常量区分为不同的类型:
整型 100,125,-100,0 实型 3.14 , 0.125,-3.789 字符型 ‘a’, ‘b’,‘2’ 字符串 “a”, “ab”, “ 1232”
例3.1 符号常量的使用 运行结果: total=300 #define PRICE 30 说明:如再用赋值语句给PRICE赋值是错的 说明: #include <stdio.h> 说明:如再用赋值语句给PRICE赋值是错的 PRICE=40;/* 错误,不能给符号常量赋值 错误,不能给符号常量赋值 PRICE=40;/* void main ( ) { int num, total; num=10; total=num * PRICE; printf(″total=%d\n ″,total); }
3.3 整型数据
(2)整型变量的分类
有符号基本整型 (signed)int 有符号短整型 (signed)short (int ) (signed) long (int) 有符号长整型 共六种 无符号基本整型 unsigned int 无符号短整型 unsigned short (int) 无符号长整型 unsigned long (int) 注意:括号表示其中的内容是可选的。
面的数字是无意义的,并不准确地表示该数。应当避免将一 个很大的数和一个很小的数直接相加或相减,否则就会“丢 个很大的数和一个很小的数直接相加或相减,否则就会“丢 失”小的数 失”小的数
3.4 浮点型数据
3.4.3 浮点型常量的类型 C编译系统将浮点型常量作为双精度来处理。 例如:f = 2.45678 * 4523.65 系统先把2.45678和4523.65作为双精度数 ,然后进行相乘的运算,得到的乘也是一个 双精度数。最后取其前7位赋给浮点型变量f 。如是在数的后面加字母f或F(如1.65f, 654.87F),这样编译系统就会把它们按单精 度(32位)处理。
3.3 整型数据
• 整数类型的有关数据:
类型 基本型 短整型 长整型 无符号整型 类型说明符 int short long unsigned 长度 数的范围 2字节 -32768~32767 2字节 -215~215-1 4字节 -231~231-1 2字节 0~65535 0~65535 0~(232-1)
3.3 整型数据
(3) 如果所用的C版本(如Turbo C)分配给 short int与int型数据在内存中占据的长度 相同,则它的表数范围与int型相同。因此 一个int型的常量同时也是一个short int型 常量,可以赋给int型或short int型变量。
相关文档
最新文档