收藏 分销(赏)

chap基本程序语句.pptx

上传人:精**** 文档编号:4667094 上传时间:2024-10-09 格式:PPTX 页数:50 大小:267.70KB
下载 相关 举报
chap基本程序语句.pptx_第1页
第1页 / 共50页
chap基本程序语句.pptx_第2页
第2页 / 共50页
chap基本程序语句.pptx_第3页
第3页 / 共50页
chap基本程序语句.pptx_第4页
第4页 / 共50页
chap基本程序语句.pptx_第5页
第5页 / 共50页
点击查看更多>>
资源描述

1、2. 各类数值型数据间的混合运算各类数值型数据间的混合运算2.8 算术运算符和算术表达式算术运算符和算术表达式2.9 赋值运算符和赋值表达式赋值运算符和赋值表达式2.10 逗号运算符和逗号表达式逗号运算符和逗号表达式2.11.关系运算符和关系表达式关系运算符和关系表达式2.12 C语句结构语句结构2.13 数据的输入数据的输入/输出输出 2.1 C的数据类型及取值范围的数据类型及取值范围 1一个一个C程序包括的内容程序包括的内容 程程序序=算算法法+数数据据结结构构+程程序序设设计计方方法法+语语言言工工具和环境具和环境 2C的数据类型的数据类型数据类型数据类型基本类型基本类型构造类型构造类型

2、指针类型指针类型()空类型空类型(void)字符型字符型(char)数值类型数值类型枚举类型枚举类型(enum)数组类型数组类型()结构体类型结构体类型(struct)共用体类型共用体类型(union)整型整型(short,int,long,unsigned)实型实型单精度型单精度型(float)双精度型双精度型(double)3.基本数据类型的长度及取值范围基本数据类型的长度及取值范围 见见p15,p1 表表2_3,表表2_54.ANSI C标准中的数据类型和长度标准中的数据类型和长度 见见p1 表表2_5.整型类型的简写形式整型类型的简写形式见见p1 表表2_标识符就是一个名字,用于标志某

3、个事物,由字母、数字、下划线组成,由字母或下划线开头的字符串。标识符可用来命名变量及作为常量名、函数名、类型名、标号和其他各种用户定义的对象命名。一个程序内不得有重复名,不允许使用与C语言系统关键字(保留字)相同的标识符。如如:_sum,sum,stu_name,price30等为合法的标识符。标识符标识符 2.2 标识符、常量与变量标识符、常量与变量下面的标识符是不合法的:Number-of-moves(含有非法字符-)piece flag(含有非法字符空格)5_(数字开头)在定义标识符时应注意以下几点:1.为了增加可读性,应尽量见名知意。如:sum,area,day,name等等2.对标识

4、符的命名应常用取简、专用取繁。3.应尽量避免使用容易混淆的字符。例如:O(大写字母)o(小写字母)0(数字)I(大写字母)l(小写字母)1(数字)Z(大写字母)z(小写字母)2(数字)不要使用C语言关键字作为标识符C语言关键字列表 autobreakcasechar constcontinuedefaultdo doubleelseenumextern floatforgotoif intlongregisterreturn shortsignedsizeofstatic structswitchtypedefunion unsignedvoidvolatilewhile 1常量和符号常量常量

5、和符号常量 在程序运行过程中其值不能被改变的量称为在程序运行过程中其值不能被改变的量称为常量常量。例例2.1 定义符号常量。定义符号常量。#define PRICE 30 main()int num,total;num=10;total=num PRICE;printf(“total=%d”,total);用用define命命令令定定义义PRICE代代表表常常量量30,则则在在整整个个程程序序中出现的中出现的PRICE都代表都代表30,可以和常量一样进行运算。,可以和常量一样进行运算。1C语言区分大小写语言区分大小写如:Price 和 price,系统会认为是两个不同的标识符。2标识符的长度一

