C语言程序设计课件第3章

PPT
  • 阅读 72 次
  • 下载 0 次
  • 页数 67 页
  • 大小 907.535 KB
  • 2022-11-24 上传
  • 收藏
  • 违规举报
  • © 版权认领
下载文档30.00 元 加入VIP免费下载
此文档由【小橙橙】提供上传,收益归文档提供者,本网站只提供存储服务。若此文档侵犯了您的版权,欢迎进行违规举报版权认领
C语言程序设计课件第3章
可在后台配置第一页与第二页中间广告代码
C语言程序设计课件第3章
可在后台配置第二页与第三页中间广告代码
C语言程序设计课件第3章
可在后台配置第三页与第四页中间广告代码
C语言程序设计课件第3章
C语言程序设计课件第3章
还剩10页未读,继续阅读
【这是免费文档,您可以免费阅读】
/ 67
  • 收藏
  • 违规举报
  • © 版权认领
下载文档30.00 元 加入VIP免费下载
文本内容

【文档说明】C语言程序设计课件第3章.ppt,共(67)页,907.535 KB,由小橙橙上传

转载请保留链接:https://www.ichengzhen.cn/view-44529.html

以下为本文档部分文字说明:

第3章C语言程序设计基础返回主目录第3章C语言程序设计基础本章主要介绍C语言的数据类型、常用运算符及其表达式和数据的输入(输出)。1.C语言的数据类型2.变量和常量3.C语言的基本数据类型4.常用运算符及其表达式5.数据的输入与输出第3章C语言程序设

计基础一、C语言的数据类型基本整型(有符号、没有符号)短整型(有符号、没有符号)长整型(有符号、没有符号)C语言的数据类型如下:数据类型基本类型构造类型指针类型空类型数组类型结构体类型共用体类型整型实型字符型枚举型单精度实型双精度实型第3章C语言程序设计基础一、变量

在程序运行过程中,其值有可能发生改变的量,称之为变量。变量的概念含义如下:1.变量代表内存中的某个存储空间,是存放数据的“容器”。2.变量中存放的数据称为变量的值,在不同的时刻,变量的值可能不同。3.一

个变量只能存放某一类型的数据。4.每一个变量必须有一个名称,称为变量名,在程序执行过程中,变量名是不变的。5.变量名与计算机的存储单元相对应的。6.从变量中取值,实际上是通过该变量名找到相应的内存地址,从其存储单元中读取数据。第3章C语言程序设计基础二、变量的定义1.在使用变量前

必须先指明变量的类型和名称。2.标识符的命名规则如下:①由英文字母、数字和下划线构成,且不能以数字开头。②最长不能超过31个字符。③不能与关键字同名。④变量名一般用小写字母表示。第3章C语言程序设计基础三、常量在程序运行过程中,其值不可能发生改变的量,

称之为常量。在程序中出现的具体数值和内存单元的地址都是常量。在C语言程序中,还可以用一个符号或名字来代替一个常量,称为符号常量。符号常量定义的方式主要有如下两种:1.用const限定符来定义符号常量(将一个变量定义为“只读”常量)。如:constfloatP

I=3.14159;2.用编译预处理命令#define来定义符号常量(指定一个标识符来代替一个字符串)如:#definePI3.14159第3章C语言程序设计基础一、整型数据1、整型常量整型常量有三种表示方法:①十进制:由0,1,2,3,4,5,6,7,8,9等

数字构成。②八进制:由0,1,2,3,4,5,6,7等数字构成,八进制数是以0开头的。如:0123,05,0345等。(0802,0905,0908等是错误的)③十六进制:由0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F等数字构成,十六进制数是以0x开头的。例如:

0x123,0x5,0xab,0x9764等。第3章C语言程序设计基础2、整型变量整型变量在使用前必须先定义。①整型数据在内存中存储形式:整数在内存中是以二进制补码形式存放的,其中,最高位表示符号,0为正,1为负。②正数的原码和补码是相同的,负数的原码和补码不相同

,负数的补码是其反码加1。负数的反码是在原码的基础上按位取反,最高位保不变。第3章C语言程序设计基础3.整型变量的具体分类基本整型unsignedint无符号短整型unsignedshort长整型unsignedlong整型基本整型

