Microsoft Word - 第1篇(1-6).DOC

Size: px
Start display at page:

Download "Microsoft Word - 第1篇(1-6).DOC"

Transcription

1 如同在第 2 章中所提到的那样,Visual C++ 只是一个开发工具, 并不能实现软件应具备的所有功能 因此, 了解 C++ 编程语言的各种特性以及基础语法, 对于游戏编程高手而言是非常必要的 因此, 本章将主要帮助读者熟悉 C++ 编程语言的优点及基本语法 把这些基本语法与 Visual C++ 开发工具相结合就是巩固所学知识的最好方法 但愿本章所列举的材料能够很好地帮助读者理解前一章中所学习的内容, 同时能够建立起一定的 如果您已经是一位 C++ 编程人员, 那么请跳过本章, 继续学习后面的内容 如果只是一个初学者, 那么请一定要详细阅读这一章, 并对每一节的示例代码进行实践 只有这样才能够真正的走进 C++ 程序设计的大门 其实, 有关 C++ 编程语言的内容在前面已经有所涉及, 如第 2 章中的 HelloWorld 程序就演示了编程语言是如何实现文字输出的 本章将通过一些更加详细的内容来帮助读者了解 C++ 编程语言 为了保证这些应用程序代码能够正常运行, 可能在前面的代码简单的涉及后面代码中的内容, 读者只需要明白代码中本节所包含的内容即可 在阅读完本章的全部内容后, 再回过头来看就会明白 本章主要涉及的内容如下 : C++ 编程语言的优点及其发展过程 : 了解 C++ 编程语言的优点及其发展 C++ 中的各种字符 : 掌握什么是 C++ 中的关键字 标识符等概念 常用数据类型 : 明白常用数据类型的范围及其定义 运算符与表达式 : 知道什么是表达式 运算符, 及其如何使用 常量与变量 : 掌握变量与常量的定义及区别 控制语句 : 掌握基本的语法, 并熟悉相关的控制语句 数组与指针 : 知道如何使用数组及指针 C++ 类的特性 : 了解 C++ 中类的特性及其主要的成员 运算符的重载 : 了解其基本方法, 明白其优点 编程规范 : 掌握基本的编程规范, 对自己编程或者阅读别人的代码大有裨益 3.1 C++ 编程语言是什么 在学习 C++ 这门编程语言之前, 确实有必要了解一下这种编程语言的发展过程 优点及特性, 这样才能对一种编程语言有一个全面的了解

2 3.1.1 C++ 语言的由来 C++ 语言起源于 C 语言 在 1973~1979 年间,C 语言迅速成为应用最广泛的系统程序设计语言 然而, 由于 C 语言也存在一些缺陷, 例如类型检查机制相对较弱 缺少支持代码重用的语言结构等, 造成用 C 语言开发大程序比较困难 为了克服 C 语言存在的缺点, 在 1980 年, 由美国贝尔实验室在 C 语言的基础上, 开始对 C 语言进行改进和扩充, 并将 类 的概念引入了 C 语言, 构成了最早的 C++ 语言 (1983 年 ) 后来 C++ 中又引进了运算符重载 引用 虚函数等许多特性, 并使之更加精炼 由贝尔实验室开发出的这种过程性与对象性相结合的程序设计语言, 直到 1983 年正式取名为 C++ 以后又经过不断的完善和发展, 由美国国家标准化协会 ANSI 和国际标准化组织 ISO 一起进行了标准化工作, 并于 1998 年正式发布了 C++ 语言的国际标准 (ISO/IEC: ) 成为目前的 C++ 语言 简单地说,C++ 语言是在 C 语言的基础上引入了面向对象的机制而形成的一门计算机编程语言 C++ 继承了 C 语言的大部分特点 : 一方面,C++ 语言将 C 语言作为其子集, 使其能与 C 语言相兼容 ; 另一方面,C++ 语言支持面向对象的程序设计, 如类的概念和性质 这就是对 C 语言的重要改进 C++ 语言的特点 C++ 语言的特点大致有如下 3 点 : C++ 语言是一种面向对象的程序设计语言 其模仿了人们建立现实世界模型的方法 C++ 语言的基础是对象和类 现实世界中客观存在的事物都被称为对象 例如, 一辆汽车 一家百货商场等 C++ 中的一个对象就是描述客观事物的一个实体, 其是构成信息系统的基本单位 类 (class) 是对一组性质相同对象的描述, 是用户定义的一种新的数据类型, 也是 C++ 语言程序设计的核心 C++ 是 C 语言的超集 其不仅包含了 C 语言的大部分特性, 例如指针 数组 函数 语法等 其还包含面向对象的特点, 例如封装 继承 多态等 C++ 是程序员和软件开发者在实践中创造的 注意 : 由于 C++ 语言来源于 C 语言, 所以不管哪种 C++ 结构都可以用 C 语言实现 但 C 语言的结构,C++ 不一定可以实现 3.2 C++ 中的各种字符 世界上所有的语言都有自己的字符表示和组合, 像平时常常接触到的中文和英文都是如此 所以为了让大家都能够使用 C++ 编程语言, 其设计者也给这种语言定义了自己的字符表示和组合 从本节起, 才真正开始介绍 C++ 编程语言的基础内容 37

3 第 1 篇 游戏开发基础 标识符与关键字 在 C++ 中, 有一套用来表示程序中的变量 常量 数据类型及语法关键字的符号, 这些符号被统称为标识符 标识符的命名有如下几点规则需要遵循 : 标识符的第一个字符必须是字母或者下划线 标识符中不应有除字母 数字和下划线以外的字符 标识符的长度一般不超过 31 个字符 C++ 中的标识符可以大写, 也可以小写 不过大写和小写是有区别的, 即对应的大小写字母会被当作不同的标识符 例如 Good 和 good 是被当作不同的标识符,Hello 和 HELLO 也是不同的标识符 例如 : 下面这些就是合法的标识符的例子 Inno Result Good At_This GG_88 ncount 而如下这些就是不合法的标识符例子 2SD A!bc GG*88 good-bye 在 C++ 的标识符中, 有些单词组合是不能由用户声明的, 其是由 C++ 编程语言本身保留使用, 具有特殊的含义 一般用于表示固定语句 预定义类型说明 预定义函数等 这种标识符被统称为关键字或者保留字 有了这些关键字,C++ 编译器才能正确识别输入的程序代码是如何分隔的, 这就好像写应用文时为了突出重点, 常常把关键字或者词进行标注一样 表 3.1 列出了一些 C++ 中常用的关键字 ( 只是一部分 ), 请读者注意 表 3.1 常用关键字 public private class delete new const void unsigned int long short char true false float double main try this Enum bool sizeof operator Struct _asm _int8 _int16 _int32 注意 : 在 Visual C++ 中, 为了让用户阅读方便, 所有的保留关键字都会被自动高亮标识出来 读者可以在 Visual C++ 的源文件中输入一些关键字试一试 分隔符与注释符 C++ 中除了 节所说的标识符外, 还有两种起特殊作用的符号 一种是用来分隔代码语句的, 被称为分隔符 ; 另一种是起说明作用的, 被称为注释符 38

4 1. 划分语句的分隔符 其中分隔符又被称为 C++ 中的标点符号 用来将单词或者程序分隔, 其表示某个程序的结束和另一个程序的开始 C++ 中包括如下几种分隔符 空格符 : 用来作为单词与单词之间的分隔符 逗号 : 用来作为说明多个变量的分隔符, 或者多个参数 ( 将在后面的章节讲解 ) 之间的分隔符 分号 : 用来作为 C++ 中语句的结束分隔符 花括号 : 用来构造程序实体的分隔 2. 使语句无效的注释符 注释在程序代码中起到对程序语句注解和说明的作用 其目的是为了代码设计者或审查者方便阅读程序代码 对计算机而言其是无效的, 在程序编译时, 注释会被自动从程序代码中忽略掉 换句话说, 这就好比大家在读书时所做的读书笔记, 可以标记在书上, 也可以标记在笔记本上, 但对书的内容 ( 代码 ) 并没有任何影响, 只是起一个辅助说明的作用 在 C++ 中采用如下两种注释方法 (1) 使用 /* 和 */ 括起来进行注释, 在 /* 和 */ 之间的字符都被作为注释符处理, 适用于多行注释信息, 如图 3.1 所示 图 3.1 中从 /* 开始一直到 */ 结束的两行字符都是被当作注释信息处理的 图 3.1 多行注释 (2) 使用 //, 从 // 开始直到所在行的行尾, 所有字符都被当作注释处理 适用于单行注释信息 这种方法已经遇到过多次, 如图 3.2 所示 图 3.2 单行注释 在真实的程序编程中, 上面介绍的注释方法可以根据不同的情况进行选用, 增强了注 39

5 第 1 篇 游戏开发基础 释和阅读的灵活性 注意 : 好的注释, 能够提高程序设计或者代码阅读的效率 3.3 C++ 中的常用数据类型 在 C++ 程序中数据的类型分为很多种, 这就好比人的个头有高低 体重有胖瘦 皮肤有黑白一样 不同类型的数据, 在数据存放的空间和处理数据的时间上都是各不相同的 本节的主要内容就是介绍 C++ 中常用的基本数据类型 声明关键字和格式 注意 : 在游戏设计中对于数据的类型尤为重视 因为采用的数据类型不同, 游戏最后的运行速度和处理效果是有质的差别的 整数型数据 所谓的整数型数据类是指数据是没有小数部分的, 其值可以是正, 也可以是负, 简称为整数型 例如日常生活中用到的 等都是整数型的 其中 等又被称为正整数,0 一般也被当作正整数处理 而 , 2009 等被称为负整数 在 C++ 中用 int 这个关键字来声明一个存放整数型数据的变量 ( 变量这个概念将在 3.4 节中进行讲解 ) 例如: int ncount; int nnum; int abc;. // 声明一个整数型变量 ncount // 声明一个整数型变量 nnum // 声明一个整数型变量 abc 声明整数型时要进行初始化, 其方法如下 : int ncount=100; 说明 : 在 C++ 程序中所有数据类型都是通过关键字来声明的 知道了如何声明一个整数型变量, 那么一个整数型在计算机中可以表示的数值的大小范围是多少呢? 如表 3.2 所示 表 3.2 有符号整数范围计算机系统最大值最小值 16 位机 位机 注意 : 整数变量能存储的最大值, 是由计算机给其分配的存储空间的大小决定的 在不同的计算机系统中, 其表示的范围是不同的 例如, 早期的 16 位计算机是使用 2 个字节, 而 32 位计算机则是使用 4 个字节 一般, 现在的计算机都是 32 位的, 不过也有 64 位的 40

6 虽然整数型能表示的数已经比较大, 但也有不够用的情况 例如, 在有的游戏中表示银河系两个星球之间的距离是多少千米, 或者太阳系的直径是多少米等数据时, 整数型变量就不够了 为此 C++ 中就引入了长整数类型 用 long 这个关键字来声明一个长整数型变量 例如 : long llen; long lcount; long ltime; // 声明长整数型变量 ilen // 声明长整数型变量 icount // 声明长整数型变量 itime 长整数型变量, 其存储数值的范围如表 3.3 所示 表 3.3 长整数范围计算机系统最大值最小值 16 位机 位机 从上面的表中会发现一个问题, 长整数和整数其实只是在 16 位计算机上有表示范围的差异, 而在 32 位计算机上是无差异的 这是因为在 32 位计算机上, 一般把长整数和整数的表示范围设置为相同大小 在计算机中长整数可能会降低程序执行的速度, 所以有时候为了节约空间和提高程序执行速度,C++ 中又引入了短整数 在 C++ 中用 short 这个关键字来声明一个短整数型变量, 其数值的范围在 16 位和 32 位计算机上都是一样的, 为 ~ 例如: short scount; short snum; short slen; // 声明短整数型变量 scount // 声明短整数型变量 snum // 声明短整数型变量 slen 其实, 在日常生活中大家一般使用的都是正整数, 即数学中的自然数, 负数是比较少使用的 所以计算机为了在不增加存储空间和不影响执行速度的前提下, 在存储数据时, 直接把存储数据的符号去掉, 这样变量能表示的最大值就扩大了, 这种存储的数据在 C++ 中就被称为无符号数据类型 C++ 中声明无符号整数型变量, 是在 int 关键字前加上 unsigned 关键字 例如 : unsigned int uncount; unsigned int unnum; unsigned int abc; // 声明无符号整数型变量 uncount // 声明无符号整数型变量 unnum // 声明无符号整数型变量 abc 既然是把最大值扩大了, 那么其数值范围也不同了, 无符号整数型变量存放的数值范 围如表 3.4 所示 表 3.4 无符号整数范围 计算机系统 最 大 值 最 小 值 16 位机 位机 既然有无符号的整数型变量, 那么也就有无符号的长整数和短整数型变量, 其声明都 是在原关键字前加上 unsigned 关键字 例如 : 41

