a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 131|回复: 2

[C++] 2012年计算机二级C++语言概述考点总结

[复制链接]
发表于 2012-7-31 21:56:58 | 显示全部楼层 |阅读模式
第1章 C++语言概述
6 ^) A5 A" G, K; Q4 W9 g" j
% g' e2 w' k1 w. ~# r  1.1 C+ +语言的发展
4 \6 P% \! k; K2 R0 P4 ~" J7 X; S% l  C+ +起源于C语言。1980年贝尔实验室的Bjarne Stroustrup和他的同事们开始对C语言进行改进和扩充,把Simula 67(一种早期的面向对象语言)中类的概念引入到C语言,并将改进后的C语言称为“带类的C”(C with class)。1983年夏,“带类的C”被正式命名为“C+ +”,并于同年7月首次对外发表。 ; M; v+ ~: ?7 v- g3 g: x$ c
  1.2 C+ +语言的特点 7 |( s& h! ~9 }1 ^: ]; v
  1C+ +是一种面向对象的程序设计语言 + ]0 Q& v$ p8 M" B
  (1)抽象数据类型。 1 _- A& T% k; x- z
  (2)封装和信息隐藏。
$ \' d& b4 A+ n/ K: l  (3)以继承和派生方式实现程序的重用。 ) e, x! g) X! N3 {# N7 ^- T& n* i
  (4)以运算符重载和虚函数来实现多态性。
6 C9 d: _, W& K2 A, e6 Z6 X* E  (5)以模板来实现类型的参数化。 8 l6 U+ X3 q* d
  2C+ +是程序员和软件开发者在实践中创造的
* X5 Q! w; |0 W  C+ +往往从编写实际程序的角度出发,为程序员提供了各种实用、灵活、高效的语言特性。 9 \/ W3 k. R' D8 e* O2 ~) Y' p1 L* J
  3C+ +是C语言的超集
