1 / 32

C++ 程序设计

C++ 程序设计. 主讲:资讯系张玉宏. 第 2 章 C++ 的基本语法. 2.1 变量的声明 所有 C++ 程序内的变量 (variables) 都需要声明 (declare) 才能使用。例如有三个整数要声明,则声明语句可以写成如下两种方式: int x,y,sum; 或者:. 2.1 变量的声明(续). int x;// 第一个输入的整数 int y;// 第一个输入的整数 int sum;// 第一个输入的整数 讨论:前一种声明简洁,而后一种声明便于在每个变量的右边追加注释说明。. 变量声明的两重含义. 1. 指定在内存中分配空间大小。

chun
Download Presentation

C++ 程序设计

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. C++程序设计 主讲:资讯系张玉宏

  2. 第2章 C++的基本语法 • 2.1 变量的声明 所有C++程序内的变量(variables)都需要声明(declare)才能使用。例如有三个整数要声明,则声明语句可以写成如下两种方式: • int x,y,sum; 或者: 升达大学资讯系

  3. 2.1变量的声明(续) • int x;//第一个输入的整数 • int y;//第一个输入的整数 • int sum;//第一个输入的整数 讨论:前一种声明简洁,而后一种声明便于在每个变量的右边追加注释说明。 升达大学资讯系

  4. 变量声明的两重含义 • 1.指定在内存中分配空间大小。 而且变量在声明时,可以同时给予初始化(即赋予初始值) • 2.规定这个变量所能接受的运算。 例如整数数据类型int只能接受加、减、乘、除等四则运算符“+,-,*,/”. 升达大学资讯系

  5. 注意的一个事项 • 如果某个变量x为整数型,则要想以“X^2”表示求X2,那么系统在编译的时候就会出错,这就是因为“^”不是整数型int所能接受的运算符。 升达大学资讯系

  6. Borland C++编译器的取得与安装 • 由于C++的重要性与日俱增,目前可以使用的编译器及开发环境很多。如:Microsoft Visual C++ ,Borland C++,Watcom C++,Fujisu C++ compiler,IBM Visual Age C++,GNU-Win32等,只要符合ANSI/ISO标准的C++编译器都能编译课堂所讲述的C++程序。 升达大学资讯系

  7. Borland C++编译器的取得与安装 • Source Code的撰写可以是任何编辑软件,如“记事本”、“WordPad”,TextEditor等,也可以使用商用程序开发环境内赋的编辑器,如BC,VC等 • 在用“记事本”编写Source Code时注意保存C++的源文件的扩展名为*.cpp,避免被自动带上.txt的扩展名 升达大学资讯系

  8. Borland C++编译器的取得与安装 • Borland C++ Compiler 5.5是由Borland 公司提供的免费下载的编译器,由于该公司是C++语法标准的制定者之一,并不断再网络上提供最新版本,可保证使用的是最可靠的编辑器,而且该程序非常简练,不到10M大小,却足够完成C++的研讨与学习。所以本课程采纳此版本作为C++主要编译器. • 下载网址:http://www.borland.com/bcppbuilder/freecompiler/cppcssstemps.html • 下载文件名为:freecommandLinetools.exe 升达大学资讯系

  9. Borland C++编译器的取得与安装 • 假设Borland C++ Compiler 5.5安装在“C:\borland\bcc55”路径下,则还需要进行如下两个步骤: • (1)将“C:\borland\bcc55\bin”加入系统文件预设路径。亦即修改C:\下的autoexec.bat文件,加入两句语句: PATH=%PATH; C:\borland\bcc55\bin; DOSKEY 升达大学资讯系

  10. Borland C++编译器的取得与安装 • (2)制作bcc32.cfg和ilink.cfg两个配置文件,并存放在文件夹C:\Borland\bcc55\bin里,其中bcc32.cfg为编译器的编译选项指定文件,内含两句指令: -I"C:\Borland\Bcc55\include" -L"C:\Borland\Bcc55\lib“ 而ilink.cfg则是连接器的连接选项指定文件,含下列单行指令: -L"C:\Borland\Bcc55\lib" 升达大学资讯系

  11. Borland C++编译器的取得与安装 完成上述步骤后重新启动即可。 同时还可以在borland公司网址下载执行文件:TurboDebugger.exe安装,以配合borland C++ Compiler使用,协助复杂程序的调试。 下在网址: http://www.borland.com/bcppbuiler/turbodebugger/turbodebug55seps.html 升达大学资讯系

  12. 2.2 C++标识的命名规则 • C++的标识指的是各种变量、自定义数据类型,其命名必须满足如下规则: • 1.标识由英文、数字和下划线符号“_”构成,长度不限。 • 2.区分大小写 • 3.标识符不可以用数字开头 • 4.不可以使用C++内设关键词(keywords) 升达大学资讯系

  13. C++标识的命名规则(续) • 除了上述规则以外,还需要注意各种编译器都有自行定义,仅供内部使用的各种标识必须避免使用。这些标识通常有如下几个特征: • 1.使用底线符号当开头 • 2.全部使用大写字母,长度至少三个字母,且不含数字 • 3.全部使用小写字母,长度至少三个字母,且不含数字 升达大学资讯系

  14. 2.3基本数据类型 • 1.整型(integer values) 整型是指所有不具有小数点的数值。如:6,-321,4l,5L等 从例子可以看出整数结尾处可以有“l”或者“L”表示长整数(Long integer)具有较大的存储空间。 32位计算机int型占4个字节,而short int 占2个字节。Long int 占4个字节 升达大学资讯系

  15. 例题2.1 • 下列哪些整数书写是错误的?() A. 6. B. -3,728 C. 0.0 D. $05 E. 08 F. 0x2A 升达大学资讯系

  16. 8进制与16进制的表示方法 • 当整数前加入0时,数字是以八进制的方式存储的,如果加上0x,则是以16进制的方式存储的。整数后加U或者u表示该整数是不加符号的整数(unsigned int)。例如: 48U//unsigned int 75ul//长、无符号整数 012//八进制(=10) 0X12//十六进制(=18) 升达大学资讯系

  17. 2.浮点数(floating point number) • 浮点数是指带有小数点的数值,用以描述实数(real number).例如: 36.0,+3.92L,3.7f,3.98F 浮点数必须有小数点,除了f,F,l,L之外不容许掺杂其它符号。 为了表示非常大或者非常小的数值,浮点数也有和科学计数法一样的指数表示法(exponential notation).如: -6.24E-5 或者 -6.24e-5 升达大学资讯系

  18. 2.浮点数(续) • 对于浮点数而言,预设的数据类型是double,可以在数字之后加f或F改成float型。加l或L则为long double. 升达大学资讯系

  19. 3.char (字符型) • char实际也是整型数据的一种。每个字符型变量占一个字节。从ASCII码可以看出其值在0~255之间 升达大学资讯系

  20. 4.bool(布尔型) • bool实际也是整型数据的一种。每个字符型变量占一个字节。其值为0或者1 1——ture 0——false 更为广义的讲,在C++的布尔中,0为false,而非0为ture,而不是仅仅局限于“1”。 升达大学资讯系

  21. 5.void(无值) • void(无值)没有长度,此类型用以声明无返回值的函数类型,或者当用户想进行指针类型的转换时,当基本类型使用 升达大学资讯系

  22. 2.4 常量与变量 • 1.常量 在程序执行的时候,所有的数据都必须依次放在内存里。 常量可以分为整型常量、实型常量、字符常量。例子参见教材p13 特别需要注意的是实型常量只能使用10进制表示。 升达大学资讯系

  23. C++中的转义字符 • 在C++中还有一种表示字符常量的方式,即所谓的“转义序列”(escape character) 若转义字符的后边是一个整型常量,则该常量必须是一个无起首0的八进制或者十六进制。如:‘\101’,‘\x41’,’A’均表示字符常量A. 升达大学资讯系

  24. C++中的转义字符(续) • 由于ASCII码的值为0~255,所以转义字符后边的整形常量如果用8进制表示则其长度不得超过3位;若为16进制表示,则不得超过2位。 • 常见的转义字符及其含义如下表所示: 升达大学资讯系

  25. 升达大学资讯系

  26. 字符串常量 • 字符串常量是用一对双引号括起来的字符序列。例如: “This is a sample.” 双引号不是字符串的一部分,仅仅作为定界符。一个字符串常量并不是一系列字符简单的组合,系统会在每个字符串常量的尾部加一个字符常量‘\0’,表示该字符串常量到此结束。 升达大学资讯系

  27. 字符串常量(续) • 字符常量‘\0’是一个ASCII码为0,称为NULL. • 注意:阿拉伯数字0~9中“0”其ASCII码为48 • 所以虽然“This is a sample.”只有17个字符(含空格),但需要存储单元却有18个。 • 注意:空格的ASCII码为32,它也是一个字符 升达大学资讯系

  28. 字符与字符串 • 对于文字数据则以字符(character)和字符串(string)两种数据类型表示。 字符数据:由于英文字母本身也可以作为变量的名称,为了区别,所有字符都以单引号前后包起来: ‘a’ ,’A’ ,’$’,”+” 字符以ASCII码存储,每个字符占一个字节大小。 升达大学资讯系

  29. 字符与字符串(续) • 例如: a 存成 01100001 b 存成 01100010 字符的数据类型写成char,为character的缩写。 char ch=‘f’;//定义一个字符变量。其内容存入字母f,而在输出时,将直接显示字符的内容,而不再有单引号出现。 升达大学资讯系

  30. 字符与字符串(续) • 字符数据类型无法存储中文,因为一个中文字符占两个字节。中文的常用字符将近达到两万多个,一字一码,其编码没有简化的规律可言。 • 输入法的全角和半角的区别就来源于此。 升达大学资讯系

  31. 例题 • 1.“中文”这个字符串占有几个存储单元() A. 2个 B.4个 C. 5个 D.3个 • 由于字符型数据在实质上也是一种整型数据,所以字符也可以进行运算。 升达大学资讯系

  32. 例题 • 2. cout<<‘a’+0<<endl; 输出: cout<<‘0’+0<<endl; 输出: cout<<‘\0’+1<<endl; 输出: 升达大学资讯系

More Related