6、般不超过标识符的长度一般不超过8个字符个字符具体情况视不同系统而定。设允许8个字符。则:student_ namestudent_ number为同一名字。注意:注意:在程序运行过程中其值可以被改变的量称为在程序运行过程中其值可以被改变的量称为变量变量。变变量量名名的的命命名名符符合合标标识识命命名名规规则则:由由字字母母开开头头,由由字母、数字和下划线三种字符组成,长度不限制。字母、数字和下划线三种字符组成,长度不限制。如如:sum,aver,class,day为为合合法法变变量量名名;$123,#33,3ds均为非法变量名;均为非法变量名;sum、Sum与与SUM是三个不同的变量名。是三个

7、不同的变量名。在在C中中,习习惯惯用用大大写写字字母母标标识识符符号号常常量量,用用小小写写字字母标识变量。母标识变量。变量必须先定义后使用变量必须先定义后使用。变量一经定义,就确定了类型。变量一经定义,就确定了类型。2变量变量1整型常量整型常量整型常量即整常数。整常数有三种表示形式:整型常量即整常数。整常数有三种表示形式:十进制数十进制数 如:如:123,-45 八进制数八进制数 以数字以数字0开头。如:开头。如:0123,-011 十六进制数十六进制数 以以0 x开头。如:开头。如:0 x123,-0 x122整型常量的类型整型常量的类型 其值在其值在-328+32时为时为int型。型。其

8、值在其值在-21448348+214484时为时为long int型。型。常量中无常量中无unsigned型。但非负值的整型量可以赋值型。但非负值的整型量可以赋值给给unsigned型整变量,只要不产生溢出。型整变量,只要不产生溢出。在整型常量后面跟一个字母在整型常量后面跟一个字母l或或L,则认为是,则认为是long int型常量。型常量。2.3 整型数据整型数据1)整型变量的分类整型变量的分类 基本型基本型 以以int表示。表示。-32832(-215215-1)短整型短整型 以以short int或或short表示。表示。长整型长整型 以以long int或或long表示。表示。-2144

9、83482144834(-231231-1)无无符符号号型型 用用全全部部二二进进制制位位(bit)存存放放数数据据,不不能能存存放放负负数。数。unsigned int与与unsigned short:05535(021-1)unsigned long:042949295(0232-1)2)整型变量的定义整型变量的定义 int a,b;unsigned short c,d;long e,f;3整型变量整型变量1实型常量实型常量 十进制数形式:十进制数形式:0.123、.123、123、123.0、。指数形式:指数形式:123e3或或123E3都代表都代表123 103。2实型变量实型变量 单

