您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > visualstudio学习第2章变量和表达式
本章将详细介绍C++编程的实质。在本章中将创建具有输入——处理——输出的传统C++程序。由于C++有两个版本,因此我们首先介绍ANSI/ISOC++语言的特性,然后讨论C++/CLI语言的相应方面。C++程序结构命名空间C++中的变量和常量C++中的基本数据类型C++中的基本输入输出执行运算数据类型之间的转换在VisualC++2008中,控制台应用程序将从命令行读取数据,然后将结果输出到命令行,与Windows程序相比,控制台程序要简单的多。为了了解C++语言的运行,简化应用程序窗口的创建和使用,所编写的示例都将是控制台应用程序。C++程序由一个或多个函数组成。函数是一个具有惟一名称的自包含代码块,要执行函数,可以使用函数的名称对其进行调用。所有的C++程序中都必须只有一个名为main的函数,main函数是程序的入口点。典型结构如右图。注释是程序的一个重要部分,但是它们不是可执行代码,使用注释只是为了增强程序的可读性。在对程序进行编译时,编译器会忽略所有注释。在开始处理比较复杂的代码时,注释可用于给正在进行的工作添加提示。C++添加注释的方式有两种。可以在注释的开头使用“/*”,在结尾放置标记“*/”。下面的注解是正确的:/*Exce2_01.cpp*//****************Exce2-01.cpp一个简单的控制程程序*****************/几乎所有的C++程序都会使用到#include指令。之所以称其为指令,因为它会命令编译器来完成某项任务。例如:#includeiostream这里的#include指令用于控制编译器在编译之前将文件iostream的内容添加到这个程序中。iostream文件通常称为头文件。在iostream头文件中包含了一些在使用C++输入和输出语句时必须使用的定义,如cout和运算符。如果没有将iostream的内容包括到这个程序中,那么这个程序就不能被编译,因为在这个程序中使用的输出语句依赖于这个文件中的一些定义。VisualC++提供了许多不同的头文件,它们具有各自特有的功能。为了方便在程序中执行许多常见的任务,C++在标准库中提供了大量的例程。例如,处理输入和输出,执行基本的数学计算。由于这些例程是非常庞大的,所以在编写自己的程序时,使用名称难免会与标准库中定义的名称相同。为了避免此类问题,C++提供了一种称为命名空间的机制,它可以有效地防止程序中重名问题。其方法是将一组相关的例程序组织在一起,并为这些例程定义一个共同的名称。这样,对于这组例程中的每一个例程而言,它的名称就由两部分组成:公共名加例程名。这组例程共享的名称就是命名空间。当程序中出现同名的例程时,就可以通过命名空间加例程名的方式,惟一地确定例程。这非常类似于Windows的文件夹,同名的文件不能位于同一个文件夹中,对于不同文件夹下的同名文件,可以通过使用文件夹名和文件名的方式惟一确认。变量是程序中临时存放数据的场所,它的值在程序运行过程中是可变的。而常量在程序运行过程中其值是不能被改变的。本节重点讲解:定义变量常量和符号常量在程序中,一个变量必须具有一个名称,给予变量的名称称为标识符,或者更方便地称之为变量名。C++规定变量名只能由字母、数字和下划线三种字符组成,且第一个字符必须为字母或下划线。在VisualC++2008中,变量名的长度可以达到2048个字符。所以在给变量命名时,具有相当大的灵活性。如果希望在其他环境中编译代码,那么最好把名称的长度限限制在31个字符。虽然可以使用以下划线开头的变量名,如_this和_sum,不过最好避免使用它们,因为这可能会与标准系统变量发生冲突。下面是一些合法的变量名:sum,SUM,averge,pShape,value_1,COUNT常量也会为不同的类型,如1、-5、0都属于整型常量,1.2、-3.14属于实型常量,'a'、'B'为字符常量。常量一般可以从其字面形式判断,这种常量也称为字面常量或直接常量。使用符号常量的好处有:意义清楚。同遍布于程序中的没有明显含义的字面常量相比,符号常量更能表示数值的意义。如在上面的程序中,一看PI就知道它表示圆周率。如果需要修改符号常量的值,只需要在源文件中修改它的定义,就可以确保这个变化自动出现在程序的所有地方。变量可以保存的信息种类由其数据类型确定。在程序中,所有的数据和变量都必须具有某种已定义的类型。ISO/ANSI标准C++提供了一系列的基本数据类型。在C++/CLI还定义了不属于ISO/ANSIC++的基本数据类型,本章稍后会介绍这些类型。整型仅表示整数,在C++中使用关键字int表示。int型的变量在内存中占用4个字节,它们即可以存储正整数,也可以存储负整数。int型变量可以存储的值大值为231-1,即2147483647,最小值为-231,即-2147483648。根据数值的表示范围,整型又可以分为基本整型、短整型和长整型。int类型就是基本整型。在int之前可以根据需要加上修饰符:short或long,分别表示短整型和长整型。在C++中,字符类型具有双重作用。字符类型的变量占用1个字节的内存,可以使用这种变量存储给定范围内的整数,也可以存储单个ASCII字符的代码。布尔型变量中能存放两个值:真和假。布尔型变量的类型为bool,布尔变量也称为逻辑变量。布尔型变量用来存储可以是真或假的测试结果,如两个值是否相等。通常一个浮点数可以用科学记数法表示,例如,-314.02。可以写成:-0.31402×103。其中“-”为符号,指数3为阶,0.31402是小数部分,提供的非0数字长度称为有效值,这里的有效值为31402。小数部分也称为尾数。之所以称为浮点数,是因为它的小数点可以左右“浮动”,但不管小数点怎么移动,有效值不变,只是其小数部分会随着小数点的移动而变化。在C++中,浮点数即可以表示为定点方式,如3.14,也可以表示成科学记数法(指数方式),如314e-2,即314乘以10的负2次方。关键字typedef能够为现在类型定义一个别名。例如:typedefcharChar;该语句将Char定义为char的一个别名,因此可以利用下列声明将变量ch声明为char类型:Charch;这个声明与使用内置类型名的声明没有任何区别。charch;实际上,如果定义了自己的类型名,那么在同一个程序内就可以使用它们声明相同的变量。通常一个浮点数可以用科学记数法表示,例如,-314.02。可以写成:-0.31402×103。其中“-”为符号,指数3为阶,0.31402是小数部分,提供的非0数字长度称为有效值,这里的有效值为31402。小数部分也称为尾数。之所以称为浮点数,是因为它的小数点可以左右“浮动”,但不管小数点怎么移动,有效值不变,只是其小数部分会随着小数点的移动而变化。在C++中,浮点数即可以表示为定点方式,如3.14,也可以表示成科学记数法(指数方式),如314e-2,即314乘以10的负2次方。C++的输出和输出是通过数据流来实现。在数据流中,可以将数据插入输出流,或者从输入流中提取数据。在程序运行时需要输入数据,数据处理结束后还需要显示运行结果,这些都要用到输入/输出语句。输入语句负责从输入设备中获取数据,输出语句负责将数据送到输出设备。键盘和显示器是计算机的标准输入输出设备,因此在键盘和显示器上的输出输入为标准I/O流。标准输出输入流cin和cout是在头文件iostream.h中定义,cin表示标准输入设备键盘,cout表示标准输出设备显示器。向显示器输出数据时,必须将cout和插入运算符“”一起使用。1.控制浮点数显示2.设置值的显示宽度3.设置填充字符4.控制对齐方式在知道了C++程序如何实现输入和输后,接下来就需要对输入的数据进行处理,然后将处理的结果输出显示。程序中对数据处理的语句由表达式构成。表达式是运算符、操作数和标点符号的组合,其目是的用来说明一个计算过程。表达式的功能主要由运算符来实现。1.算术运算符2.运算符优先级和给合性3.算术类型转换4.自增和自减1.赋值运算符2.类型转换3.复合的赋值运算符在C++语言中,逗号“,”也是一种运算符,称为逗号运算符。其功能是把两个表达式连接起来组成一个表达式,称为逗号表达式。其一般形式为:表达式1,表达式2,….表达式nC++的执行过程是顺序计算表达式1,表达式2,直到表达式n。1.关系运算符C++提供的基本关系运算符包括:大于()小于(<)大于等于(>=)小于等于(<=)不等于(!=)等于(==)2.关系运算符的优先级在关系运算符中,、=、以及=拥有相同的优先级,并且比==和!=的优先级高。==和!=的优先级相同。和其它大多数运算符一样,关系运算符的结合律也是从左到右。1.逻辑运算符2.逻辑运算符的优先级3.逻辑表达式按位运算符可以对操作数的二进制码进行操作,而不是对数字值。C++提供的按位运算符包括:按位与(&)按位或()按位异或(^)按位取反(~)右移()左移()按位运算符只能处理整型数据,所以操作数的类型必须为:short、int、long、char,以及这些类型的无符号类型。除按位取反运算符“~”是一元运算符,只处理一个操作数,其他都是二元运算符。C++/CLI对ISO/ANSIC++进行了大量扩充,并且提供了大量的附加功能。就目前介绍的内容而言,C++/CLI附加的功能包括:在C++/CLI中提供了对所有ISO/ANSIC++基本数据类型的支持,但是,C++/CLI中这些基本数据类型都是其于.NETFramework类库,添加了一些额外的属性。在控制台程序中,C++/CLI的键盘输入和命令行输出提供了它自己的输入/输出机制。C++/CLI中引用safe_cast运算符,可以确保类型强制转换的安全性。Console::Write()和Console::WriteLine()函数都具有控制输出格式的功能,通过调用这两个函数,以及使用相应的格式化字符可以格式化输出结果。。.NETFramework控制台程序提供了3个函数实现键盘输入功能,分别为Console::ReadLine()、Console::Read()和Console::ReadKey()。在ISO/ANSIC++中,可以使用static_cast将数据从一种类型转换为另一种类型。在大多数情况下,也可以在C++/CLI程序中使用static_cast进行显式类型强制转换,不过在C++/CLI中提供了另一种显式类型强制转换符safe_case,safe_case可以充分利用CLI环境中的安全检查机制,对类型转换进行安全检查。
本文标题:visualstudio学习第2章变量和表达式
链接地址:https://www.777doc.com/doc-2855078 .html