C语言的基本数据类型及其表示算术运算与赋值运算课件_第1页
C语言的基本数据类型及其表示算术运算与赋值运算课件_第2页
C语言的基本数据类型及其表示算术运算与赋值运算课件_第3页
C语言的基本数据类型及其表示算术运算与赋值运算课件_第4页
C语言的基本数据类型及其表示算术运算与赋值运算课件_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

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

文档简介

第二章2023/9/131第二章2023/8/31第一节

程序设计的基本知识第二节数据与数据类型第三节C语言的基本数据类型及其表示第四节算术运算与赋值运算第五节逗号运算第六节混合运算及数据类型转换第二章数据类型、运算符与表达式2第一节程序设计的基本知识第二章数据类型、运算符与表达式§2.1程序设计的基本知识二、什么是数据结构计算机的别名:数据处理机;数据元素:数据的最小单位;数据结构:数据元素的组织形式.把需要解决的问题用计算机能完全理解的方式描述给计算机。一、什么是程序设计程序设计=数据结构+算法+方法+工具程序设计=编程

数据结构包括数据的逻辑结构和物理结构,它关系到软件或程序的复杂程度。数据结构数据类型3§2.1程序设计的基本知识二、什么是数据结构计算机的别名算法:解决问题的方法和有限的步骤计算机语言的别名:算法语言

2

R

L,R2

S

三次乘法一次乘方

R

A,2A

L,AR

S

三次乘法

2

R

L,RR

S

四次乘法

三、什么是算法例求圆周长和圆面积数学模型:L=2R、S=R2三种算法:可读性好执行效率高

综合的优点

§2.1程序设计的基本知识(续)4算法:解决问题的方法和有限的步骤2RL,R2算法的表示--流程图开始s=0,a=0输入ns=s+aa=a+1a<nYN输出s结束用规定的一系列图形、流程线和文字说明算法中的基本操作和控制流程§2.1程序设计的基本知识(续)5算法的表示--流程图开始输入ns=s+aa<nYN输出s结四、面向过程程序设计方法三种基本结构:顺序、选择、循环模块组织:按功能划分模块化,每个模块易于理解且不可再分设计过程:自顶而下、逐步细化目的:改善环境,加快程序开发过程。常用工具:描述算法的图形工具、表示结构的开发工具等。五、程序设计工具结构化程序设计§2.1程序设计的基本知识(续)6四、面向过程程序设计方法三种基本结构:顺序、选择、循环目的:六、程序设计步骤分析问题,建立数学模型确定数据结构确定算法,描述算法编制程序,调试程序运行结果程序设计:书写正确,结果正确§2.1程序设计的基本知识(续)7六、程序设计步骤分析问题,建立数学模型程序设计:书写正确,结数据的描述数据的操作程序类型运算符算法数据结构程序的任务是对数据进行处理,数据是程序处理的对象,而运算符是施加给这些数据的操作。数据和运算符是表达式的基本元素。

§2.2数据与数据类型8数据的描述程序类型运算符算法程序的任务是对数据进行处理,数据数据类型构造类型指针类型空类型(无值类型)void枚举类型

enum数组类型结构体类型

struct共用体类型

union基本类型整型int字符型char实型(浮点型)单精度实型

float双精度实型

doubleC语言的数据类型有

§2.2数据与数据类型(续)9数据类型构造类型指针类型空类型(无值类型)void枚举类关于类型的含义1.不同类型数据在内存中占不同的存储空间,且采取不同的存储形式。2.不同类型数据对应不同的取值范围。3.数据类型确定了允许对其进行的操作。

§2.2数据与数据类型(完)10关于类型的含义§2.2数据与数据类型(完)10

§2.3C语言的基本数据类型按照数据在程序中的取值:值保持不变-----常量x=2*y值随程序运行变化-----变量基本类型整型int字符型char实型(浮点型)11§2.3C语言的基本数据类型按照数据在程序中的取值:一、常量1.在程序运行中,其值保持不变。2.表示方法:整型100,125,-100实型3.14,0.125字符型‘a’,‘b’字符串常量“string”3.符号常量:#definePI3.14159用指定的标识符表示某个常量2.3.1常量与变量