7 第 1 篇 游戏开发基础 unsigned long ulcount; unsigned long ulnum; unsigned short uslen; unsigned short uscount; // 声明无符号的长整数型变量 uicount // 声明无符号的长整数型变量 uinum // 声明无符号的短整数型变量 uslen // 声明无符号的短整数型变量 uscount 无符号短整数其数值范围在 16 位和 32 位计算机上都是 ~0 而无符号的长整 数其数值范围如表 3.5 所示 表 3.5 无符号长整数范围 计算机系统 最 大 值 最 小 值 16 位机 位机 实数型数据 实数型数据是由一个整数部分 一个小数部分以及可选的后缀组成的 例如, 等都是实数型数据 在 C++ 中把实数型数据按照其表示的数值范围进行分类, 可分为单精度 双精度和长双精度 3 种数据类型 (1) 声明一个单精度的实数变量使用 float 关键字, 所以单精度的实数型又被称为浮点型 例如 : float half; float pi; float num; // 声明单精度的实数变量 half // 声明单精度的实数变量 pi // 声明单精度的实数变量 num 单精度实数类型一般是以 32 位进行存储表示的, 其数值表示范围为 3.4e+38~3.4e 38, 最多只提供 7 位有效数字 (2) 双精度数据类型和单精度数据类似, 因为其要占据的存储空间是单精度数据类型的两倍, 所以被称为双精度数据类型 声明一个双精度类型的实数变量, 使用 double 关键字 例如 : double dbnum1; double dbnum2; double dbnum3; // 声明双精度的实数变量 dbnum1 // 声明双精度的实数变量 dbnum2 // 声明双精度的实数变量 dbnum3 双精度实数类型是以 64 位进行存储表示的, 其数值范围为 1.7E 308~1.7E+308, 最多可提供 16 位的有效数字 (3) 长双精度数据类型, 理论上是双精度占用存储空间的两倍, 但在实际中还是只占用 64 位的存储空间 声明一个长双精度实数变量, 使用 long double 关键字 例如 : long double dbnum1; long double dbnum2; long double dbnum3; // 声明长双精度的实数变量 dbnum1 // 声明长双精度的实数变量 dbnum2 // 声明长双精度的实数变量 dbnum3 长双精度因为其占用的存储空间和双精度相同, 所以其实数类型的数值表示范围还是为 1.7E 308~1.7E+308, 最多可提供 16 位有效数字 实数在 C++ 中也可以包含一个指数形式的数值, 其类似于数字的科学计数表示法 42

8 例如 : 1.5e3 其中 1.5 是尾数部分,3 是指数部分, 表示的数值为 e-2 其中 1.23 是尾数部分,-2 是指数部分, 表示的数值为 注意 : 字母 e 或 E 之前 ( 即尾数部分 ) 必须是有数字的 e 或 E 后面的指数部分必须是整数 所有的实数型变量在声明时, 对其进行初始化方法如下 : float half = ; double dwsize = ; 由于 float 型的变量只能存储 4 个字节, 有效数字为 7 位 所以其中 half 中的最后一位小数是不起作用的, 即其值为 但如果是 double 型的, 则 dwsize 中是能够存储全部 这个数的 对于这一点, 读者只需要记住就行了, 不必细究 字符型数据 通常字符型数据变量是用来存储计算机中的字符的 例如 : A, #, z, 1 等 都是字符型的数据 在计算机中, 字符型变量并不是直接存储字符, 而是存储字符的 ASCII (American Standard Code for Information Interchange, 美国标准信息交换码 ) 码值 ASCII 码是目前计算机中用得最广泛的字符集及编码, 是由美国国家标准局 ( 即 ANSI) 制定的, 其已被国际标准化组织 (ISO) 定为国际标准, 称为 ISO 646 标准 适用于所有拉 丁文字字母 根据 ASCII 码标准, 数值 65 代表大写的 A, 而 97 则代表小写字母 a, 表 3.6 列出 了 ASCII 码表中前 128 个编码的十进制表示, 读者可以不必记住这些代码值, 但必须理解 每个 ASCII 码都与一个特定的数值相对应的这个概念,ASCII 码表如表 3.6 所示 表 3.6 ASCII 码表 十进制 符 号 十进制 符 号 十进制 符 号 十进制 符 号 0 NUT 13 CR 26 SUB 39, 1 SOH 14 SO 27 ESC 40 ( 2 STX 15 SI 28 FS 41 ) 3 ETX 16 DLE 29 GS 42 * 4 EOT 17 DCI 30 RS ENQ 18 DC2 31 US 44, 6 ACK 19 DC3 32 (space) 45-7 BEL 20 DC4 33! BS 21 NAK / 9 HT 22 SYN 35 # LF 23 TB 36 $ VT 24 CAN 37 % FF 25 EM 38 &

9 第 1 篇 游戏开发基础 续表 十进制 符 号 十进制 符 号 十进制 符 号 十进制 符 号 G 90 Z 109 m H 91 [ 110 n I 92 \ 111 o J 93 ] 112 p K 94 ^ 113 q L r 58 : 77 M s 59 ; 78 N 97 a 116 t 60 < 79 O 98 b 117 u 61 = 80 P 99 c 118 v 62 > 81 Q 100 d 119 w 63? 82 R 101 e 120 x 83 X 102 f 121 y 65 A 84 T 103 g 122 z 66 B 85 U 104 h 123 { 67 C 86 V 105 i D 87 W 106 j 125 } 69 E 88 X 107 k 126 ~ 70 F 89 Y 108 l 127 DEL 看一下这张表, 会发现其中有不少奇怪的字母组合, 这些字母组合的含义如表 3.7 所示 表 3.7 特殊字符的含义 NUL 空 VT 垂直制表 SYN 空转同步 SOH 标题开始 FF 走纸控制 ETB 信息组传送结束 STX 正文开始 CR 回车 CAN 作废 ETX 正文结束 SO 移位输出 EM 纸尽 EOY 传输结束 SI 移位输入 SUB 换置 ENQ 询问字符 DLE 空格 ESC 换码 ACK 承认 DC1 设备控制 1 FS 文字分隔符 BEL 报警 DC2 设备控制 2 GS 组分隔符 BS 退一格 DC3 设备控制 3 RS 记录分隔符 HT 横向列表 DC4 设备控制 4 US 单元分隔符 LF 换行 NAK 否定 DEL 删除 字符型在计算机中以 8 位进行存储, 其表示数值的范围为 127~ 128 在 C++ 中声明 一个字符型的变量, 使用关键字 char, 例如 : char no; char yes; // 声明一个字符型变量 no // 声明一个字符型变量 yes 44

10 char tmp; // 声明一个字符型变量 tmp 字符型的数据都是使用单引号引起来, 例如 Y 如果要在声明字符型变量时进行初始化, 其方法如下 char no='n'; // 声明字符变量 no, 并初始化为 N 在 C++ 中还有一些是由单引号引起来的, 但由多个字符所组成的特殊字符,C++ 把这 些特殊字符当作单一字符来处理, 称为转义字符 转义字符都具有特殊的功能, 如表 3.8 所示 表 3.8 转义字符 转义字符 说 明 \a 蜂鸣 \b 回退键 \f 换页 \n 换行 \r 回车换行 \t 水平制表 \v 垂直制表 \\ 反斜杠 \ 单引号 \ 双引号 \? 问号 \nnn 八进制位模式,nnn 是一个八进制数 \xnn 十六进制位模式,xnn 是一个十六进制数 前面在讲解整数型时, 知道分为 有符号 和 无符号 两种 其实字符型数据也是 如此 如果要声明一个无符号的字符型数据, 只需要在 char 关键字的前面加上 unsigned 关 键字, 其表示的数值范围就变为 255~0 例如: usigned char no; usigned char id; // 声明无符号字符型变量 no // 声明无符号字符型变量 id 现在再来了解另一种字符串型数据, 所谓字符串就是由 0 个或多个字符组成的有限序列 例如 abcde Hello 1234 这些都是字符串 字符串就相当于一个字符数组 注意 : 在表示单独字符的时候, 使用单引号, 而在表示字符串或多于一个字符的时候必须使用双引号 布尔型数据 布尔型数据即是逻辑型的简单数据值, 其只有包含两个值 :false( 假 ) 和 true( 真 ), 前者序号为 0, 后者序号为 1 在 C++ 中, 虽然布尔类型的数据量最少, 但用途却非常广泛, 其主要用于程序设计中的流程控制和逻辑判断 45

11 第 1 篇 游戏开发基础 声明一个布尔型的变量, 使用 bool 关键字, 例如 : bool bflg; bool bopen; bool bclose; // 声明一个布尔型变量 bflg // 声明一个布尔型变量 bopen // 声明一个布尔型变量 bclose 在声明布尔型的变量时, 也可以进行初始化, 其方法如下 bool no = false; // 在定义布尔型变量 no 时, 初始化为 false 注意 : 在 C++ 中, 只有 0 才能表示为假 其他任何数值代表布尔型变量时都表示真, 包括负数 总之, 在设计游戏需要的数据类型时, 应尽量满足游戏设计的要求 比如要计算有小数参与的运算, 就应该选择实数类型, 而不能选择整数型 而在没有小数参与的运算时, 就应该选择整数型 3.4 C++ 中的常量与变量 前面的数据类型一节中, 常常会提到 变量, 在本节将会对其进行详细的说明 不仅如此, 还将学习到另一个概念 常量 变量的定义 变量就是在内存中, 可以不断地被程序操作的 有名字的存储区 在代码中可以只使用一个变量, 也可以使用多个变量 在使用变量前, 必须先要创建一个变量 创建变量的 C++ 语句称为变量的声明, 在前面已经见过 其格式如下 : 变量数据类型变量名 ; int nlen; // 声明一个整数型的变量 nlen 也可以使用如下格式同时声明 n 个同类型的变量, 但要注意一定是同类型的才能如此 变量数据类型变量名 1, 变量名 2,, 变量名 n; int a,b,c; // 同时声明三个整数型变量 a,b,c 不同类型的变量不能在同一语句中进行声明, 下面的方式是错误的 例如 : int len,short count; // 在同一行声明不同类型变量, 这是错误的 通过前面的学习, 知道了 C++ 中的每一个变量都有特定的类型, 该类型决定了变量的内存大小和布局, 以及能够存储于该内存中的值的取值范围和可应用于该变量上的操作集 这样计算机就可以正确理解变量中的数据含义了 在前面的声明格式中看到的 变量名 就是变量的名字, 就像每个人都有自己的名字一样, 给变量起名的意义是为了区分不同的变量 在 C++ 中的变量名称是不能随便取的, 除了必须遵循标识符命名规则外, 还应该尽量遵循下面几条编程经验, 虽然不是必须遵循 46

12 的, 但为了方便对代码的阅读和理解, 在程序设计时应尽量采用 见名见意, 指当看到这个变量的名称时就能望名知意, 这样能便于读者阅读和进行程序设计 例如, 用 count 来作为计数器变量名, 用 len 作为长度变量名, 用 age 作为年龄变量名等 尽量不用汉语拼音 例如, 声明一个姓名变量, 应该使用 name 为变量名, 而不是用 xingming 作为变量名 命名不宜过长 用很长一串字符来命名会减慢编程的速度, 也会使阅读程序困难 不要用过长的名称来命名变量, 一般采用缩写来命名, 例如, 用 init 来表示初始化等 采用驼峰标记法和匈牙利标记法来命名变量 声明变量之后必须对其进行初始化才能使用, 否则会导致程序运算错误 对变量进行初始化后, 变量的值才会有效 变量名 = 初始值 ; 也可以在声明变量的时候进行初始化, 其格式如下 : 变量类型变量名 = 初始值 ; 要注意, 在变量初始化的时候, 设置的初始值一定要符合变量的数据类型 例如 : int npi = int ncount = 100 // 错误的初始化 // 正确的初始化 常量的定义 与变量相对的就是常量 变量的值可以在程序中随时而改变, 而常量的值是不能被改变的, 所以其被称为常量 比如在游戏设计中, 设置常常会把圆周率 π 设置为常量 其值就默认等于 在 C++ 中常量分为如下两种 : 文字常量, 例如整数 888 字母 b 等都是文学常量 自定义常量, 即自己声明的常量 自定义常量的声明格式与变量声明差不多, 只是在语句的最前面多了一个 const 关键字来说明这是一个常量 例如 : const 数据类型常量名 = 文字常量 ; const int MAX=1000; // 声明一个 int 型的常量 MAX, 其值为 1000 const double PI = f; // 声明一个 float 型的常量 常量必须在声明时进行初始化, 并且在除声明语句外, 在程序的任何地方不能再对其进行赋值 这是和变量不同的地方之一 声明一个单精度实型常量, 需要该文字常量的最后加上 F 或者 f; 如果要表示长双精度实型常量, 则要在该文字常量的最后加上 L 或者 l 例如: 1.05f; // 声明的是单精度实型常量 47

