<4D F736F F F696E74202D20B5DA3031BDB25F432B2BB3CCD0F2C9E8BCC6B8C5CAF62E BBCE6C8DDC4A3CABD5D>

Size: px
Start display at page:

Download "<4D F736F F F696E74202D20B5DA3031BDB25F432B2BB3CCD0F2C9E8BCC6B8C5CAF62E BBCE6C8DDC4A3CABD5D>"

Transcription

1 学年第二学期 程序设计实习 刘家瑛

2 刘家瑛 Office: 计算机科学技术研究所 310 室 Address: 中关村北大街 128 号东门外 Tel: Group site: Research hinterests: t Image/Video Processing, Compression, 2

3 主要内容 课程简介与相关信息 程序设计风格 C++ 程序设计概述 6

4 主要内容 课程简介与相关信息 程序设计风格 C++ 程序设计概述 7

5 课程简介与相关信息 课程定位 课程内容 授课方式 教材 进度安排 课程网站 成绩评定 8

6 9 信息学院课程体系图

7 学习用 C++ 语言编程 课程内容和目标 基本概念 ( 类 对象 数据抽象 重载 继承 虚函数 多 态等 ) 及其语法实现 C++ 程序基本构成 输入输出流及文件处理 模板 字符串 处理 文件处理及标准模板库等 掌握 Dev C++/Visual Studio 编程环境 能够使用该环境进行基于控制台输入输出及文件输入输出的 C 及 C++ 程序的源代码编辑 编译连接 调试和运行 巩固和增强程序设计和代码实现能力 过程和数据抽象的能力 枚举和递归的求解方法 分而治之的思想 11

8 授课方式 课上讲授 练习 讨论 复习 自学和书面作业 上机实习和上机作业 期末上机考试及笔试 12

9 教 材 C++大学教程 Harvey M. Deitel Paul James Deitel 张引 译 电子工业出版社 程序设计导引及在线实践 李文新 郭炜 余华山 编著 清华大学出版社 13

10 14 C++ 程序设计基础部分 C++ 程序设计进阶部分 进度安排 ( 暂定 ) 第一讲 C++ 程序设计概述 第二讲类和对象 (1/2) 第三讲类和对象 (2/2) 第四讲运算符重载 第五讲继承 第六讲多态 第七讲输入输出流和文件操作输 第八讲类模板 函数模板和 string 类 第九讲标准模板库 (1/3) 第十讲标准模板库 (2/3) 第十一讲标准模板库 (3/3)

11 进度安排 ( 暂定 ) 程序算法设计 第十二讲 C++ 总结和习题课 第十三讲大整数类和高精度计算 第十四讲枚举 第十五讲递归 第十六讲深度优先搜索 第十七讲广度优先搜索 第十八讲动态规划 第十九讲方程求解 第二十讲课程总结 第二十一讲习题课 15

12 课程网站 北大教学网 本学期课程安排 讲义作业 ( 双机热备 ) p pp pp POJ j / 16

13 考试形式 : ( 权重待定 ) 期末上机考试 笔试 A 卷 :C++ 知识点 笔试 B 卷 : 部分作业 平时作业成绩 : 成绩评定 平时作业成绩与 B 卷成绩加权 加分项 : 课堂表现 同学之间 学生和老师助教之间 讨论板的互动 校内赛表现 魔兽大作业 17

14 课程参与 填写教学网中个人信息的常用邮箱 课堂参与 每堂一牛 查阅教学网 每堂一牛 板块 课下参与 讨论板 报到贴 查阅课程讨论板 18

15 程序设计实习 (I): C++ 程序设计 第一讲 C++ 程序设计概述

16 主要内容 课程简介与相关信息 程序设计风格 C++ 程序设计概述 20

17 标识符的命名 匈牙利命名法为 C 程序标识符的命名定义了一种非 常标准化的方式 以两条规则为基础 : 变量的名字以一个或者多个小写字母前缀开头, 前缀能够 体现变量数据类型 作用域等信息 在标识符内, 前缀以后就是一个或者多个第一个字母大写 的单词, 这些单词清楚地指出了该标识符的作用 21

18 推荐一种 C 程序标识符命名法 1) 变量命名加前缀 c char uc unsigned char s short n int u unsigned int l long dw unsigned long b 取值只为真和假的整型变量如 bvalid sz 以 \0 结尾的字符串或字符数组 f 浮点数 (float) h HANDLE ( 句柄 ) d double 22

19 推荐一种 C 程序标识符命名法 p 指针 psz 指向字符串的指针 pn 整型指针 m_ 类成员变量 g_ 全局变量 a 数组 fp 文件指针 FILE * e enum 类型 g_ 全局变量参数后面加 _, 例如 int Sum( int x_, int y_){ } 23

20 推荐一种 C 程序标识符命名法 2) 变量名中单词首字母大写, 其他字母小写 但是常用的意义明显的变量, 如 ijk i, j, k, 坐标 x, y 等不必遵循 1), 2) 3) 常量和宏都是大写, 单词之间用 _ 分隔 #define MAX_WIDTH 5 #define ABS(x) ((x)>=0?(x):-(x)) 24

21 推荐一种 C 程序标识符命名法 4) 函数名字中每个单词的首字母大写, 其他字母小写一般采用动词 + 名词形式 void PrintMessage(); int WriteIdToFile( FILE * _fp, int _nid); 5) 结构体定义加大写字母 S 作为前缀 struct SPerson { int nid; int nage; }; 25

22 推荐一种 C 程序标识符命名法 6) 类定义加大写字母 C 作为前缀 class CPerson { }; int m_nid; 7) 类型定义全部大写 typedef dfstruct SPerson PERSON; typedef struct SPerson * PPERSON; // 指针加 P 26

23 标识符命名应注意的一些细节 1) 标识符号应能提供足够信息, 最好是可以读出的 2) 为全局变量取长的, 描述信息多的名字, Vs. 为局部变量取短名字 3) 名字太长时可以适当采用单词的缩写 注意 : 缩写方式要一致, 要缩写就全都缩写 例 : 单词 Number, 如果在某个变量里缩写成了 it int ndoornum; 那么最好包含 Number 单词的变量都缩写成 Num 4) 注意使用单词的复数形式 int ntotalstudents, nstudents; 容易让人理解成代表学生数目, 而 nstudent 含义就不十分明显 27