§2.3C语言的基本数据类型(续)12一、常量1.在程序运行中,其值保持不变。整型100二、变量3.变量通过变量名标识1.在程序运行中,值发生变化2.必须先定义,再使用inta,b;类型变量名表变量memorya82563变量名和内存中的存储单元相对应。编写程序时通过变量名来存、取存储单元。

§2.3C语言的基本数据类型(续)13二、变量3.变量通过变量名标识1.在程序运行中,值发生变(1)以字母或下划线开头(2)不能用系统中的关键字作为变量名规定inta,bA123,_b;inta;…..A=5;

4.有关变量名的规定(3)变量名中的字母是区分大小写的。sum、stu_name、_age、Lts_1_2、a232c、x.y、start+9、c2.0

NAMEname表示两个不同的标识符。不提倡大小写混合使用

§2.3C语言的基本数据类型(续)14(1)以字母或下划线开头(2)不能用系统中的关键字作为变量名一、整型常量有三种表示形式十进制八进制十六进制1234加前导001234,0125加前导0x0x123,0xffff整型数据包括整型常量和整型变量,

整型数据以二进制补码形式存储例

100、-8、0;010、024;0x38、0X1F2.3.2整型数据

§2.3C语言的基本数据类型(续)15一、整型常量有三种表十进制1234加前导0加前导0x二、整型变量

掌握要点1有几种定义形式2每种形式占存储空间的大小3取值范围4输入输出格式