5 v8 w2 y$ f: N( O; |0 W  能够很好地兼容C语言正是C+ +取得成功的原因之一,这是因为: + I1 U8 A5 H1 n6 A. R( i- v
  (1)C+ +继承了C语言简明、高效、灵活等众多优点。 9 |: \$ C6 U; I8 F" A
  (2)以前使用C语言编写的大批软件可以不加任何修改,直接在C+ +开发环境下维护。 % ^3 T( c8 V  c/ z( U1 h
  (3)C语言程序员只需要学习C+ +扩充的新特性,就可以很快地使用C+ +编写程序。 + E+ v2 @2 ^, s( H5 n" E  P6 ^
  1.3 面向对象程序设计 : q3 R( y" M8 }& R
  C+ +是一种面向对象的程序设计语言,它充分支持面向对象思想中的三个主要特征是:
# q6 J+ s$ k$ H7 w( c, i  1封装性 2 C2 X: @4 V7 `  A! W2 k3 f
  封装性是指将数据和算法捆绑成一个整体,这个整体就是对象,描述对象的数据被封装在其内部。如果需要存取数据,可以通过对象提供的算法来进行操作,而无需知道对象内部的数据是如何表示和存储的。这种思想被称为信息隐藏。 / y# M8 `$ Q& u. M4 T3 x/ v3 O
  2继承性 , X5 t. ]/ @! o9 ]7 V8 g
  继承性是指一种事物保留了另一种事物的全部特征,并且具有自身的独有特征。 7 Y0 w% W' G; `5 y& b' U' l; M
  C+ +语言采用继承来支持重用,程序可以在现有类型的基础上扩展功能来定义新类型。新类型是从现有类型中派生出来的,因此被称为派生类。 * M, @; K& N) D7 e
  3多态性 ' f. ?1 X7 E% E( M% k
  多态性是指当多种事物继承自一种事物时,同一种操作在它们之间表现出不同的行为。 ; C# z7 r2 i, b( m9 ^8 V) F
  C+ +语言中使用函数重载、模板、虚函数等概念来支持多态性。 # ^9 s  n3 b9 i$ N7 \" ~
  C+ +语言主要包括面向过程和面向对象两部分内容。学习C+ +语言时,应该先学习其面向过程部分,再学习面向对象部分。 4 y! c+ D7 E! F8 J& F
  1.4 C+ +语言的基本符号   }1 m( \$ L- w. Y1 j3 @
  C+ +语言中的基本符号可以分为3类: 8 J  H3 N5 F4 ]" ~2 W# |
  1字母。包括大写英文字母和小写英文字母共52个符号。
% d3 |$ C" o  ]" Y. ^& @  2数字
& R7 q& M! k1 t  t% t  s  3特殊符号。包括: & T1 ^# n- o! j$ s; U
  + - * / = ,  _ : ; ? \〓″〓′~ | ! # % & () [ ] { } ^ < >和“空格”共30个符号。   这三类符号共计92个,它们组成了C+ +语言的基本符号集合。
回复

使用道具 举报

 楼主| 发表于 2012-7-31 21:56:59 | 显示全部楼层

2012年计算机二级C++语言概述考点总结

1.5 C+ +语言的词汇
9 D4 s+ ~1 e# L! e& L$ p4 u  1关键字
% h; y! j" y2 p9 \; L1 R  关键字也称为保留字,它是由C+ +语言本身预先定义好的一类单词。
7 q6 j1 W" ~2 T' w9 N  表1ANSI C 标准规定的关键字 . a5 I; |. |& w
  auto break case char
+ d4 r3 l5 b4 Q: B/ v  const continue default do
  R% t2 z# ?1 P& v7 Z' |& G* `9 `  double else enum extern
1 R% `  H) E6 u  float for goto if
6 Q3 d; ^5 [. C( v  int long register return ( Y* Y' }* {4 v
  short signed sizeof static
/ P8 Q* b/ \2 i; P  {  struct switch typedef union 0 K3 T' g6 ]6 C$ C
  unsigned void volatile while 8 A' m0 O( {9 o. j
  表2ANSI C+ + 标准补充的关键字
1 Z, s! O) P5 {, M- k  bool catch class const_cast 2 L, A. p& z9 O% H5 m
  delete dynamic_cast explicit false
. h; ~1 l- C! K/ b+ ~: L  friend inline mutable namespace . d3 B0 I3 k2 \* C1 A8 H* z4 ~
  new operator private protected
& c& [1 X/ a, ^5 Z* I: g  public reinterpret_case static_cast template
& j" \6 P- u1 T8 G  this throw true try
2 A( Y$ O0 B* J& T' s  typeid typename using virtual
( b/ M3 F, r$ i  wchar_t2标识符 6 Q' E# Z4 I+ J
  标识符是用户为程序中各种需要命名的“元素”所起的名字。标识符的组成要符合一定的规则:
# S4 N; H, h* S9 w7 p  (1)标识符是一个以字母或下划线开头的,由字母、数字、下划线组成的字符串。
( W: S- H0 a% E/ ~  (2)标识符不能与任意一个关键字同名。
- g  @( D) T0 g7 f1 S2 z; M% x  (3)标识符中的字母区分大小写。 + C2 L4 z. i" w* w2 {2 M$ `" c) G
  (4)标识符不宜过长。C+ +语言一般设定一个标识符的有效长度为32个字符。 5 t' N- S+ i; n
  3字面常量
( u) }+ c$ R) `. q( z; M% y9 ]5 }  常量是指在程序中固定不变的值。常量一般有两种表示形式,即符号常量和字面常量。C+ +语言中符号常量的名字就是一个标识符,而字面常量却是一类特殊的单词。字面常量分为整型、浮点型、字符型和字符串型四类。
: C. \; H  t; h2 ~/ M& }  4运算符
8 s4 F7 c) j: H  运算符是对程序中的数据进行操作的一类单词。C+ +语言中运算符的种类非常丰富,其中有:
! X" P. t& D8 ]- E* Q* @5 Y  |  (1)单字符组成的运算符。 : k6 _. r0 y  h, M7 m
  (2)双字符组成的运算符。 2 L, J% l2 {$ G  s
  (3)三个字符组成的运算符。
* |- x! `0 K. Q- v  (4)关键字运算符。 7 i  Y/ b" U  \2 M
  5标点符号
