




已阅读5页,还剩22页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
全国计算机等级考试,二级教程C语言程序设计(2013版),第2章C程序设计的初步知识,2.1简单C语言程序的构成和格式2.2标识符、常量和变量2.3整型数据2.4实型数据2.5算术表达式2.6赋值表达式2.7自加、自减运算符和逗号运算符,2.1简单C语言程序的构成和格式,本节将通过一个简单的程序例子,介绍C程序的一些基本构成和格式,使大家对C语言程序有一个初步的了解。,例2.1已知矩形的两条边长(用a表示宽,b表示长),求矩形的面积(area)。,#includemain()doublea,b,area;a=1.2;b=3.6;area=a*b;printf(“a=%f,b=%f,area=%fn”,a,b,area);,a=1.200000,b=3.600000,area=4.320000,注意:,1.C程序由函数组成,一个程序必须有一个且只能有一个主函数(main),C程序总是从主函数开始执行,并且也是从它结束的。,2.函数体必须放在一对花括号“”内,在函数体中,通常有定义(说明)语句和执行语句,定义语句应出现在执行语句之前,每条语句后面的分号不可少。多条语句可以写在同一行上,并且一条语句也可以写在多行上。,3.C程序中的注释必须放在/*和*/之间,/和*之间不允许有空格。/*和*/之间不允许再插入/*或*/。注释可以出现在程序中任意位置。,/*包含头文件*/*主函数,程序的入口*/*声明部分,定义了3实型个变量*/*给变量a赋值*/*给变量b赋值*/*将a*b的结果赋值给变量area*/*分别输出矩形的两条边长和面积*/,a,b,area,1.2,3.6,4.32,函数体,2.2标识符、常量和变量,2.2.1标识符在C语言中,有许多东西都需要命名,如变量名、函数名、数组名等,在命名的时候都必须遵守一定的规则,按此规则命名的符号称为标识符。在C语言中,合法的标识符由字母、数字和下划线组成。遵守以下规则命名:必须以字母(大小写皆可)或下划线开头。随后可跟若干个(包括0个)字母、数字、下划线。标识符的长度各个系统不同,最好不要超过8个字符。如:areaPI_inia_arrays1234P101p(合法)456Pcade-yw.war=5.0;s=PI*r*r;l=2*PI*r;printf(“s=%f,l=%fn”,s,l);,S=78.539750,l=31.415900,/*包含头文件*/*定义符号常量,符号常量名为PI,用PI来代表3.14159*/*主函数,程序的入口*/*声明部分,定义了3实型个变量*/*给变量r赋值*/*计算圆的面积*/*计算圆的周长*/*分别圆的面积和周长*/,注意,习惯上,符号常量名用大写,变量名用小写,以示区别,函数体,r,s,l,5.0,78.53975,31.4159,2.2标识符、常量和变量,2.2.4变量1.所谓变量是指在程序运行过程中可以改变的量。,如下程序:,#includemain()doublea,b;a=1.5;b=2.5;printf(“%f%fn”,a,b);a=a+1;b=b+1;printf(“%f%fn”,a,b);,a,b,1.5000002.500000,2.在程序中,声明变量就是在计算机内存中申请了某个内存单元。对变量进行赋值,实质上就是把数据存入该变量所代表的存储单元中。,3.C语言规定,程序中所有变量都必须先定义后使用。如程序例2.1、例2.2。,内存空间,a,b,2.5000003.500000,1.5,2.5,2.5,3.5,1.5,2.5,2.5,3.5,2.3整型数据,2.3.1整型常量,在C语言中,按整型常量的表示形式可以有三种形式。,整型常量,由09十个数字组成,如32767、-32768、0等。,由07八个数字组成,如010、011、016等。注意,最高位必须用0作引导符,与十进制和十六进制区分。如:018,为不合法的八进制常量。,由09十个数字和af(AF)六个字母组成,如0 x10、0Xde、0 xf注意,最高位必须用0 x(0X)作引导符,与十进制和八进制区分。如:oxff、0X12H,都为不合法的十六进制常量。,在C语言中,按整型常量的表示范围可以分为四种。,在C语言中,八进制数和十六进制数只能是正整数。,注意,如:-077、-0X11、01.0等,(不合法),短整型,基本整型,长整型,无符号整型,三种进制之间的转换,十六进制常量:,八进制常量:,十进制常量:,2.3整型数据,2.2.2整型变量,整型变量是用来存放整型常量的工具。可以把整型变量抽象为一个盒子。由于整型常量有短整型、基本整型、长整型和无符号整型四种类型,既然整型变量是用来存放整型数据的,那整型变量也要分为四种对应类型的整型变量,以方便存放不同类型的整型常量。在此我们只介绍基本整型变量。也叫整型变量。,在C语言中,整型变量我们需要用一个符号来表示它,即整型变量名。例如:intk;/*定义k为整型变量,k为变量名*/关键字int是用来说明变量k的类型为整型。又如:inti,j,k;/*定义i、j、k为整型变量*/,inti;intj;intk;,相同,注意,在同一行上使用关键字定义多个变量时,变量之间用逗号隔开。所有定义语句后必须以一个“;”号结束,表示它是一条语句。,2.3整型数据,2.2.2整型变量,在前面已经讲过,声明变量就是在计算机内存中申请某个内存单元。,在VC6.0环境中,用关键字int声明变量时,计算机将会为每个变量开辟4字节(32个二进制位)的内存单元。,例如,当前的某段内存空间如右图所示。有如下程序段。,内存空间,地址,2000,2001,2002,2003,2004,2005,2006,2007,2011,2010,2009,2008,2012,inti;intj;i=100;j=200;,C语言规定,可以在定义变量的同时给变量赋初值,该过程称为变量的初始化。例如:#includemain()inti=1,j=0,k=2;:,i,j,100,200,/*在声明变量的同时,为三个变量赋值*/,2.3整型数据,2.3.3整型数据的分类,不同的计算机系统对整型数所占用的字节数和数值范围有不同规定,下表列出了在VC6.0中定义的整型数所占用的字节数和数值范围。,由于整型数据在C语言中分为上述几类,比如123。它是属于哪一类型的?,int,123L、345l、0L、123456L,123U、345u、0U、123456U,123LU、345lu、0LU、123456LU,long,unsigned,unsignedlong,2.3整型数据,2.3.4整数在内存中的存储形式,计算机中,内存储器的最小的存储单位称为“位(bit)”,每一位中只能存放0或1,因此称为二进制位。8个二进制位组成一个“字节”,并给每一个字节分配一个地址。,数据在内存中是以二进制形式进行存放的。,一、正整数,正整数在内存中是以“原码”形式存放的。如果定义了一个short类型变量i:,shorti;i=5;,/*声明i为短整型变量*/*给i赋以整数5*/,十进制数5的二进制形式为101,在VC6.0中,由于短整型变量在内存中占2个字节,,i,i,符号位:0代表正整数,1代表负整数,二、负整数,负整数在内存中是以“补码”形式存放的。,5,2.4实型数据,2.4.1实型常量,在C语言中,实型常量的表示形式有两种。,实型常量,由数字和小数点组成,如0.123、.123、123.、0.0,指数形式:,如:0.23026x1012.3026x10023.026x10-1,0.23026E12.3026e023.026e-1,注意,E(e)前后必须有数字,并且后面的必须为整型数。,.3e33.0e33.e3(合法),3ee355e0.3(不合法),小数形式:,2.4实型数据,2.4.2实型变量,单精度型变量定义的形式如下:floata,b,c;,双精度型变量定义的形式如下:doublex,y,z;,实数在内存中是以“指数”形式存放的。,也可以在定义实型变量的同时,对变量进行初始化。例如:#includemain()floata=1.5,b=.5,c=0.0;doublex=1.5,y=.5,z=0.0;:,/*在声明变量的同时,为三个变量赋值*/*在声明变量的同时,为三个变量赋值*/,2.5算术表达式,2.5.1基本的算术运算符,+(加法运算符,或正值运算符)如:1+2、+3.9-(减法运算符,或负值运算符)如:3-4、-54*(乘法运算符)如:1.2*3.2、3*4、2*x/(除法运算符)如:5/3、(a+b)/(x+y),单目运算符,双目运算符,两个整数相除,其值仍然为整数。如:5/3值为1、1/2值为0。两个实数相除,其值仍然为实数。如:1.0/2.0值为0.5。除数、被除数只要有一个为实数时,系统将自动进行类型转换,转换为double型。如:1/2.0=0.5、1.0/2.0=0.5最后结果的类型为double型。,%(求余运算符)注意:%运算符的两侧必须为整型数据。如:7%4的结果为3。,-7%4、7%-4、-7%-4的结果为多少?,-33-3,结果的符号和被除数相同,2.5算术表达式,2.5.2运算符的优先级、结合性和算术表达式,一、优先级,()+-*/%+-,单目,双目,同级,同级,同级,高,低,二、结合性,单目运算符的结合性是从右往左的,即表达式从右往左进行计算,称为右结合。其余运算符的结合性是从左往右的。即表达式从左往右进行计算,称为左结合。,例如:(5+1)/25+1/25*-2,5*(-2),三、算术表达式,用算术运算符和一对圆括号将运算量(或称操作数)连接起来的、符合C语法的表达式称为算术表达式。,算术表达式中,运算对象可以是常量、变量和函数等。例如:2+sqrt(c)*b。,5,-10,3,2.5算术表达式,2.5.3强制类型转换表达式,表达式的形式如下:,(类型名)(表达式),强制类型转换运算符,作用:可以利用强制类型转换运算符将一个表达式转换成想要的类型。,例如:(int)3.234(double)(10%3),3,注意,int3.234(错误)(double)10%3(错误),例:阅读如下程序,关于强制类型转换。,#includemain()doublea;intb;a=3.6;b=(int)a;printf(“a=%f,b=%dn”,a,b);,a=3.600000,b=3,1.0,a,b,3.6,3,2.6赋值表达式,2.6.1赋值运算符和赋值表达式,赋值运算符:=赋值表达式:由赋值运算符组成的表达式称为赋值表达式,它的形式如下:变量名=表达式,赋值号的左边必须是一个代表某一存储单元的变量名。赋值运算的功能是先求出右边表达式的值,然后把此值赋给左边的变量。,例如,若a和b都被定义成int类型变量a=10;/*把常量10赋给变量a*/b=a;/*把a中的值赋给变量b,a中的值不变*/,注意,1.赋值运算符的优先级别只高于逗号运算符,比其它任何运算符的优先级都低,且具有自右向左的结合性。例如:a=2+7/32.赋值运算符的左侧只能是变量不能是常量或表达式。如a+b=c是不合法的赋值表达式。3.赋值号右边的表达式也可以是一个赋值表达式,如a=b=7+1。4.作为一个表达式,它自己也应该有一个值,C语言规定最左边变量中所得到的新值就是赋值表达式的值。,2.6赋值表达式,2.6.2复合赋值表达式,在赋值运算符”=”之前加上其它运算符可以构成复合赋值运算符。,+=-=*=/=%=,=doubleb;a=10;b=3.5;,如果赋值运算符两侧的数据类型不一致,在赋值前,系统将自动先把右侧表达式求得的数值,按赋值号左边变量的类型进行转换,也可以用强制类型转换的方式,人为地进行转换后赋给赋值号左边的变量。,a,10,b,3.5,如:inta;doubleb;a=20.5;b=15;,a,20,b,15.0,3.在C语言的表达式中(不包括赋值表达式),如果运算符两边的数据类型不相同,将进行类型之间的转换。转换规则如下:,double,long,unsigned,int,float,char,short,低,高,如:10+97+1.5-8765.1234*98,8765.1234*98.0,double,2.7自加、自减运算符和逗号运算符,2.7.1自加运算符“+”和自减运算符“-”,+(自加运算符),-(自减运算符),1.+、-运算符是单目运算符,运算对象只能变量,不能是常量和表达式。,2.+和-运算符的结合方向是自右至左。,i+、+i,i-、-i,i=i+1,i=i-1,例如:,inti=5;i+;,inti=5;+i;,inti=5;i-;,inti=5;-i;,i:,表达式:,运算规则运算符在前,先计算,后赋值运算符在后,先赋值,后计算,例如:inti=3;-i+;,inti=3;-(i+);,i:,表达式:,思考:程序示例,自增自减运算,#includemain()inti=0,j;j=i+;printf(“%d,%dn”,i,j);i=0;j=+i;printf(“%d,%dn”,i,j);,上机练习,6,5,6,6,4,5,4,4,4,-3,2.7自加、自减运算符和逗号运算符,2.7.2逗号运算符和逗号表达式,,(逗号运算符),用逗号将表达式连接起来的式子称为逗号表达式。逗号表达式的一般形式为:,表达式1,表达式2,表达式n,表达式之间用逗号进行连接,1.逗号运算符的结合性为从左到右,因此逗号表达式将从左到右进行运算。,如:i=3,i+,+i,i+5,i,表达式,3,3,i,表达式,4,3,i,表达式,5,5,i,表达式,5,10,逗号表达式的值为,2.在所有运算符中,逗号运算符的优先级别最低。,习题,一、选择题2.1以下选项中正确的整型常量是A12.B-20C1,000D4562.2以下选项中正确的实型常量是A0B3.1415C0.329X102D.8712.3以下选项中不正确的实型常量是A2.607E-1B0.8103e2C-77.77D456e-22.4以下选项中不合法的用户标识符是Aabc.cBfileCMainDPRINTF2.5以下选项中不合法的用户标识符是A_123BprintfCA$DDim2.6C语言中运算对象必须是整型的运算符是A%B/C!D*2.7可在C程序中用作用户标识符的一组标识符是AvoidBas_b3CForD2cdefine_123-abcDOWORDIfcaseSIG,B,D,B,A,BC,A,B,2.8若变量已正确定义并赋值,符合C语言语法的表达式是Aa=a+7;Ba=7+b+c,a+Cint(12.3%4)Da=a+7=c+b2.9以下中叙述中正确的是Aa是实型变量,C允许进行赋值a=10,但不可以这样说:实型变量中允许存放整型值B在赋值表达式中,赋值号左边既可以是变量也可以是任意表达式C执行表达式a=b后,在内存中a和b存储单元中的原有值都将被改变,a的值已由原值改变为b的值,b的值由原值变为0D已有a=3,b=5,当执行了表达式a=b,b=a之后,使a中的值为5,b中的值为32.10以下中叙述中正确的是A在C程序中无论是整数还是实数,只要在允许的范围内都能准确无误的表示BC程序由主函数组成CC程序由若干个函数组成DC程序中只允许包含一个函数2.11VC6.0中int类型变量所占字节数是A1B2C3D4,习题,B,A,C,D,习题,2.12合法的八进制数是A0B028C-077D01.02.13不合法的十六进制数是Aoxf
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 廊坊市重点中学2024-2025学年下学期初三化学试题第二次月考考试试卷含解析
- 烟台科技学院《西方风景园林理论与实践》2023-2024学年第二学期期末试卷
- 沈阳航空航天大学北方科技学院《理论物理概论Ⅲ》2023-2024学年第一学期期末试卷
- 四川工商职业技术学院《工程制图A》2023-2024学年第二学期期末试卷
- 山东城市服务职业学院《高等语言程序设计C》2023-2024学年第二学期期末试卷
- 益阳市资阳区2025年数学三下期末监测模拟试题含解析
- 山东交通职业学院《漫画角色设计》2023-2024学年第一学期期末试卷
- 民办四川天一学院《世界流行文化研究》2023-2024学年第二学期期末试卷
- 江苏省南京师范江宁分校2025届初三得分训练(二)英语试题试卷含答案
- 南京农业大学《外国文学作品导读》2023-2024学年第二学期期末试卷
- 星球版七年级地理上册《海陆变迁》《火山喷发》实验说课 课件
- 2023年通管局安全员考试-培训及考试题库(导出版)
- GB/T 4857.22-1998包装运输包装件单元货物稳定性试验方法
- GB/T 25074-2010太阳能级多晶硅
- GB/T 23842-2009无机化工产品中硅含量测定通用方法还原硅钼酸盐分光光度法
- GA/T 1217-2015光纤振动入侵探测器技术要求
- 特种陶瓷介绍课件
- 有机物污染(环境化学)课件
- 安全生产培训合格证书样本
- 绘制轴承座三视图课件
- 五年级上册数学试题- 五年级趣味数学社团1(第五周活动安排:图形面积(二))人教新课标 (无答案)
评论
0/150
提交评论