§2.3C语言的基本数据类型(续)16二、整型变量掌握要点§2.3C语言的基本数据类型(续1.定义形式共六种基本整型长整型短整型无符号整型无符号短整型无符号长整型

intlongintshortintunsignedint2.占存储空间一个变量2422字节unsignedshortunsignedlong24

§2.3C语言的基本数据类型(续)171.定义形式共六种基本整型int2.占存储空间一个变3.整型变量的取值范围

类型说明符长度数的范围基本型

int

2字节

-32768~32767短整型

short2字节

-215~215-1

长整型

long4字节

-231~231-1无符号整型

unsigned2字节

0~65535无符号短整型

unsignedshort2字节

0~65535无符号长整型

unsignedlong4字节

0~(232-1)

§2.3C语言的基本数据类型(续)183.整型变量的取值范围类型说明符int型数的表示范围:存储长度16位二进制(2Byte)

0000000000000001=215-1=32767000000000000001101111111111111111000000000000000=1=3上面的数再加1是多少?=-215=-32768

例补码表示int型表示数的范围:-32768~327674.输入输出形式:d,%ld,%x,%o,%u

§2.3C语言的基本数据类型(续)19int型数的表示范围:0000000包括实型常量和实型变量一、实型常量有两种表示形式小数指数0.1233e-3实型常量只能用十进制形式表示,不能用八进制和十六进制1e3、1.8e-3、-123e-6、-.1e-3e5、1e-3.2、e、.e-03

2.3.3实型数据用指数表示实型常量的规则

§2.3C语言的基本数据类型(续)20包括实型常量和实型变量一、实型常量有两种表小数0.123实型1.定义形式共三种单精度双精度长双精度

floatdoublelongdouble2.占存储空间一个变量4816字节二、实型变量实型常量不区分单精度和双精度

§2.3C语言的基本数据类型(续)211.定义形式共三种单精度float2.占存储空间一个变3.变量的取值范围4.输入输出形式%f类型长度数的范围有效数字单精度float4

10-38~1038

6---7位双精度double

8

10-308~10308

15--16位长双精度

longdouble

1610-4931--10493218--19位

§2.3C语言的基本数据类型(续)223.变量的取值范围4.输入输出形式%f实型数据在计算机中以指数形式存储,单精度实型变量用一个字节存放指数部分,其余三个字节存数值部分。

7位二进制

23位二进制单精度实型2-23<=|尾数|<=1-2-23尾数指数

§2.3C语言的基本数据类型(续)23实型数据在计算机中以指数形式存储,单精度实型变量用一个字节存包括字符型常量和字符型变量一、字符型常量1.用单引号包含的一个字符是字符型常量2.只能包含一个字符例‘a’,‘A’,‘1’‘abc’“a”

2.3.4字符型数据

§2.3C语言的基本数据类型(续)24包括字符型常量和字符型变量一、字符型常量1.用单引号包3有些以“\”开头的特殊字符称为转义字符\n

换行\t

横向跳格\r

回车\\

反斜杠\dddddd表示1到3个八进制数字\xhhhh表示1到2个十六进制数字记!printf(“%d\t%d\t”,a,b);printf(“%d\n%d\n”,a,b);若:a为1,b为01010

§2.3C语言的基本数据类型(续)253有些以“\”开头的特殊字符称为转义字符\n1.定义形式2.占存储空间一个变量1字节二、字符型变量char一个字符变量只能包含一个字符3.输入输出形式%c‘a’

ASCII值为97内存中存储形式011000014.字符型数据在内存中以相应的ASCII值存储

§2.3C语言的基本数据类型(续)261.定义形式2.占存储空间一个变量1字节二、字符型变量在ASCII范围以内,整型数据!main(){charc;c=‘c’;printf(“%c%d”,c,c);}C99?例题目中有多个c,哪些是等价的?运行结果:

§2.3C语言的基本数据类型(续)27在ASCII范围以内,整型数据!main()C99?例题三、字符串常量1双引号内的一串字符“china”2n个字符组成的字符串常量,在内存中占空间为n+1

个字节。china\0字符串结束标记3C

中没有专用的字符串变量“ThisisCstring”串长16“a”串长1“”(空格)串长1“”(不含空格)串长0

§2.3C语言的基本数据类型(续)28三、字符串常量1双引号内的一串字符“china”

§2.4算术运算与赋值运算一、运算符运算符运算分量X=5+b*c对数据进行运算的符号被加工的数据+表达式2.4.1认识C中的运算符和表达式算术运算符赋值运算符关系运算符逻辑运算符逗号运算符条件运算符…...

C中运算符共34种29§2.4算术运算与赋值运算一、运算符运算符运算分量X=2.表达式的运算结果称为表达式的值1.运算符和运算分量构成表达式二.表达式算术表达式赋值表达式关系表达式逻辑表达式逗号表达式条件表达式…...

§2.4算术运算与赋值运算(续)302.表达式的运算结果称为表达式的值1.运算符和运算分量构三.学习运算符应掌握的要点:*运算符的种类与功能*运算符与运算分量的关系个数类型A+B(a>b)

?

a:b目关系不同类型的变量,所允许的操作不同单目运算符双目运算符三目运算符

§2.4算术运算与赋值运算(续)31三.学习运算符应掌握的要点:*运算符的种类与功能*运算*优先级:运算符的执行顺序

*结合性:优先级相同时的结合方向*运算结果的类型X=5+8‘a’>100X=a+b*ca+b-c5>7>2a=b=5结果?单目运算符的优先级高于双目运算符单目运算符从右向左结合双目运算符从左向右结合

§2.4算术运算与赋值运算(续)32*优先级:运算符的执行顺序*结合性:优先级相同时2.4.2算术运算符和算术表达式1.共有5个:+,-,*,/,%2“-”作为负号时为单目单目:-双目:*,/,%双目:+,-4.优先级:

5.结合性:从左向右3.%运算只适用于整型数取模(求余数)a=10%4a的值为2

§2.4算术运算与赋值运算(续)332.4.2算术运算符和算术表达式1.共有5个:+,-,*2.4.3自增、自减运算符1.变量自身加(减)1

k=k+1k++先使用变量k的值,再加1++k

先加1,再使用变量k的值

k=k-1k--先使用变量k的值,再减1--k

先减1,再使用变量k

的值

k=3;printf(“%d”,k++);输出3后,k的值为4i=3;printf(“%d”,++i);输出4

§2.4算术运算与赋值运算(续)342.4.3自增、自减运算符1.变量自身加(减)1k2.只能用于变量,不能用于表达式和常量3.优先级:高于双目算术运算符4.结合性:从右向左(i+k)++,--3

i=3;k=i+++i+++i++;i=?i=3;k=++i+(++i)+(++i);

§2.4算术运算与赋值运算(续)352.只能用于变量,不能用于表达式和常量3.优先级:高于双例:

main(){inta,b,s;a=5;b=5;s=a+b;printf(“%d,%d,%d\n”,a,b,s);s=a+++b;printf(“%d,%d,%d\n”,a,b,s);s=++a+b;printf(“%d,%d,%d\n”,a,b,s);s=--a+b;printf(“%d,%d,%d\n”,a,b,s);s=a--+b;printf(“%d,%d,%d\n”,a,b,s);s=a+b;printf(“%d,%d,%d\n”,a,b,s);}

§2.4算术运算与赋值运算(续)36例:main()§2.4算术运算与赋值运算s=a+b;s=a+++b;s=++a+b;s=--a+b;s=a--+b;s=a+b;

a=5,b=55+5=105+5=107+5=126+5=116+5=115+5=10abs55106

5107

51265115

5115510题目分析s

§2.4算术运算与赋值运算(续)37s=a+b;a=5,b=55+5=2.4.4赋值运算符赋值表达式1.将一个常量或一个表达式的值赋给一个变量称为赋值x=5y=x+102.可以将一个实型赋给一个整型,或将一个整型赋给一个实型intx,x=5.3;x的值为5floaty,y=5;y的值为5.0000003.赋值运算的优先级比算术运算低4.赋值运算的结合性从右向左X=y=5

§2.4算术运算与赋值运算(续)382.4.4赋值运算符赋值表达式1.将一个常量或一个表达2.4.6复合赋值运算符和复合赋值表达式赋值运算符两侧出现相同的变量x=x+nx=x-nx=x*nx=x/nx=x%nx+=nx-=nx*=nx/=nx%=n算术运算与赋值运算相结合X与n均为整数x=x+nn为常数

§2.4算术运算与赋值运算(续)x+=n392.4.6复合赋值运算符和复合赋值表达式赋值运算符两侧出例main(){inta,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,%d\n”,a,b,c,d);}结果?7,-1,60,1