10、单精精度度float:占占用用4 Bytes,位位有有效效数数字字,1038 1038。双双精精度度double:占占用用8 Bytes,15/1位位有有效效数数字字,1030810308。如:如:float x,y;/只能接收只能接收位有效数字位有效数字 /double z;2.4 实型数据实型数据1字符常量字符常量字符常量是用单引号括起的字符常量是用单引号括起的1个字符个字符。如:。如:a、A、。以以“”开开头头的的字字符符序序列列在在printf 函函数数中中控控制制输输出出格格式式(转转义义字字符符常常量。见书量。见书p22表表2-12)。)。n换行换行t横向跳格(下一个输出区横向跳格

11、(下一个输出区)v竖向跳格竖向跳格b退格退格r回车回车f走纸换页走纸换页反斜杠字符反斜杠字符 单引号单引号 ddd1到到3位位8进制数所代表的字符。如:进制数所代表的字符。如:101=A。xhh1到到2位位1进制数所代表的字符。进制数所代表的字符。2.5 字符型数据字符型数据P23:例例2-例例2.2 输出格式控制。输出格式控制。main()printf(“abctderf tgn”);printf(“htibbjk”);在打印机上输出:在打印机上输出:f a bc gdeh j i k在屏幕上输出:在屏幕上输出:f gdeh jk2字符变量字符变量字符变量只能存放字符变量只能存放 1 个字符

12、个字符。char c1,c2;c1=a;c2=b;3字符数据在内存中的存储形式及使用方法字符数据在内存中的存储形式及使用方法 例例2.3 在在C中中,字符型数据与整型数据可以相互赋值和运算字符型数据与整型数据可以相互赋值和运算。字符串常量是用双引号括起来的字符序列。如:字符串常量是用双引号括起来的字符序列。如:“How do you do.”,“CHINA”,“a”,“$123.45”。注意:注意:a是字符常量,而是字符常量,而“a”是字符串常量。是字符串常量。不不能能将将一一个个字字符符串串赋赋给给一一个个字字符符变变量量。字字符符串串其其内内部有结束标志部有结束标志0。C中没有字符串变量,

13、需要用字符数组存放字符串。中没有字符串变量,需要用字符数组存放字符串。4字符串常量字符串常量int a=3;float f=3.5;char c=a;int a,b,c=5;/只给只给c赋初值赋初值 /int a=3,b=3,c=3;/不能写成不能写成int a=b=c=3 /2. 变量赋初值变量赋初值 整整型型、单单精精度度型型、双双精精度度型型数数据据可可以以混混合合运运算算。不不同同类类型型的的数数据据要要先先转转换换成成同同一一类类型型,然然后后进进行行运运算算。转换规则如下:转换规则如下:2. 各类数值型数据间的混合运算各类数值型数据间的混合运算C规定,可以在定义变量的同时给变量赋初

14、值。如:规定,可以在定义变量的同时给变量赋初值。如:注注:箭箭头头只只表表示示转转换换方方向向,并并不不是是依依次次转转换换。转转换换过过程程是是自自动动完完成的。成的。例:例:10+a+i f-d/e运算过程为:运算过程为:a 转换成整数转换成整数9与与10相加,结果为相加,结果为10;i 和和f 转换成转换成double型,运算结果为型,运算结果为double型;型;将将10转换成转换成double型与型与i和和f的积相加,结果为的积相加,结果为double型;型;将将e转换成转换成double型,型,d/e的结果为的结果为double型;型;10+a+i f 的结果与的结果与d/e的商相

15、减,结果为的商相减,结果为double型。型。1C 运算符简介运算符简介 在在C中中,除除了了控控制制语语句句和和输输入入输输出出以以外外的的基基本本操操作都作为运算符处理。作都作为运算符处理。C的运算符有如下几类:的运算符有如下几类:算术运算符算术运算符+、-、/、%关系运算符关系运算符、=、=、=、!=逻辑运算符逻辑运算符&、!位运算符位运算符,、&赋值运算符赋值运算符=、+=、-=、=、/=、%=2.8 算术运算符和算术表达式算术运算符和算术表达式 逗号运算符逗号运算符,指针运算符指针运算符 和和&求字节数运算符求字节数运算符sizeof 强制类型转换运算符强制类型转换运算符(类型类型)

16、分量运算符分量运算符 或或 下标运算符下标运算符 其它其它如函数调用运算符如函数调用运算符()条件运算符条件运算符?:初等运算符初等运算符()、单目运算符单目运算符!、!、+、+、(类型类型)算术运算符算术运算符、/、%,+、关系运算符关系运算符、=,=、!=逻辑运算符逻辑运算符&、条件运算符条件运算符?:赋值运算符赋值运算符=、+=、=、=、/=、%=逗号运算符逗号运算符,C中各类运算符的优先级:中各类运算符的优先级:1)基本的算术运算符基本的算术运算符 +、-、/、%为求余、模运算为求余、模运算(%的两边必须为整型数据的两边必须为整型数据)其其中中:在在除除法法中中,整整数数相相除除取取整

17、整,且且大大多多数数机机器器采采取取“向向零零取取整整”方方法法,即即取取整整后后向向零零靠靠拢拢。实实数数相相除除为为double型。型。如:如:5/3=1,-5/3=-1,5/3.0=1.。2)算术表达式和运算符的优先级与结合性算术表达式和运算符的优先级与结合性 算算术术表表达达式式是是用用算算术术运运算算符符和和括括号号将将运运算算对对象象(常常量量、变量、函数等变量、函数等)连接起来的、符合连接起来的、符合C语法规则的式子。语法规则的式子。C的各种运算符的结合性为的各种运算符的结合性为“自左向右自左向右”。2算术运算符和算术表达式算术运算符和算术表达式 当当自自动动类类型型转转换换不不

