与C + +握手; (第一部 基本知识) 欢迎大家的光临 (96分)

T

Tense

Unregistered / Unconfirmed
GUEST, unregistred user!
与C++握手
第一部 基础知识
[第1章][第2章][第3章][第4章][第5章][第6章][第7章]
第一章 C + +程序的组成部分
目的:C + +程序的组成部分
C++程序由对象、函数、变量及其他对象组成;
[第1章][第2章][第3章][第4章][第5章][第6章][第7章]
第二章 常量和变量
目的:怎样声明和定义变量和常量;变量的赋值和使用;变量的值如何输出到屏幕;
变量: 定义变量时先要给去其类型,而后在给出名称;变量是存储信息的地方;变量是内存中的一个地址; 所有变量都在RAM(Random Access Memory 随机存储器)中生成;程序员在谈论到内存都是指RAM; 请使用易认易懂的变量; C + +区分大小写;务必记住各种变量在内存中所占的字节数以及每种变量可存储什么样的值;
不该做的: 不要使用关键字; 不要给无符号变量赋负值;
typedef: 表示类型定义;
特殊字符: /n 换行符 /t 制表符 /b 退格符 /" 双引号 /' 单引号 /? 问号 // 反斜杆
常量:和变量一样,也是数据存储的位置;在创建一个常量的同时,必须初始化,并且以后再不能向其赋值;
2种定义符号常量的方法: 预处理器指令#define、和Const
枚举型常量: enum 如:enum COLOR {RED, BLUE, GREEN, WHITE, BLACK}
枚举型常量: 相当于整型变量;枚举型变量实际是无符号整型量;
总结:
数值变量、字符变量、以及常量的使用;都是在执行过程中,用来存储数据的;
数值变量
可以是整型(包括字符型、长整型、短整型)、或浮点型(包括float、和double);
另外数值变量可以是有符号和无符号的;.
字面常量、符号常量、枚举型常量;
两种符号常量的声明方法:#define、关键字const;
[第1章][第2章][第3章][第4章][第5章][第6章][第7章]
第四章 表达式和语句
语句、块、表示式、程序分支、真假;
4.1 语句
控制程序的执行;计算表达式的值;或者什么都不做;所有的C++语句都以分号结尾;
块: 任何时候大括号要成对使用;语句以分号结尾;空白的使用;
4.2 表达式
任何一个计算值的操作都可称为表达式;表达式总能返回一个值;所有的表达式都是一个语句;
如: y = x = a + b;
4.3 运算符
数学运算符: 加(+)、减(-)、乘(*)、除(/)、求摸(%)、加等(+=)
赋值运算符: = 常量都是右值;不能为左值;
前置自加减、后置自加减的区别;
例如:
x = 5;
int a = + + x;
//x = 6, a = 6;
int b = x + + ;
//x = 7, b = 6;
x + + 相当于 x + = 1、x + = 1;

4.4 关系运算符;
共有六个: 等于(= =)、<、 >、> =、 < =、!=;区分赋值运算符(=)和关系运算符(= =)
比较关系运算符的返回值是true、或false;
4.5 if 语句
if 表达式
语句;//
 
4.6 逻辑运算符:
三种逻辑运算符;
逻辑“与” &amp;&amp;
如: if ((x == 5) &amp;&amp;
(y == 5))
逻辑“或” || 如: if ((x == 5) || (y == 5))  
逻辑“非” ! 如: if (!(x == 5))
4.8 条件运算符(?:)
是C + + 中唯一一个三目运算符
(表达式1) ? (表达式2) : (表达式3)
如 int x, y, z;
x = 5;
y = 8;
z = (x > y) ? x: y;
 
 
4.9 小结
C++语句表达式、C++语句运算符的作用、C++的if语句的用法;
逻辑运算符、关系运算符、运算符优先级的概念;
[第1章][第2章][第3章][第4章][第5章][第6章][第7章]
第五章 函数 (2001/12/10 15:53:40)
什么是函数以及函数的组成;怎样声明和定义函数;这样向函数传递变元;怎样从函数返回一个值;
5.1 函数
注意int mian()是ANSI的兼容语句;而void main()不是;
函数定义通常包含以下部分:
函数返回值;
函数名;
函数参数列表;
花括号中的实际函数体;
函数通常有两种类型;
内置函数: 编译器软件包的一部分,开发商提供给用户使用;
用户定义函数: 用户自己编写的函数;
函数原型:函数的声明又称为函数原型;函数原型的目的是介绍新函数给编译器;
三种方法:
将函数原型写在某个文件里,再用#include将其包含到程序中;
将函数原型写到使用该函数的文件中;
在函数被其他函数调用前定义该函数。定义将作为自己的申明;
定义函数:由函数头和函数体组成;
函数原型告诉编译器返回值类型、函数名称及变量表;
原型中可以不写参量名;但必须给出参量类型;
如果有返回值,则此函数必须以return结尾;
编程时一定要明确给出每个返回值类型。如果不返回,请指定返回值类型为void(空);
基本概念:
语句: 以分号结尾;告诉编译器执行一些特定的操作;
声明: 是一种语句,用以为编译器引入变量;
赋值表达式: 将一个值赋给一个变量;
函数: 一组计算机指令,执行在计算机程序中已定义好的任务;能够对数据进行处理并返回一个值的子程序;
结构: 一个结构就是一个数据类型,该数据类型将其他数据类型合成一个单独的用户定义的数据类型;
 
