C语言第二讲-数据的存储与运算.ppt
《C语言第二讲-数据的存储与运算.ppt》由会员分享,可在线阅读,更多相关《C语言第二讲-数据的存储与运算.ppt(86页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、C语言第二章第二章 数据类型及表达式数据类型及表达式本章主要介绍了C的数据类型,常量的类型及表示方法,变量的定义及赋值以及一些简单的运算符和表达式。2.1C语言的基本数据类型l数据在计算机中是以二进制形式存储的l计算机中为什么要采用二进制呢?二进制在电器元件中容易实现。二进制只有0和1两个数,在电学中具有两种稳定状态,并可以用0和1表示的东西很多。例如,电压的高和低、电容器的充电和放电、脉冲的有与无、晶体管的导通与截止等等。2.1C语言的基本数据类型十进制数十进制数二进制数二进制数十进制数十进制数二进制数二进制数00611011711121081000311910014100101010510
2、12.1C语言的基本数据类型l位、字节和地址位、字节和地址u位(bit):每个二极管元件称为一个“二进制位”,是存储信息的最小单位。u字节(byte):一个存储器包含多个“二进制位”。一般将8个“二进制位”组成一组,称为“字节”。u地址:存放数据的存储器中的存储单元,存储单元以字节为单位编号。2.1C语言的基本数据类型2.1C语言的基本数据类型l不同类型数据的存储方式不同类型数据的存储方式u整数的存储方式 整型数以二进制形式存放在存储单元中;例如:用一个字节存储整数15;(15)10-(00001111)2 整型数具有两种表示方式:有符号数和无符号数;无符号数:只表示正整数,无符号位。有符号数
3、:可表示正、负数,最高位为符号位;正数采用原码方式存储;负数采用补码方式存储。2.1C语言的基本数据类型l不同类型数据的存储方式不同类型数据的存储方式u实数的存储方式 实数采用指数形式存储;标准化指数形式:数值部分是一个小数,小数点前的数字是零,小数点后的第一位数字不是零。规范化指数形式:在尾数中,小数点左边只有一个非零数字。如:123.456可以表示为:0.123 456103 123 45610-3 123 45.610-2 123 4.5610-1 123.45610-02.1C语言的基本数据类型l不同类型数据的存储方式不同类型数据的存储方式u字符的存储方式 字符包括字母(如:A,a,X
4、,x等)专用字符(如:$、%、#等)计算机并不是将字符本身放到存储单元中,而是将字符的代码存储到相应的存储单元中。ASCII码(American National Standard Code for Information Interchange)。例如:“A”:65(ASCII)。010000012.2 常量和变量常量常量(常数常数):数据数据 12,-3(整型)4.6 -1.23(实型)a(字符)符号常量:用标识符表示的常量数据符号常量:用标识符表示的常量数据 :PI:EPS通常用大写字母表示符号常量变量C语言中的量语言中的量l常量常量(常数常数):数据:数据l符号常量符号常量:用标识符表
5、示的常量数据:用标识符表示的常量数据 在程序运行过程中,在程序运行过程中,其值不能被改变其值不能被改变l变量变量:存放数据的内存单元:存放数据的内存单元 在程序的运行过程中,在程序的运行过程中,其值可以改变其值可以改变变量的定义l变量定义的一般形式:变量定义的一般形式:类型名类型名 变量表;变量表;变量名:大小写字母,见名知义变量名:大小写字母,见名知义 类型名:类型名:整型整型int 实型实型float double 字符字符char变量的定义lint i,j,k;(定义定义i,j,k为整型变量为整型变量)lchar c;(定义定义c为字符型变量为字符型变量)lfloat x,y;ldoub
6、le area,length;l变量名代表内存中的一个存储单元变量名代表内存中的一个存储单元l变量类型决定了存储单元的大小变量类型决定了存储单元的大小变量的使用l变量:先定义,后使用变量:先定义,后使用 先赋值,后引用先赋值,后引用#include void main()int x,y;x=3;y=x*x;printf(“%d”,y);变量的赋值l赋初值:在定义变量时对它赋值赋初值:在定义变量时对它赋值 int a=5,b=3;l赋值表达式:赋值表达式:int a,b;a=5;b=3;l输入函数:输入函数:scanf(“%d%d”,&a,&b);变量赋初值变量赋初值l在定义变量的同时设置初值,
7、也称初始化。在定义变量的同时设置初值,也称初始化。如:如:int a=3;float f=3.56;char c=a;int i,j,k=5;int x=1,y=1,z=1;int x=y=z=1;标识符命名规则标识符命名规则 标识符标识符标识符标识符用来标识变量名、符号常量用来标识变量名、符号常量用来标识变量名、符号常量用来标识变量名、符号常量名、函数名、数组名、文件名等的有名、函数名、数组名、文件名等的有名、函数名、数组名、文件名等的有名、函数名、数组名、文件名等的有效字符序列。效字符序列。效字符序列。效字符序列。1 1、组成字符:字母、数字、下划线。、组成字符:字母、数字、下划线。、组成
8、字符:字母、数字、下划线。、组成字符:字母、数字、下划线。2 2、以字母或下划线开头。、以字母或下划线开头。、以字母或下划线开头。、以字母或下划线开头。3 3、字符长度不超过、字符长度不超过、字符长度不超过、字符长度不超过8 8个字符。个字符。个字符。个字符。4 4、标示符区分大小写。、标示符区分大小写。、标示符区分大小写。、标示符区分大小写。5 5、保留字不能作为标识符使用。、保留字不能作为标识符使用。、保留字不能作为标识符使用。、保留字不能作为标识符使用。如如如如 y3 _imax ELSEy3 _imax ELSE 7y int7y int(合法)(合法)(合法)(合法)(不合法)(不合
9、法)(不合法)(不合法)保留字保留字n n保留字(关键字):其为保留字(关键字):其为保留字(关键字):其为保留字(关键字):其为C C语言中具语言中具语言中具语言中具有特定含义,专门用作语言特定成分有特定含义,专门用作语言特定成分有特定含义,专门用作语言特定成分有特定含义,专门用作语言特定成分的一类标识符。的一类标识符。的一类标识符。的一类标识符。n n如:如:main int char float definemain int char float definen n保留字分类:保留字分类:l l类型说明符,例如:类型说明符,例如:intint;l l语句定义符,例如:语句定义符,例如:i
10、f if;l l预处理命令字,例如:预处理命令字,例如:includeinclude;1 1、所有保留字都有固定含义,不能用、所有保留字都有固定含义,不能用、所有保留字都有固定含义,不能用、所有保留字都有固定含义,不能用作其它。作其它。作其它。作其它。2 2、所有保留字都必须小写。、所有保留字都必须小写。、所有保留字都必须小写。、所有保留字都必须小写。整型数据的运算与分析l鸡兔同笼问题鸡兔同笼问题 在一个笼子里同时养着一些鸡和兔,你想了解有多少只鸡和多少只兔,若已知鸡和兔的总头数是16和总脚数是40,计算鸡和兔的数量。整型数据的运算与分析l鸡兔同笼问题鸡兔同笼问题#includevoid ma
11、in()int h,f,x,y;/*定义整型变量 h,f,x,y*/h=16;/*对整型变量h赋值,使h的值等于16*/f=40;/*对整型变量f赋值,使f的值等于40*/y=(f-2*h)/2;/*对表达式(f-2*h)/2进行运算,把结 果赋给y*/x=h-y;/*对表达式h-y进行运算,把结果赋给x*/printf(“x=%d,y=%dn”,x,y);/*输出鸡和兔的个数*/整型常量与整型变量一、整型常量(整数)一、整型常量(整数)三种表现形式三种表现形式十进制十进制整数:正、负号,整数:正、负号,0-9,首位不是,首位不是0 例:例:123,-456,0。八进制八进制整数:正、负号,整
12、数:正、负号,0-7,首位是首位是0 例:例:010,0123十六进制十六进制整数:正、负号,整数:正、负号,0-9,a-f,A-F,前缀是前缀是0 x或或0X 例:例:0 x10,0X123123=1111011(B)二进制)二进制 =173(O)八进制)八进制 =7B(X)十六进制)十六进制 int i=0173;int j=0 x7b;int k=123;例:例:16 020 0 x10整型变量如有以下定义及赋值语句如有以下定义及赋值语句 int ai,bi,ci,di=0;ai=1;说明说明1为一十进制整数为一十进制整数 bi=-027;说明说明-027为一八进制整数为一八进制整数 c
13、i=0 x12;说明说明0 x12为一十六进制整数为一十六进制整数整型变量整型变量二、整型变量二、整型变量1、整型数据在内存中的存放形式:、整型数据在内存中的存放形式:以以二进制补码二进制补码表示:表示:00000000000010101111111111110110+10-10整型变量整型变量2、整型变量的分类、整型变量的分类整型变量根据其数值范围,可将变量定义为三类:整型变量根据其数值范围,可将变量定义为三类:基本整型(基本整型(int)2字节字节 短整型(短整型(short int)2字节字节 长整型(长整型(long int)4字节字节无符号数:以无符号数:以unsigned int
14、或或unsigned说明。说明。有符号数:以有符号数:以 signed int 或或 int说明。说明。整型变量的值是整数,其取值范围有限整型变量的值是整数,其取值范围有限int型取值范围型取值范围 -3276832767整型变量整型变量3、整型变量的定义、整型变量的定义 int a,b;long num,i,j;unsigned short c,d;整型数据的输入输出printf(格式控制,输出参数格式控制,输出参数1,输出参数,输出参数n);scanf(格式控制,输出参数格式控制,输出参数1,输出参数,输出参数n);格式控制说明格式控制说明%d:以有符号十进制形式输入,输出整数以有符号十进
15、制形式输入,输出整数%u:以无符号十进制形式输入,输出整数以无符号十进制形式输入,输出整数%o:以八进制形式输入、输出整数以八进制形式输入、输出整数%x:以十六进制形式输入、输出整数以十六进制形式输入、输出整数例:各种进制整数的输出#include void main()printf(“%d,%o,%xn”,10,10,10);printf(“%d,%d,%dn”,10,010,0 x10);printf(“%d,%xn”,012,012);运行结果为:运行结果为:10,12,a10,8,1610,a实型数据的运算与分析型数据的运算与分析实型数据的运算与分析型数据的运算与分析n n分期付款的计
16、算#include/*#include/*用输入输出函数时用用输入输出函数时用stdio.hstdio.h头文件头文件*/*/#include/*#include/*用数学函数时必须用用数学函数时必须用math.hmath.h头文件头文件*/*/void main()void main()int d,p;/*int d,p;/*定义定义d d和和p p为整型变量为整型变量*/*/float r,m;/*float r,m;/*定义定义r r和和mm为实型变量为实型变量*/*/d=324 500;/*d=324 500;/*给给d d赋值赋值*/*/p=3245;/*p=3245;/*给给p p
17、赋值赋值*/*/r=0.008;/*r=0.008;/*给给r r赋值赋值*/*/m=(log10(p)-log10(p-d*r)/log10(1+r);/*m=(log10(p)-log10(p-d*r)/log10(1+r);/*求求mm的值的值*/*/printf(“month=%fn”,m);/*printf(“month=%fn”,m);/*输出输出mm的值的值*/*/printf(“total=%fn”,m*p);/*printf(“total=%fn”,m*p);/*计算并输出总的还款额计算并输出总的还款额*/*/实型数据的运算与分析型数据的运算与分析n n实数又称浮点数。有两种
18、表示形式:(1)、十进制小数形式。如 123.0 .123 0.123 0.0等等(2)、指数形式 如 123e3 实型变量的表现形式实型变量的表现形式n n常用系统中,一个实型数据在内存中占4个字节(个字节(32位)位)。n n浮点型数据是按照指数形式指数形式存储的。即在存储时,把指数部分和小数部分分别存放。小数和指数部分各占有的位数有由编译系统决定。实型变量的分类实型变量的分类n n实型变量分为三类:单精度实型变量(单精度实型变量(floatfloat型);型);双精度实型变量(双精度实型变量(doubledouble型);型);长双精度实型变量(长双精度实型变量(long doublel
19、ong double型)型)n nsizeofsizeof(sizeof(类型名类型名)或或sizeof(sizeof(变量名变量名)例如:例如:printf(“%d”,sizeof(long double);printf(“%d”,sizeof(long double);浮点型数据的舍入误差浮点型数据的舍入误差n n由于实型变量是由有限的存储单元组成的,因此能提供的有效数字总是有限的,在有效位之外的数字将被舍去。n n通常float型有7位有效数字。n n而double型有16位有效数字。实型数据的输入输出实型数据的输入输出n nprintf(printf(格式控制,输出参数格式控制,输出参
20、数格式控制,输出参数格式控制,输出参数n);n);n nscanf(scanf(格式控制,输出参数格式控制,输出参数格式控制,输出参数格式控制,输出参数n);n);n n格式控制说明格式控制说明格式控制说明格式控制说明%f%f:以小数形式输入输出实数以小数形式输入输出实数以小数形式输入输出实数以小数形式输入输出实数%e%e:以指数输入输出实数以指数输入输出实数以指数输入输出实数以指数输入输出实数2.4 字符型数据的运算n例:逐个输出英文字母例:逐个输出英文字母C,H,I,N,A。然后按。然后按反序输出,反序输出,A,N,I,H,C。#includevoid main()char a=C,b=H
21、,c=I,d=N,e=A;printf(“%c%c%c%cn”,a,b,c,d,e);printf(“%c%c%c%cn”,e,d,c,b,a);2.4 字符型数据的运算一、字符常量一、字符常量字符常量字符常量用用单引号单引号括起来的括起来的一个字符一个字符。如如 a b?$转义字符转义字符用用 开头的字符序列。开头的字符序列。如如 n表示换行(光标移到下一行开头)表示换行(光标移到下一行开头)t表示跳到下一个表示跳到下一个tab的位置的位置 r表示回车(光标移到本行开头)表示回车(光标移到本行开头)表示反斜杠字符表示反斜杠字符字符常量 表示单引号字符表示单引号字符 ”表示双引号字符表示双引号
22、字符ddd 1-3位位8进制数所代表的字符(进制数所代表的字符(ASCII)xhh 1-2位位16进制数所代表的字符(进制数所代表的字符(ASCII)eg1:char c1,c2;c1=A;c2=101;c3=x41;eg2:printf(“A=101=x41”);例 转义字符的使用#include void main()printf(“ab ct derftgn”);printf(“htibbj k”);f gdeh j kabc def gdeh ih j k字符变量二、字符变量二、字符变量定义形式如下:定义形式如下:char c1,c2,c3;c1=a;c2=b;c3=101字符变量在内
23、存中以一个字节存放。字符变量在内存中以一个字节存放。字符数据的存储1、将一个字符常量放到一个字符变量中,并、将一个字符常量放到一个字符变量中,并不是将该字符本身放到内存单元中,而是不是将该字符本身放到内存单元中,而是将该字符的相应的将该字符的相应的ASCII码码放到存储单元中。放到存储单元中。实际上也就是以实际上也就是以二进制的形式二进制的形式存放的。存放的。例 向字符变量赋以整数向字符变量赋以整数#include void main()char c1,c2;c1=a;c2=b;printf(“%c,%cn”,c1,c2);c1=97;c2=98;printf(“%c,%cn”,c1,c2);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 第二 数据 存储 运算
限制150内