18、能能达达到到目目的的时时,可可以以用用强强制制类类型型转转换换。强强制制类类型型转转换换运运算算符符可可以以将将一一个个变变量量或或一一个表达式转换成所需的类型。如:个表达式转换成所需的类型。如:(double)a 将将a转换成转换成double类型类型(int)(x+y)将将x+y的值转换成的值转换成int型型(float)(5%3)将将5%3的值转换成的值转换成float类型类型 例例2.4main()float x;int i;x=3.;i=(int)x;printf(“x=%f,i=%d”,x,i);运行结果:运行结果:x=3.00000,i=33.强制类型转换强制类型转换 自自增增、

19、自自减减运运算算符符的的作作用用是是使使变变量量的的值值增增加加1或或减减少少1。+i,-i i 的值先增加的值先增加(减少减少)1,然后再使用,然后再使用i。i+,i-先使用先使用i 的值,然后的值,然后i 再增加再增加(减少减少)1。注意:注意:+和和-只能用于变量,不能用于常量和表达式。只能用于变量,不能用于常量和表达式。+和和-的的结结合合方方向向“自自左左至至右右”。如如:-i+相相当当于于-(i+)。i+j按按“自自左左向向右右”的的原原则则解解释释为为(i+)+j,而而不不是是i+(+j)。printf(“%d,%d”,i,i+),若,若“自左至右自左至右”,则为,则为“3,3”

20、;若若“自右至左自右至左”,则为,则为“4,3”。标准。标准C(VC,DEVC)遵循遵循“自右至左自右至左”原则(包括函数调用原则(包括函数调用时参数表中变量的求值顺序也是如此)。时参数表中变量的求值顺序也是如此)。4.自增、自减运算符自增、自减运算符 若若i=3;j=i+;则则j是值为是值为3,i的值为的值为4。若若i=3;k=(i+)+(i+)+(i+);则则k的的值值为为9,i的的值值为为。可以将可以将解释为:解释为:i=3;k=i+i+i;i+;i+;i+;若若i=3;k=(+i)+(+i)+(+i);则则k为为18,i为为(turbo c,标准标准C不允许不允许)。可以将可以将解释为

21、:解释为:i=3;+i;+i;+i;k=i+i+i;若若i=3;j=+i;则则j的值为的值为4,i的值为的值为4。1“=”的作用是将一个数据或一个表达式赋给其左边的变量。的作用是将一个数据或一个表达式赋给其左边的变量。2若若“=”两两边边的的类类型型不不一一致致,当当同同为为数数值值型型或或字字符符型型时时,在在赋赋值时要进行类型转换。值时要进行类型转换。1)将实型数据赋给整型变量时,舍弃实数的小数部分。将实型数据赋给整型变量时,舍弃实数的小数部分。2)将整型数据赋给实型变量时将整型数据赋给实型变量时,其数值不变其数值不变,但以浮点数形式存储。但以浮点数形式存储。3)将将字字符符型型数数据据赋

22、赋给给整整型型变变量量时时,由由于于字字符符只只占占1个个字字节节,而而整整型型变量占变量占2个字节,因此,将字符数据放到整型变量的低个字节,因此,将字符数据放到整型变量的低8位中。位中。将字符处理为将字符处理为unsigned char时,高时,高8位补位补0。如将变量。如将变量c(字符字符3)赋给整型变量赋给整型变量i。将将字字符符处处理理为为带带符符号号的的量量时时,高高8位位全全补补1,称称为为“符符号号扩扩展展”。2.9 赋值运算符和赋值表达式赋值运算符和赋值表达式5)将将unsigned int型型数数据据赋赋给给long int型型变变量量时时,不不存存在在符号扩展问题。符号扩展

23、问题。)将将非非unsigned型型数数据据赋赋给给unsigned型型变变量量时时,原原样样照赋。照赋。3.复合的赋值运算复合的赋值运算 复合赋值复合赋值等价于等价于 a+=3a=a+3 x=y+8x=x(y+8)4)将带符号的将带符号的int型数据赋给型数据赋给long int型变量时,进行符号型变量时,进行符号扩展。即将数据送到低扩展。即将数据送到低1位中,高位中,高1位补位补0或补或补1。不得写成:不得写成:x=x y+8x%=3 x=x%3在在C中可以使用的复合赋值运算符有:中可以使用的复合赋值运算符有:+=、-=、=、/=、%=,=、&=、=、=x%=y+3 x=x%(y+3)不得