5.2 函数变元<2001/12/10 17:45:10>
变元的使用;
任何一个合法的C + +表达式都可以作为一个函数变元。包括常量、数学和逻辑表达式以及其他可返回值的函数;  
参量作为局部变量:传递到函数内的变元对该函数来说是局部的;
默认参量:如 int VolumeCube(int length, int width = 25);
函数重载:多个名称相同的函数称为函数重载;也叫函数的多态性;
同名函数的变元表必须有所区别;
返回值类型可相同也可不同;
函数的多态性:用多个含义重载一个函数的能力;
内嵌函数: 用inline声明函数;
用关键字inline声明;编译器不创建真实的函数只是将内嵌函数的代码直接复制到调用函数中;
效率提高(效率通常指程序的运行速度);而成本增加;
通常的函数:编译器在内存中创建一套指令;任何时候内存中只有一个函数拷贝;  
递归:函数调用本身;
5.3 函数如何工作
内存的组织:
操作系统将依编译器的需要而建立各种内存区域:
全局名字空间: 全局变量都放在全局名字空间;
自由存储器:
寄存器:特殊的内存区域,直接建立在中央处理器(CPU)内部。负责进行CPU内部事务处理。
指令指针: 任意给定的时刻指向下一行代码的那组寄存器称为指令指针:
指令指针:任意给定的时刻指向下一行代码的那组寄存器;
任务是跟踪下一步代码的执行那一行代码;
代码位于代码空间(代码空间指专门用来存放程序中指令的二进制形式的那部分内存);
每一行源代码都被翻译成一系列指令,每条指令都位于内存中的一个特定地址;指令指针的任务就是存放下一个要执行的指令的地址;
代码空间:
堆栈(zhan):一块特殊的内存区域,保存程序中每个函数所需要的数据;
遵守“后进先出”原则;
堆栈
 
 
堆栈与函数:
5.4 小结
函数实际上是一段能传递参量并能返回一个值的子程序;  
函数都是由函数原型声明,原型描述了返回值的类型、函数名以及参量变量;
函数根据需要可以声明为内嵌函数;函数原型也可为一个或多个参量声明默认变量;
函数定义必须在返回值、函数名和参量表方面与原型匹配;可以重载函数;
[第1章][第2章][第3章][第4章][第5章][第6章][第7章]
第六章 基本类 (2001/12/11 16:32:45)
什么是类、怎样定义类和创建这个类的对象、成员函数和成员数据、构造函数以及如何使用;
6.1 类
变量类型:变量的大小、可存储什么样的信息、可进行的操作;
类的基本概念:
类:一个类允许数据和函数捆绑到一起并且像单独的元素一样使用;
一个C + +类的主要的两部分:
类声明: 包含类的接口和这个类关于数据类型的信息;
类实现: 包含所有描述成类的一部分的成员函数;
方法: 类中定义的函数;
对象: 一个类的实例;
类的实例: 一个具体的类;(类是对一个对象的描述)
构造函数(construtor):
用途: 分配系统资源、清除或设置变量、或执行其他初始化的类型;
创建: 当一个类的对象被创建时,是一个被创建的特殊的成员函数;
和类有同样的名字并且从来没有一个返回值(不是void);
目的: 将一个刚创建的函数置于一个以知的状态中;
析构函数(destrutor): 特殊的成员函数,没有返回值并没有一个参数列表的声明;
类:只是若干个变量的集合,用一组相关的函数组合在一起;
用class XX {}声明
一个类型就是一个类别;
类可以将不同的部分或不同的功能封装或捆绑到一个集合中,这个集合称为一个对象;
成员变量: 类中的变量称为成员变量或数据成员;成员变量是类的一部分;
成员函数(类的方法):类中的函数通常处理成员变量;是类的一部分,决定类的功能;
只能给变量赋值,而不能给类型赋值;
使用点(.)运算符来访问类的成员变量和成员函数;
不要将类和对象混淆;
备注: 声明用来说明类是什么,定义则为一个对象分配内存;  
 
