




已阅读5页,还剩37页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第2章C语言基本数据类型、运算符和表达式,本讲要点,计算机中数据的表示C语言程序中的数据及常量类型C语言基本语法单位变量和C语言基本数据类型对应教材的第2章内容,程序中的数据,计算机科学家沃思(NikiklausWirth)提出的公式:程序=数据结构+算法即程序构成为:数据及对数据的处理方法;程序=算法+数据结构+程序设计方法、工具和环境类比:菜(程序)=菜原料(数据)+做菜方法(算法)+工具,Example2.1/*theprogramisusedtocalculatevarjandprintI,f,a,j*/Main()inti=3,j;chara=a;doublef=4.56;j=i+5;printf(i=%d,f=%f,a=%c,%dn,i,f,a,j);,2.1数据在计算机中的表示-基本概念,进制:生活中的10进制,60进制,12进制;计算机中采用2进制,16进制和8进制。例如:(123.23)10,(111.001)2位权:一个数字符号处在数据中位置所代表的值例如:324.12=3*102+2*101+4*10+1*10-1+2*10-2提问:101101.101=?,2.1数据在计算机中的表示-基本概念,101101.101=1*25+0*24+1*23+1*22+0*21+1*20+1*2-1+0*2-2+1*2-3=32+8+4+1+0.5+0.125=(45.625)10提问:10进制整数如何转换2进制?(除2取余)10进制小数如何转换为2进制?(乘2取整)(参考P21-23)例如:87=?0.135=?87.135=?,2.1数据在计算机中的表示-运算,算术运算提问:1001+001=?1001-001=?1011*101=?1011/101=?逻辑位运算(参考P25)位或:0V0=0;0V1=1V0=1V1=1位与:11=1;10=01=00=0位反:1=0;0=1异或:00=0,11=0;01=1,10=1提问:110011100101=?,2.1数据在计算机中的表示-16进制和8进制,16进制(参考P26)表示符号:09、A、B、C、D、E、F;转换:自右往左,4位分节,例如例如:101,1101,0111=(?)168进制(参考P28)表示符号:07转换:自右往左,3位分节,例如:10,111,010,111=(?)8,2.1数据在计算机中的表示-字长和整数表示,字长:CPU一次能处理的2进制数据的长度,与CPU的硬件有关整数分为:有符号数和无符号数无符号整数:字长的所有位表示数值,例如:8位字长表示范围:0255;即:0000000011111111提问:16位范围是多少?有符号整数:字长的最高位是符号位,剩下是数值位。8位字长表示范围:-127127即:1111111101111111提问:16位无符号和有符号整数范围是多少?,2.2程序中的数据-数据类型,数据定义:自然界中一切物理信号的符号表示数据分类:常量和变量数值和非数值数据数据类型:整型、实型、字符型等(不同语言中的类型不同)存储类型;C语言中的存储据类型(动态存储和静态存储),2.2程序中的数据-C语言数据类型,图2.1C的数据类型,常量:在程序执行过程中其值保持不变的量称为常量常量类型:数值常量和符号常量数值常量:整型常量,实型常量,字符型常量,例如:18,3.14,A符号常量是用符号名来表示常量,符号名一般用大写形式符号常量在C中的定义方法:#define例如:#definePI3.14159#defineN100#defineNAME“zhangsan”,2.2程序中的数据-常量和变量(参考P38),2.2程序中的数据-整型常量表示,整型常量:用十进制数、八进制数和十六进制数三种形式表示C语言规定:八进制整数以数字“0”开头的数字序列,如0733,0732;十六进制整数以0 x开头的数字序列,如0 xffff,0 x1111,0 x38十进制整数如:123,-369,78,168L提问:123=0123=0 x123对吗?,例2.2#definePRICE30main()intnum,average,total;num=10;total=num*PRICE;average=PRICE/num;printf(total=%d,%d,total,average);,2.2程序中的数据-实型常量的表示,实型常量:有小数和指数两种表示格式日常数据:32.5,0.00325,325.0小数表示:32.50.00325325.0指数表示:3.25e13.25e-33.25e232.5e032.5e-40.325e3注:指数书写时,e(或者E)前必须有数字,e后的指数必须为整数P42例题2-19说明实数的精度问题建议不必看P41-42有关实数的存储内容,2.2程序中的数据-字符常量的表示(参考42),单撇号表示法:用一对单撇号括起来的一个字符,如a、c、A、?等单撇号中的单个字符,但不能是单撇号或反斜杠:即、都是不合法的用转义字符表示法:b、367、x6d问题提出:101和A是同一字符?,转义字符表示法:,字符常量表示,表2.1转义字符表,利用dddxhh转义字符,可以表示任何ASCII码字符,2.2程序中的数据-字符串常量的表示,字符串常量:用双撇号括起来的零个或多个字符序列,如:“zhangsan”、“student”,“x”,”hello”等,字符串总的字符数称为字符串的长度系统在每一个字符串的末尾都自动加一个“字符串结束标志”,即0问题提出:“x”和x在内存中表示相同吗?,2.3C语言的基本语法单位,标识符概念:是指用来表示变量名、符号常量名、函数名、数组名、文件名的字符序列。C语言中各种名称都是由标识符来表示的。标识符必须满足以下规律:1、第一个字符必须是字母或下划线。2、其它部分必须由字母、下划线或数字组成。3、大小写字母表示不同意义。4、一般系统能识别的标识符最大长度是32位。5、标识符不能使用C中的关键字。简言之,标识符是以字母或下划线打头的,后随字母或下划线或数字组成的字母下划线数字串。,2.3C语言的基本语法单位,C语言中的关键字(32个):autobreakcasecharconstcontinuedefaultdodoubleelseenumexternfloatforgotoifintlongregisterreturnshortsignedsizeofstaticstructswitchtypedefunionunsignedvoidvolatiewhileC语言中的编译预处理命令(12个):defineendifeliferrorlineincludeifdefifndefprogramundefifelse,2.4变量-内涵和定义格式,变量:在程序运行过程中不断改变的量称为变量。变量用变量名,即标识符来表示,在C语言中要求对所有的变量“先定义,后使用”一个变量代表内存中的一定大小的存储单元变量定义的一般格式是:;例如:intsum,x1,x2;floatscore_1;,2.4变量:变量在内存的表示,内存拓扑结构图,数据,内存的概念:微型计算机的内存地址用16进制编码表示;存储单元为字节:一个字节由8位二进制码组成;存储单元包括两个概念:存储地址(或名称)和存储数据(存储内容)Ex:char;intb;b=6;,47F87,.,a,b,47F94,47F95,6,00000000,00000110,2.4变量-变量在内存的表示,内存的特点:当一个数据存入内存单元中,只要没有新的数据存入,该内存单元总是保存这个数据,有“取之不尽”之意。当一个新数据存入该内存单元中,则该内存单元内容将被新数据取代,并且,不再记录该单元曾经存储的数据。内存的记忆力需要电来维持,没有电能就没有记忆力,整型变量,分为四种类型:(1)基本型,以int表示(2)短整型,以shortint或者short表示(3)长整型,以longint或者long表示(4)无符号型,以unsignedint(无符号整型)、unsignedshort(无符号长整型)和unsignedlong(无符号短整型)表示,2.4变量-C语言整型变量(参考P43),整型变量定义如inta,b;longc,d,f;unsignede;变量的初始化:在变量定义时预先设置初值如inta3;intx,y,z3;inti3,j3,k3;提问:#defineN100和inta3的区别?,C语言标准没有规定整型变量在计算机内存中所占的字节数,它与具体的机器、操作系统和编译系统有关,main()inta,b,c,d;/*指定变量a、b、c、d为整型*/unsignedu;/*指定变量u为无符号整型*/a=12;b=-24;u=10;c=a+u;d=b+u;printf(a+u=%d,b+u=%dn,c,d);程序运行显示:a+u=22,b+u=-14,#include”stdio.h”main()intx;unsignedy;longz;x=65535;y=65535;z=65535;printf(“x=%dn,y=%un,z=%ldn”,x,y,z);printf(“x=%ld”,x);,结果为:x=-1y=65535z=65535x=建议:P45例2-20不必看,实型变量:分为单精度(float)双精度(double)两种类型单精度占内存4个字节。双精度占内存8个字节其中:float型变量只能接受7位有效数字double型变量只能接受15位有效数字,2.4变量-实型变量(参考P48),实型变量定义:floatx;doubley,z;变量的初始化:floatx3.24,x1=1.25e-5;doubley2.56;,2.4变量-实型变量(参考P48),2.4变量-字符变量(参考P48),字符变量:在内存中占一个字节,只能存放一个字符字符在内存中以ASCII码形式存放例如:字符A在内存中存放的是65字符f在内存中存放的是102字符变量定义charx1,x2;字符变量初始化charch1x;charch2y;提问:ch1=“x”对吗?,字符数据在内存中的存储形式,main()charc1,c2;c1=a;c2=b;c1=c1-32;c2=c2-32;printf(%c%c,c1,c2);,课堂练习,2.1编写一个程序,将输入的数字字符转换为相应的数字输出2.2输入三个浮点数,找出其中的最大值2.3输入一个字符,输出该字符的字符码,该字符的前导字符(码减少1)及字符的后续字符(字符码增加1)及字符码,题2.1参考答案(错误),includemain()charc;intd;printf(“输入一个数字字符:”);scanf(“%d”,c);d=c-0;printf(“对应的数字为%c:nn”,d);请指出错误,题2.1参考答案(正确),#includemain()charc;intd;printf(“输入一个数字字符:”);scanf(“%c”,题2.2参考答案,#includemain(void)floata,b,c,m;printf(inputthreenumbers:);scanf(%f%f%f,题2.3参考答案,includemain(void)intc,c1,c2;p
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年学历类自考专业(电子商务)网络营销与策划-电子商务法概论参考题库含答案解析(5卷)
- 2025年学历类自考专业(电子商务)电子商务概论-网络营销与策划参考题库含答案解析(5卷)
- 2025作物抗旱育种与农业灾害防控国家地方联合工程实验室开放基金资助项目合同书
- 2025年学历类自考专业(电子商务)商务交流(二)-国际贸易实务(三)参考题库含答案解析(5卷)
- 2025年学历类自考专业(法律)知识产权法-法律文书写作参考题库含答案解析(5卷)
- 2025年学历类自考专业(法律)法理学-民法学参考题库含答案解析(5卷)
- 2025年学历类自考专业(法律)公司法-合同法参考题库含答案解析(5卷)
- 2025年学历类自考专业(法律)-法律文书写作参考题库含答案解析(5卷)
- 2025年学历类自考专业(工商企业管理)国际企业管理-企业管理咨询参考题库含答案解析(5卷)
- 保留灌肠术课件
- 《小学美术开学第一课》课件
- 汽车行业售后
- 直播电商数据分析教学计划
- DBJ-T13-483-2025 预拌流态固化土技术标准
- 2025华电(海西)新能源限公司面向华电系统内外公开招聘易考易错模拟试题(共500题)试卷后附参考答案
- 2025-2030中国卤虫行业投资新趋势动向及发展战略分析报告
- 2025中职生开学第一课主题班会课件
- 2025年湖南省高职单招《英语》高频必练考试题库400题(含答案)
- 消防工程深化设计管理体系及保障措施方案
- 手术室常用药品管理
- 某物业公司各部门主管及员工绩效考核表
评论
0/150
提交评论