24 标识符命名应注意的一些细节 5) 对于返回值为真或假的函数, 加 Is 前缀如 : int IsCanceled(); int BOOL isalpha(); // C 语言标准库函数 IsButtonPushed(); 6) 对于获取某个数值的函数, 加 Get 前缀 char * GetFileName(); 7) 对于设置某个数值的函数, 加 Set 前缀 void SetMaxVolume(); 8) 一般变量和结构名用名词, 函数名用动词或动宾词组 28

25 程序书写格式注意事项 1) 正确使用缩进 一定要有缩进, 否则代码的层次不明显 缩进应为 4 个空格较好 需要缩进时一律按 Tab 键或一律按空格键, 不要有时用 Tab 键缩进, 有时用空格键缩进 一般开发环境都能设置一个 Tab 键相当于多少个空格, 此时就都用 Tab 键 29

26 程序书写格式注意事项 2) 行宽与折行 一行不要太长, 不能超过显示区域 以免阅读不便 太长则应折行 折行最好发生在运算符前面, 不要 例如 发生在运算符后面 if( Condition1() && Condition2() } && Condition3() ) { 30

27 程序书写格式注意事项 3) 注意 {, } 位置不可随意, 要统一 如果写 : if ( condition1() ) { } DoSomething(); 其他地方就不要写 if( condition2() ())) { } DoSomething() ; 31

28 程序书写格式注意事项 4) 变量和运算符之间最好加 1 个空格 int nage = 5; nage = 4; if( nage >= 4 ) printf( %d, nage); for( i = 0; i < 100; i ++ ); 32

29 一些好的编程习惯 1) 尽量不要用立即数, 而用 const 定义成常量, 以便以后修改 比 const int MAX_STUDENTS = 20 struct SStudent astudents [MAX_STUDENTS]; struct SStudent astudents [20]; // 好 #define TOTAL_ELEMENTS 100 for( i = 0; i < TOTAL_ELEMENTS; i ++) { } 33

30 一些好的编程习惯 2) 使用 sizeof() 宏, 不直接使用变量所占字节数的数值 比 好 int nage; for( j = 0; j < 100; j++ ) fwrite( fpfile, & nage, 1, sizeof(int)); for( (j = 0; j < 100; j++) fwrite( fpfile, & nage, 1, 4); 34

31 一些好的编程习惯 3) 稍复杂的表达式中要积极使用括号, 以免优先级理解上的 混乱 n = k +++ j; // 不好 n = ( k ++ ) + j; // 好一点 4) 不很容易理解的表达式应分几行写 : n = ( k ++ ) + j; 应该写成 : n = k + j; k ++; 35

32 一些好的编程习惯 5) 不提倡在表达式中使用? : 形式, 而用 if.. else 语句替代 xp = 2 * k < ( n-m)? c[k+1] : d[k--]; if( 2*k < (n-m)) else xp = c[k+1]; xp = d[k--]; 36

33 一些好的编程习惯 6) 嵌套的 if else 语句要多使用 { } if( Condition1() ) if( condition2() DoSomething(); else NoCondition2(); 不够好, 应该 : if( Condition1() ) { if( condition2() DoSomething(); else NoCondition2(); } 37

34 一些好的编程习惯 7) 应避免 if else 的多重嵌套, 而用并列的完成 if( Condition1() ) { if (C Condition2() ()){) if( Condition3() ) { Condition123(); }else { NoCondition3(); } }else { NoCondition2(); } }else { NoCondiction1(); } 38

35 一些好的编程习惯 替换为 : if(! condition1 ) { NoCondition1(); }else if(! condition2 ) { NoCondition2(); }else if(! condition3) ){ NoCondition3(); }else { Condition123(); } 39

36 一些好的编程习惯 8) 写出来的代码应该容易读出声 例如 : if(!( n > m ) &&!( s > t)) 不如 if( ( m <= n ) && ( t <= s )) 例如 : if(!( c == 'y' c == 'z')) z)) 不如 if( c!= 'y' && c!= 'z'); 40

37 参考资料 : 一些好的编程习惯 C++ 编码规范 陈世忠编著 摩托罗拉公司审校 人民邮电出版社 电子版参见 : 课程网站 参考资料 41

38 主要内容 课程简介与相关信息 程序设计风格 C++ 程序设计概述 42

39 面向对象语言的历史 Simula: 1967 年,Ole-Johan Dahl 和 Kristen Nygaard, 发布 Simula 67 提出了类 (class) 和子类 (subclass) 的概念, 虽然实现并不是很完整 但这是语言发展史上的一个重要的里程碑 Smalltalk: 1971 年, Xerox Palo Alto Research Center 的 Alan Kay 发明 Smalltalk 是公认的完整实现的面向对象的程序设计语言 C++: 1979 年,AT&T 实验室 Bjarne Stroustrup 开始发明, 刚开始的版本叫 :C with Classes 1983 年 10 月份的时候正式命名为 C++ Java: 1995 年,Sun 公司发布 支持跨平台可移植性 网络应用 C#: 2002 年 1 月, 微软公司公布.NET Framework 1.0 正式版 同时,Visual Studio.NET 2002 也同步发行 43

40 44 C++ 语言的历史 1983 年 8 月, 第一个 C++ 实现投入使用 1983 年 12 月,Rick Mascitti 建议命名为 CPlusPlus, 即 C 年 10 月,Bjarne 博士完成了经典巨著 The C++ Programming Language 第一版 1991 年 6 月, The C++ Programming Language 第二版完成 1994 年 8 月, ANSI/ISO 委员会草案登记 1997 年 7 月, The C++ Programming Language 第三版完成 1997 年 10 月,ISO 标准通过表决被接受 1998 年 11 月,ISO 标准被批准历史上,C++ 编译器的 第一个 : 1985 年 10 月,Cfront Release 1.0 发布 1987 年 12 月,GNU C++ 发布 1988 年 1 月, 第一个 Oregon Software C++ 发布 1998 年 6 月, 第一个 Zortech hc++ 发布 1990 年 5 月, 第一个 Borland C++ 发布 1992 年 2 月, 第一个 Dec C++ 发布 1992 年 3 月, 第一个 Microsoft C++ 发布 1992 年 5 月, 第一个 IBM C++ 发布