int有符号短整型short长整型long类型说明方式字节数值范围基本整型int2-32768~32767即-215~215-1无符号基本整型unsignedint20~65535即0~216-1短整型short2-32768

~32767即-215~215-1无符号短整型unsignedshort20~65535即0~216-1长整型long4-2147483648~2147483647即-231~231-1无符号长整型unsignedlong40~4294967295即0~232-1第3章C语言程

序设计基础注意:①如果在一个整数的后面加上L或l,系统认为该整数是长整型。如果一个整数没有其它特殊说明,系统默认为基本整型。②不同整数类型的变量都有确定的数值范围,在程序种使用某种整数类型数据时,必须先估计数据的

大小,要保证数据的值在规定范围内,如果计算的数据超出范围,将发生“溢出”。例如:一个int型变量的最大允许值为32767,如果加1,就会发生“溢出”,计算结果不再是32768。第3章C语言程序设计基础例3-1整型数据

的溢出。#include"stdio.h"main(){intx,y,z;x=32767;y=x+1;printf("%d\n",y);}第3章C语言程序设计基础二、实型数据1、实型常量实型常量有两种表示方法:①十进制小数形式:由数字和小数点构成。例如:123.456,0.5,3.0等。3

.0可简写为3.,0.5可简写为.5。②指数形式:由数字、小数点和字母E(或e)构成。例如:1.23e4,0.6e5,345e-4等。注意:用指数形式来表示实数时,E(或e)之前必须有数字,并且E(或e)

后面的指数必须为整数。例如1.2E5.4是非法的。当以指数形式输出实数时,在E(或e)前面的数中,小数点左边只能有一位非零的数字。例如:1.28E4。第3章C语言程序设计基础2、实型变量实型数据是按照指数的形式存储的。实型变量有三

种类型:类型说明方式字节精确度数值范围单精度float4小数点后6位10-37~1038双精度double8小数点后15位10-307~10308长双精度longdouble10小数点后18位10-49

31~104932注意:如果一个实数没有其它特殊说明,系统默认为双精度型,如果在其后面加字母F(或f),系统将按单精度型进行处理。例如:3.14F是单精度型数据,3.14是双精度型数据,3.14L是长双精度型数据。

第3章C语言程序设计基础实型数据是按照指数的形式存储的。系统将实型数据分成小数部分和指数部分,分别存放。例如,实数314.159的存储形式如下:第3章C语言程序设计基础三、字符型数据1、字符是构成源程序的基本元素,C语言字符常量用单引号标注,字母、标点符号都属

于字符常量。如:'A','>'等。2、字符在计算机中是以其ASCII码值来存储的。3、C语言中还有一种特殊形式的字符常量,就是以一个‘\’开头的字符序列,称为转义字符。第3章C语言程序设计基础字符形式含义ASCII码\n换行,将当前位置移到下一行的开头10\t水平制表(跳到下一个

tab位置)9\b退格,将当前位置移到前一列8\r回车,将当前位置移到本行开头13\f换页,将当前位置移到下页开头12\\反斜杠字符'\'92\'单引号字符39\"双引号字符34\ddd1到3位8进制数所代表的字符\xh

h1到2位16进制数所代表的字符C语言的转义字符如下:第3章C语言程序设计基础4、字符型变量字符变量用来存放单个字符,一个字符变量在某一时刻只能存放一个具体字符,占一个字节。字符变量定义的一般形式如下:char变量名;例如:charch1;第3章C语言程序设计基础例3-2大

小写英文字母的转换。main(){charc1,c2;c1='a';c2=98;printf("%c%d,%c%d\n",c1,c1,c2,c2);c1=c1-32;c2=c2-32;printf("%c%d,%c%d\n",c1,c1,c2,c2);

}第3章C语言程序设计基础5、字符串常量字符串常量是用双引号括起来的一组字符。例如:"howareyou"字符常量和字符串常量是两个不同的概念,不能混淆,C语言系统自动在字符串的结尾加一个结束标志符‘\0’,来表示该字符串已经结束'a

'是字符常量,占一个字节。"a"是字符串常量,占两个字节(后接一个结束标志符)。第3章C语言程序设计基础注意:①只能将一个字符常量赋给一个字符变量,绝对不能将一个字符串常量赋给一个字符变量。②在字符串中,结束标志符是字符串的一部分,输出时,结束标志符不输出。1占2

