C语言第2章C程序设计的初步知识.ppt

上传人:tia****nde 文档编号:12706213 上传时间:2020-05-14 格式:PPT 页数:49 大小:377.84KB
返回 下载 相关 举报
C语言第2章C程序设计的初步知识.ppt_第1页
第1页 / 共49页
C语言第2章C程序设计的初步知识.ppt_第2页
第2页 / 共49页
C语言第2章C程序设计的初步知识.ppt_第3页
第3页 / 共49页
点击查看更多>>
资源描述
,第二章,程序设计的初步知识,本章要点,掌握C程序的构成与格式(main函数等)标识的定义规则数据类型的定义方法与存储算术运算符的运算规则掌握赋值表达式和复合赋值表达式掌握自加、自减运算符和逗号运算符的运算,2.1简单C语言程序的构成及格式,例2.1计算长为a,宽为b的长方形面积s的C程序。#includemain()/*主函数*/inta,b,s;/*定义a,b,s三个整型变量*/printf(a,b=?);scanf(%d,%d,/*输出面积s的值*/,第2章程序设计的初步知识,例2.2求两个整数中最大数的C程序。#includemain()/*主函数*/inta,b,c;/*定义a,b,c三个整型变量*/printf(a,b=?);scanf(%d,%d,/*返回z的值*/,第2章程序设计的初步知识,2.1简单C语言程序的构成及格式,C语言程序具有以下结构:(1)C程序由函数构成。(2)函数包括函数首部和函数体。(3)每个函数体必须用一对花括号“和”括起来,包括声明部分和执行部分。(4)声明部分用来对函数中使用的变量和函数作说明。(5)执行部分由基本语句组成,确定完成函数功能的操作。,第2章程序设计的初步知识,2.1简单C语言程序的构成及格式,C语言程序格式说明:(1)每个基本语句的结尾必须要用“;”作为终止符。(2)每个程序必须有一个而且只能有一个称为主函数的main()函数。(3)main()函数没有固定的位置。(4)程序一般用小写字母书写。(5)注释部分包含在“/*”和“*/”之间,可以出现在程序的任何地方,在编译时忽略。,第2章程序设计的初步知识,2.1简单C语言程序的构成及格式,2.2标识符、常量与变量,常量:是在程序运行过程中其值不能发生改变的量。例如256、3.45、a等。,变量:是在程序运行过程中其值可以发生改变的量。变量在内存中占据一定的存储单元。在该存储单元中存放变量的值。变量的标识通过给变量取名实现,所以一个变量应该有一个名字。,标识符:用来标识变量名、符号常量名、函数名、数组名、类型名、文件名的有效字符序列称为标识符,简单地说,标识符就是一个名字。,第2章程序设计的初步知识,C语言规定标识符必须满足以下规则:(1)所有标识符必须由一个字母(az,AZ)或下划线(_)开头。(2)标识符的其他部分可以用字母、下划线或数字(09)组成。(3)大小写字母表示不同意义,即代表不同的标识符。(4)标识符只有前32个字符有效。(5)标识符应当尽量遵循“简洁明了”和“见名知义”的原则。(6)标识符不能使用C语言的关键字。,第2章程序设计的初步知识,2.2标识符、常量与变量,所谓关键字就是已被TurboC2.0本身使用、不能作其他用途使用的字。TurboC2.0有以下关键字:TurboC2.0扩展的共11个:asm_cs_ds_es_sscdeclfarnearhugeinterruptpascal由ANSI标准定义的共32个:autodoubleintstructbreakelselongswitchcaseenumregistertypedefcharexternreturnunionconstfloatshortunsignedcontinueforsignedvoiddefaultgotosizeofvolatiledoifwhilestatic,第2章程序设计的初步知识,2.2标识符、常量与变量,C语言规定变量在使用前必须先定义。变量定义的一般形式为:类型说明符变量标识符,变量标识符,;示例:inta,b,c;floate,f;charx,y;以上int,float,char为类型说明符,a,b,c,e,f,x,y为变量标识符。,第2章程序设计的初步知识,2.2标识符、常量与变量,2.3数据类型,数据的组织形式称为数据结构。C语言中的数据结构表现为数据类型。,第2章程序设计的初步知识,数据类型,构造类型,指针类型,空类型(无值类型)void,2.3数据类型,1整型变量(TC下的分配),2.3.1整型数据,第2章程序设计的初步知识,整型变量的定义:整型类型说明符变量标识符,变量标识符,;示例:inta,b,c;/*定义a,b,c为基本整型变量*/longd,e;/*定义d,e为长整型变量*/unsignedx,y;/*定义x,y为无符号基本整型变量*/在书写变量说明时,应注意以下几点:(1)允许在一个类型说明符后说明多个相同类型的变量。各变量名之间用逗号间隔。类型说明符与变量名之间至少用一个空格间隔。(2)最后一个变量名之后必须以“;”号结尾。(3)变量说明必须放在变量使用之前,一般放在函数体的开头部分。,1整型变量,第2章程序设计的初步知识,2.3数据类型,2.3.1整型数据,2整型常量,整型常量即整常数。按不同的进制区分,整型常数有三种表示方法:(1)十进制数:以非0开始的数,如:254,-10,45600。(2)八进制数:以0开始的数,如:06,0106,057。(3)十六进制数:以0X或0 x开始的数,如:0X2A,0XFF,0 x58。,1整型变量,第2章程序设计的初步知识,2.3数据类型,2.3.1整型数据,(1)一个整常量,如果其值在-32768+32767范围内,认为它是int型。它可以赋值给int型和1ongint型变量。(2)一个整常量,如果其值超过了上述范围,而在-21474836482147483647范围内,则认为它是1ongint型。可以将它赋值给一个1ongint型变量。(3)如果某一计算机系统的C版本确定的shortint与int型数据在内存中占据的长度相同,则它表示的数据范围与int型相同,因此一个int型的常量也同时是一个shortint型常量,可以赋给int型或shortint型变量;,整型常量的类型:,2整型常量,1整型变量,第2章程序设计的初步知识,2.3数据类型,2.3.1整型数据,(4)常量中无unsigned型。但一个非负值的整常量可以赋给unsigned型整变量,只要它的范围不超过变量表示的数据范围即可。例如,将50000赋给一个unsignedint型变量是可以的,而将70000赋给它则是不行的(溢出)。(5)在一个整常量后面加一个字母l或L,则认为是1ongint型常量。,整型常量的类型:,2整型常量,1整型变量,第2章程序设计的初步知识,2.3数据类型,2.3.1整型数据,2.3数据类型,2.3.2实型数据,1实型变量,实型也称为浮点型,TurboC中实型变量有以下两种类型:(1)单精度浮点型。类型说明符为float,占4个字节(32位)内存空间,其数值范围为3.4E-383.4E+38,只能提供七位有效数字。(2)双精度浮点型。类型说明符为double,占8个字节(64位)内存空间,其数值范围为1.7E-3081.7E+308,可提供十六位有效数字。说明:浮点数均为有符号浮点数,没有无符号浮点数。,第2章程序设计的初步知识,1实型变量,实型变量定义:实型类型说明符变量标识符,变量标识符,;示例:floata,f;/*定义a,f为单精度浮点型变量*/doubleb;/*定义b为双精度浮点型变量*/,第2章程序设计的初步知识,2.3数据类型,2.3.2实型数据,1实型变量,2实型常量,实型常量又称实数或浮点数,有两种表示形式:(1)十进制数形式。十进制数形式由数字和小数点组成(注意必须有小数点)。例如:0.123、.123、123.0、123.、0.0、123.123等都是十进制数形式。(2)指数形式。指数形式由十进制数加阶码标志“e”或“E”以及阶码(只能为整数,可以带符号)组成。其一般形式为aEn(a为十进制数,n为十进制整数),表示值为a10n,其中,a,n均不可缺省。例:0.123E4表示值为0.12310-5.123E-4表示值为-5.12310,第2章程序设计的初步知识,2.3数据类型,2.3.2实型数据,4,-4,1实型变量,2实型常量,说明:(1)浮点常数只有一种进制(十进制)。(2)所有实型常量都被默认为double类型。(3)绝对值小于1的浮点数,其小数点前面的零可以省略。(4)VC6.0以默认格式输出浮点数时,最多只保留小数点后六位。,第2章程序设计的初步知识,2.3数据类型,2.3.2实型数据,2.4运算符和表达式,2.4.1算术运算符和算术表达式,1算术运算符,第2章程序设计的初步知识,1算术运算符,2算术表达式,算术表达式是由算术运算符、括号以及操作对象组成的符合C语言语法规则的表达式。C语言规定:(1)模运算符%仅用于整型变量或整型常量。(2)一个表达式中如有多个运算符,则按相应运算符的优先级顺序计算。(3)当运算对象两侧的运算符的优先级别相同时,应按运算符的结合律处理。,第2章程序设计的初步知识,2.4运算符和表达式,2.4.1算术运算符和算术表达式,1算术运算符,2算术表达式,第2章程序设计的初步知识,2.4运算符和表达式,2.4.1算术运算符和算术表达式,1算术运算符,2算术表达式,(4)增1运算符“+”是操作数加1,而减1运算符“-”则是操作数减1。例:x=x+1可写成x+或+xx=x-1可写成x-或-x但是,表达式x+与+x是有区别的。表达式x+的值为x的原值(不增加1),而表达式+x的值为x变量增加1后的值。例如:执行m=4;x=m+;后,m=5,x=4。执行m=4;x=+m;后,m=5,x=5。同理,表达式x-值为x的原值(不减1),而表达式-x值为x原值减1后的值。(5)+和-仅适用于变量,不能用于常量或表达式。,第2章程序设计的初步知识,2.4运算符和表达式,2.4.1算术运算符和算术表达式,1算术运算符,2算术表达式,3类型转换,类型转换有两种方式:自动类型转换和强制类型转换。自动类型转换:运算时不必用户指定,系统自动将不同类型的数据转换成同一类型,然后进行计算。C语言规定不同类型数值转换的规则如下:,第2章程序设计的初步知识,2.4运算符和表达式,2.4.1算术运算符和算术表达式,1算术运算符,2算术表达式,3类型转换,强制类型转换:当自动类型转换不能实现目的时,可以用强制类型转换。强制类型转换的一般形式如下:(类型)(表达式)例如:(int)(a+b)是将a+b的结果强制转换成int型;(float)a/b是将a的结果强制转换成float型后,再进行计算。,第2章程序设计的初步知识,2.4运算符和表达式,2.4.1算术运算符和算术表达式,2.4.2赋值运算符和赋值表达式,1赋值运算符,C语言的赋值运算符是“=”,其作用是将赋值运算符右边表达式的值赋给其左边的变量。,2赋值表达式,赋值表达式是由赋值运算符将一个变量和一个表达式连接起来的式子。赋值表达式的一般形式如下:变量=表达式说明:(1)赋值表达式的值等于计算后赋值运算符左边变量的值。(2)赋值运算符左边必须是变量。,第2章程序设计的初步知识,2.4运算符和表达式,2.4.1算术运算符和算术表达式,注意:如果赋值运算符两侧的类型不一致,但都是数值型或字符型时,在赋值时要进行类型转换,将赋值运算符右边表达式值的类型转换成赋值运算符左边变量的类型。,(1)将实型数据(包括单、双精度)赋给整型变量时,舍弃实数的小数部分。例:执行:inta;a=12.345;结果:a=12(2)将整型数据赋给单、双精度变量时,数值不变,但以浮点数形式存储到变量中。例:执行:floatb;b=12;结果:b=12.000000,第2章程序设计的初步知识,注意:如果赋值运算符两侧的类型不一致,但都是数值型或字符型时,在赋值时要进行类型转换,将赋值运算符右边表达式值的类型转换成赋值运算符左边变量的类型。,(3)字符型数据赋给整型变量时,由于字符只占一个字节,而整型变量为两个字节,因此将字符数据(8位)放到整型变量低8位中。VC6.0系统将字符处理为带符号的量,若字符最高位为0,则整型变量高8位全补0;若字符最高位为1,则高8位全补1。例:执行:intc;c=a;结果:c=97(4)整型数据赋给字符型变量,只把低8位原封不动送到字符型变量(即截断)。,第2章程序设计的初步知识,注意:如果赋值运算符两侧的类型不一致,但都是数值型或字符型时,在赋值时要进行类型转换,将赋值运算符右边表达式值的类型转换成赋值运算符左边变量的类型。,(5)将带符号的整型数据(int型)赋给1ongint型变量时。要进行符号扩展,如果int型数据为正值(符号位为0),则1ongint型变量的高16位补0;如int型变量为负值(符号位为1),则1ongint型变量的高16位补1,将整型数的16位送到1ong型低16位中,以保持数值不改变。反之,若将一个1ongint型数据赋给一个int型变量,只把低16位原封不动送到整型变量(即截断)。例:执行:inta=12;执行:inta;longb;longb=65536;b=a;a=b;结果:b=12结果:a=0,第2章程序设计的初步知识,注意:如果赋值运算符两侧的类型不一致,但都是数值型或字符型时,在赋值时要进行类型转换,将赋值运算符右边表达式值的类型转换成赋值运算符左边变量的类型。,第2章程序设计的初步知识,3复合赋值运算符,C语言允许在赋值运算符“=”之前加上其他运算符,以构成其复合运算符。复合运算符有:+=、-=、*=、/=、%=。例如:a+=2等价于a=a+2x*=y+5等价于x=x*(y+5)x%=8等价于x=x%8同样:(1)复合赋值表达式的值等于计算后赋值运算符左边变量的值。(2)复合赋值运算符左边必须是变量。赋值运算符的结合律都是从右向左执行,其优先级低于所有算术运算符。,第2章程序设计的初步知识,2.4.2赋值运算符和赋值表达式,2.4运算符和表达式,2.4.1算术运算符和算术表达式,2.4.3逗号运算符和逗号表达式,逗号运算符为“,”。逗号表达式是用逗号运算符把表达式组合成的一个表达式。其一般形式为:表达式1,表达式2,表达式3,表达式N说明:(1)逗号表达式的执行过程是:依次求表达式1的值、表达式2的值、表达式N的值,整个逗号表达式的值是表达式N的值。(2)逗号运算符是所有运算符中级别最低的。,第2章程序设计的初步知识,2.4.2赋值运算符和赋值表达式,2.4运算符和表达式,2.4.1算术运算符和算术表达式,例如:main()intx,y;x=50;y=(x=x-5,x/5);上面程序执行后y的值为9,因为x的初始值为50,减5后变为45,45除5为9赋给y。,第2章程序设计的初步知识,2.4.3逗号运算符和逗号表达式,2.4.2赋值运算符和赋值表达式,2.4运算符和表达式,2.4.1算术运算符和算术表达式,ANSIC并没有具体规定表达式中的子表达式的求值顺序,允许各编译系统自己安排。例如:对表达式a=f1()+f2()并不是所有的编译系统都先调用f1(),然后调用f2()。在有的情况下结果可能不同。有时会出现一些令人容易搞混的问题,因此务必要小心谨慎。,第2章程序设计的初步知识,2.5有关表达式使用中的问题说明,语言中有的运算符为一个字符,有的运算符由两个字符组成,为避免误解,最好采取大家都能理解的写法。例如:不要写成i+j的形式,而应写成(i+)+j的形式,第2章程序设计的初步知识,2.5有关表达式使用中的问题说明,在调用函数时,实参数的求值顺序,标准并无统一规定。例如:的初值为,如果有下面的函数调用:printf(,i+)在有的系统中,从左至右求值,输出“,”。在多数系统中对函数参数的求值顺序是自右而左,函数输出的是“,”。以上这种写法不宜提倡,最好改写成j=i+;printf(%d,%d,j,i),第2章程序设计的初步知识,2.5有关表达式使用中的问题说明,2.6本章考点,C语言对用户标识符的规定。整型变量的定义和整型常量的表示。实型变量的定义和实型常量的表示。字符型变量的定义和字符型常量的表示。算术运算符和算术表达式。赋值运算符和赋值表达式。逗号运算符和逗号表达式。运算符的优先级和结合律。混合运算中的类型转换。,第2章程序设计的初步知识,2.7典型试题详解,1以下选项中合法的用户标识符是_。A)longB)_2TestC)3DmaxD)A.dat,第2章程序设计的初步知识,正确答案:B(知识点:C语言对用户标识符的规定)试题分析:C语言规定标识符必须由一个字母(az,AZ)或下划线(_)开头,标识符的其他部分可以用字母、下划线或数字(09)组成。,2以下选项中不属于C语言的类型的是_。A)signedshortintB)unsignedlongintC)unsignedintD)longshort,第2章程序设计的初步知识,2.7典型试题详解,正确答案:D(知识点:C语言的基本数据类型)试题分析:C语言的基本类型包括signedshortint、unsignedlongint、unsignedint、char、float、double等,没有longshort类型。,第2章数据与运算,3在16位C编译系统上,若定义longa;,则能给变量a赋值40000的正确语句是_。A)a=20000+20000;B)a=4000*10;C)a=30000+10000;D)a=4000L*10L;,2.7典型试题详解,正确答案:D(知识点:算术运算和赋值运算中的类型转换)试题分析:A、B、C选项中参与算术运算的对象是int类型,其结果应该是int类型,而结果值40000超出int类型范围,发生溢出,运算结果截取40000的低16位,再将其进行符号位扩展,赋给long类型的a,则a中的结果并不是40000。D选项中参与算术运算的对象是long类型,其结果是long类型,赋给long类型的a,则a中的结果是40000。,4以下选项中可以作为C语言中合法整数的是_。A)10110BB)0386C)0 xffaD)x2a2,第2章程序设计的初步知识,2.7典型试题详解,正确答案:C(知识点:整型常量)试题分析:C语言中整数的表示有十进制、八进制、十六进制三种方法。A、D选项应该是十进制表示方法,但A、D选项中出现了非法符号B、x、a;B选项应该是八进制表示方法,但选项中出现了非法符号8;C选项是十六进制表示方法,没有出现非法符号。,5以下程序的输出结果是_。main()unsignedshorta=65536;intb;printf(%dn,b=a);,第2章程序设计的初步知识,2.7典型试题详解,正确答案:0(知识点:赋值运算中的类型转换)试题分析:将unsigned类型数据赋给长度相同的signed型变量时,同样原样照赋,再将最高位作为符号位处理。,6以下选项中,非法的字符常量是_。A)tB)117C)“n”D)xaa,第2章程序设计的初步知识,2.7典型试题详解,正确答案:C(知识点:字符常量)试题分析:C语言规定,字符常量是用单引号引起来的一个字符。,7以下非法的赋值语句是_。A)n=(i=2,+i);B)j+;C)+(i+1);D)x=j0;,第2章程序设计的初步知识,2.7典型试题详解,正确答案:C(知识点:赋值运算)试题分析:+和-仅适用于变量,不能用于常量或表达式。,8若已定义x和y为double类型,则表达式x=1,y=x+3/2的值是_。A)1B)2C)2.0D)2.5,第2章程序设计的初步知识,2.7典型试题详解,正确答案:C(知识点:逗号表达式,混合类型运算)试题分析:x=1,y=x+3/2是一个逗号表达式,按顺序先计算x=1,再计算y=x+3/2,整个逗号表达式的值等于表达式y=x+3/2的值。计算y=x+3/2时,3/2中3和2都是int类型,3/2的结果是int类型值1,与double类型的x相加,结果为double类型的2.0,再赋给double类型的y,所以y和表达式y=x+3/2的值均为double类型的2.0。,9设x、y均为整型变量,且x=10,y=3,则以下语句的输出结果是_。printf(%d,%dn,x-,-y)A)10,3B)9,3C)9,2D)10,2,第2章程序设计的初步知识,2.7典型试题详解,正确答案:D(知识点:减1运算)试题分析:语句的输出结果是x-、-y两表达式的值。表达式x-的值为x没有减1的值10,表达式-y的值为y减1后的值2。,10以下叙述正确的是_。A)构成C程序的基本单位是函数B)可以在函数中定义另一个函数C)main()函数必须放在其他函数之前D)所有被调用的函数一定要在调用之前进行定义,第2章程序设计的初步知识,2.7典型试题详解,正确答案:A(知识点:C语言程序的构成及格式)试题分析:构成C程序的基本单位是函数,一个C程序中有且只有一个main函数,main函数在程序中没有固定的位置。,11一个C程序中_。A)main函数必须出现在所有函数之前B)main函数可以在任何地方出现C)main函数必须出现在所有函数之后D)main函数必须出现在固定位置,正确答案:B(知识点:C语言程序的构成及格式)试题分析:构成C程序的基本单位是函数,一个C程序中有且只有一个main函数,main函数在程序中没有固定的位置。,第2章程序设计的初步知识,2.7典型试题详解,
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!