41 C++之父 Bjarne Stroustrup p AT&T Fellow, AT&T Labs - Research Distinguished i i ih d Professor f andd the h holder h ld off the h College ll of Engineering Chair Computer Science at Texas A&M University C++ Bible The C++ Programming Language Bible The 中译本 裘宗燕老师 翻译 机械工业出版社 45

42 结构化程序设计 C 语言使用结构化程序设计 : 程序 = 数据结构 + 算法 程序由全局变量以及众多相互调用的函数组成 算法以函数的形式实现, 用于对数据结构进行操作 46

43 结构化程序设计 结构化程序设计中, 函数和其所操作的数据结构, 没有直观的联系 随着程序规模的增加, 程序逐渐难以理解, 很难一 下子看出来 : 某个数据结构到底有哪些函数可以对它进行操作? 某个函数到底是用来操作哪些数据结构的? 任何两个函数之间存在怎样的调用关系? 47

44 结构化程序设计 结构化程序设计没有 封装 和 隐藏 的概念 要访问某个数据结构中的某个变量, 就可以直接访问 当该变量的定义有改动的时候 把所有访问该变量的语句找出来修改 十分不利于程序的维护 扩充 难以查错, 当某个数据结构的值不正确时, 难以找出到底是那个函数导致的 48

45 重用 ( 复用 ) 结构化程序设计 在编写某个程序时, 发现其需要的某项功能, 在现有的某个程序里已经有了相同或类似的实现 自然希望能够将那部分代码抽取出来, 在新程序中使用 在结构化程序设计中 随着程序规模的增大 程序大量函数 变量之间的关系错综复杂 要抽取这部分代码, 会变得十分困难 49

46 结构化程序设计 结论 结构化的程序, 在规模庞大时, 会变得 难以理解 难以扩充 ( 增加新功能 ) 难以查错 难以重用 50

47 结构化程序设计 软件业的目标是更快 更正确 更经济地 构建软件 如何更高效地实现函数的复用? 如何更清晰的实现变量和函数的关系? 使得程序更清晰更易于修改和维护 51

48 面向对象的程序设计 面向对象的程序设计方法, 能够较好解决上述问题面向对象的程序 = 类 + 类 + + 类 设计程序的过程, 就是设计类的过程 52

49 面向对象的程序设计 面向对象的程序设计方法 : 将某类客观事物共同特点 ( 属性 ) 归纳出来, 形成一个数据结 构 ( 可以用多个变量描述事物的属性 ); 将这类事物所能进行的行为也归纳出来, 形成一个个函数, 这些函数可以用来操作数据结构 ( 这一步叫 抽象 ) 通过某种语法形式, 将数据结构和操作该数据结构的函数 捆绑 在一起, 形成一个 类 使得数据结构和操作该数据结构的算法呈现出显而易 见的紧密关系, 这就是 封装 53

50 从客观事物抽象出类的例子 写一个程序, 输入矩形的长和宽, 输出面积和周长 比如对于 矩形 这种对象, 要用一个类来表示, 该如 何做 抽象 呢? 矩形的属性就是长和宽 因此需要两个变量, 分别代表长和宽 一个矩形, 可以有哪些行为呢 ( 或可以对矩形进行哪些 操作 ) 矩形可以有设置长和宽, 计算面积和计算周长这三种 行为 ( 当然也可以有其他行为 ) 这三种行为, 可以各用一个函数来实现, 他们都需要 用到长和宽这两个变量 54

51 从客观事物抽象出类的例子 将长 宽变量和设置长, 宽, 求面积, 以及求周长的 三个函数 封装 在一起, 就能形成一个 矩形类 长 宽变量成为该 矩形类 的 成员变量 三个函数成为该类的 成员函数 成员变量和成员函数统称为类的成员 实际上, 类 看上去就像 带函数的结构 55

52 从客观事物抽象出类的例子 class CRectangle { public: int w, h; int Area() { return w * h; } int Perimeter(){ return 2 * ( w + h ); } void Init( int w_, int h_ ) { w = w_; h = h_; } }; // 必须有分号 56