个字节1L占4个字节'1'占1个字节"1"占2个字节第3章C语言程序设计基础三、枚举型数据1、“枚举型”数据就是将变量的可能值一一列举出来,变量的值是列举范围中的任意一个值。2、定义枚举类型的一般形式如下enum枚举类型名{成员表列};例如:enumweek{sun

,mon,tue,wed,thu,fri,sat};其中sun,mon,…,sat等称为枚举元素。枚举元素在编译时被当作常量处理,不能对其赋值。第3章C语言程序设计基础3、定义枚举型变量的一般形式如下:enum枚举类型名变量名;例如:enumweekx,y;x与y的值

是枚举元素sun,mon,tue,wed,thu,fri,sat中的一个。第3章C语言程序设计基础四、数据类型长度测试C语言中,不同的数据类型在存储时所占的存储空间和数值范围是不同的,即使是同一个数据类型在不同类型的计算机上存储时,所占的存储

空间和数值范围也有所不同,通常使用字节运算符sizeof()来求各类型数据存储时所占的字节数。sizeof()的一般格式为:sizeof(类型名或变量名)第3章C语言程序设计基础例3-3#include"stdio.h"main(){intx,y,z;x=sizeof(int);y=siz

eof(longdouble);z=sizeof(char);printf("%d,%d,%d",x,y,z);}第3章C语言程序设计基础五、不同数据类型间的转换和运算C语言系统中,整型、实型、字符型等数据可以混合运算。doublelongunsignedintfloatchar,short高

低当表达式中出现不同类型数据时,系统将自动按照右图中的高低顺序,由低到高进行类型转换,将不同类型数据转换成同一类型数据。第3章C语言程序设计基础一、算术运算术及其表达式运算符功能操作数个数结合方式优先级别表达式+正运算单目从右到左高+5-负运算单目从右

到左-3*乘法运算双目从左到右中6*7/除法运算双目从左到右5/3%余数运算双目从左到右5%2+加法运算双目从左到右低3+4-减法运算双目从左到右8-6C语言提供的算术运算符有七种,其功能、结合方式、优先级如下所示:第3章C语言程序设计基础二、

赋值运算术与赋值表达式1、“=”是赋值运算符,作用是将符号右边的数据赋给符号左边的变量,成为此变量的当前值。例如a=5就是将整数5赋给变量a,变量a的当前值为5。赋值运算符是双目运算符,结合方式从右到左,优先级很低,只比逗号运算符高,比其它运算低。第3章C语言程序设计基础注意

:①一般情况下,赋值运算符左右两边的数据类型应一致。例如:inta;a=4.2;错误,不能将实数赋给整型变量。②允许在定义变量时,对变量赋初值。例如:inta=5,b=6;③可以对几个变量同时赋值。例如:inta,

b,c;a=b=c=4;上述赋值不能写成:inta=b=c=4;否则,将会出现编译错误。第3章C语言程序设计基础1、符合赋值运算符在赋值运算符“=”前面加上其它运算符构成复合赋值运算符。C语言系统中的复合赋值运算

符有以下几个:+=,-=,*=,/=,%=,<<=,>>=,&=,∧=,|=前5个是复合算术赋值运算符,后5个是复合位运算赋值运算符。第3章C语言程序设计基础①+=例如a+=3等价于a=a+3②-=例如a-=3等价于a=a-3③*=例如a*=3等价于a=a*3④/=例如a/

=3等价于a=a/3⑤%=例如a%=3等价于a=a%3所有的复合赋值运算符都是双目运算符,其结合方式、优先级和赋值运算符完全一样。第3章C语言程序设计基础三、逗号运算术与逗号表达式1、逗号运算符就是一个逗号(,),用于连接相邻的两个表达式。逗号运算符的优先级最低,结合方式从

左到右。2、逗号表达式的一般形式如下:表达式1,表达式2,表达式3,…表达式n计算过程:先计算表达式1,再计算表达式2,…,最后计算表达式n。整个表达式的值是表达式n的值。例如:逗号表达式2*3,4+5,6-7的值为-1。第3