24、写成:不得写成:x=x%y+3 其中:其中:又可以是一个赋值表达式。又可以是一个赋值表达式。a=(b=5)a的值为的值为5 a=b=c=5a,b,c的值均为的值均为5 a=5+(c=)a的值为的值为11 a=(b=4)+(c=)a的值为的值为10 a=(b=10)/(c=2)a的值为的值为5 赋值表达式可以包含复合的赋值运算符。如:赋值表达式可以包含复合的赋值运算符。如:a+=a-=a a若若a=12,则上式的求解步骤为:,则上式的求解步骤为:先进行先进行a-=a a的运算,即的运算,即a=a-a a=12-144=-132 再进行再进行a+=-132的运算的运算,即即a=a+(-132)=-

25、132-132=-244赋值表达式的一般形式赋值表达式的一般形式 逗号表达式的一般形式:逗号表达式的一般形式:表达式表达式1,表达式,表达式2,表达式,表达式n 求求解解过过程程为为:从从左左至至右右求求各各表表达达式式的的值值,结结果果取取最最右右边表达式的值。边表达式的值。如:如:a=3 5,a 4 表达式值为表达式值为0 (a=3 5,a 4),a+5 表达式值为表达式值为20 x=(a=3, 3)x的值为的值为18 x=a=3, a x的值为的值为3例例2.5main()int m,n,i=5,j=;m=+i;n=j+;printf(“%d,%d,%d,%dn”,i,j,m,n);2.

26、10 逗号运算符和逗号表达式逗号运算符和逗号表达式运行结果:运行结果:,例例2.#include“stdio.h”main()int i=1;printf(“%d,%d,%d,%dn”,i,i+,i+,i+);运行结果:运行结果:4,3,2,1 函数调用时函数调用时,函数参数的求值顺序函数参数的求值顺序 从右至左从右至左2.11.关系运算符和关系表达式关系运算符和关系表达式1)关系运算符及其优先顺序关系运算符及其优先顺序 C有有种关系运算符:种关系运算符:优先级相同优先级相同(低低)优先级相同优先级相同(高高)=!=关关系系表表达达式式是是用用关关系系运运算算符符将将两两个个以以上上算算术术、

27、关关系、逻辑、赋值或字符表达式连接起来的式子。系、逻辑、赋值或字符表达式连接起来的式子。关关系系表表达达式式的的值值是是一一个个逻逻辑辑值值,“真真”(非非0)或或“假假”(0)。例如:例如:ca+b 等效于等效于 c(a+b)ab!=c (ab)!=ca=bc a=(bc a=(bc)2)关系表达式关系表达式1)逻辑运算符及其优先顺序逻辑运算符及其优先顺序 C的三种逻辑运算符的三种逻辑运算符&逻辑与逻辑与 逻辑或逻辑或 逻辑非逻辑非“&”和和“”为双目运算符,为双目运算符,“!”为单目运算符。为单目运算符。a&b 若若a,b均为真,则均为真,则a&b为真,否则为假。为真,否则为假。ab 若若

