




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第2章 Visual C+ .NET的基本语法,教学提示:在本章,主要是对Visual C+ .NET 的基本语法要素进行介绍,包括标识符和关键字、基本数据类型、变量和常量、命名空间、预编译指令、运算符和表达式。但仅仅掌握这些还是不够的。本章还进一步介绍了控制语句、结构体、联合体、枚举、指针和数组的详细使用方法。学习完这些内容后,读者对其语言将会有一个比较全面的了解。,教学目标:掌握Visual C+ .NET语言的基本数据类型,熟悉常用的标识符、运算符、关键字;掌握常量和变量的定义方法;掌握数据类型的转换方法;理解预编译指令、命名空间;掌握各种控制语句的使用方法;掌握结构体、联合体和枚举的定
2、义及其使用方法;掌握指针和数组的使用方法,熟练掌握函数的使用方法。通过上机实践,初步掌握上述内容的灵活运用。,2.1 标识符和关键字,任何一门语言都有它自己的标识符和关键字,C+也不例外。标识符(identifier)是指常量、变量、语句标号、自定义函数、对象等能被编译器识别而提供的惟一名称,所有标识符的首字符必须以字母(az,AZ)或下划线(_)开始,后面的字符可以是字母、下划线或数字(09)。 C+语言区分大小写,因此,大写的英文字母与其对应的小写英文字母是表示不同的标识符的,如localString和localstring代表两个不同的标识符。 关键字是C+语言保留的标识符,每个关键字都
3、有特殊的意义,不能当作其他用途使用。,2.2 基本数据类型,C+语言使用确定的数据类型来组织各种数据,并根据各种数据类型来存储和操作这些数据。基本的数据类型是C+预定义的类型,编程人员可以直接利用这些类型来定义数据。下面来看看C+中的基本数据类型:Bool(逻辑型)、char(字符型)、short(短整型)、int(整型)、long(长整型)、float(浮型)、double(双精度型)、long double(长双精度型)。 bool类型用true和false代表真与假,其占用空间是8位。 char是字符型类型,它在计算机里面是以ASCII表示的,占8位。 short、int和long都是整
4、型,只是数据的位数不一样:short占8位;int在DOS环境下占16位,在Windows下面占32位;long占32位。还可以在这三个类型前面加unsigned,表示无符号整数(即只表示正数)。 Float、double、long double都是浮点型类型,只是位数不一样,float占32位,double占64位,long double占80位。,2.3 常量和变量,常量是指C+语言中表示固定数值或字符值的标识符,并且在程序的执行过程中不允许修改。通过使用关键字const,可以将一个变量(下面会讲变量)定义为一个常量,并且const可以位于数据类型前或者数据类型后面。其定义的一般格式为:
5、type const 变量名值 或者 const type 变量名值 在定义变量时,应给出该变量的数据类型和名字,还可以给这个变量赋一个初始值,也可以在以后再赋值,系统在编译时就会分配给该变量一个合适的内存空间。 变量的一般定义为: 数据类型 变量名值(可选),2.4 命 名 空 间,命名空间是为了处理不同公司或个人使用相同的标识符这种情况而使用的一个概念。假设AAA公司使用了自己的一套标志符,BBB公司也使用自己的一套标识符,现在如果要使用这两家公司的某些标识符,且两个公司都提供了变量标识符INTEGER,那么在程序中使用INTEGER到底是使用AAA公司的,还是BBB公司的呢?这是个棘手的
6、问题,Visual C+ .NET编译器也会报错。,2.5 运算符、表达式和语句,在C+语言中,运算符是指对操作数进行操作的符号,按照运算功能,C+运算符可分为算术运算符、关系运算符、逻辑运算符、位运算符和赋值运算符等,按优先级顺序,C+运算符如表2.3所示。,2.6 预编译指令,预编译指令指在程序正式编译前就由编译器进行编译的操作,可以放在程序中的任何位置。常见的预编译指令有: #include 头文件或#include : 该指令指示编译器将头文件的全部内容插入此处。若用括起头文件则在系统的INCLUDE目录中寻找文件,若用“”括起文件则在当前目录中寻找文件。一般来说,头文件后缀名都为.h
7、,其中主要内容为各种变量的声明。,2.7 数据类型转换,在进行程序的开发过程中,数据类型的转换是会经常碰到的。在一个表达式当中,所有的变量必须是相同类型才能进行运算,但是在一般的表达式中很难有相同类型的变量来进行运算。因此,不同类别的变量进行运算时,C+会先将较低类型的操作数转换为较高类型的操作数再进行运算。在计算机中,数据都是用二进制位来存放的,较低类型是指存储位数较少的类型,较高类型则是指存储位数较多的类型。如定义变量int a和long b,则进行a+b的运算时,要先将a转换为long型,再与b相加。 数据类型的高低顺序依序为:long double、double、float、long、
8、int、short、char。,2.8 数据的基本输入与输出,数据的基本输入与输出是程序与用户进行交互的重要手段,可以设想一下,如果一个程序既不能输入也不能输出,那么这会是个什么程序?用户什么数据都输不进去,也看不到程序的运行结果。所以处理好程序的输入输出是很重要的。C+中提供了两个基本的输入和输出的函数:cout(输出)及cin(输入)。,2.9 控 制 语 句,程序控制语句控制程序的执行过程和方向,因此是非常重要的。灵活运用各种控制语句可以轻松地完成你想要做的事情。C+中的控制语句包括条件语句、循环语句、判断和跳转语句,下面具体介绍它们的用法。 2.9.1 条件(选择)语句 2.9.2 循
9、环语句 2.9.3 判断和跳转语句(转移语句),2.9.1 条件(选择)语句,C+语言支持几种基本的条件语句:if语句、ifelse语句、?:语句、switch语句。 1. if语句 2. ifelse语句 3. ?:条件语句 4. switch语句,返回,1. if语句,if语句用于在程序中有条件地执行某一语句序列,语法形式如下: if(表达式) 执行语句;/满足表达式时执行的语句 其中表达式是一个关系或逻辑表达式,执行语句是指当表达式为真时执行,为假时跳过执行。如果执行语句包含多个语句,则必须用包围起来作为一个整体来执行。例如:如果变量a大于变量b,则把a与b之和赋给变量c,其语句如下:
10、if(ab) c=a+b;,返回,2. ifelse语句,它的一般格式是: if(表达式) 执行语句1;/如果表达式为真,则执行语句1 else 执行语句2;/如果表达式为假,则执行语句2 ifelse语句的变体结构(可以判断两种以上的情况): if(表达式1) 执行语句1;/如果表达式1为真,则执行语句1 else if(表达式2) 执行语句2;/如果表达式2为真,则执行语句2 . ./如果表达式i为真,则执行语句i . else 执行语句n;/其他情况,则执行语句n,返回,3. ?:条件语句,?:条件语句是ifelse条件语句的简化形式,其格式如下: (ab)?c:d;/如果表达式ab为真
11、,则其结果为c,否则为d,返回,4. switch语句,switch语句与ifelse的变体结构类似,都是从多种供选择的情况中选择一种执行,其语法形式为: switch(表达式) case:值1: 语句段1;/如果表达式与值1相等,则执行语句段1 break; case:值2: 语句段2;/如果表达式与值2相等,则执行语句段2 break; ;/如果表达式与值i相等,则执行语句段i default:/default语句段可以不要 语句段n:/如果表达式与值n相等,则执行语句段n break; ,返回,2.9.2 循环语句,程序结构中的重复性操作的语句可以用循环语句来完成,循环语句可以根据循环变
12、量来执行指定的次数。C+语言提供while、for、dowhile三种循环语句,它们之间的不同之处在于while和for先判断条件,再执行语句;而dowhile是先执行语句,再判断条件。这样可以看出while和for循环有可能一次都不执行,而dowhile至少执行一次。它们的共同点是当条件语句为非零时为真,而为零时则为假。这三种循环语句可以相互转换。 1. while语句 2. for语句 3. dowhile循环语句,返回,1. while语句,当循环次数无法计算或者很难确定时,可以考虑用while循环语句。它的语法结构为: while(表达式) 循环体语句;,返回,2. for语句,for
13、语句通常用于处理具有固定长度的数据结构,for循环语句的语法结构如下: for(表达式1)初始化部分;(表达式2)循环条件部分;(表达式3)增量部分) 循环体语句; / 如果是单条语句,可以省略外面的大括弧 ,返回,3. dowhile循环语句,dowhile也叫“直到型”循环结构,即一直执行到条件为假时退出循环。其格式为: do 循环语句 while(循环条件表达式);,返回,2.9.3 判断和跳转语句(转移语句),当执行该类语句时,它要改变程序的执行顺序,即不依次执行紧跟其后的语句,而跳到另一个语句处接着执行。从表面上看循环语句或条件语句也改变了程序的执行顺序,但由于整个循环可以看作一个语
14、句(条件语句也一样),因此它们也仍然是顺序执行的。C+中的转移语句有break、continue和goto语句。 1. break语句 2. continue语句 3. goto语句,返回,1. break语句,break语句用于强制退出循环语句以及case语句的执行,用在while和dowhile、for循环语句中,使它们终止执行,即用于从循环体内跳出,提前结束循环。用于switchcase中则是执行对应的case语句后跳出switchcase。,返回,2. continue语句,continue语句用于while、dowhile、for循环语句中,当执行到continue语句时,终止后面的
15、循环执行语句,直接进行循环条件语句的判断,如果为真则开始下一轮循环,如果为假则终止循环。 continue与break语句不同,它并不终止整个循环语句,而仅仅终止当前这一次循环的执行。,返回,3. goto语句,goto语句一般很少使用,一般有人认为大量使用goto语句会使程序的执行过程混乱且容易出错,这是对的,但是在程序中适当地使用goto语句可以使程序简单明了。如果有一个多重嵌套循环,须从最里层跳到最外层,若用break来实现,则每一层循环中都要调用break语句,很麻烦。但是如果在最里层用goto语句的话,就可以一下子跳到外面的一个标号处,并把流程跳转到该处,很方便。它的格式为: got
16、o 语句标号,返回,2.10 指针、数组与字符串,2.10.1 指针 2.10.2 数组 2.10.3 字符串,2.10.1 指针,在计算机中,内存储器是由若干存储单元组成的,每个存储单元均有一个惟一的编号用于标识该存储单元,该编号称为存储单元的地址。在C+中,数据是用变量存放在存储单元中的,而指针就是一个保存着某变量在内存中的存储单元中的位置变量,即指针是指向变量在内存中的地址,可以通过指针来指向变量在内存中的地址来访问和控制变量。 指针的定义形式为: 数据类型 *指针名;,返回,2.10.2 数组,数组就是把一系列有序的相同类型的数据组合起来的数据集合。数组都有一个名字即数组名。数组中的每
17、一个数据称为数组元素,数组元素在数组中的位置由下标确定。根据数组元素下标的个数,数组分为一维数组、二维数组和多维数组。当数组元素的数据类型为字符型时,该数组称为字符数组。当数组元素的数据类型为整型时,该数组称为整型数组。,返回,2.10.3 字符串,字符串就是用一对双引号括起来的字符序列。例如“I am a student!”是一个字符串。字符串中的字符可以是能显示的字符,也可以是转义字符,如t表示跳格。在C+中,为了判断字符串是否结束,系统自动在字符串的末尾加上一个字符0,作为字符串的结束标志。如字符串“I am a student!”共15个字符,但实际上在计算机内存里占用16个存储单元。
18、最后一个存储单元存放0,作为字符串的结束标志,所以字符串的存储空间比实际的字符数要多1。 注意字符串常量和字符常量是有区别的,字符串常量是用双引号括起来的字符序列,而字符常量则是用单引号括起来的单个字符,它们所占的内存空间也不同。 字符串一般存放在字符数组中,字符数组就是存放字符的数组,返回,2.11 函 数,个C+程序可由一个或多个源程序文件组成,一个源程序文件可由一个或多个函数组成;函数是构成C+程序的基础,任意个C+源程序都是由若干个函数组成的。C+中的函数分为库函数与自定义函数两类,库函数是由C+系统提供的标准函数(如求一个数的绝对值可用函数:“int abs( int n );”);自定义函数是需要自己写的函数。 C+中的函数是这样定义的: 返回值数据类型 函数名(参数表) 语句; ,2.12 结构、联合和枚举,2.12.1 结构 2.12.2 联合体 2.12.3 枚举类型,2.12.1 结构,有时候需要将不同类型的数据组合成有机整体 ,以方便引用这些数据。这些数据之间是相互联系的,例如,一个人的基本信息包括姓名、性别、年龄、身高、体重等;一个学生的基本信息包括学号、姓名、年龄、某些课程成绩、住址等。如果将这些数据分别存放在不同的数据变量中
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 团队主管管理办法
- 园区封闭管理办法
- 国企回购管理办法
- 国企车改管理办法
- 国外劳务管理办法
- 国徽管理办法规定
- 煤矿劳动技术试题及答案
- 虚拟主播运营服务费协议
- 2025至2030中国医美行业项目调研及市场前景预测评估报告
- 2025至2030中国保险业务系统行业发展趋势分析与未来投资战略咨询研究报告
- 2020年八大员继续教育(标准员)
- 征兵简历模板
- 2023年中国科学技术发展战略研究院招聘笔试参考题库附带答案详解
- 黄氏族谱排版范例(黄氏宗亲网制作2023年4月第一版)
- 二十五项反措之防止人身伤害演示幻灯片
- tcp-ip协议基础教学课件
- GB/T 12241-2021安全阀一般要求
- 杭州市残疾儿童市级定点康复机构申请表
- CB/T 3623-1994舵系统安装与效用试验要求
- 试验室安全准入考试试题
- 伤寒论的讲义辨太阳病脉证并治课件
评论
0/150
提交评论