《Visual C++.NET程序设计教程与上机指导》第2章:Visual C++ .NET的基本语

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第2章VisualC++.NET的基本语法教学提示:在本章,主要是对VisualC++.NET的基本语法要素进行介绍,包括标识符和关键字、基本数据类型、变量和常量、命名空间、预编译指令、运算符和表达式。但仅仅掌握这些还是不够的。本章还进一步介绍了控制语句、结构体、联合体、枚举、指针和数组的详细使用方法。学习完这些内容后,读者对其语言将会有一个比较全面的了解。教学目标:掌握VisualC++.NET语言的基本数据类型,熟悉常用的标识符、运算符、关键字;掌握常量和变量的定义方法;掌握数据类型的转换方法;理解预编译指令、命名空间;掌握各种控制语句的使用方法;掌握结构体、联合体和枚举的定义及其使用方法;掌握指针和数组的使用方法,熟练掌握函数的使用方法。通过上机实践,初步掌握上述内容的灵活运用。2.1标识符和关键字任何一门语言都有它自己的标识符和关键字,C++也不例外。标识符(identifier)是指常量、变量、语句标号、自定义函数、对象等能被编译器识别而提供的惟一名称,所有标识符的首字符必须以字母(a~z,A~Z)或下划线(_)开始,后面的字符可以是字母、下划线或数字(0~9)。C++语言区分大小写,因此,大写的英文字母与其对应的小写英文字母是表示不同的标识符的,如localString和localstring代表两个不同的标识符。关键字是C++语言保留的标识符,每个关键字都有特殊的意义,不能当作其他用途使用。2.2基本数据类型C++语言使用确定的数据类型来组织各种数据,并根据各种数据类型来存储和操作这些数据。基本的数据类型是C++预定义的类型,编程人员可以直接利用这些类型来定义数据。下面来看看C++中的基本数据类型:Bool(逻辑型)、char(字符型)、short(短整型)、int(整型)、long(长整型)、float(浮型)、double(双精度型)、longdouble(长双精度型)。bool类型用true和false代表真与假,其占用空间是8位。char是字符型类型,它在计算机里面是以ASCII表示的,占8位。short、int和long都是整型,只是数据的位数不一样:short占8位;int在DOS环境下占16位,在Windows下面占32位;long占32位。还可以在这三个类型前面加unsigned,表示无符号整数(即只表示正数)。Float、double、longdouble都是浮点型类型,只是位数不一样,float占32位,double占64位,longdouble占80位。2.3常量和变量常量是指C++语言中表示固定数值或字符值的标识符,并且在程序的执行过程中不允许修改。通过使用关键字const,可以将一个变量(下面会讲变量)定义为一个常量,并且const可以位于数据类型前或者数据类型后面。其定义的一般格式为:typeconst变量名=值或者consttype变量名=值在定义变量时,应给出该变量的数据类型和名字,还可以给这个变量赋一个初始值,也可以在以后再赋值,系统在编译时就会分配给该变量一个合适的内存空间。变量的一般定义为:数据类型变量名=值(可选)2.4命名空间命名空间是为了处理不同公司或个人使用相同的标识符这种情况而使用的一个概念。假设AAA公司使用了自己的一套标志符,BBB公司也使用自己的一套标识符,现在如果要使用这两家公司的某些标识符,且两个公司都提供了变量标识符INTEGER,那么在程序中使用INTEGER到底是使用AAA公司的,还是BBB公司的呢?这是个棘手的问题,VisualC++.NET编译器也会报错。2.5运算符、表达式和语句在C++语言中,运算符是指对操作数进行操作的符号,按照运算功能,C++运算符可分为算术运算符、关系运算符、逻辑运算符、位运算符和赋值运算符等,按优先级顺序,C++运算符如表2.3所示。2.6预编译指令预编译指令指在程序正式编译前就由编译器进行编译的操作,可以放在程序中的任何位置。常见的预编译指令有:#include头文件或#include头文件:该指令指示编译器将头文件的全部内容插入此处。若用括起头文件则在系统的INCLUDE目录中寻找文件,若用“”括起文件则在当前目录中寻找文件。一般来说,头文件后缀名都为.h,其中主要内容为各种变量的声明。2.7数据类型转换在进行程序的开发过程中,数据类型的转换是会经常碰到的。在一个表达式当中,所有的变量必须是相同类型才能进行运算,但是在一般的表达式中很难有相同类型的变量来进行运算。因此,不同类别的变量进行运算时,C++会先将较低类型的操作数转换为较高类型的操作数再进行运算。在计算机中,数据都是用二进制位来存放的,较低类型是指存储位数较少的类型,较高类型则是指存储位数较多的类型。如定义变量inta和longb,则进行a+b的运算时,要先将a转换为long型,再与b相加。数据类型的高低顺序依序为:longdouble、double、float、long、int、short、char。2.8数据的基本输入与输出数据的基本输入与输出是程序与用户进行交互的重要手段,可以设想一下,如果一个程序既不能输入也不能输出,那么这会是个什么程序?用户什么数据都输不进去,也看不到程序的运行结果。所以处理好程序的输入输出是很重要的。C++中提供了两个基本的输入和输出的函数:cout(输出)及cin(输入)。2.9控制语句程序控制语句控制程序的执行过程和方向,因此是非常重要的。灵活运用各种控制语句可以轻松地完成你想要做的事情。C++中的控制语句包括条件语句、循环语句、判断和跳转语句,下面具体介绍它们的用法。2.9.1条件(选择)语句2.9.2循环语句2.9.3判断和跳转语句(转移语句)2.9.1条件(选择)语句C++语言支持几种基本的条件语句:if语句、if…else语句、?:语句、switch语句。1.if语句2.if…else语句3.?:条件语句4.switch语句返回1.if语句if语句用于在程序中有条件地执行某一语句序列,语法形式如下:if(表达式)执行语句;//满足表达式时执行的语句其中表达式是一个关系或逻辑表达式,执行语句是指当表达式为真时执行,为假时跳过执行。如果执行语句包含多个语句,则必须用{}包围起来作为一个整体来执行。例如:如果变量a大于变量b,则把a与b之和赋给变量c,其语句如下:if(ab)c=a+b;返回2.if…else语句它的一般格式是:if(表达式)执行语句1;//如果表达式为真,则执行语句1else执行语句2;//如果表达式为假,则执行语句2if…else语句的变体结构(可以判断两种以上的情况):if(表达式1)执行语句1;//如果表达式1为真,则执行语句1elseif(表达式2)执行语句2;//如果表达式2为真,则执行语句2…..…..//如果表达式i为真,则执行语句i…...else执行语句n;//其他情况,则执行语句n返回3.?:条件语句?:条件语句是if…else条件语句的简化形式,其格式如下:(ab)?c:d;//如果表达式ab为真,则其结果为c,否则为d返回4.switch语句switch语句与if…else的变体结构类似,都是从多种供选择的情况中选择一种执行,其语法形式为:switch(表达式){case:值1:语句段1;//如果表达式与值1相等,则执行语句段1break;case:值2:语句段2;//如果表达式与值2相等,则执行语句段2break;……;//如果表达式与值i相等,则执行语句段idefault://default语句段可以不要语句段n://如果表达式与值n相等,则执行语句段nbreak;}返回2.9.2循环语句程序结构中的重复性操作的语句可以用循环语句来完成,循环语句可以根据循环变量来执行指定的次数。C++语言提供while、for、do…while三种循环语句,它们之间的不同之处在于while和for先判断条件,再执行语句;而do…while是先执行语句,再判断条件。这样可以看出while和for循环有可能一次都不执行,而do…while至少执行一次。它们的共同点是当条件语句为非零时为真,而为零时则为假。这三种循环语句可以相互转换。1.while语句2.for语句3.do…while循环语句返回1.while语句当循环次数无法计算或者很难确定时,可以考虑用while循环语句。它的语法结构为:while(表达式){循环体语句;}返回2.for语句for语句通常用于处理具有固定长度的数据结构,for循环语句的语法结构如下:for((表达式1)初始化部分;(表达式2)循环条件部分;(表达式3)增量部分){循环体语句;//如果是单条语句,可以省略外面的大括弧}返回3.do…while循环语句do…while也叫“直到型”循环结构,即一直执行到条件为假时退出循环。其格式为:do{循环语句}while(循环条件表达式);返回2.9.3判断和跳转语句(转移语句)当执行该类语句时,它要改变程序的执行顺序,即不依次执行紧跟其后的语句,而跳到另一个语句处接着执行。从表面上看循环语句或条件语句也改变了程序的执行顺序,但由于整个循环可以看作一个语句(条件语句也一样),因此它们也仍然是顺序执行的。C++中的转移语句有break、continue和goto语句。1.break语句2.continue语句3.goto语句返回1.break语句break语句用于强制退出循环语句以及case语句的执行,用在while和do…while、for循环语句中,使它们终止执行,即用于从循环体内跳出,提前结束循环。用于switch…case中则是执行对应的case语句后跳出switch…case。返回2.continue语句continue语句用于while、do…while、for循环语句中,当执行到continue语句时,终止后面的循环执行语句,直接进行循环条件语句的判断,如果为真则开始下一轮循环,如果为假则终止循环。continue与break语句不同,它并不终止整个循环语句,而仅仅终止当前这一次循环的执行。返回3.goto语句goto语句一般很少使用,一般有人认为大量使用goto语句会使程序的执行过程混乱且容易出错,这是对的,但是在程序中适当地使用goto语句可以使程序简单明了。如果有一个多重嵌套循环,须从最里层跳到最外层,若用break来实现,则每一层循环中都要调用break语句,很麻烦。但是如果在最里层用goto语句的话,就可以一下子跳到外面的一个标号处,并把流程跳转到该处,很方便。它的格式为:goto语句标号返回2.10指针、数组与字符串2.10.1指针2.10.2数组2.10.3字符串2.10.1指针在计算机中,内存储器是由若干存储单元组成的,每个存储单元均有一个惟一的编号用于标识该存储单元,该编号称为存储单元的地址。在C++中,数据是用变量存放在存储单元中的,而指针就是一个保存着某变量在内存中的存储单元中的位置变量,即指针是指向变量在内存中的地址,可以通过指针来指向变量在内存中的地址来访问和控制变量。指针的定义形式为:数据类型*指针名;返回2.10.2数组数组就是把一系列有序的相同类型的数据组合起来的数据集合。数组都有一个名字即数组名。数组中的每一个数据称为数组元素,数组元素在数组中的位置由下标确定。根据数组元素下标的个数,数组分为一维数组、二维数组和多维数组。当数组元素的数据类型为字符型时,该数组称为字符数组。当数组元素的数据类型为整型时,该数组称为整型数组。返回2.10.3字符串字符串就是用一对双引号括起来的字符序列。例如“Iamastudent!”是一个字符串。字符串中的字符可以是能显示的字符,也可以是转义字符,如‘\t’表示跳格。在C++中,为了判断字符串是否结束,系统自动在字符串的末尾加上一个字符‘\0’,作为字符串的结束标志。如字符串“Iamastudent!”共15个字符,但实际上在计算机内存里占用16个存储单元。最后一个存储单元存放‘\0’,作为字符串的结束标志,所以字符串

1 / 33
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功