28、a,b均为真均为真,或之一为真或之一为真,则则ab为真为真,否则为假。否则为假。!a 若若a为真,则为真,则!a为假,否则为真。为假,否则为真。优先顺序优先顺序 (ab)&(xy)ab&xy (a=b)(x=y)a=b x=y (!a)(ab)!a ab (m=ab)&(n=cd)(m=(ab)&(n=(cd)3 逻辑运算符和逻辑表达式逻辑运算符和逻辑表达式 逻逻辑辑表表达达式式是是用用逻逻辑辑运运算算符符将将关关系系表表达达式式或或逻逻辑辑量量连连接接起起来来的的式式子子。逻逻辑辑表表达达式式的的值值是是一一个个逻逻辑辑量量“真真”(非非0)或或“假假”(0)。3)逻辑表达式求解逻辑表达式求

29、解 a&b&c若若a为假,则表达式值为假。为假,则表达式值为假。a b c若若a为真,则表达式值为真。为真,则表达式值为真。53&283&2)为为真真,则则表表达达式式值值为为真。真。2)逻辑表达式逻辑表达式2.12 C语句结构语句结构 C的五类语句的五类语句 控制语句控制语句 共共 9 种(种(if switch for while)函数调用语句函数调用语句 printf(“This is a C statement.”);c=max(a,b);表达式语句表达式语句 任何表达式的末尾加上分号任何表达式的末尾加上分号“;”就构成语句。就构成语句。空语句空语句 ;复合语句复合语句 用用 括起来的

30、一组语句称为复合语句。括起来的一组语句称为复合语句。C本本身身不不提提供供输输入入输输出出语语句句,输输入入和和输输出出操操作作是是由由函数实现的。函数实现的。1putchar 函数函数(字符输出函数字符输出函数)putchar函数的作用是向终端输出函数的作用是向终端输出1个字符。个字符。putchar(c);/输出字符变量或整型变量输出字符变量或整型变量c的值。的值。/使用标准使用标准I/O库函数时,必须在程序开头加上库函数时,必须在程序开头加上#include“stdio.h”命令。命令。2.13 数据数据的输入的输入/输出输出例例2.#include“stdio.h”main()char

31、 a,b;a=o;b=k;putchar(a);putchar(b);putchar(n);putchar(a);putchar(n);putchar(b);putchar(n);运行结果:运行结果:okok1)printf 函数的一般格式函数的一般格式printf(格式控制,输出项表格式控制,输出项表)其其中中:“格格式式控控制制”为为双双引引号号括括起起来来的的“转转换换控控制字符串制字符串”。“输输出出项项表表”为为需需要要输输出出的的一一项项或或多多项项数数据据(变变量量/表达式表达式)。例:若例:若a=3,b=4,则:,则:printf(“%d%dn”,a,b);printf(“a=

32、%d,b=%dn”,a,b);输出结果:输出结果:34a=3,b=4 2printf 函数函数(格式输出函数格式输出函数)%d以十进制输出整数。以十进制输出整数。%o以八进制输出整数。以八进制输出整数。%x以十六进制输出整数。以十六进制输出整数。%u以十进制输出以十进制输出unsigned数据。数据。%c用来输出用来输出1个字符。个字符。%s用来输出一个字符串。用来输出一个字符串。%ms 按按m宽宽度度输输出出字字符符串串。若若串串长长 m,则则照照字字符符串串原原样样输输出出;若串长若串长m,则左边补空格。,则左边补空格。%-ms 类似类似%ms,若串长,若串长m,则字符串向左靠,右边补空格

33、。,则字符串向左靠,右边补空格。%m.ns靠右输出字符串左边的靠右输出字符串左边的n个字符,左补空格。个字符,左补空格。(n m)%-m.ns靠左输出字符串左边的靠左输出字符串左边的n个字符,右补空格。个字符,右补空格。(n m)%f 以小数形式输出实数。以小数形式输出实数。%m.nf输输出出宽宽度度为为m,其其中中小小数数为为n位位。若若数数值值长长度度 0。#include“math.h”main()float a,b,c,d,x1,x2,p,q;scanf(“a=%f,b=%f,c=%f”,&a,&b,&c);d=b b-4 a c;p=-b/(2 a);q=sqrt(d)/(2 a);x1=p+q;x2=p-q;printf(“x1=%5.2f n x2=%5.2f n”,x1,x2);运行情况:运行情况:a=1,b=3,c=2 表示按表示按 Enter 键键注意注意按格式输入数据按格式输入数据若此句改成若此句改成:scanf(“%f%f%f”,&a,&b,&c);则输入格式为则输入格式为:1 3 2 x1=-1.00 x2=-2.00本章习题本章习题:P34 一、填空一、填空 2. 2.8 2.18 2.19 2.20 2.22二、选择二、选择 2.24 2.2 2.30 2.31 2.34 2.35 2.3 2.38三、上机题三、上机题 2.41 2.42 2.43

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
百度文库年卡

猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服