《C语言的基本数据类型及其表示算术运算与赋值运算课件.ppt》由会员分享,可在线阅读,更多相关《C语言的基本数据类型及其表示算术运算与赋值运算课件.ppt(47页珍藏版)》请在三一办公上搜索。
1、2023/3/25,1,第二章数据类型、运算符与表达式,共 47页 第 2 页,第一节 程序设计的基本知识第二节 数据与数据类型第三节 C语言的基本数据类型及其表示第四节 算术运算与赋值运算第五节 逗号运算第六节 混合运算及数据类型转换,第二章 数据类型、运算符与表达式,共 47页 第 3 页,2.1 程序设计的基本知识,二、什么是数据结构,计算机的别名:数据处理机;数据元素:数据的最小单位;数据结构:数据元素的组织形式.,把需要解决的问题用计算机能完全理解的方式描述给计算机。,一、什么是程序设计,程序设计数据结构算法方法工具,程序设计编程,数据结构包括数据的逻辑结构和物理结构,它关系到软件或
2、程序的复杂程度。,数据结构,数据类型,共 47页 第 4 页,算法:解决问题的方法和有限的步骤计算机语言的别名:算法语言,2R L,R2 S 三次乘法 一次乘方 R A,2A L,AR S 三次乘法 2R L,RR S 四次乘法,三、什么是算法,例,求圆周长和圆面积,数学模型:L2R、SR2,三种算法:,可读性好,执行效率高,综合的优点,2.1 程序设计的基本知识(续),共 47页 第 5 页,算法的表示-流程图,用规定的一系列图形、流程线和文字说明算法中的基本操作和控制流程,2.1 程序设计的基本知识(续),共 47页 第 6 页,四、面向过程程序设计方法,三种基本结构:顺序、选择、循环模块
3、组织:按功能划分模块化,每个 模块易于理解且不可再分设计过程:自顶而下、逐步细化,目的:改善环境,加快程序开发过程。常用工具:描述算法的图形工具、表 示结构的开发工具等。,五、程序设计工具,结构化程序设计,2.1 程序设计的基本知识(续),共 47页 第 7 页,六、程序设计步骤,分析问题,建立数学模型确定数据结构确定算法,描述算法编制程序,调试程序运行结果,程序设计:书写正确,结果正确,2.1 程序设计的基本知识(续),共 47页 第 8 页,数据的描述数据的操作,程序,类型,运算符,算法数据结构,程序的任务是对数据进行处理,数据是程序处理的对象,而运算符是施加给这些数据的操作。数据和运算符
4、是表达式的基本元素。,2.2 数据与数据类型,共 47页 第 9 页,数据类型,构造类型,指针类型,空类型(无值类型)void,C语言的数据类型有,2.2 数据与数据类型(续),共 47页 第 10 页,关于类型的含义1.不同类型数据在内存中占不同的存储空间,且采取不同的存储形式。2.不同类型数据对应不同的取值范围。3.数据类型确定了允许对其进行的操作。,2.2 数据与数据类型(完),共 47页 第 11 页,2.3 C语言的基本数据类型,按照数据在程序中的取值:值保持不变-常量 x=2*y值随程序运行变化-变量,共 47页 第 12 页,一、常量,1.在程序运行中,其值保持不变。2.表示方法
5、:,整型 100,125,-100实型 3.14,0.125字符型 a,b字符串常量“string”,3.符号常量:#define PI 3.14159,用指定的标识符表示某个常量,2.3.1 常量与变量,2.3 C语言的基本数据类型(续),共 47页 第 13 页,二、变量,3.变量通过变量名标识,1.在程序运行中,值发生变化,2.必须先定义,再使用,int a,b;,类型 变量名表,变量,256,3,变量名和内存中的存储单元相对应。编写程序时通过变量名来存、取存储单元。,2.3 C语言的基本数据类型(续),共 47页 第 14 页,(1)以字母或下划线开头,(2)不能用系统中的关键字作为变
6、量名,规 定,int a,b A123,_b;,int a;.A=5;,4.有关变量名的规定,(3)变量名中的字母是区分大小写的。sum、stu_name、_age、Lts_1_2、a232c、x.y、start+9、c2.0 NAME name 表示两个不同的标识符。,2.3 C语言的基本数据类型(续),共 47页 第 15 页,一、整型常量,有三种表示形式,十进制 八进制十六进制,1234,加前导0 01234,0125,加前导0 x 0 x123,0 xffff,整型数据包括整型常量和整型变量,整型数据以二进制补码形式存储,例,100、-8、0;010、024;0 x38、0X1F,2.
7、3.2 整型数据,2.3 C语言的基本数据类型(续),共 47页 第 16 页,二、整型变量,掌握要点 1 有几种定义形式 2 每种形式占存储空间的大小 3 取值范围 4 输入输出格式,2.3 C语言的基本数据类型(续),共 47页 第 17 页,1.定义形式,共六种,基本整型长整型短整型无符号整型无符号短整型无符号长整型,int long intshort intunsigned int,2.占存储空间,一个变量,2422,字节,unsigned short unsigned long,24,2.3 C语言的基本数据类型(续),共 47页 第 18 页,3.整型变量的取值范围,类型说明符 长
8、度 数的范围基本型 int 2字节-3276832767短整型 short 2字节-215215-1 长整型 long 4字节-231231-1无符号整型 unsigned 2字节 065535无符号短整型 unsigned short 2字节 065535无符号长整型 unsigned long 4字节 0(232-1),2.3 C语言的基本数据类型(续),共 47页 第 19 页,int型数的表示范围:存储长度16位二进制(2Byte),0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1,=215-1=32767,0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1,
9、0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1,1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0,=1,=3,上面的数再加1是多少?,=-215=-32768,例,补码表示,int型表示数的范围:-32768 32767,4.输入输出形式:d,%ld,%x,%o,%u,2.3 C语言的基本数据类型(续),共 47页 第 20 页,包括实型常量和实型变量,一、实型常量,有两种表示形式,小数指数,0.1233e-3,实型常量只能用十进制形式表示,不能用八进制和十六进制,1e3、1.8e-3、-123e-6、-.1e-3e5、1e-3.2、e、.e-03,2.3.3 实
10、型数据,用指数表示实型常量的规则,2.3 C语言的基本数据类型(续),共 47页 第 21 页,1.定义形式,共三种,单精度双精度长双精度,floatdoublelong double,2.占存储空间,一个变量,4816,字节,二、实型变量,实型常量不区分单精度和双精度,2.3 C语言的基本数据类型(续),共 47页 第 22 页,3.变量的取值范围,4.输入输出形式%f,2.3 C语言的基本数据类型(续),共 47页 第 23 页,实型数据在计算机中以指数形式存储,单精度实型变量用一个字节存放指数部分,其余三个字节存数值部分。,7位二进制,23位二进制,单精度实型,2-23=|尾数|=1-2
11、-23,尾数,指数,2.3 C语言的基本数据类型(续),共 47页 第 24 页,包括字符型常量和字符型变量,一、字符型常量,1.用单引号包含的一个字符是字符型常量,2.只能包含一个字符,例,a,A,1abc“a”,2.3.4 字符型数据,2.3 C语言的基本数据类型(续),共 47页 第 25 页,3 有些以“”开头的特殊字符称为转义字符,n 换行t 横向跳格r 回车 反斜杠ddd ddd表示1到3个八进制数字xhh hh表示1到2个十六进制数字,记!,printf(“%d t%d t”,a,b);printf(“%d n%d n”,a,b);,若:a为1,b为01 010,2.3 C语言的
12、基本数据类型(续),共 47页 第 26 页,1.定义形式,2.占存储空间,一个变量,1 字节,二、字符型变量,char,一个字符变量只能包含一个字符,3.输入输出形式%c,a ASCII值为 97 内存中存储形式,0 1 1 0 0 0 0 1,4.字符型数据在内存中以相应的ASCII值存储,2.3 C语言的基本数据类型(续),共 47页 第 27 页,在ASCII范围以内,整型数据与字符型数据可以通用,!,main()char c;c=c;printf(“%c%d”,c,c);,C 99,?,例,题目中有多个c,哪些是等价的?,运行结果:,2.3 C语言的基本数据类型(续),共 47页 第
13、 28 页,三、字符串常量,1 双引号内的一串字符“china”,2 n个字符组成的字符串常量,在 内存中占空间为n+1 个字节。,c,h,i,n,a,0,字符串结束标记,3 C 中没有专用的字符串变量,“This is C string”串长 16“a”串长 1“”(空格)串长 1“”(不含空格)串长 0,2.3 C语言的基本数据类型(续),共 47页 第 29 页,2.4 算术运算与赋值运算,一、运算符,运算符,运算分量,X=5+b*c,对数据进行运算的符号,被加工的数据,+,表达式,2.4.1 认识C中的运算符和表达式,算术运算符赋值运算符关系运算符逻辑运算符逗号运算符条件运算符.,C
14、中运算符,共34种,共 47页 第 30 页,2.表达式的运算结果称为表达式的值,1.运算符和运算分量构成表达式,二.表达式,算术表达式赋值表达式关系表达式逻辑表达式逗号表达式条件表达式.,2.4 算术运算与赋值运算(续),共 47页 第 31 页,三.学习运算符应掌握的要点:,*运算符的种类与功能,*运算符与运算分量的关系,个数,类型,A+B,(ab)?a:b,目,关系,不同类型的变量,所允许的操作不同,单目运算符双目运算符三目运算符,2.4 算术运算与赋值运算(续),共 47页 第 32 页,*优先级:运算符的执行顺序,*结合性:优先级相同时的结合方向,*运算结果的类型,X=5+8a100
15、,X=a+b*c,a+b-c572a=b=5,结果?,单目运算符的优先级高于双目运算符单目运算符从右向左结合双目运算符从左向右结合,2.4 算术运算与赋值运算(续),共 47页 第 33 页,2.4.2 算术运算符和算术表达式,1.共有5个:+,-,*,/,%,2“-”作为 负号时为单目,单目:-,双目:*,/,%,双目:+,-,4.优先级:,5.结合性:从左向右,3.%运算只适用于整型数,取模(求余数)a=10%4a的值为2,2.4 算术运算与赋值运算(续),共 47页 第 34 页,2.4.3 自增、自减运算符,1.变量自身加(减)1,k=k+1,k+先使用变量k的值,再加 1,+k 先加
16、1,再使用变量 k的值,k=k-1,k-先使用变量k的值,再减 1,-k 先减1,再使用变量k 的值,k=3;printf(“%d”,k+);输出 3 后,k 的值为 4,i=3;printf(“%d”,+i);,输出4,2.4 算术运算与赋值运算(续),共 47页 第 35 页,2.只能用于变量,不能用于表达式和常量,3.优先级:高于双目算术运算符,4.结合性:从右向左,(i+k)+,-3,i=3;k=i+i+i+;,i=?k=?,i=3;k=+i+(+i)+(+i);,2.4 算术运算与赋值运算(续),共 47页 第 36 页,例:,main()int a,b,s;a=5;b=5;s=a+
17、b;printf(“%d,%d,%dn”,a,b,s);s=a+b;printf(“%d,%d,%dn”,a,b,s);s=+a+b;printf(“%d,%d,%dn”,a,b,s);s=-a+b;printf(“%d,%d,%dn”,a,b,s);s=a-+b;printf(“%d,%d,%dn”,a,b,s);s=a+b;printf(“%d,%d,%dn”,a,b,s);,2.4 算术运算与赋值运算(续),共 47页 第 37 页,s=a+b;s=a+b;s=+a+b;s=-a+b;s=a-+b;s=a+b;,a=5,b=5,5+5=105+5=107+5=126+5=116+5=11
18、5+5=10,a b s5 5 106 5 107 5 126 5 115 5 115 5 10,题目分析,s,2.4 算术运算与赋值运算(续),共 47页 第 38 页,2.4.4 赋值运算符赋值表达式,1.将一个常量或一个表达式的值赋给一个变量称为赋值,x=5 y=x+10,2.可以将一个实型赋给一个整型,或将一个整型赋给一个实型,int x,x=5.3;x的值为 5float y,y=5;y的值为 5.000000,3.赋值运算的优先级,比算术运算低,4.赋值运算的结合性,从右向左,X=y=5,2.4 算术运算与赋值运算(续),共 47页 第 39 页,2.4.6 复合赋值运算符和复合赋
19、值表达式,x=x+nx=x-nx=x*nx=x/nx=x%n,x+=nx-=nx*=nx/=nx%=n,算术运算与赋值运算相结合,2.4 算术运算与赋值运算(续),x+=n,共 47页 第 40 页,例,main()int a,b,c,d,e;a=2;b=5;c=6;d=10;a+=b;b-=c;c*=d;d/=a;a%=c;printf(“%d,%d,%d,%dn”,a,b,c,d);,结果?,7,-1,60,1,2.4 算术运算与赋值运算(续),共 47页 第 41 页,一、逗号运算符,(表达式 1,表达式 2,表达式 3,表达式 n),用于连接几个表达式,二、求解过程,顺序求解几个表达式
20、,三、优先级,逗号运算符的优先级最低,四、结合性,从左向右,五、逗号表达式,逗号表达式的值为最后一个表达式的值(表达式n 的值),X=(a=4*5,a*2),a+6),a为?,20,x为?,26,2.5 逗号运算,2.5.1 逗号运算符,共 47页 第 42 页,2.6 混合运算及数据类型转换,不同数据类型需先转换成同一类型,然后进行运算,方式,自动进行-隐式转换强制进行-显式转换,一、隐式转换(算术转换),级别低的向级别高的转换,int i;float f;double d;long e;表达式:10+a+i*f-d/e 的结果为:double,共 47页 第 43 页,二、显式转换(强制转
21、换),(int)(10-+a+i*f-d/e),将该结果强制转换为整型,若有:int i;float f;则(int)f%i,取模运算要求运算分量是整数,所以先将 f 转换为整型,再做%运算。,三、赋值转换,赋值符号右边的类型向左边的转换,int x;float y=5.3;x=y;,int x=5;float y;y=x;,2.6 混合运算及数据类型转换(续),共 47页 第 44 页,一、C中的基本数据类型,每一种类型的定义方式(关键字),在存储空间中所占的字节数,存储形式,取值范围。,二、C中的运算符的几个要点(功能,与运算分量的关系,优 先级,结合性,运算结果的类型)。,三、算术运算符
22、中的%只使用在int类型。,第二章 总结,四、自增,自减运算的特点,灵活使用k+,+k。,五、复合的赋值运算规则。,七、不同类型数据转换时的优先顺序,八、单目运算,双目运算的优先级和结合性特点,熟记基本概念和规则!,共 47页 第 45 页,二、补充习题:1、C语言规定,在源文件中,main()的位置:()A、必须在最开始 B、必须在库函数后 C、可以在任意位置 D、必须在所有函数最后2、一个C程序的执行是从:()A、从主函数开始,在主函数中结束;B、从第一个函数开始,到最后一个函数结束;C、从主函数开始,到最后一个函数结束;D、从第一个函数开始,到主函数中结束。3、下面选项中,全为不合法的用
23、户标识符的选项是:(),一、课后习题(P41 3、6、7、9、10、12),第三章 习题,共 47页 第 46 页,A)、A B)、float C)、b-a D)、-123 p_0 1a0 goto temp do _a int INT 4、以下叙述种不正确的是:()A、在C程序中,逗号运算符优先级最低;B、在C程序中,AHP和ahp代表两个不同的变量;C、若变量a、b类型相同,则表达式a=b是将b的值放入a中,而b不变;D、输入数据时,整型变量只能输入整数,实型变量则只能输入实数。5、设有说明:char w;int x;float y;double z;则表达式:w*x+z-y的值的类型为:()A、float B、char C、int D、double,第二章 习题,共 47页 第 47 页,6、在C语言中,int型数据在内存中占用2字节存储单元,则int型数据的取值范围为:_。7、若a为int型变量,则如下表达式的值为:_。(a=4*5),a+=5,a+68、若有如下定义:int b=7;float a=2.5,c=4.7;则表达式:a+(int)(b/3*(a+c)/2)%4 的值为:_。,第二章 习题,
链接地址:https://www.31ppt.com/p-3874256.html