[第1章][第2章][第3章][第4章][第5章][第6章][第7章]
第七章 程序流程
(时间 200/12/12 17:33:30-->)
提纲: 循环以及如何使用;深嵌套if..else
语句的替换语句;
(备注 VC++6 (2001/12/12 10:34:40--> 11:26:54) 第三章 函数、结构和类
第四章 对话框和基本控件 (2001/12/12 15:14:20-->16:08:53))
7.1 循环
循环:相同数据进行重复操作,完成这种功能的两种方法分别是递归和迭代(迭代的主要方法是循环);
goto: 循环语句的起源;最好的建议是不要使用它;
#include <iostream.h>
int main()
{
int counter = 0;
loop: counter ++;
cout << "counter: " << counter << "./n";
if (counter < 5)
goto loop;
cout << "Colmplete.Counter: "<< counter << "./n";
cin >> counter;
return 0;
}
while循环:不能保证循环体至少执行一次(因为首先要测试条件);
语法:while condition
statement;
continue和break;
continue: 使while或for循环从循环体顶端开始;
break: 可以立即终止while或for;使程序跳转到循环体外继续执行;
while (true)循环: 条件为真时,请使用while循环进行迭代;有可能导致死循环;
do...while循环: 测试条件之前先执行循环体(循环体至少可以执行一次);
for循环: 如 for (int i = 0;
i < 10;
i ++)、、、 语法为:
for (initialization;
test;
action)
statement;
switch: 以任意多的测试条件,转入不同的分支;
使用switch语句避免深层嵌套的if语句;
要设置默认的case语句,即使是仅仅为了检查看上去不可能的情况也要如此;
小心记录每个可以跳出循环的case;
switch (expression)
{
case valueOne: statement;
break;
default:
statement;
}
7.2 小结:
While循环: 先建立一个条件;
Do...While: 先执行循环体;
for循环: 先初始化一个值,再测试一个表达式的值;每次执行循环体后都会再次测试表达式的值;
break: 可以使while循环、do...while循环、switch语句结束;
continue: 使while循环 、do...while循环、for循环重新开始执行;

参考书籍: Jesse Liberty Teach Yourself C + + in 21 Days(Third Edition);
编译器: VC++6.0
如有什么不正确之处,请指点,谢谢大家;
 
好啊
在看啊
 
听课中.....
盼续....
 
完了?怎么没有“引用”啊,它可是C++独有的
谁跟我说说“引用”是怎么回事,特别是“引用函数”
 
光看标题,我还以为讲C++怎么与Delphi共享对象呢!
最近正在研究这个问题,用“Object Class Share”搜索了点资料,正在整理中。
自己搞明白了再Post上来吧,也算是抛砖引玉!
 
这个,
我觉得应该生动一点吧
有点象看国内的教科书;)
 
想法是好的,可是,这样做却不好:
我觉得不应该像教科书一样,不应该从最基本的就像在教书一样说起。
毕竟,要学基础知识,大家身边随时能找到大量的C、C++书籍。而我相信,这些书能比我
们这样来说说得更清楚;
最好,是结合自己学习的过程,把自己学习中认为有难度的地方,值得探讨一番的地方拿
出来说。还有,把一些书上没说清楚的地方,而自己在进一步学习的过程中才弄明白的地方
说出来,指点一下我们这些后进。
如果,像上课一样,今天,我们讲第一章,这一章,是说C++的起源,C++是怎么诞生的呢,
是。。。。。。
谁会去看啊:)
 
支持 ,c++的知识,有助于delphi 的提高
 
呵呵,教科书就不用了。我想,还是一点一点的说对各
章学习的体会比较好了。
 
最好最后搞成一个CHM让大伙儿下载。
 
基础真要打好才是。
 
学习学习
 
很好!
光会点Delphi 真是不够混的了!
希望哪位富翁再能开出一个关于 Oracle 的讲座来!
 
呵呵,太好了。小弟我现在正打算学C++呢。先谢谢了。[:D]
 
我正学它呢,希望能给多一些例子,尤其是c++特有的机制
 
C++ 我最喜欢了 :)
 
我都想学C++!
 
我正看指针和引用,头大啊!!!!!!!
 
顶部