§2.4算术运算与赋值运算(续)40例main()结果?7,-1,60,1§2.4算术一、逗号运算符,(表达式1,表达式2,表达式3,……表达式n)用于连接几个表达式二、求解过程顺序求解几个表达式三、优先级逗号运算符的优先级最低四、结合性从左向右五、逗号表达式逗号表达式的值为最后一个表达式的值(表达式n的值)X=(

(a=4*5,a*2),a+6)a为?

20x为?26§2.5逗号运算2.5.1逗号运算符41一、逗号运算符,(表达式1,表达式2,表达式3,……表

§2.6混合运算及数据类型转换

不同数据类型需先转换成同一类型,然后进行运算方式自动进行-------隐式转换强制进行-------显式转换一、隐式转换(算术转换)级别低的向级别高的转换doublefloatlongunsignedintchar,shortinti;floatf;doubled;longe;表达式:10+’a’+i*f-d/e

的结果为:

double42§2.6混合运算及数据类型转换不同数据类型需先转换成同二、显式转换(强制转换)(int)(10-+’a’+i*f-d/e)将该结果强制转换为整型若有:inti;floatf;则(int)f%i取模运算要求运算分量是整数,所以先将f转换为整型,再做%运算。三、赋值转换赋值符号右边的类型向左边的转换intx;floaty=5.3;x=y;intx=5;floaty;y=x;

§2.6混合运算及数据类型转换(续)

43二、显式转换(强制转换)(int)(10-+’a’+i*一、C中的基本数据类型,每一种类型的定义方式(关键字),在存储空间中所占的字节数,存储形式,取值范围。二、C中的运算符的几个要点(功能,与运算分量的关系,优先级,结合性,运算结果的类型)。三、算术运算符中的%只使用在int类型。第二章总结四、自增,自减运算的特点,灵活使用k++,++k。五、复合的赋值运算规则。七、不同类型数据转换时的优先顺序八、单目运算,双目运算的优先级和结合性特点熟记基本概念和规则!44一、C中的基本数据类型,每一种类型的定义方式(关键字),二、补充习题:1、C语言规定,在源文件中,main()的位置:()

A、必须在最开始B、必须在库函数后

C、可以在任意位置D、必须在所有函数最后2、一个C程序的执行是从:()A、从主函数开始,在主函数中结束;B、从第

温馨提示

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

评论

0/150

提交评论