13 第 1 篇 游戏开发基础 1.75l // 声明的是长双精度实型常量 2.55F; // 因为采用了 F 说明, 所以是单精度常量 3.75L; // 因为采用了 L 说明, 所以是长双精度常量事实上, 只要在游戏程序中不需要改变的值, 都应用常量来表示 这样做可以提高程序稳定性和严谨性 3.5 C++ 中的运算符与表达式 除了变量和常量外, 在 C++ 中还有其自身支持的 操作变量的运算符和表达式 运算符是表示对数值进行一种运算的符号 其对操作数进行运算, 操作数可以是一个数值 变量或者常量 比如, 大家平时接触到的数学中的运算符 (+ ) 及比较运算符 (> < =) 等 这些在 C++ 中也是支持的 C++ 的运算符范围很广, 有带一个操作数的, 也有带两个操作数的 ; 有些是专用的, 而有些是由其他运算符派生出来的 ; 甚至有些是重载的 ( 将在后面的章节进行讲解 ) 所以很难找到一个程序能把所有的运算符都用上 表达式是与运算符对应的, 其代表的是由运算符和操作数组成的式子 由于运算符很丰富, 因此表达式的种类也很多 最简单的表达式是常量或者变量 在本章中, 笔者只列举出常用的几种简单的运算符和表达式 同时在示例代码中给出其使用方法 赋值运算符 在程序设计中最常用到的赋值运算符 C++ 规定赋值运算符为 =, 其作用是将一个数据赋值给一个变量, 类似于数学中的等于符号 如 num1=1 的作用是把字符常量 1 赋值给变量 num1 也可以将一个表达式的值赋值给一个变量, 由赋值运算符将一个变量和一个表达式连接起来的语句被称为 赋值表达式, 格式为 : 左值 = 表达式 ; 赋值运算符的操作过程如下 : (1) 计算右边表达式的值 (2) 把右边计算出来的值, 存放在左值之中 左值可以理解为变量或者声明语句中的自定义常量 例如 : a = 11; // 赋值给左值变量 a, 值为 11 const int A=10; // 赋值给左值常量 A, 值为 算术运算符 在 C++ 中支持的运算符如表 3.9 所示 48

14 表 3.9 算术运算符运算符说明例子 + 加法运算符, 或者表示正值 减法运算符, 或者表示负值 * 乘法运算符 7*2 / 除法运算符 9/3 % 取模运算符, 又称取余运算符 10%3 的结果是 1 算术运算符的计算方法同数学中的基本一致 不过要注意 : 当除号两边的数为整数型数据时, 其结果为整数 如 5/3 的结果值为 1, 舍去小数部分 但是如果除数或者被除数中有一个为负值, 则舍去的方向是不固定的 例如, 5/3 有的电脑上 1, 有的是 2 下面的例子说明了算术运算符的使用方法, 如代码 3.1 所示 代码参考 : 光盘的源代码 \C03\Demo1.dsp 代码 3.1 算术与赋值运算符示例 01 #include <windows.h> // 一个 Windows 应用程序应该包含的头文件 02 #include <stdio.h> // 标准输入输出流文件 03 LRESULT CALLBACK WinSunProc /* 声明一个回调函数 */ 04 ( 05 HWND hwnd, /* 窗口的句柄 */ 06 UINT umsg, /* 窗口的消息 */ 07 WPARAM wparam, 08 LPARAM lparam 09 ); 10 int WINAPI WinMain 11 ( 12 HINSTANCE hinstance, // 实例句柄, 当前应用程序的实例句柄 13 HINSTANCE hprevinstance, // 默认这个参数为 NULL 14 LPSTR lpcmdline, // 储存一个命令行参数 15 int ncmdshow) 16 { 17 WNDCLASS wndcls; // 定义一个窗口对象 18 wndcls.cbclsextra=0; // 指定额外内存空间 19 wndcls.cbwndextra=0; // 指定额外内存空间 20 // 指定窗口背景色 21 wndcls.hbrbackground=(hbrush)getstockobject(white_brush); 22 // 设置光标样式 23 wndcls.hcursor=loadcursor(null,idc_cross); 24 // 设置图标样式 25 wndcls.hicon=loadicon(null,idi_error); 26 wndcls.hinstance=hinstance; // 指定窗口实例句柄 27 wndcls.lpfnwndproc=winsunproc; // 指定窗口函数, 即窗口主处理函数 28 // 窗口类名称 29 wndcls.lpszclassname="visual C++ Game"; 30 wndcls.lpszmenuname=null; // 菜单 31 wndcls.style= CS_HREDRAW CS_VREDRAW; 32 RegisterClass(&wndcls); // 注册窗口类 33 HWND hwnd; // 声明窗口句柄 34 hwnd=createwindow /* 创建窗口, 但这里的窗口是不会显示的 */ 35 ( 36 "Visual C++ Game", /* 已注册窗口类的名称 */ 37 "Visual C++ 游戏开发 ", /* 窗口标题 */ 49

15 第 1 篇 游戏开发基础 WS_OVERLAPPEDWINDOW, /* 窗口风格 */ , /* 窗口位置的横坐标 */ , /* 窗口位置的纵坐标 */ , /* 窗口的宽度 */ , /* 窗口的高度 */ 43 NULL, 44 NULL, 45 hinstance, // 实例句柄 46 NULL); 47 // 在这里真正显示窗口 48 ShowWindow(hwnd,SW_SHOWNORMAL); 49 UpdateWindow(hwnd); // 更新显示 50 MSG msg; 51 while(getmessage(&msg,null,0,0)) 52 { 53 TranslateMessage(&msg); // 转换键盘消息 54 DispatchMessage(&msg); // 分派消息 55 } 56 return 0; 57 } 58 LRESULT CALLBACK WinSunProc( 59 HWND hwnd, /* 窗口句柄 */ 60 UINT umsg, /* 消息 */ 61 WPARAM wparam, /* 参数 1*/ 62 LPARAM lparam /* 参数 2*/ 63 ) 64 { 65 char tmsg[128] = {0}; 66 int num1, num2, num3, num4,num5; // 声明 5 个变量 67 num1 = 3+8; // 加法运算 68 num2 = 10-7; // 减法运算 69 num3 = 100*33; // 乘法运算 70 num4 = 155/5; // 除法运算 71 num5 = 9%2; // 取模运算 72 // 把运算符和结果输出到 tmsg 中 73 sprintf(tmsg, "3+8=%d 10-7=%d 100*33=%d 155/5=%d 9%%2=%d", 74 num1, num2, num3, num4, num5); 75 switch(umsg) /* 判断消息类型 */ 76 { 77 case WM_PAINT: /* 更新窗口消息 */ 78 HDC hdc; /* 定义 DC 设备 */ 79 PAINTSTRUCT ps; 80 hdc=beginpaint(hwnd,&ps); /* 得到设备 hdc*/ 81 TextOut(hDC,150,0,tmsg,strlen(tmsg)); 82 EndPaint(hwnd,&ps); 83 break; 84 case WM_CLOSE: /* 当单击 关闭 按钮时, 产生关闭消息 */ 85 if(idyes==messagebox(hwnd," 是否真的结束?"," 游戏开发 ",MB_ YESNO)) 86 { 87 DestroyWindow(hwnd); /* 单击 确定 按钮, 销毁窗口 */ 88 } 89 break; 90 case WM_DESTROY: /* 销毁窗口消息 */ 91 PostQuitMessage(0); /* 退出程序 */ 92 break;

16 93 default: 94 // 在 default: 处必须调用 DefWindowProc, 这是 Windows 内部默认的消息处 理函数 95 return DefWindowProc(hwnd,uMsg,wParam,lParam); 96 } 97 return 0; 98 } 代码解析 : 第 71 行, 是用 % 运算符来表示这是一个取模运算 其意思是用来得到除法运算后的余数, 即数学中的取余运算 其方法是先用 9 除以 2, 得到商是 4, 余数是 1, 再把商丢弃, 最后得到余数, 并保存到变量 num5 中 第 73 行是把变量的结果格式化输出到字符数组 tmsg 中, 格式化输出的方法是属于 C 语言的内容, 请参见相关书籍, 这里不再介绍 代码编译运行的结果如图 3.3 所示 图 3.3 赋值与算术运算符示例运行结果 在 C++ 中用算术运算符和括号将运算对象连接起来的 符合 C++ 语法规则的语句, 被称为算术表达式 运算对象包含常量 变量等 如代码 3.1 中的 num2*num1 num3/5, 以及 num3%2 这些语句都是算术表达式 自增与自减运算符 有两个特殊的运算符 ++ 和, 在 C++ 中被称为自增和自减运算符, 运算符 ++ 的作用是使变量的值增加 1 其表达式如下: a++; ++a; // 相当于 a=a+1 // 相当于 a=a+1 a++ 和 ++a 的作用相当于 a=a+1 都是将 a 的值加 1, 但也有些不同 因为 a++ 是先使用 a 的值, 再执行 a=a+1 而 ++a 是先执行 a=a+1, 然后使用 a 的值 如果使用另一个变量来存放运算结果, 这两种形式的不同就容易理解了 例如 : 现在假定 a 的初值是 30 int a=30; int b=a++; 上面的语句是先将 a 的值 30 赋值给 b, 然后 a 增加 1 最后的结果是变量 b 的值为 30, 而变量 a 的值为 31 如果把语句修改为: Int a=30; int b=++a; 上面的语句是先将 a 增加 1, 然后将 a 的新值 31 放在 b 中, 最后的变量结果是变量 b 的值为 31, 而变量 a 的值仍为 31 在这里, 把 ++a 念为 a 先加 而把 a++ 念为 a 后加 好了, 相信现在大家应该明 51

17 第 1 篇 游戏开发基础 白 ++ 的作用了吧, 其实另外一个运算符 正好和 ++ 的作用相反, 是将变量的值减少 1 但运算过程是一样的, 这里不再复述 自增 (++) 和自减 ( ) 运行符, 只能用于变量, 而不能用于常量或者表达式, 如 10++ 或者 (a*c)++ 都是不合法的 因为 10 是常量, 常量的值不能被改变 而 (a*c)++ 是一个表达式, 相加之后的结果没有变量可供存放 复合运算符 复合运算符是对赋值运算符的扩展, 其是在 = 赋值符之前加上其他运算符, 就构成了复合运算符 使用复合运算符可以简化程序, 使程序看上去精练, 提高代码的编译效率 其表达式格式如下 : 变量运算符 = 表达式 ; 例如 : b+=4; b-=4; // 等价于 b=b+4 // 等价于 b=b-2 以 b+=4 为例来说明, 其相当于先使变量 b 加 4, 然后再重新赋值给变量 b 同理, b =4 是先使变量 b 减 4, 然后再赋值给变量 b 为了便于记忆, 读者也可以这样理解 : (1)a+=b, 其中 a 为变量, 而 b 为表达式 (2) 把 a+ 移动到 = 的右侧, 变成 =a+b (3) 在 = 的左边补上变量名, 变成 a=a+b 即变成如下格式 : 变量 = 变量运算符表达式 如果表达式是由几个表达式组成的, 则相当于该表达式是有括号的 例如 : a*=3*(2+3) =a*(3*(2+3)) a=a*(3*(2+3)), 不要写成 a=a*3*(2+3) 凡是只有两个操作数的运算符, 都可以与赋值运算符组成复合运算符 在 C++ 中规定了如下所示两类共 10 种复合运算符 算术类 :+= = *= /= %= 位运算类 :<<= >>= &= ^= = 位运算符 在计算机内所有的数据, 总是用 0 和 1 的组合进行存储的, 也就是二进制 而 8 个二进制位构成一个字节, 两个字节构成一个字, 也就是 16 位 有时按位来操作数据是很必要的, 程序员可以通过改变存储在位 字节或者字中的 0 和 1 来改变它的值, 这也就是位操作的由来 其表达式如下 : 52

