重庆邮电大学计算机科学与技术学院_第1页
重庆邮电大学计算机科学与技术学院_第2页
重庆邮电大学计算机科学与技术学院_第3页
重庆邮电大学计算机科学与技术学院_第4页
重庆邮电大学计算机科学与技术学院_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

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

文档简介

重庆邮电大学计算机科学与技术学院冯潇fengxiao@数据类型、常量、变量2023/1/151最近一个半月学习目标最近半个月要学会的内容:理解各种数据类型在计算机内的基本表示方式能够正确运用变量、常量、表达式实现最简单的C程序理解C语言的基本程序框架要培养的基本能力读程序写程序熟悉VC6.0实验环境参考意见:每天尝试编一个程序教材可以超前预习2023/1/15知识点回顾计算机系统分为:硬件+软件硬件软件2023/1/15“冯·诺依曼机”结构输入/输出设备存储器运算器控制器取出数据CPU大脑记忆装置眼睛和耳朵2023/1/15源程序文件hello.c目标文件hello.obj可执行文件hello.exe编译链接编辑运行库文件C语言的上机过程2023/1/15上周留给同学们思考的问题预习二进制、数的原码、反码和补码表示预习整数、浮点数、字符在计算机内的表示方式回答下列问题:为什么说计算机只认识二进制整数、浮点数、字符在计算机内部如何表示数的表示范围在数学上是无限的,在计算机内是否也是无限的2023/1/15数字化设备——计算机数字电路芯片上晶体管有开和关两种状态电压只有高低两种状态(矩形波)内存中电容只有充电和放电两种状态因此,可以用0和1代表计算机器件的工作状态二进制使电路设计简单,容易实现,并具有较强的可靠性和抗干扰性

101

0

0

1012023/1/15二进制和计算机计算机采用二进制处理一切信息我们用0和1的组合来表示字符、数字、图形、图象、声音2023/1/15计算机存储和处理二进制信息“位(bit)”是信息表示的最小单位,代表一个0或1,用b表示“字节(Byte)”表示每个记忆单元由8位二进制位组成,用B表示1KB=210B=1024B1MB=210KB=1024KB1GB=210MB=1024MB1TB=210GB=1024GB10001101字节Byte76543210位bit在计算机中数据的表示范围是无限的吗?2023/1/15由于受到机器限制,计算机内数据的表示是有限的一个位只能表示一个0或1一个字节只能256种信息状态计算机内信息的处理可以以8位、16位、32位、64位为单位进行处理位数越多,信息的状态就越多数据表示的范围2023/1/15主要内容信息表示的基本单位整数的表示、字符的表示、浮点数表示

基本C程序的构成标识符和关键字、基本数据类型常量和变量printf()函数2023/1/15对数据类型的深刻理解熟练运用数据类型和常量变量完成简单的顺序结构程序设计(难点)对变量实质的理解(难点)初步养成良好的语法习惯重点&难点2023/1/15作业#include<stdio.h>编译预处理命令/*主函数*/voidmain(){

printf("学号:08100101\n");//打印学号

printf("班级:计科1班\n");//打印班级

printf("姓名:刘海\n");//打印姓名}主函数2023/1/15观察上述程序可知函数是构成C程序的基本单位,主要分为main函数、库函数和用户自定义函数每个C程序有且仅有一个main函数(主函数),程序总是从main函数开始执行在函数中调用系统提供的库函数时,应在调用之前将相应的头文件(headfiles)包含到本程序中:如:#include<stdio.h>如果用户需要的功能C程序已经提供(参考附录C),则可以通过include命令将该函数所在文件包含进行即可调用(使用)该函数2023/1/15C程序的书写规则函数由函数首部和函数体构成,其中函数首部主要说明函数的功能,而函数体则是功能的具体实现部分,由一系列可执行语句构成,每语句以分号作为结束标志养成良好的编程习惯养成写注释的习惯将程序进行分段,使程序的结构更清晰一行只写一条语句函数体内代码须缩进两个空格2023/1/15思考如果要输出表达式“1.3+2.5*0.1743”的计算结果怎么做呢?采用printf("1.3+2.5*0.1743");????2023/1/15printf()函数格式化输出函数----库函数:printf(“格式控制字符串”,输出项列表)其中,格式控制字符串包括两部分:普通字符,如:printf("normalcharacter!");格式转换说明符,如:

printf("%d",13*17);

printf("%f",1.3*1.7);示例:printf("result=%f",1.3+2.5*0.1743);printf("%d,%f",3,3.14);/*输出项表列*/2023/1/15思考假设有两个变量a和b,要输出两个数的平方和怎么办?分析要知道a和b的数据类型才能正确的完成计算和输出结果如何合法地表示两个数的平方和2023/1/15数据类型(DataType)数据类型基本类型构造类型指针类型空类型整型实型(浮点型)字符型枚举类型数组类型结构体类型共用体类型单精度实型双精度实型基本整型长整型短整型无符号整型2023/1/15基本数据类型int整数,在目前绝大多数机器上占4个字节。TC2中占2个字节,vc中占4个字节float单精度浮点数,一般是4个字节长double双精度浮点数,一般是8个字节长char字符,一般是1个字节长用来表示256个ASCII字符,或者0~255的整数2023/1/15数据类型(DataType)数据为什么要区分类型?不同类型的数据代表不同的数据表示形式合法的取值范围占用内存空间大小可参与的运算种类回顾不同数据类型在机器里的存储形式例:在TC中以有符号十进制的形式输出65535的结果2023/1/15C程序常见符号分类关键字(Keyword)又称为保留字,C语言中预先规定的具有固定含义的一些单词int,return等标识符(Identifier)系统预定义标识符,main,printf

等用户自定义标识符,Add,x,y

等运算符(Operator)34种,详见附录B.3分隔符(Separator)空格、回车/换行、逗号等其它符号大花括号“{”和“}”通常用于标识函数体或者一个语句块“/*”和“*/”是程序注释所需的定界符数据(Data)变量(Variable)常量(Constant)2023/1/15读程序体会变量是什么#include<stdio.h>voidmain(){

intx=3;x=x+1;//请结合计算机的基本工作原理解释

printf("x=%d\n",x);}2023/1/15分析下列程序#include<stdio.h>/*主函数*/voidmain(){

inta=5,b=3,temp;

temp=a;//请说明红色三行实现什么功能?a=b;b=temp;

printf("a=%d,b=%d\n",a,b);}读程序2023/1/15常量在程序运行中表示固定值和固定类型的数据如-5.12F,3U,1024LU,3e-5,‘z’,’\n’,”z”,”xyz”变量在程序运行中值可以发生改变的量关于标识符的命名规则变量都必须说明它的具体数据类型,这个过程叫“变量的定义”,变量也一定属于某种数据类型变量必须先定义后使用,变量要求定义在第一条可执行语句前变量的特点:有名字、占有一定存储空间,值可改变常量&变量2023/1/15宏常量&const宏常量作用用一个标识符代表一个常量格式:#define标识符字符串编程求圆的周长和面积:

#include<stdio.h>#definePI3.1415926voidmain(){

floatr=2.5;

printf("l=%f\n",2*PI*r);/*输出圆周长*/

printf("s=%f\n",PI*r*r);/*输出圆面积*/}2023/1/15对宏定义的说明为了和程序中的变量名区分,宏名一般采用大写程序中用双引号括起来的字符串,如果存在与宏名相同的字符,不做替换。如“s=PI*r*r”宏替换是机械替换,不做语法检查,不提倡用宏常量宏定义是编译预处理命令,不是C语句,不必在行末加分号2023/1/15const修饰的标识符是常量,其值存储在只读存储区格式:constfloatpi=3.1415926;解法2:

#include<stdio.h>voidmain(){floatr=2.5;

constfloatpi=3.1415926;

printf("l=%f\n",2*PI*r);/*输出圆周长*/

printf("s=%f\n",PI*r*r);/*输出圆面积*/}利用const改进程序2023/1/15分析第一个0是整数,第二个‘0’是字符第一个0对应的二进制编码是00000000,十进制也是0第二个‘0’对应的ASCII编码是00110000,十进制是48只要在ASCII码取值范围内,char型数据和int型数据之间的相互转换不会丢失信息因此,字符数据可以看作是特殊的整型数完成0+‘0’的运算2023/1/15#include<stdio.h

温馨提示

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

评论

0/150

提交评论