2024年4月19日发(作者:)

    本文由cloudsoar贡献

    ppt文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机

查看。

    在线游戏设计及开发

    专业教程

    北京汇众益智科技有限公司

    第02课 C语言编程基础

    概述:

    C和C++语言的特点及区别 C和C++典型程序的分析 C++语言在游戏开发中的应用

    重点:

    C语言的预处理语句 C语言常量、变量的类型 C语言变量的定义和使用

    目的:

    了解C和C++语言在游戏开发中的应用 熟悉部分C语言基本语法

    第02课 C语言编程基础

    1.1 C语言的起源 ? C语言是贝尔实验室于70年代初研制出来的程序开发语 言

,后来被多次改进,并出现了多种版本。 ? 80年代初,美国国家标准化协会(ANSI)

,根据C语言 问世以来各种版本对C语言的发展和扩充,制定了ANSI C标 准(1989

年再次做了修订)。

    第02课 C语言编程基础

    1.2 C语言的特点 1. 语言表达能力强 (运算符丰富,表达式类型多样化) 2. 结

构化好 (while语句结构化语句等,函数为单位) 3. 语言精练 (i+=2; i=i+2; (i+=2

;即i=i+2; if (e) s ;) 4. 可移植性好 (Windows和Unix等主流平台上都可运行) 5.

 程序的执行效率高(支持register类型的寄存器变量) 6. 能实现汇编语言的大部分功

能(支持内嵌汇编asm{ … })

    第02课 C语言编程基础

    1.3 C程序案例

    一个完整的C语言程序,是由一个main()函数(又称主函数)和若干个其它 函

数结合而成的,或仅由一个main()函数构成。 [案例 典型的 小程序 案例1] 典型的

C小程序 小程序(GD04_01.c) 案例 /*功能:完成Game Start!字符串的打印*/

    #include  #define MSG "Game Start!\n" int main() { printf(MSG); retur

n 0; }

    程序运行结果: Game Start!

    第02课 C语言编程基础

    C程序案例的分析 1. 程序由函数构成的。每个程序由一个或多个函数组成, 其

中必须有且仅有一个主函数main( )。 2. 一个可执行的C语言程序总是从main函数开

始执行,而不 论其在整个程序中的位置如何。

    3.

    每条语句和数据定义的最后必须有一个分号; 说明:在以下三种情况下不允许

有分号: a.所定义的函数的名称后面不使用分号; b.在右花括号“}”后面不使用分

号; c.预处理语句#……后面不使用分号。

    第02课 C语言编程基础

    C程序案例的分析 4.对输入输出实行函数化。 5.书写格式自由,一行内可写多

个语句,一个语句也可分写多行。 6.可用/*……*/对C程序中的任何部分作注释,注

释可以写在程序的 任何位置上,“/*”与“*/”也可不在同一行上。 7.在C语言中,

大小写字母是有区别的。(C语言习惯用小写字母)

    第02课 C语言编程基础

    1.4 C++语言的特点 C++ 是 C 的超集,包含了 C 语言的全部内容。 ? 1980年

 贝尔实验室的 Bjame Stroustrup 开发带类的C。1983 年正式取名C++。 ? 在经历了

3次C++修订后,1994年制定了ANSI C++ 标准的草 案。以后又经过不断完善,成为目

前的C++。 ? C++仍在不断发展中。美国微软公司现已推出C#(C Sharp) 语言,C#实

际上主要用于快速开发商务应用。

page 1

    C++是由C发展成为的以面向对象为主要特征的语言。作为C语 言的超集,C++继

承了C的所有优点,又对数据类型做了扩充,使得 编译系统可以检查出更多类型错误

    第02课 C语言编程基础

    1.4 C++程序案例

    [案例 典型的 案例2]典型的 小程序(GD04_02.cpp) 案例 典型的C++小程序 小

程序 /* 人物最大等级判断 C++程序基本结构 */ 程序基本结构 # include  int ma

x(int i, int j) { //面向过程的典型函数 面向过程的典型函数 if (i>=j) return

 i; else return j; } void main(void) //程序入口函数 { 程序入口函数 cout<< 

"input i,j: "; //显示提示信息 显示提示信息 int i, j; //声明变量 声明变量 c

in>>i>>j; //从键盘上输入变量值 从键盘上输入变量值 cout<<"max level is:"<<m

ax(i, j)<<endl; //输出提示和结果 输出提示和结果 }

    第02课 C语言编程基础

    C++程序案例的分析 1. 程序同样由函数构成的。每个程序由一个或多个函数组

 成,其中必须有且仅有一个主函数main( )。 2. 一个可执行的C++语言程序总是从m

ain函数开始执行, 而不论其在整个程序中的位置如何。

    3.

    每条语句和数据定义的最后必须有一个分号; 说明:在以下三种情况下不允许

有分号: a.所定义的函数的名称后面不使用分号; b.在右花括号“}”后面不使用分

号; c.预处理语句#……后面不使用分号。

    第02课 C语言编程基础

    C++程序案例的分析 4. 输入输出实行函数化,但变成了流式输出,头文件也有变

化。 5.书写格式自由,一行可写多个语句,一个语句也可分写多行。 6.同样可用/*

……*/对C程序中的任何部分作注释,注释可以写 在程序的任何位置上,另外可以用

//号注释单行语句。 7.在C++语言中,大小写字母同样是有区别的。 对照对C语言案

例的分析可以看到,C++的语法和C的语法大体 相同,但还是有些差别的。

    第02课 C语言编程基础

    1.5 C++语言和传统C语言的区别 对“面向过程”机制的改进 C++的流式I/O操作

(cin输入和cout输出) 对函数的增强(函数重载、缺省参数、内联函数) 对数据类型的

扩充(如:引用类型&) 对运算符的扩充(如:作用域限定符::) 动态内存分配(用new和

delete完成) 变量可随时使用,随时定义 如:for(int i=0;i<10;i++) { … } // i

的作用域

    第02课 C语言编程基础

    1.5 C++语言和传统C语言的区别 对“面向对象”机制的改进 C++支持数据封装

 C++类中包含私有、公有和保护成员 C++中通过发送消息来处理对象 C++中允许友员

破坏封装性 C++中允许函数名和运算符重载 C++支持继承性

    面向对象的程序设计方法是开发大型软件的首选! 面向对象的程序设计方法是

开发大型软件的首选!

    第02课 C语言编程基础

    1.6 C++语言在游戏中的应用 结合设计师对事物的看法去分析对象及对象间的关

    [案例 对游戏对象进行简单分析 案例3]对游戏对象进行简单分析 案例

    第1步:将游戏交互体抽象成对象 英雄(Hero) 箱子(Box) 魔鬼(Monster) ……

    第02课 C语言编程基础

    1.6 C++语言在游戏中的应用

    [案例 对游戏对象进行简单分析 案例3]对游戏对象进行简单分析 案例 第2步:

用伪语言分析对象的属性和方法 Hero //英雄 { //属性 level //级别 life //生命

值 attack //攻击值 items[10] //物品列表,可携带10个物品 …… //方法 move()

 //移动 attack() //攻击 dead() //死亡 revive() //重生 …… }

    第02课 C语言编程基础

    1.6 C++语言在游戏中的应用

page 2