18 变量位运算符变量或者常量 1. 左位移运算符 (<<) 左位移运算符是将一个字中的数据位左移指定的位数 左移位一次相当于对当前这个数值每次乘 2 其实现的方法如下: (1) 在 32 位计算机中,7 被表示为 (2) 左移 4 位, 变成 (3) 空位用 0 来填充, 变成 (4) 这个二进制数的数值正好是 右位移运算符 (>>) 右位移运算符刚好和左位移相反, 它是将一个字中的数据位右移指定的位数 实现方法如下 : (1) 在 32 位计算机中,128 被表示为 (2) 右移 2 位, 变成 (3) 空位用 0 来填充, 变成 (4) 这个二进制数的数值正好是 16 不过要注意, 在右移位时, 只有移位的变量是正数时, 才会用 0 作为填充位, 而如果变量是负数的话, 右移位的结果是无法预料的, 左移位无此限制 右移位一次相当于对当前数值每次除 2 3. 按位与运算符 (&) 按位与运算符 (&) 是用来得到两个整数操作数的逻辑乘积 当被 与 的两位是 1 时结果是 1, 否则结果为 0, 如表 3.10 所示 表 3.10 按位与示例表操作位 1 操作位 2 结果 现在设定 n 的初值为 250,m 的初值为 86 那么这两个数进行按位与运算后, 其结果如表 3.11 所示 表 3.11 按位与运算结果数值说明 二进制 二进制 对齐后, 根据表 5.2 方法竖式运算, 结果为 82 53

19 第 1 篇 游戏开发基础 4. 按位或运算符 ( ) 按位或运算符 ( ) 是用来得到两个整数操作数的逻辑和 当被 或 的两位是 0 时结 果是 0, 否则结果为 1, 如表 3.12 所示 表 3.12 按位或示例表 操作位 1 操作位 2 结 果 现在设定 n 的初值为 250,m 的初值为 86, 进行按位或运算过程和结果如表 3.13 所示 表 3.13 按位或运算结果 数 值 说 明 二进制 二进制 对齐后, 根据表 5.4 方法竖式运算, 结果为 按位异或运算符 (^) 按位异或运算符 (^) 是用来得到两位操作数之间的异或结果的, 其示例见表 3.14 表 3.14 按位异或示例表 操作位 1 操作位 2 结 果 现在设定 n 的初值为 250,m 的初值为 86, 进行按位异或运算过程和结果如表 3.15 所示 表 3.15 按位异或运算结果 数 值 说 明 二进制 二进制 对齐后, 根据表 5.4 方法竖式运算, 结果为 关系运算符 关系运算符与数学的比较运算符的运算方法相同, 但标记格式不同 C++ 提供了 6 种 54

20 关系运算符, 如表 3.16 所示 表 3.16 关系运算符运算符说明例子 < 小于 a<10 <= 小于等于 a<=10 > 大于 b>10 >= 大于等于 b>=200 == 等于 a==b!= 不等于 a!=b 用关系运算符将两个表达式连接起来的式子, 称为关系表达式, 例如 : a>b //a 大于 b a+b<b+c //a+b 小于 b+c (a=30)<(b=50) // 变量 a 的值 30 小于变量 b 的值 50 b==a // 变量 b 和变量 a 相等 所有关系表达式的值是一个布尔值, 即 真 (1) 或者 假 (0) 例如, 关系表达式 5==3 的值为 假, 而 5>3 的值为 真 3.6 C++ 中的控制语句 一个结构化程序设计需要 3 种基本结构 : 连续结构 选择结构和循环结构 在 C++ 中这 3 种结构分别对应基本语句 条件选择语句和循环语句 掌握好这 3 种语句的使用, 对于程序设计是非常重要的 和其他高级语言一样,C++ 的语句也是用来向计算机系统发出操作指令的 这就好像操练时的 向左转 向右转 稍息 立正 等一系列口令 ( 即语句 ) 有了这些口令大家才能走出整齐的队列 基本语句 一条基本语句经过编译后, 将产生几条机器指令 为实现特定功能的程序一般又包含若干条基本语句 通常把 C++ 的基本语句分为如下两种 1. 简单的基础语句在一个 C++ 程序中有许多表达式 有由算术运算符组成的算术表达式 由赋值运算符组成的赋值表达式 由位运算符组成的位运算表达式等 例如 : x=x+4 x=7*y y=4,x=3,n/55 x++,y-- x y +n^m // 算术表达式 // 赋值表达式 // 位运算表达式 55

Microsoft Word - 最新正文.doc

Microsoft Word - 最新正文.doc 9 21 1.1.1 1.1.2 1 2 2 Windows 7+Office 2010 3 4 5 6 4 7 1.1.3 5 1.1.4 1 3 2 NII 1993 3 CNNIC 2014 1 16 33 1 2013 12 6.18 5358 45.8% 2012 3.7 2 2013 12 5 19.1% 2012 74.5% 81.0% 2013 3G 2013 12 2.47 2012

More information

第4章 信源及压缩编码

第4章  信源及压缩编码 第 4 章 信 源 及 压 缩 编 码 4. 概 述 4.2 语 音 信 号 的 特 征 4.3 语 音 编 码 4.4 图 像 信 号 的 特 征 4.5 图 像 压 缩 编 码 4.6 数 据 信 号 编 码 4. 概 述 现 代 通 信 系 统 的 一 个 重 要 标 志 是 信 源 信 号 传 输 系 统 交 换 系 统 和 信 号 处 理 等 诸 环 节 实 现 了 数 字 化 而 语 言

More information

《计算机应用基础》学习材料(讲义)

《计算机应用基础》学习材料(讲义) 计 算 机 应 用 基 础 学 习 材 料 ( 讲 义 ) Fundamentals of Computer Application 2014-3-22 JIANGSU OPEN UNIVERSITY 第 二 学 习 周 计 算 机 基 础 知 识 ( 一 ) 导 学 在 本 学 习 周, 我 们 主 要 的 任 务 是 认 识 计 算 机 你 将 知 道 计 算 机 是 什 么 时 候 产 生 的,

More information

没有幻灯片标题

没有幻灯片标题 第 2 章 C 语言的基本数据类型与表达 式 2. 1 C 语言的语法基础 2. 2 C 语言的基本数据类型 2. 3 常量和变量 2. 4 运算符与表达式 2. 5 数据类型转换 用 第 2 章 C 语言的基本数据类型与表达 2.1 C 语言的语法基础 2. 1. 1 C 语言字符集 式 C 语言的基本符号可分 4 个类, 归纳如下 : (1) 英文字母 : 大小写各 26 个, 共计 52 个

More information

目 录 1 正 文 乊 前... 5 1.1 目 癿... 5 1.2 本 文 内 容... 5 1.3 声 明... 5 2 字 符 编 码 相 兰 癿 背 景 知 识... 6 2.1 拉 丁 字 母... 6 2.2 什 么 是 字 符 编 码... 6 3 字 符 编 码 标 准... 8

目 录 1 正 文 乊 前... 5 1.1 目 癿... 5 1.2 本 文 内 容... 5 1.3 声 明... 5 2 字 符 编 码 相 兰 癿 背 景 知 识... 6 2.1 拉 丁 字 母... 6 2.2 什 么 是 字 符 编 码... 6 3 字 符 编 码 标 准... 8 关 键 字 字 符 编 码 详 解 版 本 : 1.0 作 者 : crifan 邮 箱 : green-waste (at)163.com 字 符 编 码,ASCII,ISO 8859,ISO 10646,UCS,Unicode,UTF-8 版 本 版 本 日 期 内 容 更 新 1.0 2011-11-02 添 加 了 编 码 相 兰 背 景 知 识 仃 绉 添 加 了 ASCII 和 EASCII

More information

PT-18R PT-18R () PT-18R (CCC)

PT-18R PT-18R () PT-18R (CCC) PT-18R PT-18R PT-18R () PT-18R (CCC) PT-18R Pb Hg Cd CrVI PBB PBDE SJ/T11363-2006 SJ/T11363-2006 1 ( PT-18R ) (+)(-) (+)(-) ( PT-18R ) AC AC AC AC AC AC 2 ( ) AC AC ( PT-18R ) ( PT-18R ) AC AC AC 3 TZ

More information

第 3 章 数 据 在 计 算 机 中 的 表 示 43 在 进 位 计 数 制 中 有 数 码 数 位 ( 位 置 ) 基 数 和 位 权 等 用 语 数 码 是 在 一 个 计 数 制 中 用 来 表 示 数 值 的 符 号 ; 数 位 是 指 数 码 在 一 个 数 中 所 处 的 位 置 ;

第 3 章 数 据 在 计 算 机 中 的 表 示 43 在 进 位 计 数 制 中 有 数 码 数 位 ( 位 置 ) 基 数 和 位 权 等 用 语 数 码 是 在 一 个 计 数 制 中 用 来 表 示 数 值 的 符 号 ; 数 位 是 指 数 码 在 一 个 数 中 所 处 的 位 置 ; 第 3 章 数 据 在 计 算 机 中 的 表 示 3.1 数 据 与 数 制 计 算 机 中 使 用 的 数 据 一 般 可 以 分 为 两 大 类 : 数 值 数 据 和 字 符 数 据 数 值 数 据 常 用 于 表 示 数 的 大 小 与 正 负 ; 字 符 数 据 则 用 于 表 示 非 数 值 的 信 息, 例 如 : 英 文 汉 字 图 形 和 语 音 等 数 据 数 据 在 计 算

More information

C++ 程序设计 告别 OJ1 - 参考答案 MASTER 2019 年 5 月 3 日 1

C++ 程序设计 告别 OJ1 - 参考答案 MASTER 2019 年 5 月 3 日 1 C++ 程序设计 告别 OJ1 - 参考答案 MASTER 2019 年 月 3 日 1 1 INPUTOUTPUT 1 InputOutput 题目描述 用 cin 输入你的姓名 ( 没有空格 ) 和年龄 ( 整数 ), 并用 cout 输出 输入输出符合以下范例 输入 master 999 输出 I am master, 999 years old. 注意 "," 后面有一个空格,"." 结束,

More information

OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数

OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数 复习 类的复用 组合 (composition): has-a 关系 class MyType { public int i; public double d; public char c; public void set(double

More information

Microsoft PowerPoint - 03.Fortran程序设计基础1

Microsoft PowerPoint - 03.Fortran程序设计基础1 简单 Fortran 90 程序的构造形式 : 第二讲 Fortran 程序设计基础 (2) [PROGRAM 程序名 ] [ 声明语句 ] [ 执行语句 ] END [PROGRAM [ 程序名 ]] 程序的书写 (P5) PROGRAM MONEY!calculate balance after interest compounded! 根据利息计算余额 REAL BALANCE, INTEREST,

More information

PowerPoint 演示文稿

PowerPoint 演示文稿 计算概论 A 课程程序设计部分 C++ 语言基本成分 数据成分 李戈 北京大学信息科学技术学院软件研究所 lige@sei.pku.edu.cn 再谈, 我们的进度安排 我们的学习过程 感性理性函数指针等 数据成分运算成分控制成分数组字符串 结构化的程序递归 传统学习过程 数据类型与表达式 输入输出 关系运算 控制语句 函数数组指针结构体 作业练习 感性认识作业练习 ( 以抄程序为主 ) 正常作业练习

More information

LF 打印并走一行

LF 打印并走一行 POS 1 HT 5 LF 4 FF 4 CR 4 NAK 22 CAN 8 DLE EOT 12 ESC FF 4 ESC DC2 11 ESC SP 8 ESC 8 ESC $ 6 ESC % 8 ESC & 9 ESC * 15 ESC - / 10 ESC 2 5 ESC 3 5 ESC 10 ESC @ 19 ESC D 5 ESC E / 10 ESC F 8 ESC G / 10 ESC

More information

FY.DOC

FY.DOC 高 职 高 专 21 世 纪 规 划 教 材 C++ 程 序 设 计 邓 振 杰 主 编 贾 振 华 孟 庆 敏 副 主 编 人 民 邮 电 出 版 社 内 容 提 要 本 书 系 统 地 介 绍 C++ 语 言 的 基 本 概 念 基 本 语 法 和 编 程 方 法, 深 入 浅 出 地 讲 述 C++ 语 言 面 向 对 象 的 重 要 特 征 : 类 和 对 象 抽 象 封 装 继 承 等 主

More information

CC213

CC213 : (Ken-Yi Lee), E-mail: feis.tw@gmail.com 49 [P.51] C/C++ [P.52] [P.53] [P.55] (int) [P.57] (float/double) [P.58] printf scanf [P.59] [P.61] ( / ) [P.62] (char) [P.65] : +-*/% [P.67] : = [P.68] : ,

More information

Microsoft PowerPoint - 5. 指针Pointers.ppt [兼容模式]

Microsoft PowerPoint - 5. 指针Pointers.ppt [兼容模式] 指针 Pointers 变量指针与指针变量 Pointer of a variable 变量与内存 (Variables and Memory) 当你声明一个变量时, 计算机将给该变量一个内存, 可以存储变量的值 当你使用变量时, 计算机将做两步操作 : - 根据变量名查找其对应的地址 ; - 通过地址对该地址的变量内容进行读 (retrieve) 或写 (set) 变量的地址称为变量的指针! C++

More information

任务 3 加法运算练习游戏 019 这就需要用到 C# 语言的基础语法, 如数据类型 运算符和控制语句, 还需要其他的常用控件 在此任务的完成过程中, 读者可以接触到 C# 的数据类型 变量常量 运算符 控制语句等基础语法, 掌握以上知识点及其在软件开发中的应用 3.2 相关知识 预定义

任务 3 加法运算练习游戏 019 这就需要用到 C# 语言的基础语法, 如数据类型 运算符和控制语句, 还需要其他的常用控件 在此任务的完成过程中, 读者可以接触到 C# 的数据类型 变量常量 运算符 控制语句等基础语法, 掌握以上知识点及其在软件开发中的应用 3.2 相关知识 预定义 任务 3 加法运算练习游戏 3.1 情境描述 选择了开发环境并理解了事件驱动机制以后, 要开发项目, 还需掌握 C# 语言的语法 本任务的目标是完成如图 3.1 和图 3.2 所示的小学生加法运算练习游戏 这个小软件的功能是在窗体中的 + 两边出现 2 个 10 以内的随机数, 让用户 ( 适合于小学生 ) 在文本框内输入其和, 然后单击 OK 按钮 若输入的和是正确的, 则跳出一个红色的图片, 同时提示答对了,

More information

untitled

untitled 1 Outline 數 料 數 數 列 亂數 練 數 數 數 來 數 數 來 數 料 利 料 來 數 A-Z a-z _ () 不 數 0-9 數 不 數 SCHOOL School school 數 讀 school_name schoolname 易 不 C# my name 7_eleven B&Q new C# (1) public protected private params override

More information

SuperMap 系列产品介绍

SuperMap 系列产品介绍 wuzhihong@scu.edu.cn 3 / 1 / 16 / John M. Yarbrough: Digital Logic Applications and Design + + 30% 70% 1 CHAPTER 1 Digital Concepts and Number Systems 1.1 Digital and Analog: Basic Concepts P1 1.1 1.1

More information

OOP with Java 通知 Project 2 提交时间 : 3 月 14 日晚 9 点 另一名助教 : 王桢 学习使用文本编辑器 学习使用 cmd: Power shell 阅读参考资料

OOP with Java 通知 Project 2 提交时间 : 3 月 14 日晚 9 点 另一名助教 : 王桢   学习使用文本编辑器 学习使用 cmd: Power shell 阅读参考资料 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 2 提交时间 : 3 月 14 日晚 9 点 另一名助教 : 王桢 Email: 51141201063@ecnu.cn 学习使用文本编辑器 学习使用 cmd: Power shell 阅读参考资料 OOP with Java Java 类型 引用 不可变类型 对象存储位置 作用域 OOP

More information

PowerPoint 演示文稿

PowerPoint 演示文稿 Python 入门 孙栩 xusun@pku.edu.cn 1 课程的整体介绍 目录 contents 2 Python 的介绍及如何安装 Python 3 使用 Python 编写简单小程序 1 课程的整体介绍 课程的整体介绍 Python 入门 1. Python 的介绍与安装 2. 变量与表达式 3. 一些简单的小程序 数据结构 1. 字符串 2. 列表 3. 元组 4. 字典 5. 集合 分支与循环

More information

Microsoft Word - 正文.doc

Microsoft Word - 正文.doc 第 2 章 Java 语言基础 通过本章的实践, 要掌握 Java 中的标识符 关键字 常量, 熟练掌握算术 关 系 逻辑 条件 赋值 位运算符的使用, 掌握简单顺序结构的程序设计 2.1 典型习题解答 2.1 Java 中怎样进行注释? 解答 Java 语言中的注释有 3 种形式 : (1) 单行 : // (2) 多行 : /* */ (3) 文档注释 : /** */ 第三种形式是第二种形式的变形,

More information

计算概论A B03 C++语言的基本成分 - 运算成分(2)

计算概论A B03 C++语言的基本成分 - 运算成分(2) 计算概论 A 程序设计部分 C 语言的构成成分 运算成分 李戈 北京大学信息科学技术学院软件研究所 lige@sei.pku.edu.cn C 语言中的运算符 C 语言的运算符范围很宽 求字节数运算符 : sizeof 下标运算符 [ ] 赋值运算符 = 算术运算符 + - * / % 关系运算符 < > == >= > ~

More information

设计模式 Design Patterns

设计模式 Design Patterns 丁勇 Email:18442056@QQ.com 学习目标 描述 JSP 表达式语言的语法 认识使用 JSP 表达式的优点 在 JSP 中使用表达式语言 表达式语言简介 5 1 EL 为表达式语言 由两个组开发 JSP 标准标签库专家组 JSP 2.0 专家组 JSP 表达式语言的语法 ${EL Expression} JSP EL 表达式用于以下情形 静态文本 标准标签和自定义标签 表达式语言简介

More information

Microsoft PowerPoint - 07 派生数据类型

Microsoft PowerPoint - 07 派生数据类型 能源与动力工程学院 目录 派生类型 陈 斌 固有数据类型 数值型 (numerical) 整型 INTEGER 实型 REAL 复数型 COMPLEX 非数值型 字符型 CHARACTER 逻辑型 ( 布尔型 )LOGICAL 自定义数据类型 ( 派生类型, derived type) 派生类型是指用户利用 Fortran 系统内部类型, 如整型 实型 复数型 逻辑型 字符型等的组合自行创建出一个新的数据类型,

More information

C/C++语言 - C/C++数据

C/C++语言 - C/C++数据 C/C++ C/C++ Table of contents 1. 2. 3. 4. char 5. 1 C = 5 (F 32). 9 F C 2 1 // fal2cel. c: Convert Fah temperature to Cel temperature 2 # include < stdio.h> 3 int main ( void ) 4 { 5 float fah, cel ;

More information

帝国CMS下在PHP文件中调用数据库类执行SQL语句实例

帝国CMS下在PHP文件中调用数据库类执行SQL语句实例 帝国 CMS 下在 PHP 文件中调用数据库类执行 SQL 语句实例 这篇文章主要介绍了帝国 CMS 下在 PHP 文件中调用数据库类执行 SQL 语句实例, 本文还详细介绍了帝国 CMS 数据库类中的一些常用方法, 需要的朋友可以参考下 例 1: 连接 MYSQL 数据库例子 (a.php)

More information

1 Project New Project 1 2 Windows 1 3 N C test Windows uv2 KEIL uvision2 1 2 New Project Ateml AT89C AT89C51 3 KEIL Demo C C File

1 Project New Project 1 2 Windows 1 3 N C test Windows uv2 KEIL uvision2 1 2 New Project Ateml AT89C AT89C51 3 KEIL Demo C C File 51 C 51 51 C C C C C C * 2003-3-30 pnzwzw@163.com C C C C KEIL uvision2 MCS51 PLM C VC++ 51 KEIL51 KEIL51 KEIL51 KEIL 2K DEMO C KEIL KEIL51 P 1 1 1 1-1 - 1 Project New Project 1 2 Windows 1 3 N C test

More information

USSD DTMF 14,400 bits/s group3 class 1&2 GPRS for 900/1800/1900 AT 44pin - - 3V SIM SIM RS-232 : - AT (GSM and 07.05) ,20

USSD DTMF 14,400 bits/s group3 class 1&2 GPRS for 900/1800/1900 AT 44pin - - 3V SIM SIM RS-232 : - AT (GSM and 07.05) ,20 GSM BENQ M22 M22 GSM GSM900/DCS1800/PCS1900 ETSI GSM Phase 2+ 4 2W @ 900MHz 1 1W @ 1800/1900MHz 3V SIM 3.2V~4.2VDC 1.5A 230 260 6 GPRS 250 55.5 40 5.95 mm 13g MT&MO SIM SIM 1 USSD DTMF 14,400 bits/s group3

More information

Microsoft Word - ZPLII中文编程说明.doc

Microsoft Word - ZPLII中文编程说明.doc ZPLII 缩 放 点 阵 字 体 = / = 0CG Triumvirate Bold Condensed) A-Z0-9EPROM ^CW A-Z0-9 = ^FW ^FW N = Normal) R = 90 Roated) I = 180 Inverted) B = 270 (Bottom) = : 15 ^CF 10-1500 2-10 = : 12 ^CV 0 10-1500 2-10

More information

Microsoft Word - 把时间当作朋友(2011第3版)3.0.b.06.doc

Microsoft Word - 把时间当作朋友(2011第3版)3.0.b.06.doc 2 5 8 11 0 13 1. 13 2. 15 3. 18 1 23 1. 23 2. 26 3. 28 2 36 1. 36 2. 39 3. 42 4. 44 5. 49 6. 51 3 57 1. 57 2. 60 3. 64 4. 66 5. 70 6. 75 7. 83 8. 85 9. 88 10. 98 11. 103 12. 108 13. 112 4 115 1. 115 2.

More information

OOP with Java 通知 Project 4: 4 月 19 日晚 9 点