章C语言程序设计基础例3-4:x=4*6,x*5;假定x的初值为4,求x的值。第一步:x=4*6→x=24第二步:x*5→24*5→120实际上,x的值为24。例3-5:x=(4*6,x*5);假定x的初值为4,求x的值。第

一步:4*6→24第二步:x*5→4*5→20第三步:x=20实际上,x的值为20。第3章C语言程序设计基础四、自增、自减运算术及其表达式自增运算符:++,使变量的值增1。单目运算符。自减运算符:--,使变量的值减1。单目运算符。注意:自增、自减运算符的操作数必须是变量,只有变量才能实现自增运算或

自减运算。例如:下面的表达式是错误的。++4,5--,++(i+j),++i++,++&i自增、自减运算符是两个奇特的运算符,既可以放在变量的左面,也可以放在变量的右面,尽管都是增1或减1,但其具体运算过程是不一样的。第3章C语

言程序设计基础例如:①假定i=3;j=++i;i=4;j=4;②假定i=3;j=i++;i=4;j=3;③假定i=3;j=--i;i=2;j=2;④假定i=3;j=i--;i=2;j=3;++i:在使用i之前,先使i的

值增1(先增后用)i++:在使用i之后,再使i的值增1(先用后增)--i:在使用i之前,先使i的值减1(先减后用)i--:在使用i之后,再使i的值减1(先用后减)第3章C语言程序设计基础例3-6假定i=

3;k=(++i)+(++i)+(++i);i=6;k=18;例3-7假定i=3;k=(i++)+(i++)+(i++);i=6;k=9;第3章C语言程序设计基础五、强制类型转换运算符强制类型转换运算符的一般形式为:(类型名)(表达式)作用是将表达式转换成所需类型。强制类型转换运算符

是单目运算符。例如:(int)(3.5+2.2)的值为5。因为3.5+2.2结果为5.7,强制转换时,舍弃其小数部分。例如:(float)(3-2)的值为1.000000例3-8假定x=3.2,y=5.4;执行z=(int)

(x+y);结果:z=8;x=3.2;y=5.4;第3章C语言程序设计基础六、关系运算符与关系表达式关系运算符实际上就是比较运算符,将两个值进行比较,判断比较的结果是否满足给定的条件。如果满足给定的条件,表达式的值为“真”,否则表达式的值为“假”。

注意:关系运算符的优先级低于算术运算符,高于赋值运算符。运算符功能操作数个数结合方式优先级别>大于双目从左到右高<小于双目从左到右>=大于或等于双目从左到右<=小于或等于双目从左到右==等于双目从左到右低!=不等于双目从左到右第3章C语言程序设计基础关系表达式的值是一个逻辑值,即“真”和“假

”。C语言规定:判定逻辑值,以非零表示“真”,以零表示“假”。而C语言系统给出逻辑值时,以1表示“真”,以0表示“假”。例如:x=5>3x的值为1。y=3==6y的值为0。z=3!=6z的值为1。c=5>3>2c的值为0。第3章C语言程序设计基础七、逻辑

运算符与逻辑表达式C语言提供的逻辑运算符有3种:逻辑表达式的值是一个逻辑值。用“1”表示“真”,用“0”表示“假第3章C语言程序设计基础逻辑运算的“真值表”:ab!a!ba&&ba||b非0非00011非0001010非01001001100第3章C语言程序设计基础注意:①计算逻辑表达式时,并

不是所有的逻辑运算符都被执行,只是在必须执行下一个逻辑运算符才能求出表达式的值时,才执行该运算符。②对于&&运算符,当其左右两边的值都为“真”时,整个表达式的值为“真”,只要其左右两边的值有一个为“假”,整个表达式的值就为“假”。也就是说,只要其左边的表达式

为“假”,整个表达式的值就为“假”,其右边表达式不再计算。例如:x=y=-1;执行表达式++x&&++y后,x的值为0,y的值为-1。第3章C语言程序设计基础③对于||运算符,当其左右两边的值都为“假”时,整个表达式的值为“假”,只要其左右两边的值有一个为“真”,整个表达式