- C, H' x. [0 u, {8 u  标点符号是在程序中起分割内容和界定范围作用的一类单词。 ; Y0 C! w( ^; J7 e0 _
  表3C+ +语言的标点符号 + ]' w" G7 I4 H9 i! e# K
  标 点 符 号 描 述 5 T) ]7 t0 W! y7 s6 j: [
  (空格) 语句中各成分之间的分割符
4 i* X3 k& t! N2 J; a  ; (分号) 语句的结束符
6 N3 w5 u* _' k/ \+ ]. E( d% R) w% g  ′ (单引号) 字符常量的起止标记符 9 \; N) b0 k/ W1 a  D! @3 S/ B
  ″ (双引号) 字符串常量的起止标记符 , T7 r/ f7 X# O6 p/ \
  # (井字号) 预处理命令的开始标记符 4 M( }2 p, f# k& [
  { (左花括号) 复合语句的开始标记符
6 l+ s4 ^7 Z! R, J& ?/ f* c' z  } (右花括号) 复合语句的结束标记符 " j, g1 Q2 A* }8 U1 K/ e
  ∥ (双斜杠) 行注释的开始标记符
3 m$ T% ?  b; v/ k$ z! v  /* (斜杠和星号) 块注释的开始标记符   */ (星号和斜杠) 块注释的结束标记符
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-7-31 21:57:00 | 显示全部楼层

2012年计算机二级C++语言概述考点总结

1.6 C+ +程序的基本框架 5 Y, [4 Y" S8 c+ x" o& e
  由于C+ +语言既支持结构化程序设计,又支持面向对象程序设计,所以它同时具有结构化程序设计和面向对象程序设计两种基本框架。
5 f" @$ ?6 y4 D! J0 o6 K  i  1结构化程序设计框架 ; Z% W# D' k$ w
  在C+ +的结构化程序设计框架中,函数是程序的基本组成单元。程序的主体通常由若干函数定义构成。 6 Z- ~8 Q0 }& G+ Q1 m# R0 _
  函数是程序中完成一定功能的模块。各个函数之间通过参数、返回值和全局变量来进行数据通信。
& d8 \& f/ u: W& g, ^- J2 T! a  当编写一个较大的程序时,可以把它按照功能逐级划分成许多相对独立的小模块。每个小模块的功能由一个函数实现,再通过适当的方法将这些函数组织在一起协同工作,就能够完成整个程序所规定的任务。这种方法体现出了结构化程序设计中“功能分解,逐步求精”的思想。 5 I6 J' z' D5 g" y
  使用结构化程序设计方法编写出的C+ +程序包括一个主函数和若干用户定义函数。主函数由操作系统调用,它是整个程序的入口。在主函数中调用其他函数,其他函数之间也可以相互调用,并且同一个函数可以被一个或多个函数调用任意多次。在C+ +中一个函数被调用之前必须先被声明。函数声明和函数体放在一起组成函数定义;函数体是用花括号括起来的若干语句,它们完成了一个函数的具体功能。 2 \' a1 m2 L# x9 X1 A  C
  一般地,一个C+ +程序的结构化程序设计框架可以表示为: ; d5 _' Q/ U' J
  <函数1的声明> 8 X* @* j; d: m
  <函数2的声明>
% f- j/ `- V7 j, c; I" g" |  …
6 r( g2 D" R0 H6 N- v  <函数n的声明> : b$ {2 X& d2 j
  <主函数main()>
2 o; u9 M, {. n" d0 n* U0 |  <函数1的定义>
5 K+ F" A/ e& N  <函数2的定义>
6 V0 `9 ~' g/ u4 [  …
6 I5 M3 ?( v0 p  <函数n的定义>
; D9 e( ?% H( E$ E1 x3 Z% j  2面向对象程序设计框架
  j: }3 [2 b& z' k- ?  在C+ +的面向对象程序设计框架中,类成为程序的基本组成单元。程序的主体通常由若干类的定义构成。
8 [" j$ ?- n- g$ h: V  类可以把数据和函数封装在一起,用以描述事物的属性和对事物的操作。类与类之间一方面通过封装而具有明确的独立性;另一方面又通过成员、友元、参数、继承和派生等关系,达到相互通信和联络的目的,从而形成一个有机的整体。
% ~& J6 a' j' Y# P$ n: w$ l% I  在结构化程序设计中,除了主函数之外,所有函数之间一律“平等”,没有层次关系可言,当程序规模稍大时,就会使整体结构变得相当混乱。相反,在面向对象程序设计中,类与类之间能够按照逻辑关系组成有条理的层次结构,从而使一个复杂程序变得有“纲”可循。这正体现出面向对象思想的优越性。 ; s, [" D9 w4 |! B  v: m" u5 H5 C
  一般地,一个C+ +程序的面向对象程序设计框架可以表示为: 6 Z! B: C! S" q5 [$ Z* l
  <类1的定义> ) q, A0 r' A+ Q2 E# w- p
  <类2的定义>
3 S( w+ D9 k* R4 R7 `  …
$ i; N; w7 ?+ z5 h' f+ n. z  <类n的定义> + O, u5 M5 j+ y/ s1 z* ]% U
  <主函数main()> 7 P) k: C8 b% l9 X8 N
  <类1的成员函数定义> + c% p+ ?9 U6 G+ d. x% _* d) s
  <类2的成员函数定义> , Z! W; A" J) W3 ?
  …
: n% ?' v& O3 Q- ]: _  <类n的成员函数定义> 6 ~. [; q/ L1 y; _2 d  V
  1.7 C+ +程序的开发过程
) o( o& Y' N3 t+ V: o4 l  开发一个C++程序的过程通常包括编辑、编译、链接、运行和调试等步骤。 " f! {* _5 l5 V/ W) s
  1编辑 3 [3 p1 i& N+ _' J6 ^2 F
  在VC6集成开发环境中,用户可以使用编辑窗口来进行C+ +程序的编辑工作。VC6的编辑窗口是专门为编辑C+ +程序而设计的,它提供了包括语法亮色、调用提示、自动缩进、查找和替换等在内的一系列功能,使用起来十分方便。 ; W! d: g  c% m% a8 L9 Y' x4 L
  当用户完成了C+ +程序的编辑时,应将输入的程序文本保存为以cpp为扩展名的文件(保存C+ +头文时应以h为扩展名)。
1 S% H$ j, b6 K5 ?# b8 Z' s  2编译
; a7 p8 |5 m- P3 ]  在VC6集成开发环境中,用户可以使用编译(Compile)命令将一个以cpp为扩展名的C+ +源程序文件转换成一个以obj为扩展名的目标文件。如果一个C+ +程序由多个源程序文件组成,应将它们分别进行编译形成多个目标文件。   X/ N% n% k7 U* p9 \$ l! r- ^7 {
  3链接
% v( |: e) g9 @  在VC6集成开发环境中,用户可以使用生成(Build)命令来进行目标文件的链接工作。另外,在源程序文件没有被编译的情况下直接使用此命令,可以使编译和链接工作一起完成。 % b) v, c9 U* K  R
  4运行和调试
; u6 P$ E: ?$ ?7 Y2 i- e, b/ c9 Z% S  在编译和链接工作成功地完成之后可以运行得到的可执行程序,观察程序是否符合我们所期望的运行结果。在VC6集成开发环境中,用户可以使用执行(Execute)命令来运行程序。   如果程序的运行结果不是我们所期望的,说明源程序文件中存在着语义错误。这时,需要使用调试器对可执行程序进行跟踪调试来查找错误发生的原因。在VC6集成开发环境中,用户可以很方便地进入调试状态,对程序进行设置断点、单步执行、观察变量等操作。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-5-5 02:59 , Processed in 0.266401 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表