栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C++程序设计复习

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C++程序设计复习

文章目录
  • 基础知识
    • C++的基本元素及基本数据类型
      • 基本符号
      • 标识符
      • 基本数据类型
    • 常用运算符及其优先级别
      • 算术运算符
      • 关系运算符
    • 程序的三种基本控制结构
      • 选择结构的几种基本语句
      • 循环结构的几种基本语句
    • C++程序的开发流程
  • 函数
    • 函数的定义
    • 函数的参数和函数的值
      • 形式参数与实际参数
      • 函数的返回值
    • 函数的调用
      • 调用形式
        • 说明
    • 内置函数(内联函数)
    • 带缺省形参的函数
    • 函数的重载
    • 函数模板
  • 数组
  • 指针
  • 结构体

基础知识 C++的基本元素及基本数据类型 基本符号

大、小写字母;下划线(不是连接符);数字;标点符号及运算符

标识符
  • 用来标识变量、常量、函数及文件的字符序列
  • 只能由字母、数字、下划线组成
  • 第一个字符必须是字母或下划线
  • 有长度限制且区分大小写
基本数据类型

整型:(unsigned) int、short、long
实型:float、double
字符型:(unsigned) char
布尔型:bool

常用运算符及其优先级别

算术运算符

*、/、%(高)
+、-(低)

关系运算符

<、> 、>=、 <=(高)
==、!=(低)

程序的三种基本控制结构

顺序结构、选择结构、循环结构

选择结构的几种基本语句
if(e) A;
if(e) A;
else B;
if(e1) A1;
else if(e2) A2;
else if(e3) A3;
…
else An;
switch(e)
{
   case e1: A1; break;
   case e2: A2; break;
   …
   default: An;
}
循环结构的几种基本语句
while(e)
   A;
do A;
while(e);
for(e1;e2;e3) A;
C++程序的开发流程

函数 函数的定义
  • C++程序是由一个一个的函数组成的

  • 函数的定义:
    函数类型 函数名([形参类型说明表])
    { 函数体
    }

  • 形式参数表中必须指出每个变量的类型:

int max(int x, int y)
{
     int z;
     z=x>y ? x: y;
     return(z);
}
int max(int x, y)
{
     int z;
     z=x>y ? x: y;
     return(z);
}           
函数的参数和函数的值 形式参数与实际参数
  • 函数参数:用于函数间数据的传递
  • 形式参数:定义函数时使用的参数
  • 实际参数:调用函数时使用的参数
函数的返回值
  • 函数的返回值即函数的值,是一确定的值。
  • 一个函数可以有多个return语句,但不论执行到哪个return,都将结束函数的调用而返回主调函数。
  • return后面的括号可以省略,return后面可以是表达式。
函数的调用 调用形式

函数名(实参表);

说明
  • 如果是调用无参函数,则没有“实参表”,但括号不能省略;
  • 实参个数与形参个数一般是相同的,但如果有缺省值,则可以不相同;
  • 实参类型与形参类型最好相同,如果不相同,编译系统会进行数据类型转换;
  • 函数调用在函数定义之前时,必须在函数调用前对该函数进行函数声明
main()
{  
     float a=3.5, b=6.5, c;
     c = add(a, b);
     printf(“sum is %f", c);
}
float add(float x, float y)
{     return(x+y);
}

函数的嵌套调用:在一个函数的函数体内又调用了另一个函数
函数的递归调用:函数直接或间接的调用自身

内置函数(内联函数)
  • 函数调用会增加执行的开销,C++中提供了内联函数,可以减少函数调用的开销;
  • 编译时在调用处用函数体进行替换,节省了参数传递、控制转移等开销;
  • 定义内联函数时,使用关键字inline。
带缺省形参的函数

函数在定义时可以预先定义出默认的形参值,调用时如给出实参,则采用实参值,否则采用预先定义出的默认形参值。

int add(int x=5, int y=6)
{
    return  x+y;
}
void main(void)
{ 
     add(10,20); //10+20
      add(10);  //10+6
      add();  //5+6
}
函数的重载
  • C++允许功能相近的函数在相同的作用域内以相同函数名定义,从而形成重载。重载函数的形参列表必须不同: 个数不同或类型不同。
  • 函数重载且具有缺省参数时,不能引起二义性:
int fun ( int x, char y);  {  …… }
int fun (int x=1, char y= ‘a’, float z = 6.2);  { …… }
fun ( 2, 3);//产生了二义性
函数模板
  • 函数模板可以用来创建一个通用功能的函数,以支持多种不同形参,
  • 例,计算两个向量和的函数模板:
# include 
Template  //模板声明,其中T为虚拟类型
T* sum(T* a, T* b, int n)
{    T* c = new T[n];
      for(int i=0; i 
数组 
  • 数组是一种构造类型数据,它是按序排列的具有相同类型变量的集合。
int a[10];   
float b[12];  
char c[20];
  • 数组名后只能用方括号括起来的正常量表达式(正常数或正符号常量)
#define M 10
int i=15;
int data[M];  对
float f[i];   错
char c(20);   错
  • 数组元素的下标从0开始,且不能越界(虽然下标越界不是语法错误)。
  • 一维数组如果不初始化,则自动赋随机值。
  • 可以只组前面部分元素赋初值,系统会自动给其它元素赋0,但所赋初值个数不能大于数组长度。
int a[4] = {1, 2};  <=>  int a[4] = {1, 2, 0, 0};
int a[4] = {1, 2, 3, 4, 5};  错

  • 如果给一维数组的所有元素初始化,则可以不指定数组的长度,系统会自动根据初始化元素的个数确定数组长度。
    int a[ ] = {1, 2, 3, 4};
  • 对于二维数组,如果对所有元素赋初始,则必须指明第二维的长度,而不必指明第一维的长度。
    int a[3][4]={1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12};
    int a[ ][4]={1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12};
指针

参考

结构体

结构体类型定义的一般形式为:

struct 结构体名
{成员表列};

struct  student
{
   int num;
   char name[20];
   char sex;
   int age;
   float score;
   char addr[30];
};
  • struct是关键字,表示是结构体类型,不可省略。
  • student是一种数据类型,而不是一个变量,因此不分配内存。
  • 对各成员都应进行类型说明。
  • 结构体名和成员名命名规则与变量命名规则相同。

结构体一个很典型的应用是链表

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/664717.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号