53 从客观事物抽象出类的例子 int main( ) { int w, h; CRectangle r; //r 是一个对象 cin >> w >> h; r.init(w, h); cout << r.area() << endl << r. Perimeter(); return 0; } 通过类, 可以定义变量 类定义出来的变量, 也称为类的实例, 就是我们所说的 对象 C++ 中, 类的名字就是用户自定义的类型的名字 可以象使用的类型的名字基本类型那样来使用它 CRectangle 就是一种用户自定义的类型 57

54 对象的内存分配 和结构体变量一样, 对象所占用的内存空间的大 小, 等于所有成员变量的大小之和 每个对象各有自己的存储空间 一个对象的某个 成员变量被改变了, 不会影响到另一个对象 58

55 如何使用类的成员变量和成员函数 用法 1: 对象名. 成员名 CRectangle r1, r2; r1.w = 5; r2.init(5,4); Init 函数作用在 r2 上, 即 Init 函数执行期间访问的 w 和 h 是属于 r2 这个对象的, 执行 r2.init 不会影响到 r1 用法 2: 指针 -> 成员名 CRectangle r1, r2; CRectangle * p1 = &r1; CRectangle * p2 = & r2; p1->w = 5; p2->init(5,4); //Init 作用在 p2 指向的对象上 59

56 如何使用类的成员变量和成员函数 用法 3: 引用名. 成员名 CRectangle r2; CRectangle & rr = r2; rr.w = 5; rr.init(5,4); //rr 的值变了,r2 的值也变 void PrintRectangle(CRectangle & r) { cout << r.area() << ","<< r.perimeter(); } CRectangle r3; r3.init(5,4); PrintRectangle(r3); 60

57 一起本学期的程设之旅! 61

PowerPoint Presentation

PowerPoint Presentation 程序设计 II 第 2 讲编码规范 计算机学院黄章进 zhuang@ustc.edu.cn 内容 2 代码总体原则 清晰第一 清晰性是易于维护 易于重构的程序必需具备的特征 代码首先是给人读的, 好的代码应当可以像文章一样发声朗诵出来 简洁为美 简洁就是易于理解并且易于实现 代码越长越难以看懂, 也就越容易在修改时引入错误 选择合适的风格, 与代码原有风格保持一致 如果重构 / 修改其他风格的代码时,

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

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

C++ 程序设计 告别 OJ2 - 参考答案 MASTER 2019 年 5 月 3 日 1 C++ 程序设计 告别 OJ2 - 参考答案 MASTER 2019 年 5 月 3 日 1 1 TEMPLATE 1 Template 描述 使用模板函数求最大值 使用如下 main 函数对程序进行测试 int main() { double a, b; cin >> a >> b; cout c >> d; cout

More information

<4D F736F F F696E74202D20B5DA3032BDB25FC0E0BACDB6D4CFF3312E BBCE6C8DDC4A3CABD5D>

<4D F736F F F696E74202D20B5DA3032BDB25FC0E0BACDB6D4CFF3312E BBCE6C8DDC4A3CABD5D> 程序设计实习 (I): C++ 程序设计 第二讲类和对象 (1) 面向对象的程序设计 面向对象的程序设计方法, 能够较好解决结构化程序设计中出现的问题 面向对象的程序 = 类 + 类 + + 类 设计程序的过程, 就是设计类的过程 2 面向对象的程序设计 面向对象的程序设计方法 : 将某类客观事物共同特点 ( 属性 ) 归纳出来, 形成一个数据结 构 ( 可以用多个变量描述事物的属性 ); 将这类事物所能进行的行为也归纳出来,

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

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

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

新・解きながら学ぶC言語

新・解きながら学ぶC言語 330!... 67!=... 42 "... 215 " "... 6, 77, 222 #define... 114, 194 #include... 145 %... 21 %... 21 %%... 21 %f... 26 %ld... 162 %lf... 26 %lu... 162 %o... 180 %p... 248 %s... 223, 224 %u... 162 %x... 180

More information

(procedure-oriented)?? 2

(procedure-oriented)?? 2 1 (procedure-oriented)?? 2 (Objected-Oriented) (class)? (method)? 3 : ( 4 ???? 5 OO 1966 Kisten Nygaard Ole-Johan Dahl Simula Simula 爲 6 Smalltalk Alan Kay 1972 PARC Smalltalk Smalltalk 爲 Smalltalk 爲 Smalltalk

More information

新版 明解C言語入門編

新版 明解C言語入門編 328, 4, 110, 189, 103, 11... 318. 274 6 ; 10 ; 5? 48 & & 228! 61!= 42 ^= 66 _ 82 /= 66 /* 3 / 19 ~ 164 OR 53 OR 164 = 66 ( ) 115 ( ) 31 ^ OR 164 [] 89, 241 [] 324 + + 4, 19, 241 + + 22 ++ 67 ++ 73 += 66

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

C++ Programming Style.docx

C++ Programming Style.docx C++ Programming Style (C++ 编码规范 ) Last Modified: 2014-11-18 Hongfei Yan 目的 书写格式规范 标示符命名规范 文档规范 模块组织规范 一般性原则 = 目的 = 增强代码的可读性, 从而使得系统具有更少的 Bug 和更高的健壮性 涉及到程序的书写格式 (Code appearance/layout) 标示符命名 (Naming) 文档规范

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++程序设计 - 字符串与格式化输入/输出

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 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

新版 明解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

untitled

untitled 1 1.1 1.2 1.3 1.4 1.5 ++ 1.6 ++ 2 BNF 3 4 5 6 7 8 1.2 9 1.2 IF ELSE 10 1.2 11 1.2 12 1.3 Ada, Modula-2 Simula Smalltalk-80 C++, Objected Pascal(Delphi), Java, C#, VB.NET C++: C OOPL Java: C++ OOPL C# C++

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

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

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

Guava学习之Resources

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

More information

Microsoft PowerPoint - plan08.ppt

Microsoft PowerPoint - plan08.ppt 程 序 设 计 语 言 原 理 Principle of Programming Languages 裘 宗 燕 北 京 大 学 数 学 学 院 2012.2~2012.6 8. 面 向 对 象 为 什 么 需 要 面 向 对 象? OO 语 言 的 发 展 面 向 对 象 的 基 本 概 念 封 装 和 继 承 初 始 化 和 终 结 处 理 动 态 方 法 约 束 多 重 继 承 总 结 2012

More information

幻灯片 1

幻灯片 1 信息科学技术学院 程序设计实习 郭炜微博 http://weibo.com/guoweiofpku http://blog.sina.com.cn/u/3266490431 刘家瑛微博 http://weibo.com/pkuliujiaying 1 信息科学技术学院 程序设计实习 郭炜刘家瑛 函数指针 ( 教材 P107) 2 基本概念 程序运行期间, 每个函数都会占用一段连续的内存空间 而函数名就是该函数所占内存区域的起始地址

More information

Microsoft Word - 新1-12.doc

Microsoft Word - 新1-12.doc 实训 5 面向对象编程练习 实训 5 面向对象编程练习 5.1 实训目的 通过编程和上机实验理解 Java 语言是如何体现面向对象编程基本思想 以及如何创建类 和对象 了解成员变量和成员方法的特性 5.2 实训要求 编写一个体现面向对象思想的程序 编写一个创建对象和使用对象的方法的程序 5.3 实训内容 5.3.1 创建对象并使用对象 1 定义一个 Person 类 可以在应用程序中使用该类 成员属性

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

_汪_文前新ok[3.1].doc

_汪_文前新ok[3.1].doc 普 通 高 校 本 科 计 算 机 专 业 特 色 教 材 精 选 四 川 大 学 计 算 机 学 院 国 家 示 范 性 软 件 学 院 精 品 课 程 基 金 青 年 基 金 资 助 项 目 C 语 言 程 序 设 计 (C99 版 ) 陈 良 银 游 洪 跃 李 旭 伟 主 编 李 志 蜀 唐 宁 九 李 涛 主 审 清 华 大 学 出 版 社 北 京 i 内 容 简 介 本 教 材 面 向

More information

C++ 程序设计 实验 2 - 参考答案 MASTER 2017 年 5 月 21 日 1

C++ 程序设计 实验 2 - 参考答案 MASTER 2017 年 5 月 21 日 1 C++ 程序设计 实验 2 - 参考答案 MASTER 2017 年 5 月 21 日 1 1 CRECT 类 1 CRect 类 设计矩形类, 包含 长度和宽度信息 基本构造函数 基础属性的访问接口 ( 读 / 写, Read/Write, Get/Set) 计算周长和面积 ( 注 : 基本构造函数, 一个无参数的默认构造函数, 以及一个初始化数据成员的构造函数如果数据成员的初始化有多种形式, 就提供多个构造函数

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

软件工程文档编制

软件工程文档编制 实训抽象类 一 实训目标 掌握抽象类的定义 使用 掌握运行时多态 二 知识点 抽象类的语法格式如下 : public abstract class ClassName abstract void 方法名称 ( 参数 ); // 非抽象方法的实现代码 在使用抽象类时需要注意如下几点 : 1 抽象类不能被实例化, 实例化的工作应该交由它的子类来完成 2 抽象方法必须由子类来进行重写 3 只要包含一个抽象方法的抽象类,

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

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

C++ 程序设计 OJ2 - 参考答案 MASTER 2019 年 5 月 3 日 1 C++ 程序设计 OJ2 - 参考答案 MASTER 2019 年 5 月 3 日 1 1 PERSON 1 Person 题目描述 编写程序, 定义一个基类 Person, 包含 name 和 age 两个数据成员 ; 再由它派生出学生类 Student 和教师类 Teacher, 其中学生类添加学号 no 数据, 教师类添加职称 title 数据 ; 要求每个类均有构造函数 析构函数和显示数据的函数

More information

Microsoft PowerPoint - 10 模板 Template.pptx

Microsoft PowerPoint - 10 模板 Template.pptx 模板 Tempalte 泛型编程的需要 Why Templates? 设想你对整数类型实现了一个排序算法 : void sort(int *is,int n); 用该函数可以对实 复数或工资单排序吗? 模板可以复用源代码 - 泛型编程. inline void Swap( int &x, int &y){ int t = x; x = y; y =t; inline void Swap(double

More information

Microsoft PowerPoint - 01_Introduction.ppt

Microsoft PowerPoint - 01_Introduction.ppt Hello, World C 程序设计语言 第 1 章章观其大略 孙志岗 sun@hit.edu.cn http://sunner.cn prf("hello,, world\n"); 超级无敌考考你 : 如何把 hello 和 world 分别打印在两行? 2004-12-19 A Tutorial Introduction 2 hello.c 打印华氏温度与摄氏温度对照表 计算公式 : C=(5/9)(

More information

( CIP) /. :, ( ) ISBN TP CIP ( 2005) : : : : * : : 174 ( A ) : : ( 023) : ( 023)

( CIP) /. :, ( ) ISBN TP CIP ( 2005) : : : : * : : 174 ( A ) : : ( 023) : ( 023) ( CIP) /. :, 2005. 2 ( ) ISBN 7-5624-3339-9.......... TP311. 1 CIP ( 2005) 011794 : : : : * : : 174 ( A ) :400030 : ( 023) 65102378 65105781 : ( 023) 65103686 65105565 : http: / /www. cqup. com. cn : fxk@cqup.

More information

untitled

untitled A, 3+A printf( ABCDEF ) 3+ printf( ABCDEF ) 2.1 C++ main main main) * ( ) ( ) [ ].* ->* ()[] [][] ** *& char (f)(int); ( ) (f) (f) f (int) f int char f char f(int) (f) char (*f)(int); (*f) (int) (

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

PowerPoint 演示文稿

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

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

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

1.doc

1.doc II II 1.1 1 2 1 1.1 3 2000 1958 9 12 1 4 1.1 5 1 6 1.2 7 8 1 1.2 9 ENIAC 1946 6 000 1 2 3 EDVAC 1949 ENIAC 240 1 10 1.2 11 12 1 1.2 13 n+ 1 i = ai r i= m 14 1 1.2 15 16 1 1.2 17 18 1 1 20 111 1.3 21

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

《计算概论》课程 第十九讲 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

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

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

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

Microsoft Word - CPE考生使用手冊160524.docx

Microsoft Word - CPE考生使用手冊160524.docx 大 學 程 式 能 力 檢 定 (CPE) 考 生 使 用 手 冊 2016 年 5 月 24 日 這 份 手 冊 提 供 給 參 加 CPE 檢 定 考 試 的 考 生 內 容 包 含 考 試 環 境 的 使 用, 以 及 解 題 時 所 使 用 I/O 的 基 本 知 識 1. 如 欲 報 名 參 加 CPE 考 試, 請 先 於 CPE 網 站 完 成 帳 號 註 冊, 然 後 再 報 名 該

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

北京大学

北京大学 1 string 类 郭炜刘家瑛 北京大学程序设计实习 string 类 string 类是一个模板类, 它的定义如下 : typedef basic_string string; 使用 string 类要包含头文件 string 对象的初始化 : string s1("hello"); // 一个参数的构造函数 string s2(8, x ); // 两个参数的构造函数

More information

Microsoft PowerPoint - 08_OO_CJC.ppt

Microsoft PowerPoint - 08_OO_CJC.ppt C++ 中的 Hello World! C 程序设计语言 第 8 章 OO 与 C++ Java C# 孙志岗 sun@hit.edu.cn http://sunner.cn 兼容 C 语言的 : #include int main() printf("hello,, world!\n"); return 0; 更具 C++ 味道的 : #include int

More information

nooog

nooog C : : : , C C,,, C, C,, C ( ), ( ) C,,, ;,, ; C,,, ;, ;, ;, ;,,,, ;,,, ; : 1 9, 2 3, 4, 5, 6 10 11, 7 8, 12 13,,,,, 2008 1 1 (1 ) 1.1 (1 ) 1.1.1 ( ) 1.1.2 ( ) 1.1.3 ( ) 1.1.4 ( ) 1.1.5 ( ) 1.2 ( ) 1.2.1

More information

Microsoft PowerPoint - 3. 函数Functionl.ppt [兼容模式]

Microsoft PowerPoint - 3. 函数Functionl.ppt [兼容模式] 函数 Function 如何重用代码 How to reuse code 3 4 = 3*3*3*3 3 4,6 5 : 拷贝 - 粘帖代码 (Copy-paste code) 3 4,6 5,12 10 : 拷贝 - 粘帖代码 (Copy-paste code) Bad! 使用函数 (with a function) 使用函数 (with a function) 使用函数 (with a function)

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

エスポラージュ株式会社 住所 : 東京都江東区大島 東急ドエルアルス大島 HP: ******************* * 关于 Java 测试试题 ******

エスポラージュ株式会社 住所 : 東京都江東区大島 東急ドエルアルス大島 HP:  ******************* * 关于 Java 测试试题 ****** ******************* * 关于 Java 测试试题 ******************* 問 1 运行下面的程序, 选出一个正确的运行结果 public class Sample { public static void main(string[] args) { int[] test = { 1, 2, 3, 4, 5 ; for(int i = 1 ; i System.out.print(test[i]);

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

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

CHAPTER VC#

CHAPTER VC# 1. 2. 3. 4. CHAPTER 2-1 2-2 2-3 2-4 VC# 2-5 2-6 2-7 2-8 Visual C# 2008 2-1 Visual C# 0~100 (-32768~+32767) 2 4 VC# (Overflow) 2-1 2-2 2-1 2-1.1 2-1 1 10 10!(1 10) 2-3 Visual C# 2008 10! 32767 short( )

More information

试卷代号 ~1075 座位号 E 口 国家开放大学 ( 中央广播电视大学 )20]5 年秋季学期 " 开放本科 " 期末考试 C 十十语言程序设计 试题 同二二十斗 2016 年 1 月 巴叫一 1. 下面的保留字 ( ) 不能作为函数的返回类型 A. void B. int C. new D. l

试卷代号 ~1075 座位号 E 口 国家开放大学 ( 中央广播电视大学 )20]5 年秋季学期  开放本科  期末考试 C 十十语言程序设计 试题 同二二十斗 2016 年 1 月 巴叫一 1. 下面的保留字 ( ) 不能作为函数的返回类型 A. void B. int C. new D. l 试卷代号 ~1075 座位号 E 口 国家开放大学 ( 中央广播电视大学 )20]5 年秋季学期 " 开放本科 " 期末考试 C 十十语言程序设计 试题 同二二十斗 2016 年 1 月 巴叫一 1. 下面的保留字 ( ) 不能作为函数的返回类型 A. void B. int C. new D. long 2. 在每个 c++ 程序中都必须包含有这样一个函数, 该函数的函数名为 ( ) A. main

More information

试卷代号 :1075 座位号 rn 国家开放大学 ( 中央广播电视大学 )2015 年秋季学期 " 开放本科 " 期末考试 c+ 十语言程序设计试题 2016 年 1 月 t 问一 Urr-f 斗 士 1 1. 下面的保留字 ( ) 不能作为函数的返回类型 A. void B. int C. new

试卷代号 :1075 座位号 rn 国家开放大学 ( 中央广播电视大学 )2015 年秋季学期  开放本科  期末考试 c+ 十语言程序设计试题 2016 年 1 月 t 问一 Urr-f 斗 士 1 1. 下面的保留字 ( ) 不能作为函数的返回类型 A. void B. int C. new 试卷代号 :1075 座位号 rn 国家开放大学 ( 中央广播电视大学 )2015 年秋季学期 " 开放本科 " 期末考试 c+ 十语言程序设计试题 2016 年 1 月 t 问一 Urr-f 斗 士 1 1. 下面的保留字 ( ) 不能作为函数的返回类型 A. void B. int C. new D. long 2. 在每个 C 十 + 程序中都必须包含有这样一个函数, 该函数的函数名为 ) A.main

More information

提问袁小兵:

提问袁小兵: C++ 面 试 试 题 汇 总 柯 贤 富 管 理 软 件 需 求 分 析 篇 1. STL 类 模 板 标 准 库 中 容 器 和 算 法 这 部 分 一 般 称 为 标 准 模 板 库 2. 为 什 么 定 义 虚 的 析 构 函 数? 避 免 内 存 问 题, 当 你 可 能 通 过 基 类 指 针 删 除 派 生 类 对 象 时 必 须 保 证 基 类 析 构 函 数 为 虚 函 数 3.

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

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

NOWOER.OM m/n m/=n m/n m%=n m%n m%=n m%n m/=n 4. enum string x1, x2, x3=10, x4, x5, x; 函数外部问 x 等于什么? 随机值 5. unsigned char *p1; unsigned long *p

NOWOER.OM m/n m/=n m/n m%=n m%n m%=n m%n m/=n 4. enum string x1, x2, x3=10, x4, x5, x; 函数外部问 x 等于什么? 随机值 5. unsigned char *p1; unsigned long *p NOWOER.OM /++ 程师能 评估. 单项选择题 1. 下 描述正确的是 int *p1 = new int[10]; int *p2 = new int[10](); p1 和 p2 申请的空间 的值都是随机值 p1 和 p2 申请的空间 的值都已经初始化 p1 申请的空间 的值是随机值,p2 申请的空间 的值已经初始化 p1 申请的空间 的值已经初始化,p2 申请的空间 的值是随机值 2.

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

Microsoft PowerPoint - L17_Inheritance_v4.pptx

Microsoft PowerPoint - L17_Inheritance_v4.pptx C++ Programming Lecture 17 Wei Liu ( 刘 威 ) Dept. of Electronics and Information Eng. Huazhong University of Science and Technology May. 2015 Lecture 17 Chapter 20. Object-Oriented Programming: Inheritance

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

3.1 num = 3 ch = 'C' 2

3.1 num = 3 ch = 'C' 2 Java 1 3.1 num = 3 ch = 'C' 2 final 3.1 final : final final double PI=3.1415926; 3 3.2 4 int 3.2 (long int) (int) (short int) (byte) short sum; // sum 5 3.2 Java int long num=32967359818l; C:\java\app3_2.java:6:

More information

C++ 程序设计 实验 1 - 参考答案 MASTER 2017 年 5 月 21 日 1

C++ 程序设计 实验 1 - 参考答案 MASTER 2017 年 5 月 21 日 1 C++ 程序设计 实验 1 - 参考答案 MASTER 2017 年 5 月 21 日 1 1 简单图形 1 简单图形 输入图形的行数 ( 如下图 7 行 ), 输出如下图所示图形 * *** ***** ******* ***** *** * 2 1 简单图形 1 #inc lude 2 using namespace std ; 3 4 // 注意变量命名的方式 5 //

More information

C/C++ - 函数

C/C++ - 函数 C/C++ Table of contents 1. 2. 3. & 4. 5. 1 2 3 # include # define SIZE 50 int main ( void ) { float list [ SIZE ]; readlist (list, SIZE ); sort (list, SIZE ); average (list, SIZE ); bargragh

More information

C PICC C++ C++ C C #include<pic.h> C static volatile unsigned char 0x01; static volatile unsigned char 0x02; static volatile unsigned cha

C PICC C++ C++ C C #include<pic.h> C static volatile unsigned char 0x01; static volatile unsigned char 0x02; static volatile unsigned cha CYPOK CYPOK 1 UltraEdit Project-->Install Language Tool: Language Suite----->hi-tech picc Tool Name ---->PICC Compiler Executable ---->c:hi-picinpicc.exe ( Command-line Project-->New Project-->File Name--->myc

More information

C/C++语言 - 运算符、表达式和语句

C/C++语言 - 运算符、表达式和语句 C/C++ Table of contents 1. 2. 3. 4. C C++ 5. 6. 7. 1 i // shoe1.c: # include # define ADJUST 7. 64 # define SCALE 0. 325 int main ( void ) { double shoe, foot ; shoe = 9. 0; foot = SCALE * shoe

More information

ebook8-30

ebook8-30 3 0 C C C C C C++ C + + C++ GNU C/C++ GNU egcs UNIX shell s h e l l g a w k P e r l U N I X I / O UNIX shell awk P e r l U N I X C C C C C C U N I X 30.1 C C U N I X 70 C C U N I X U N I X U N I X C Dennis

More information

1 Framework.NET Framework Microsoft Windows.NET Framework.NET Framework NOTE.NET NET Framework.NET Framework 2.0 ( 3 ).NET Framework 2.0.NET F

1 Framework.NET Framework Microsoft Windows.NET Framework.NET Framework NOTE.NET NET Framework.NET Framework 2.0 ( 3 ).NET Framework 2.0.NET F 1 Framework.NET Framework Microsoft Windows.NET Framework.NET Framework NOTE.NET 2.0 2.0.NET Framework.NET Framework 2.0 ( 3).NET Framework 2.0.NET Framework ( System ) o o o o o o Boxing UnBoxing() o

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

Ps22Pdf

Ps22Pdf C ( CIP) C /. :, 2001. 7 21 ISBN 7-5624 -2355-5. C........ C. TP312 CIP ( 2001 ) 034496 C * * : 7871092 1 /16 : 14. 25 : 356 20017 1 20017 1 : 1 6 000 ISBN 7-5624-2355-5 / TP311 : 21. 00 C, C,,,, C,, (

More information

山东师大数学科学学院

山东师大数学科学学院 山东师大数学科学学院 教材 参考书 教材 C 程序设计 ( 第三版 ) 辅导书 C 程序设计实训教程 谭浩强编著 杨杰臧文科 主要内容 第一章 C 语言概述第二章数据类型 运算符与表达式第三章顺序结构程序设计第四章选择结构程序设计第五章循环结构程序设计第六章数组第七章函数第八章指针第九章结构体与共用体第十章文件 上机实习 上机地点 : 上机时间 : 上机内容 (1) 对课堂所讲内容进行验证性实验 ;

More information

Microsoft PowerPoint - plan06.ppt

Microsoft PowerPoint - plan06.ppt 程 序 设 计 语 言 原 理 Principle of Programming Languages 裘 宗 燕 北 京 大 学 数 学 学 院 2012.2~2012.6 6. 基 本 控 制 抽 象 子 程 序 抽 象 子 程 序 活 动 和 局 部 环 境 静 态 实 现 模 型 一 般 实 现 模 型 调 用 序 列 和 在 线 展 开 参 数 机 制 泛 型 子 程 序 异 常 处 理 其

More information

C

C C 2017 3 14 1. 2. 3. 4. 2/95 C 1. 3/95 C I 1 // talkback.c: 2 #include 3 #include 4 #define DENSITY 62.4 5 int main(void) 6 { 7 float weight, volume; 8 int size; 9 unsigned long letters;

More information

一、考試宗旨:考選風險管理人才,提升風險管理水準。

一、考試宗旨:考選風險管理人才,提升風險管理水準。 101 年 第 1 次 風 險 管 理 師 考 試 簡 章 一 考 試 宗 旨 : 考 選 風 險 管 理 人 才, 提 升 風 險 管 理 水 準 二 考 試 類 別 :( 一 ) 個 人 風 險 管 理 師 ;( 二 ) 企 業 風 險 管 理 師 可 同 時 報 考 三 考 試 科 目 :( 參 考 用 書 請 詳 閱 簡 章 第 二 頁 ) ( 一 ) 個 人 風 險 管 理 師 考 試 (

More information

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

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

More information

( )

( ) ( ) 98 1-1-1 ( ) A 3,000 1.00 * 2006 * * 11,232 1-1-2 2006 1-1-3 1 3,000 11,232 3,358.656 839.664 1646.4 740.88 452.76 452.76 2 2006 3 1159 3061 1-1-4 1-1-5 2005 2004 28% 26% 2005 2004 21% 17% 4 2004 80%

More information

CC213

CC213 : (Ken-Yi Lee), E-mail: feis.tw@gmail.com 9 [P.11] : Dev C++ [P.12] : http://c.feis.tw [P.13] [P.14] [P.15] [P.17] [P.23] Dev C++ [P.24] [P.27] [P.34] C / C++ [P.35] 10 C / C++ C C++ C C++ C++ C ( ) C++

More information

C/C++ - 字符输入输出和字符确认

C/C++ - 字符输入输出和字符确认 C/C++ Table of contents 1. 2. getchar() putchar() 3. (Buffer) 4. 5. 6. 7. 8. 1 2 3 1 // pseudo code 2 read a character 3 while there is more input 4 increment character count 5 if a line has been read,

More information

第3章.doc

第3章.doc 3 3 3 3.1 3 IT Trend C++ Java SAP Advantech ERPCRM C++ C++ Synopsys C++ NEC C C++PHP C++Java C++Java VIA C++ 3COM C++ SPSS C++ Sybase C++LinuxUNIX Motorola C++ IBM C++Java Oracle Java HP C++ C++ Yahoo

More information

CHAPTER 1

CHAPTER 1 CHAPTER 1 1-1 System Development Life Cycle; SDLC SDLC Waterfall Model Shelly 1995 1. Preliminary Investigation 2. System Analysis 3. System Design 4. System Development 5. System Implementation and Evaluation

More information

OOP with Java 通知 Project 3: 3 月 29 日晚 9 点 4 月 1 日上课

OOP with Java 通知 Project 3: 3 月 29 日晚 9 点 4 月 1 日上课 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 3: 3 月 29 日晚 9 点 4 月 1 日上课 复习 Java 包 创建包 : package 语句, 包结构与目录结构一致 使用包 : import restaurant/ - people/ - Cook.class - Waiter.class - tools/ - Fork.class

More information

新・解きながら学ぶJava

新・解きながら学ぶJava 481! 41, 74!= 40, 270 " 4 % 23, 25 %% 121 %c 425 %d 121 %o 121 %x 121 & 199 && 48 ' 81, 425 ( ) 14, 17 ( ) 128 ( ) 183 * 23 */ 3, 390 ++ 79 ++ 80 += 93 + 22 + 23 + 279 + 14 + 124 + 7, 148, 16 -- 79 --

More information

IO

IO 1 C/C++ C FILE* fscanf fgets fread fprintf fputs fwrite C++ ifstream ofstream >>

More information

C/C++ - 结构体、共用体、枚举体

C/C++ - 结构体、共用体、枚举体 C/C++ Table of contents 1. 2. 3. 4. 5. 6. 7. 8. 1 C C (struct) C 2 C C (struct) C 2 i // book.c: # include < stdio.h> # define MAX_ TITLE 41 # define MAX_ AUTHOR 31 struct book { char title [ MAX_ TITLE

More information

1 4 1.1 4 1.2..4 2..4 2.1..4 3.4 3.1 Java.5 3.1.1..5 3.1.2 5 3.1.3 6 4.6 4.1 6 4.2.6 5 7 5.1..8 5.1.1 8 5.1.2..8 5.1.3..8 5.1.4..9 5.2..9 6.10 6.1.10

1 4 1.1 4 1.2..4 2..4 2.1..4 3.4 3.1 Java.5 3.1.1..5 3.1.2 5 3.1.3 6 4.6 4.1 6 4.2.6 5 7 5.1..8 5.1.1 8 5.1.2..8 5.1.3..8 5.1.4..9 5.2..9 6.10 6.1.10 Java V1.0.1 2007 4 10 1 4 1.1 4 1.2..4 2..4 2.1..4 3.4 3.1 Java.5 3.1.1..5 3.1.2 5 3.1.3 6 4.6 4.1 6 4.2.6 5 7 5.1..8 5.1.1 8 5.1.2..8 5.1.3..8 5.1.4..9 5.2..9 6.10 6.1.10 6.2.10 6.3..10 6.4 11 7.12 7.1

More information

华恒家庭网关方案

华恒家庭网关方案 LINUX V1.5 1 2 1 2 LINUX WINDOWS PC VC LINUX WINDOWS LINUX 90% GUI LINUX C 3 REDHAT 9 LINUX PC TFTP/NFS http://www.hhcn.com/chinese/embedlinux-res.html minicom NFS mount C HHARM9-EDU 1 LINUX HHARM9-EDU

More information

Microsoft Word - 119002_Java_術科 .doc

Microsoft Word - 119002_Java_術科 .doc 電 腦 軟 體 設 計 乙 級 技 術 士 技 能 檢 定 術 科 測 試 應 檢 人 參 考 資 料 (Java) 試 題 編 號 :11900-1000201~3 審 定 日 期 :100 年 6 月 28 日 電 腦 軟 體 設 計 乙 級 技 術 士 技 能 檢 定 術 科 測 試 應 檢 人 參 考 資 料 目 錄 ( 第 二 部 分 ) 壹 電 腦 軟 體 設 計 乙 級 技 術 士 技

More information

《80后职场新鲜人生存手册》

《80后职场新鲜人生存手册》 80 后 职 场 新 鲜 人 生 存 手 册 *************** * 第 一 章 别 把 求 职 当 成 简 单 的 事 *************** 树 立 起 一 个 良 好 的 工 作 态 度, 在 遇 到 困 难 的 时 候 要 懂 得 正 确 对 待, 不 要 把 它 当 做 绊 脚 石, 而 要 看 成 是 锻 炼 自 己 承 受 能 力 的 机 会 ---------------

More information

Strings

Strings Inheritance Cheng-Chin Chiang Relationships among Classes A 類 別 使 用 B 類 別 學 生 使 用 手 機 傳 遞 訊 息 公 司 使 用 金 庫 儲 存 重 要 文 件 人 類 使 用 交 通 工 具 旅 行 A 類 別 中 有 B 類 別 汽 車 有 輪 子 三 角 形 有 三 個 頂 點 電 腦 內 有 中 央 處 理 單 元 A

More information

C语言的应用.PDF

C语言的应用.PDF AVR C 9 1 AVR C IAR C, *.HEX, C,,! C, > 9.1 AVR C MCU,, AVR?! IAR AVR / IAR 32 ALU 1KBytes - 8MBytes (SPM ) 16 MBytes C C *var1, *var2; *var1++ = *--var2; AVR C 9 2 LD R16,-X ST Z+,R16 Auto (local

More information

Microsoft Word - 01.DOC

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

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

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

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

More information

C++ 程序设计 OJ9 - 参考答案 MASTER 2019 年 6 月 7 日 1

C++ 程序设计 OJ9 - 参考答案 MASTER 2019 年 6 月 7 日 1 C++ 程序设计 OJ9 - 参考答案 MASTER 2019 年 6 月 7 日 1 1 CARDGAME 1 CardGame 题目描述 桌上有一叠牌, 从第一张牌 ( 即位于顶面的牌 ) 开始从上往下依次编号为 1~n 当至少还剩两张牌时进行以下操作 : 把第一张牌扔掉, 然后把新的第一张放到整叠牌的最后 请模拟这个过程, 依次输出每次扔掉的牌以及最后剩下的牌的编号 输入 输入正整数 n(n

More information

<4D F736F F D205A572D2D A1AAA1AAD4ACE7F42D43D3EFD1D4CAB5D1B5BDCCB3CC2E646F6378>

<4D F736F F D205A572D2D A1AAA1AAD4ACE7F42D43D3EFD1D4CAB5D1B5BDCCB3CC2E646F6378> 第 1 部分 Visual Studio 6.0 开发环境介绍 本书以 Visual C++ 6.0 作为 C 源程序的实践开发环境, 本章将首先介绍 Visual C++ 6.0 环境的基本操作, 包括 Visual C++ 6.0 的安装和启动,C 源程序的编辑 运行与调试 1.1 安装与启动 Visual C++ 6.0 MSDN Visual C++ 6.0 1.1 Microsoft Visual

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