的值就为“真”。也就是说,只要其左边的表达式为“真”,整个表达式的值就为“真”,其右边表达式不再计算。例如:x=y=0;执行表达式++x||++y后,x的值为1,y的值为0。④逻辑运算符两侧的操作数,除可以是0和非0的整数外,也可以是其任何类型的

数据,如实型、字符型等。第3章C语言程序设计基础例:假定a=1,b=2,n=1,c=3,d=4,执行(m=a>b)&&(n=c>d),求m和n的值。(m=0,n=1)②假定a=1,b=2,n=1,c=3,d=4,执行(m=a>b)||(n

=c>d),求m和n的值。(m=0,n=0)③假定x=y=z=-1,执行++x&&++y||++z,求x,y,z,的值。(x=0,y=-1,z=0)第3章C语言程序设计基础④假定x=y=z=-1,执行++x||++y&&++z,求

x,y,z,的值。(x=0,y=0,z=-1)⑤假定x=y=z=1,执行++x||++y&&++z,求x,y,z,的值。(x=2,y=1,z=1)⑥假定x=y=z=1,执行--x||++y&&!z,求x,y,z,的值。(x=0,y=2

,z=1)第3章C语言程序设计基础数据的输入与输出C语言没有数据输入和数据输出语句,所有数据的输入和输出操作全部由系统提供的标准输入、输出函数来完成。在使用C语言提供的标准输入、输出函数时,必须在程序开头用#include命令将其相应头

文件包含进来。第3章C语言程序设计基础一、字符数据的输入与输出1、字符输出函数putchar()函数使用形式:putchar(字符变量);作用:向终端输出一个字符。例3-7#include"stdio.h"main(){cha

rx,y;x='a';y=65;putchar(x);putchar(y);}第3章C语言程序设计基础2、字符输入函数getchar()函数使用形式:变量名=getchar();作用:从终端输入一个字符。例3-8#include"stdio.h"main(){charx;x=

getchar();putchar(x);getch();}第3章C语言程序设计基础二、数据的格式输入与输出1、格式输出函数printf()函数使用形式:printf(格式控制字符串,输出表列);作用:将

“输出表列”中的数据按照“格式控制字符串”的要求输出。例如:printf("%d,%d",a,b);注意:格式控制字符串包含两部分内容:格式说明和普通字符。格式说明:由“%”和格式字符组成。如%d,%f等。作用是将要输出的数据转换成指定的格式输出。格式说明总是由“%”

字符开始的。普通字符:按照原样输出字符。第3章C语言程序设计基础下表列出了printf()函数的格式字符格式字符作用d,i以带符号的十进制形式输出整数(正数不输出符号)o以无符号的八进制形式输出整数X,x以无符号的十六进制形式输出整数u以无符号的十进制

形式输出整数c以字符形式输出单个字符s输出字符串f以小数形式输出实数(保留6位小数)E,e以指数形式输出实数(保留5位小数)G,g选用%f或%e中宽度较短的一种格式输出实数第3章C语言程序设计基础格式字符作用L,l输出长整型整数,可用在d,o,x,u前面m.

n(m,n为正整数)m表示数据输出的最小宽度。对实数,表示输出n位小数;对字符串,表示截取的字符个数-按照左对齐方式输出数据+按照右对齐方式输出数据(系统默认对齐方式为右对齐)下表列出了printf()函数的附加格式字符除

了格式字符以外,printf()函数还可以使用附加格式字符,附加格式字符放在格式字符与%之间。第3章C语言程序设计基础格式控制字符串中,可以使用转义字符。格式控制字符串通常用小写字母书写,并且要用双引号标注。格式控制字符必须与输出表列一一对应;输出表列之间用逗号隔开。例3-9以带符号形式输出

整数和实数#include"stdio.h"main(){inta=-123;floatb=123.0;printf("%d,%f\n",a,b);printf("%9d,%e\n",a,b);printf("%9d,%9

.2f\n",a,b);printf("%-9d,%-9.2f\n",a,b);}第3章C语言程序设计基础例3-10输出长整型整数#include"stdio.h"main(){longinta=123456789

;printf("%ld,%d\n",a,a);}第3章C语言程序设计基础例3-11用不同进制形式输出正整数#include"stdio.h"main(){inta=66;printf("%d,%o,%x,%c\