OOP with Java 通知 Project 4: 4 月 19 日晚 9 点 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 4: 4 月 19 日晚 9 点 复习 类的复用 组合 (composition): has-a 关系 class MyType { public int i; public double d; public char c; public void set(double x) { d

More information

Microsoft PowerPoint - 8. 运算符重载 Operator Overloading.pptx

Microsoft PowerPoint - 8. 运算符重载 Operator Overloading.pptx 运算符重载 Operator Overloading class Point { public: ; double x_, y_; Why Operator Overloading? Point (double x =0, double y = 0):x_(x),y_(y) { int main(){ Point a(1., 2), b(3,4); Point c = a + b; return 0;

More information

C/C++ - 文件IO

C/C++ - 文件IO C/C++ IO Table of contents 1. 2. 3. 4. 1 C ASCII ASCII ASCII 2 10000 00100111 00010000 31H, 30H, 30H, 30H, 30H 1, 0, 0, 0, 0 ASCII 3 4 5 UNIX ANSI C 5 FILE FILE 6 stdio.h typedef struct { int level ;

More information

int *p int a 0x00C7 0x00C7 0x00C int I[2], *pi = &I[0]; pi++; char C[2], *pc = &C[0]; pc++; float F[2], *pf = &F[0]; pf++;

int *p int a 0x00C7 0x00C7 0x00C int I[2], *pi = &I[0]; pi++; char C[2], *pc = &C[0]; pc++; float F[2], *pf = &F[0]; pf++; Memory & Pointer trio@seu.edu.cn 2.1 2.1.1 1 int *p int a 0x00C7 0x00C7 0x00C7 2.1.2 2 int I[2], *pi = &I[0]; pi++; char C[2], *pc = &C[0]; pc++; float F[2], *pf = &F[0]; pf++; 2.1.3 1. 2. 3. 3 int A,

More information

. (A) (B) (C) A (D) (E). (A)(B)(C)(D)(E) A

. (A) (B) (C) A (D) (E). (A)(B)(C)(D)(E) A . () () () () () (A) (B) (C) B (D) (E). (A) (B) (C) E (D) (E) (A) (B) (C) (D). () () () () E (A) (B) (C) (D) (E). C (A) (B) (C) (D) (E). (A) (B) (C) (D) D (E). () - () - () - () - () - D (A) (B) (C) (D)

More information

数据结构

数据结构 信息管理与信息系统专业 第 3 章变量与表达式 任课教师 : 吕雅丽 本章内容 3.1 C# 基本数据类型 3.2 常量与变量 3.3 创建并使用枚举类型 3.4 运算符与表达式类型 3.5 运算符的优先级与结合性 2 3.1 C# 基本数据类型 3.1.1 数值类型 1. 整数类型 整数类型又有有符号整数与无符号整数 有符号整数可以带正负号, 无符号整数不需带正负号, 默认为正数 有符号整数包括

More information

Microsoft PowerPoint - 4. 数组和字符串Arrays and Strings.ppt [兼容模式]

Microsoft PowerPoint - 4. 数组和字符串Arrays and Strings.ppt [兼容模式] Arrays and Strings 存储同类型的多个元素 Store multi elements of the same type 数组 (array) 存储固定数目的同类型元素 如整型数组存储的是一组整数, 字符数组存储的是一组字符 数组的大小称为数组的尺度 (dimension). 定义格式 : type arrayname[dimension]; 如声明 4 个元素的整型数组 :intarr[4];

More information

Generated by Unregistered Batch DOC TO PDF Converter , please register! 浙江大学 C 程序设计及实验 试题卷 学年春季学期考试时间 : 2003 年 6 月 20 日上午 8:3

Generated by Unregistered Batch DOC TO PDF Converter , please register! 浙江大学 C 程序设计及实验 试题卷 学年春季学期考试时间 : 2003 年 6 月 20 日上午 8:3 浙江大学 C 程序设计及实验 试题卷 2002-2003 学年春季学期考试时间 : 2003 年 6 月 20 日上午 8:30-10:30 注意 : 答题内容必须写在答题卷上, 写在本试题卷上无效 一. 单项选择题 ( 每题 1 分, 共 10 分 ) 1. 下列运算符中, 优先级最低的是 A.

More information

《计算概论》课程 第十九讲 C 程序设计语言应用

《计算概论》课程 第十九讲  C 程序设计语言应用 计算概论 A 程序设计部分 字符数组与字符串 李戈 北京大学信息科学技术学院软件研究所 lige@sei.pku.edu.cn 字符数组的定义 #include int main() char a[10] = 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j' ; for (int i = 0; i < 10; i++) cout

More information

第3章 Java语言基础

第3章 Java语言基础 第 3 章 Java 语言基础 第 1/55 页 习题 3 3. 8. 9. 13. 18. 实验 : 1. 实验 4( 实 P11~12) 2. 实验任务 : 1 例 3.1( 教 P30) 2 变量赋值 ( 教 P29) 3 编写两个缓冲区对应同一个输入流对象, 并键盘输入整型 a 和双精度 b, 求和 第 2/55 页 习题 3 3. 实验任务 : 1 实验 5( 实 P12~13) 2 实验

More information

ch02_Basic

ch02_Basic 主要内容 C++ 语言概述 C++ 的发展 C++ 源程序结构与书写规范 C++ 编译器和集成开发环境 C++ 编程基础 数据的简单输入输出 2 C++ 语言概述 C++ 语言概述 C++ 的发展 - C++ 是从 C 语言发展演变而来, 可以看成是 C 的超集 - 1980 年由 Bjarne Stroustrup 开发创建 - 1983 年正式取名为 C++,1989 年开始 C++ 的标准化工作

More information

C C

C C C C 2017 3 8 1. 2. 3. 4. char 5. 2/101 C 1. 3/101 C C = 5 (F 32). 9 F C 4/101 C 1 // fal2cel.c: Convert Fah temperature to Cel temperature 2 #include 3 int main(void) 4 { 5 float fah, cel; 6 printf("please

More information

新版 明解C++入門編

新版 明解C++入門編 511!... 43, 85!=... 42 "... 118 " "... 337 " "... 8, 290 #... 71 #... 413 #define... 128, 236, 413 #endif... 412 #ifndef... 412 #if... 412 #include... 6, 337 #undef... 413 %... 23, 27 %=... 97 &... 243,

More information

运算符重载 为什么要 运算符重载 那些运算符可以重载, 哪些不可以 如何实现运算符重载 实现方式 : 成员函数与非成员函数 类型转换 怎样实现对象与基本数据类型数据的运算 2

运算符重载 为什么要 运算符重载 那些运算符可以重载, 哪些不可以 如何实现运算符重载 实现方式 : 成员函数与非成员函数 类型转换 怎样实现对象与基本数据类型数据的运算 2 第十一讲 运算符重载 与类型转换 运算符重载 为什么要 运算符重载 那些运算符可以重载, 哪些不可以 如何实现运算符重载 实现方式 : 成员函数与非成员函数 类型转换 怎样实现对象与基本数据类型数据的运算 2 为什么要运算符重载 预定义的运算符只针对基本数据类型, 若要对类的对象进行类似的运算, 需要重新定义运算符的功能 运算符重载实质就是函数重载 : 对已有的运算符赋予多重含义, 使得同一个运算符作用于不同类型的数据时导致不同的行为

More information

PowerPoint 演示文稿

PowerPoint 演示文稿 第二讲 C++ 编程基础 主要内容 C++ 语言概述 C++ 的发展 C++ 源程序结构与书写规范 C++ 编译器和集成开发环境 C++ 编程基础 数据的简单输入输出 2 C++ 语言概述 C++ 的发展 - C++ 是从 C 语言发展演变而来, 可以看成是 C 的超集 - 1980 年由 Bjarne Stroustrup 开发创建 - 1983 年正式取名为 C++,1989 年开始 C++ 的标准化工作

More information

chap07.key

chap07.key #include void two(); void three(); int main() printf("i'm in main.\n"); two(); return 0; void two() printf("i'm in two.\n"); three(); void three() printf("i'm in three.\n"); void, int 标识符逗号分隔,

More information

Microsoft Word - 《C语言开发入门》课程教学大纲-2.doc

Microsoft Word - 《C语言开发入门》课程教学大纲-2.doc C 语言开发入门 课程教学大纲 ( 课程英文名称 ) 课程编号 :201409210011 学分 :5 学分学时 :60 学时 ( 其中 : 讲课学时 :37 学时上机学时 :23 学时 ) 先修课程 : 计算机导论后续课程 :C++ 程序设计适用专业 : 信息及其计算机相关专业开课部门 : 计算机系 一 课程的性质与目标 C 语言开发入门 是计算机各专业必修的基础课程, 是数据结构 C++ Java

More information

概述

概述 OPC Version 1.6 build 0910 KOSRDK Knight OPC Server Rapid Development Toolkits Knight Workgroup, eehoo Technology 2002-9 OPC 1...4 2 API...5 2.1...5 2.2...5 2.2.1 KOS_Init...5 2.2.2 KOS_InitB...5 2.2.3

More information

JAVA 单元 2.1 四则运算机 ( 一 ) 单元教学进度设计 教学环节 教学内容 教师学生活动活动 反馈 反馈课前作业完成情况 反馈加分 1. 下面哪些是合法的变量名? ( ) A.2variable 答案 :DEG B..variable2 解答 : C.._whatavariable A:/

JAVA 单元 2.1 四则运算机 ( 一 ) 单元教学进度设计 教学环节 教学内容 教师学生活动活动 反馈 反馈课前作业完成情况 反馈加分 1. 下面哪些是合法的变量名? ( ) A.2variable 答案 :DEG B..variable2 解答 : C.._whatavariable A:/ 单元 2.1 四则运算机 ( 一 ) 单元教学进度设计 教学环节 教学内容 教师学生活动活动 反馈 反馈课前作业完成情况 反馈加分 1. 下面哪些是合法的变量名? ( ) A.2variable 答案 :DEG B..variable2 解答 : C.._whatavariable A:// 不能以数字开头 D._3_ B:// 不能用点和空格 提问 抢答 E.$anothervar C: // 不能用点和空格

More information

OOP with Java 通知 : Project 2 提交时间 : 3 月 14 日晚 9 点 另一名助教 : 王桢

OOP with Java 通知 : Project 2 提交时间 : 3 月 14 日晚 9 点 另一名助教 : 王桢 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 : Project 2 提交时间 : 3 月 14 日晚 9 点 另一名助教 : 王桢 Email: 51141201063@ecnu.cn 复习 : Java 类型 基本类型 boolean, char, 封装 (wrappers) 类 (class) 定义 class MyType { int i;

More information

OOP with Java 通知 : Project 2 提交时间 : 3 月 15 日晚 9 点

OOP with Java 通知 : Project 2 提交时间 : 3 月 15 日晚 9 点 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 : Project 2 提交时间 : 3 月 15 日晚 9 点 复习 : Java 类型 基本类型 boolean, char, 封装 (wrappers) 类 (class) 定义 class MyType { int i; double d; 数据 (Fields) char c; void set(double

More information

2015年计算机二级(C语言)模拟试题及答案(三)

2015年计算机二级(C语言)模拟试题及答案(三) 2016 年计算机二级 (C 语言 ) 模拟试题及答案 (3) 1.( A ) 是构成 C 语言程序的基本单位 A 函数 B 过程 C 子程序 D 子例程 2.C 语言程序从 ( C ) 开始执行 A 程序中第一条可执行语句 B 程序中第一个函数 C 程序中的 main 函数 D 包含文件中的第一个函数 3 以下说法中正确的是( C ) A C 语言程序总是从第一个定义的函数开始执行 B 在 C 语言程序中,

More information

untitled

untitled 不 料 料 例 : ( 料 ) 串 度 8 年 數 串 度 4 串 度 數 數 9- ( ) 利 數 struct { ; ; 數 struct 數 ; 9-2 數 利 數 C struct 數 ; C++ 數 ; struct 省略 9-3 例 ( 料 例 ) struct people{ char name[]; int age; char address[4]; char phone[]; int

More information

内容简介 本书以教育部高等学校计算机科学与技术教学指导委员会编制的 关于进一步加强高等学校计算机基础教学的意见暨计算机基础课程教学基本要求 中有关计算机程序设计基础 (C 语言 ) 课程教学基本要求为指导, 结合教育部考试中心最新的全国计算机等级考试二级 (C 语言程序设计 ) 考试大纲要求和作者多

内容简介 本书以教育部高等学校计算机科学与技术教学指导委员会编制的 关于进一步加强高等学校计算机基础教学的意见暨计算机基础课程教学基本要求 中有关计算机程序设计基础 (C 语言 ) 课程教学基本要求为指导, 结合教育部考试中心最新的全国计算机等级考试二级 (C 语言程序设计 ) 考试大纲要求和作者多 普通高等教育 十二五 重点规划教材公共课系列 中国科学院教材建设专家委员会 十二五 规划教材 C 语言程序设计 张淑华朱丽莉主编 于雪晶顾煜新副主编 北京 内容简介 本书以教育部高等学校计算机科学与技术教学指导委员会编制的 关于进一步加强高等学校计算机基础教学的意见暨计算机基础课程教学基本要求 中有关计算机程序设计基础 (C 语言 ) 课程教学基本要求为指导, 结合教育部考试中心最新的全国计算机等级考试二级

More information

《C语言程序设计》教材习题参考答案

《C语言程序设计》教材习题参考答案 教材名称 : C 语言程序设计 ( 第 1 版 ) 黄保和 江弋编著清华大学出版社 ISBN:978-7-302-13599-9, 红色封面 答案制作时间 :2011 年 2 月 -5 月 一 选择题 1. 设已定义 int a, * p, 下列赋值表达式中正确的是 :C)p=&a 2. 设已定义 int x,*p=&x;, 则下列表达式中错误的是 :B)&*x 3. 若已定义 int a=1,*b=&a;,

More information

Mx* Language Reference Manual 2016 年 4 月 7 日 1 用词说明 未定义 指中央还没有表态指语言定义中不涉及的部分, 编译器和运行时环境如何表现是未知的 主要是为了给学生实现语言留下足够的空间, 标准测试集里不会出现涉及未定义部分的内容 例如 : 术语 : 源程

Mx* Language Reference Manual 2016 年 4 月 7 日 1 用词说明 未定义 指中央还没有表态指语言定义中不涉及的部分, 编译器和运行时环境如何表现是未知的 主要是为了给学生实现语言留下足够的空间, 标准测试集里不会出现涉及未定义部分的内容 例如 : 术语 : 源程 Mx* Language Reference Manual 2016 年 4 月 7 日 1 用词说明 未定义 指中央还没有表态指语言定义中不涉及的部分, 编译器和运行时环境如何表现是未知的 主要是为了给学生实现语言留下足够的空间, 标准测试集里不会出现涉及未定义部分的内容 例如 : 术语 : 源程序大小超过 256M 是未定义的 解释 : 我们测试用的源程序大小不会超过 256M 2 程序结构 Mx*

More information

C 1

C 1 C homepage: xpzhangme 2018 5 30 C 1 C min(x, y) double C // min c # include # include double min ( double x, double y); int main ( int argc, char * argv []) { double x, y; if( argc!=

More information

BOOL EnumWindows(WNDENUMPROC lparam); lpenumfunc, LPARAM (Native Interface) PowerBuilder PowerBuilder PBNI 2

BOOL EnumWindows(WNDENUMPROC lparam); lpenumfunc, LPARAM (Native Interface) PowerBuilder PowerBuilder PBNI 2 PowerBuilder 9 PowerBuilder Native Interface(PBNI) PowerBuilder 9 PowerBuilder C++ Java PowerBuilder 9 PBNI PowerBuilder Java C++ PowerBuilder NVO / PowerBuilder C/C++ PowerBuilder 9.0 PowerBuilder Native

More information

C/C++ 语言 - 循环

C/C++ 语言 - 循环 C/C++ Table of contents 7. 1. 2. while 3. 4. 5. for 6. 8. (do while) 9. 10. (nested loop) 11. 12. 13. 1 // summing.c: # include int main ( void ) { long num ; long sum = 0L; int status ; printf

More information

新・明解C言語入門編『索引』

新・明解C言語入門編『索引』 !... 75!=... 48 "... 234 " "... 9, 84, 240 #define... 118, 213 #include... 148 %... 23 %... 23, 24 %%... 23 %d... 4 %f... 29 %ld... 177 %lf... 31 %lu... 177 %o... 196 %p... 262 %s... 242, 244 %u... 177

More information

Ps22Pdf

Ps22Pdf A B C D A B C D A B C D a a b c x x x x x x x x x x x x x x x x x a b c x a x x x x x x x x x x a b a b a b x x x x x x x x x x x x A B C A B C A B A B A x B C x D A B C a b c a b x x x x x x x A B A

More information

Microsoft PowerPoint - 1. C++介绍.ppt [兼容模式]

Microsoft PowerPoint - 1. C++介绍.ppt [兼容模式] C++ 入门 http://hwdong.com 1. 程序 = 数据 + 运算 Application = Data + Operator 程序就是对数据进行加工处理 ( 运算 ) 程序 = 数据 + 运算 数据用变量 ( 常量 ) 表示, 用运算符对它们进行运算 程序 = 变量 + 运算符 程序中的数据应有条理地存储在内存中, 处理需要按照一定步骤或方法进行 程序 = 数据结构 + 算法 机器语言

More information

Guava学习之Resources

Guava学习之Resources Resources 提供提供操作 classpath 路径下所有资源的方法 除非另有说明, 否则类中所有方法的参数都不能为 null 虽然有些方法的参数是 URL 类型的, 但是这些方法实现通常不是以 HTTP 完成的 ; 同时这些资源也非 classpath 路径下的 下面两个函数都是根据资源的名称得到其绝对路径, 从函数里面可以看出,Resources 类中的 getresource 函数都是基于

More information

OOP with Java 通知 Project 4: 5 月 2 日晚 9 点

OOP with Java 通知 Project 4: 5 月 2 日晚 9 点 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 4: 5 月 2 日晚 9 点 复习 类的复用 组合 (composition): has-a 关系 class MyType { public int i; public double d; public char c; public void set(double x) { d =

More information

FZUBRIDGE

FZUBRIDGE 1 2 3 5 8 9 10 11 12 13 14 15 16 17 19 20 21 23 24 25 29 31 32 33 34 M g1 M 1g ( M 2g M 1g )(1 e ( t, ) ) 35 36 M Q M Q g g 1.15M 1.05Q p p 37 max 1 n e max n i1 1 2 i 38 39 n max M Q M Q g g

More information

C/C++程序设计 - 字符串与格式化输入/输出

C/C++程序设计 - 字符串与格式化输入/输出 C/C++ / Table of contents 1. 2. 3. 4. 1 i # include # include // density of human body : 1. 04 e3 kg / m ^3 # define DENSITY 1. 04 e3 int main ( void ) { float weight, volume ; int

More information

内容简介 本书从结构化程序设计技术出发, 以 C 程序设计语言为载体, 以 Windows 下的 Visual C 为程序调试和运行平台, 通过对典型实例的算法及相应 C 语言代码的描述, 介绍了在程序设计过程中如何对问题进行分析 如何组织数据和如何描述解决问题, 揭示了在计算机应用过

内容简介 本书从结构化程序设计技术出发, 以 C 程序设计语言为载体, 以 Windows 下的 Visual C 为程序调试和运行平台, 通过对典型实例的算法及相应 C 语言代码的描述, 介绍了在程序设计过程中如何对问题进行分析 如何组织数据和如何描述解决问题, 揭示了在计算机应用过 普通高等教育 十二五 规划教材 计算机系列规划教材 计算机程序设计基础 周启生姬涛 主编 刘菲田红梅副主编 科学出版社职教技术出版中心 www.aboo 北京 内容简介 本书从结构化程序设计技术出发, 以 C 程序设计语言为载体, 以 Windows 下的 Visual C++ 2010 为程序调试和运行平台, 通过对典型实例的算法及相应 C 语言代码的描述, 介绍了在程序设计过程中如何对问题进行分析

More information

Introduction to Computer Systems /18-243, spring st Lecture, Jan. 12th

Introduction to Computer Systems /18-243, spring st Lecture, Jan. 12th 计算机组成原理习题课 1 授课老师 : 王浩宇 haoyuwang@bupt.edu.cn 1 练习 : 机器数的表示和相互转化 练习 1: 当十六进制数 9B 和 FF 分别表示为原码 补码 反码 移码和无符号数时, 所对应的十进制数各为多少 ( 设机器数采用一位符号位 )? 16 进制 真值 无符号数 原码 ( 真值 ) 反码 ( 真值 ) 补码 ( 真值 ) 移码 ( 真值 ) 9BH 二进制十进制

More information

《C语言程序设计》第2版教材习题参考答案

《C语言程序设计》第2版教材习题参考答案 教材 C 语言程序设计 ( 第 2 版 ) 清华大学出版社, 黄保和, 江弋编著 2011 年 10 月第二版 ISBN:978-7-302-26972-4 售价 :35 元 答案版本 本习题答案为 2012 年 2 月修订版本 一 选择题 1. 设已定义 int a, * p, 下列赋值表达式中正确的是 :C)p = &a A. *p = *a B. p = *a C.p = &a D. *p =

More information

数字电子技术基础 ( 第五版 ) 清华大学电子学教研组编阎石主编

数字电子技术基础 ( 第五版 ) 清华大学电子学教研组编阎石主编 数字逻辑电路 中国科学技术大学自动化系关胜晓 E-mail:guanxiao@ustc.edu.cn 电二楼 417 数字电子技术基础 ( 第五版 ) 清华大学电子学教研组编阎石主编 1. 主要内容 说 明 逻辑函数及其化简 集成逻辑门电路 组合逻辑电路和时序逻辑电路的分析 半导体存储器 可编程逻辑器件 脉冲单元电路及数模转换技术 2. 学时 授课 60 学时 讲课第 1 周至 14 周, 第 8

More information

2013 C 1 # include <stdio.h> 2 int main ( void ) 3 { 4 int cases, a, b, i; 5 scanf ("%d", & cases ); 6 for (i = 0;i < cases ;i ++) 7 { 8 scanf ("%d %d

2013 C 1 # include <stdio.h> 2 int main ( void ) 3 { 4 int cases, a, b, i; 5 scanf (%d, & cases ); 6 for (i = 0;i < cases ;i ++) 7 { 8 scanf (%d %d 2013 18 ( ) 1. C pa.c, pb.c, 2. C++ pa.cpp, pb.cpp, Compilation Error cin scanf Time Limit Exceeded 1: A 5 B 5 C 5 D 5 E 5 F 5 1 2013 C 1 # include 2 int main ( void ) 3 { 4 int cases, a, b,

More information

Microsoft Word - 01.DOC

Microsoft Word - 01.DOC 第 1 章 JavaScript 简 介 JavaScript 是 NetScape 公 司 为 Navigator 浏 览 器 开 发 的, 是 写 在 HTML 文 件 中 的 一 种 脚 本 语 言, 能 实 现 网 页 内 容 的 交 互 显 示 当 用 户 在 客 户 端 显 示 该 网 页 时, 浏 览 器 就 会 执 行 JavaScript 程 序, 用 户 通 过 交 互 式 的

More information

没有幻灯片标题

没有幻灯片标题 指针作为函数参数 : 原因 : 1 需要修改一个或多个值,( 用 return 语句不能解决问题 ) 2 执行效率的角度 使用方法 : 在函数原型以及函数首部中需要声明能够接受指针值的形参, 具体的写法为 : 数据类型 * 形参名 如果有多个指针型形参, 则用逗号分隔, 例如 : void swap(int *p1, int *p2) 它说明了形参 p1 p2 是指向整型变量的指针 在函数调用时,

More information

第 1 章 C 语言的发展 特点与程序结构 本章主要介绍了 C 语言的发展 特点和程序结构, 重点阐述了程序设计的基本方法, 包括面向过程的程序设计和面向对象的程序设计 ; 算法的概念及其表示, 包括用自然语言 流程图 伪代码 N-S 流程图的表示方法 ; 最后介绍了 C 语言应用程序的开发过程 1

第 1 章 C 语言的发展 特点与程序结构 本章主要介绍了 C 语言的发展 特点和程序结构, 重点阐述了程序设计的基本方法, 包括面向过程的程序设计和面向对象的程序设计 ; 算法的概念及其表示, 包括用自然语言 流程图 伪代码 N-S 流程图的表示方法 ; 最后介绍了 C 语言应用程序的开发过程 1 C 语言程序设计 电子教程 主编 : 杨健霑副主编 : 汪同庆 1 第 1 章 C 语言的发展 特点与程序结构 本章主要介绍了 C 语言的发展 特点和程序结构, 重点阐述了程序设计的基本方法, 包括面向过程的程序设计和面向对象的程序设计 ; 算法的概念及其表示, 包括用自然语言 流程图 伪代码 N-S 流程图的表示方法 ; 最后介绍了 C 语言应用程序的开发过程 1.1 C 语言的发展与特点 1.1.1

More information

94 (( )) 1 2 3 4 5 7 9 11 12 13 14 17 19 20 21 22 23 24 25 26 27 28 29 30 32 34 ( ) () (/ ) (/ ) (/ 100) 256 5,034 209,647 710,954 360,925 350,029 4,047.66 3.39 103.11 256 5,034 214,574 717,811 363,149

More information

第一章 绪论

第一章 绪论 C++ 语言程序设计 第二章 C++ 简单程序设计 中国科大 黄章进 本章主要内容 C++ 语言概述 基本数据类型和表达式 数据的输入与输出 算法的基本控制结构 自定义数据类型 深度探索 2 C++ 语言的产生 C++ 语言概述 C++ 是从 C 语言发展演变而来的, 首先是一个更好的 C 引入了类的机制, 最初的 C++ 被称为 带类的 C 1983 年正式取名为 C++ 从 1989 年开始 C++

More information

无类继承.key

无类继承.key 无类继承 JavaScript 面向对象的根基 周爱 民 / aimingoo aiming@gmail.com https://aimingoo.github.io https://github.com/aimingoo rand = new Person("Rand McKinnon",... https://docs.oracle.com/cd/e19957-01/816-6408-10/object.htm#1193255

More information

Users Manual NX-500

Users Manual NX-500 STAR NX-500 STAR NX-500 STAR STAR (010) 62501499 62501772 (010) 62501116 http//www.starhkg.com.hk/starchi Star NX-500... 1... 3 1-1... 3 1-2... 4 1-3... 5 1-4... 6 1-5... 9... 12 2-1... 12 1... 12 2...

More information

SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 "odps-sdk" 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基

SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 odps-sdk 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基 开放数据处理服务 ODPS SDK SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 "odps-sdk" 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基础功能的主体接口, 搜索关键词 "odpssdk-core" 一些

More information

幻灯片 1

幻灯片 1 第一课 C 与 C++ 互联网新技术在线教育领航者 1 内容概述 第一部分 : C++ 综述 1. C++ 历史背景 2. Why C++ 3. 推荐书籍第二部分 : C VS C++ 1. C 语法回顾 2. 例 :C 实现动态数组 3. C++ 的 vector 第三部分 :C++ 对 C 的扩展 ( 上 ) 1. 命名空间 2. 输入输出 3. 基本类型转换 4. 声明 列表初始化 5. 指针和引用

More information

<4D F736F F F696E74202D20B5DA32D5C220B5A5C6ACBBFA433531D3EFD1D4BBF9B4A1>

<4D F736F F F696E74202D20B5DA32D5C220B5A5C6ACBBFA433531D3EFD1D4BBF9B4A1> 第 2 章 单片机 C51 语言基础 2.1 C51 语言的基本知识 2.2 运算符与表达式 2.3 指针与绝对地址访问 2.4 本章小结 2.5 实训二发光二极管流水广告灯 返回首页 教学提示 随着单片机开发技术的不断发展, 目前已有越来越多 的人从普遍使用汇编语言逐渐过渡到使用高级语言开发, 其中又以 C 语言为主, 市场上几种常见的单片机均有其 C 语言开发环境 应用于 51 系列单片机开发的

More information

Microsoft Word - zw

Microsoft Word - zw 第 1 章单片机基础知识概述 内容概述 : 本章主要介绍单片机的定义 发展历史, 单片机分类方法 应用领域及发展趋势, 单片机中数的表示和运算方法, 基本逻辑门电路, 以及与单片机系统仿真工具 Proteus 相关的内容 教学目标 : 了解单片机的概念及特点 ; 掌握单片机中数的表示和运算方法及基本逻辑门电路 ; 初步了解 Proteus 软件的功能 1.1 单片机概述 1.1.1 单片机及其发展概况

More information

内容简介 本书根据全国计算机等级考试二级 C 语言程序设计考试大纲要求, 结合目前高等院校学生学习计算机程序设计课程的情况组织内容, 全面地介绍了 C 语言程序设计的基础知识, 系统地讲述了 C 语言程序设计的基本方法和技巧 本书以 ANSI C 语言标准为依据, 深入浅出地介绍了 C 语言的基本数

内容简介 本书根据全国计算机等级考试二级 C 语言程序设计考试大纲要求, 结合目前高等院校学生学习计算机程序设计课程的情况组织内容, 全面地介绍了 C 语言程序设计的基础知识, 系统地讲述了 C 语言程序设计的基本方法和技巧 本书以 ANSI C 语言标准为依据, 深入浅出地介绍了 C 语言的基本数 普通高等教育计算机系列规划教材 C 语言程序设计 ( 第二版 ) 姜海涛主编曹震中武楠王妍闫超刘红娟叶永凯卫娜副主编 副主编 科学出版社职教技术出版中心 www.aboo 北京 内容简介 本书根据全国计算机等级考试二级 C 语言程序设计考试大纲要求, 结合目前高等院校学生学习计算机程序设计课程的情况组织内容, 全面地介绍了 C 语言程序设计的基础知识, 系统地讲述了 C 语言程序设计的基本方法和技巧

More information

untitled

untitled 3 C++ 3.1 3.2 3.3 3.4 new delete 3.5 this 3.6 3.7 3.1 3.1 class struct union struct union C class C++ C++ 3.1 3.1 #include struct STRING { typedef char *CHARPTR; // CHARPTR s; // int strlen(

More information

c_cpp

c_cpp C C++ C C++ C++ (object oriented) C C++.cpp C C++ C C++ : for (int i=0;i

More information

编译原理与技术

编译原理与技术 编译原理与技术 中间代码生成 2015/11/7 编译原理与技术 讲义 1 中间代码生成 - 布尔表达式翻译 - 控制流语句翻译 2015/11/7 编译原理与技术 讲义 2 布尔表达式的翻译 布尔表达式文法 G 4 E E 1 or E 2 E 1 and E 2 not E 1 ( E 1 ) id 1 relop id 2 true false id 3 布尔运算符 or and 和 not(

More information

PowerPoint 演示文稿

PowerPoint 演示文稿 第 1 章程序设计和 C 语言 1.1 什么是计算机程序 1.2 什么是计算机语言 1.3 C 语言的发展及其特点 1.4 最简单的 C 语言程序 1.5 运行 C 程序的步骤与方法 1.6 程序设计的任务 1.1 什么是计算机程序 程序 : 一组计算机能识别和执行的指令 只要让计算机执行这个程序, 计算机就会自动地 有条不紊地进行工作 计算机的一切操作都是由程序控制的, 离开程序, 计算机将一事无成

More information

C++ 程序设计 OJ1 - 参考答案 MASTER 2019 年 5 月 3 日 1

C++ 程序设计 OJ1 - 参考答案 MASTER 2019 年 5 月 3 日 1 C++ 程序设计 OJ1 - 参考答案 MASTER 2019 年 5 月 3 日 1 1 CIRCLE 1 Circle 描述 编写一个圆类 Circle, 实现半径的输入 面积的计算和输出 输入 圆的半径 (double 类型 ) 输出 圆的面积 ( 保留小数点后两位 ) 样例输入 3 样例输出 28.27 提示 圆周率的取值需要比较精确, 以保证计算结果的精度 #include

More information

中国科学院优秀教材普通高等教育电气信息类应用型规划教材 C 语言程序设计 ( 第二版 ) 罗朝盛主编 张银南白宝钢魏英 副主编 北 京 内容简介 本书共 10 章, 包括 :C 语言程序设计概述, 数据类型与常用库函数, 运算符与表达式, 算法与控制结构, 数组 字符串与指针, 函数, 编译预处理, 结构体 共用体与枚举类型, 文件操作,C++ 程序设计初步 本书配有大量的例题和习题, 适合教师课堂教学和读者自学

More information

C/C++语言 - 分支结构

C/C++语言 - 分支结构 C/C++ Table of contents 1. if 2. if else 3. 4. 5. 6. continue break 7. switch 1 if if i // colddays.c: # include int main ( void ) { const int FREEZING = 0; float temperature ; int cold_ days

More information

竞赛报名与报名审核

竞赛报名与报名审核 2014 年 全 国 职 业 院 校 技 能 大 赛 高 职 组 广 东 省 选 拔 赛 工 程 造 价 基 本 技 能 赛 项 竞 赛 指 南 主 办 : 广 东 省 教 育 厅 承 办 : 广 州 城 建 职 业 学 院 协 办 : 广 联 达 软 件 股 份 有 限 公 司 目 录 一. 竞 赛 的 几 个 重 要 时 间...1 二. 竞 赛 时 间 地 点 及 费 用...1 ( 一 )

More information

Microsoft PowerPoint - string_kruse [兼容模式]

Microsoft PowerPoint - string_kruse [兼容模式] Strings Strings in C not encapsulated Every C-string has type char *. Hence, a C-string references an address in memory, the first of a contiguous set of bytes that store the characters making up the string.

More information

HR3220 无线枪默认设置表 参数名称 默认设置 备注 系统设置 设置码功能 关闭 自动关机时间 自动休眠 5 分钟后关机 手动识读模式下有效 照明 普通 瞄准 普通 开机提示音 开启 提示 开启 识读成功提示音 提示音类型 类型 3 提示音音量 高 NGR 信息 发送 NGR 信息不发送 NGR

HR3220 无线枪默认设置表 参数名称 默认设置 备注 系统设置 设置码功能 关闭 自动关机时间 自动休眠 5 分钟后关机 手动识读模式下有效 照明 普通 瞄准 普通 开机提示音 开启 提示 开启 识读成功提示音 提示音类型 类型 3 提示音音量 高 NGR 信息 发送 NGR 信息不发送 NGR HR3220 无线枪默认设置表 参数名称 默认设置 备注 系统设置 设置码功能 关闭 自动关机时间 自动休眠 5 分钟后关机 手动模式下有效 照明 普通 瞄准 普通 开机提示音 开启 提示 开启 成功提示音 提示音类型 类型 3 提示音音量 高 NGR 信息 发送 NGR 信息不发送 NGR 信息内容无 默认模式 手动读码模式 手动读码模式 单次读码时长 3000ms 三种模式共用的参数设置范围 :0~3600000ms

More information

普通高等教育电气信息类应用型规划教材 程序设计基础 基于问题情境的 C 语言实践教程 张克军主 编 代俊雅副主编 北 京

普通高等教育电气信息类应用型规划教材 程序设计基础 基于问题情境的 C 语言实践教程 张克军主 编 代俊雅副主编 北 京 科学出版社职教技术出版中心 普通高等教育电气信息类应用型规划教材 程序设计基础 基于问题情境的 C 语言实践教程 张克军主 编 代俊雅副主编 北 京 内容简介 本书分为基础 提高和扩展三篇, 共 15 章 我们本着巩固学生基础知识 提升学生编程能力和培养学生程序设计素质的想法设计每一章的内容, 确保学生通过循序渐进的学习, 理解 掌握教学内容 本书主要内容包括 : C 语言的基础知识, 数据类型 运算符与表达式,

More information

Microsoft Word - YYCXfm.DOC

Microsoft Word - YYCXfm.DOC C 语言程序设计 王曙燕主编曹锰副主编 北京 内容简介 本书共 13 章, 主要内容包括 C 语言的基本概念 基本语法和基本数据结构, 另外, 给出了一个小型超市管理的综合实例, 介绍了 C 语言图形程序设计的基本方法, 还简单介绍了 C++ Visual C++ 和 C# 等面向对象程序设计语言 本书注重应用性和实践性, 通过一些典型算法的解题分析及其实现给读者一些解题示范和启发 每章后面配有习题,

More information

51 C 51 isp 10 C PCB C C C C KEIL

51 C 51 isp 10   C   PCB C C C C KEIL http://wwwispdowncom 51 C " + + " 51 AT89S51 In-System-Programming ISP 10 io 244 CPLD ATMEL PIC CPLD/FPGA ARM9 ISP http://wwwispdowncom/showoneproductasp?productid=15 51 C C C C C ispdown http://wwwispdowncom

More information

6 C51 ANSI C Turbo C C51 Turbo C C51 C51 C51 C51 C51 C51 C51 C51 C C C51 C51 ANSI C MCS-51 C51 ANSI C C C51 bit Byte bit sbit

6 C51 ANSI C Turbo C C51 Turbo C C51 C51 C51 C51 C51 C51 C51 C51 C C C51 C51 ANSI C MCS-51 C51 ANSI C C C51 bit Byte bit sbit 6 C51 ANSI C Turbo C C51 Turbo C C51 C51 C51 C51 C51 C51 C51 C51 C51 6.1 C51 6.1.1 C51 C51 ANSI C MCS-51 C51 ANSI C C51 6.1 6.1 C51 bit Byte bit sbit 1 0 1 unsigned char 8 1 0 255 Signed char 8 11 128

More information

CYY 1.mps

CYY 1.mps 标准 C 语言程序设计及应用 周纯杰刘正林何顶新周凯波编著 华中科技大学出版社 内容简介 本书以 ANSI C ++ 标准为准则, 采取循序渐进 突出重点 分散难点的编写方法, 系统地讲授作为 ANSI C ++ 内核的 C 语言的基本语法和程序设计方法 全书共分 11 章 : C 语言基础知识, 数据类型 运算符和表达式, 程序和流程控制, 变量的存储类型, 数组, 指针, 函数, 结构和联合,

More information

Microsoft Word - 第3章.doc

Microsoft Word - 第3章.doc 第 3 章流程控制和数组 3.1 实验目的 (1) 熟练掌握控制台应用程序的代码编写和调试, 以及运行方法 (2) 掌握选择结构的一般语法格式和应用 (3) 掌握 switch 语句的用法 (4) 掌握选择结构的嵌套的用法, 能灵活使用选择结构解决实际问题 (5) 掌握 while 循环语句的一般语法格式 (6) 掌握 for 循环语句的一般语法格式 (7) 掌握循环嵌套的语法格式 (8) 掌握一维数组的定义

More information

Program Guide(中文).PDF

Program Guide(中文).PDF RP-U420 LF FF CR RS ESC! ESC % ESC & ESC * ESC < ESC = ESC? ESC @ REC R ESC c 0 ESC c 3 ESC c 4 ESC c 5 ESC d n ESC f ESC o ESC p ESC t ESC z FS & FS. GS I GS V GS r DLE EOT DLE ENQ ID DLE DC4 ASCIIASCII

More information