n",a,a,a,a);getch();}第3章C语言程序设计基础例3-12用不同进制形式输出负整数#include"stdio.h"main(){inta=-1,b=-2;printf("%d,%u,%o,%x\n",a,a,a,a);printf("%d,%u,

%o,%x\n",b,b,b,b);}第3章C语言程序设计基础例3-13输出字符串#include"stdio.h"main(){printf("%s,%5.3s\n","china","china");}第3章C语言程序设计基础例3-14实数输出时,如果要降低小数部

分精确度,系统自动按四舍五入的方式进行取舍。#include"stdio.h"main(){floata=12.5646;printf("%8.3f,%8.2f\n",a,a);}第3章C语言程序设计基础例3-15如果要输出“%”,应在格式控制字符串中连续

使用两个%#include"stdio.h"main(){floata=12.5646;printf("%8.3f%%\n",a);}第3章C语言程序设计基础例3-16如果在%后面紧跟0,则多余的空位用0来填补#include"stdio.h"main(){fl

oata=12.5646;printf("%09.3f%%\n",a);}第3章C语言程序设计基础例3-17普通字符按原样输出#include"stdio.h"main(){inta=123;printf

("a=%d\n",a);}第3章C语言程序设计基础例3.18如果在%后紧跟*,则输出列表中对应的数据表示后一个数据的输出宽度。#include<stdio.h>main(){inti=1;printf("##%*d\n",i

,i);i++;printf("##%*d,%*d\n",i,i,3,4);i++;printf("##%*d\n",i,i);}第3章C语言程序设计基础2、格式输入函数scanf()函数使用形式:scanf(格式控制字符串,变量地址表列);作用:按照“格式控

制字符串”的要求,输入变量的值。例如:scanf("%d,%d",&a,&b);&是地址运算符,取变量的地址值。scanf()函数的格式控制字符串和printf()函数一样第3章C语言程序设计基础scanf()函数也可以使用附加格式字符,下表列出了scanf

()函数的附加格式字符。格式字符作用l输入长整型整数或double型实数h输入短整型整数m(m为正整数)用于指定输入数据所占宽度(列数)*表示本输入数据在输入后不给相应变量第3章C语言程序设计基础①格式控制字符串中的普通字符按原样输入。例3-19程序如下:#include"

stdio.h"main(){inta,b;scanf("a=%d,b=%d",&a,&b);printf("a=%d,b=%d",a,b);}第3章C语言程序设计基础②如果指定了输入数据所占的列数,系统自动按它截取所需数据。例3-20程序如下:#include"s

tdio.h"main(){inta,b;scanf("%3d%3d",&a,&b);printf("a=%d,b=%d",a,b);}第3章C语言程序设计基础③在用%c格式输入单个字符时,空格字符和

转义字符都有效的具体字符。例3-21#include"stdio.h"main(){charc1,c2,c3;scanf("%c%c%c",&c1,&c2,&c3);printf("c1=%c,c2=%c,c3=%c",c1,c2,c3);}第3章C语言程序设计基础④如果在%后紧

跟*,表示对应的输入数据在输入后不给相应变量。例3-22程序如下:#include<stdio.h>main(){inta,b;scanf("%3d%*3d%3d",&a,&b);printf("a=%d,b=%d",a,b);}第3章C语言程序设计基础1.求下面算术表达

式的值①x+a%3*(int)(x+y)%2/4.假定x=2.5,a=7,y=4.7②(float)(a+b)/2+(int)x%(int)y假定a=2,b=3,x=3.5,y=2.53.写出下面程序的运行结果#include"std

io.h"main(){inti,j,m,n;i=8;j=10;m=++i;n=j++;printf("i=%d,j=%d,m=%d,n=%d",i,j,m,n);}2.写出满足下列条件的C语言表达式:int型数x的取值为1或0,且float型数y的取值在1.0到6.0之间。

小橙橙
小橙橙
文档分享,欢迎浏览!
  • 文档 25747
  • 被下载 7
  • 被收藏 0
相关资源
广告代码123
若发现您的权益受到侵害,请立即联系客服,我们会尽快为您处理。侵权客服QQ:395972555 (支持时间:9:00-21:00) 公众号
Powered by 太赞文库
×
确认删除?