C与C++语法总结
来源:互联网 发布:唐山炭知天下 编辑:程序博客网 时间:2024/05/01 12:00
【C编程思想:数据结构+算法】
C语言包含内容繁多,在这里做了一个归纳总结。分为6个部分:
数据类型
存储类型
基本要素
预处理
函数
文件操作
一、基本要素
1、常量
(1)数字常量
(2)字符常量
普通字符:用单引号 ' ' 包起来。例如:‘a’,‘c’
转义字符:以"\"开头,并用单引号 ' ' 包起来。例如:‘\n’(表示换行)
(3)字符串常量
双引号包起来,并在末尾自动加上‘\0’作为结束标志。例如:“hello world”。
(4)符号常量
宏的使用要注意:a、宏无分号,无作用域,无生存期,无类型;b、加括号
例如:#define fps (50)
2、变量
3、标识符
由字母、下划线、数字组成,以字母、下划线开头。包括:变量名、函数名、符号常量
4、运算符
(1)结合性:优先级相同则从左向右运算
(2)优先级:单目 > 双目 > 三目
单目:[]、. 、->、指针
双目:算术:+ - * /
位运算:& 、| 、~、^、《、》
关系:> < >= <= == !=
逻辑:&&、 ||
三目:条件运算符(?:)
双目运算优先级:算术 > 移位> 关系 > 位> 逻辑
5、表达式 = 运算对象 + 运算符
6、语句
表达式语句
函数调用语句
空语句
选择语句
循环语句
复合语句
二、预处理
1、宏
2、文件引用
3、条件编译
三、函数
1、形参:值传递,指针传递
2、嵌套
3、递归
四、数据类型
1、基本类型
整型
浮点型
字符型
枚举型
2、构造类型
数组
结构体
共用体
3、指针类型
4、void类型
五、储存类型
1、作用域
全局
局部
2、生存期
3、存放位置
注:
static:1、函数内:本函数内使用,值为上次函数内调用的值
2、模块内:本模块内使用,值为上次模块内的值
(限定作用范围)
const:目的:阻止一个变量值改变
1、只读变量
2、定义时必须初始化
(限定变量)
六、文件操作
1、基于文件指针的文件操作(缓冲):自动在内存中开辟一个缓冲区。ANSI C标准。
(1)文本流:便于输出。fgetc()、fputc()。
(2)二进制流:便于存储。fread()、fwrite()。
2、基于文件操作符的文件操作(非缓冲)。Linux系统调用。
【C++编程思想:对象+消息】
一、封装(类与对象)
1、访问控制
public/protected/private
2、成员函数
(1)构造函数:
a、产生并初始化对象
b、拷贝构造函数:只有一个参数,并且参数是本类的引用
用于三种情况:1、用一个同类型的对象初始化一个对象
2、做为实参传给一个函数
3、函数返回时赋值一个对象
(2)析构函数
(3)操作符重载
3、函数的重载:同一个类中,同名函数的参数类型和个数不同
函数的覆盖:派生类函数覆盖基类的同名函数,此基类函数必须是虚函数。派生类函数和基类虚函数参数个数和类型相同,返回类型相同
函数的隐藏:派生类函数隐藏基类的同名函数。
a、两个函数参数相同,基类不是虚函数
b、两个函数参数不同,不论基类是不是虚函数,都会隐藏
4、对象与子对象
二、继承
1、单继承
(1)公有继承基类中的public/protected继承为派生类的public/protected,类内可以访问,类外派生类对象可以访问继承的共有成员。
赋值兼容:派生类的对象/引用/指针可以赋值给基类对象/引用/指针
(2)私有继承
基类中的public/protected继承为派生类的private,类内可以访问,类外派生类对象不能访问。
派生类类内的成员函数可以访问基类的public/protected成员,类外不可访问基类的所有成员
(3)保护继承基类中的public/protected继承为派生类的protected,类内可以访问,类外派生类对象不能访问。
派生类类内的成员函数可以访问基类的public/protected成员,类外不可访问基类的所有成员
2、多继承
(1)二义性
(2)虚基类
3、继承机制下的构造与析构函数
(1)析构函数的调用顺序:派生类 ---> 派生类的子对象 ---> 基类---> 虚基类
三、多态
1、静态联编:根据调用时使用的实参决定调用那个函数
(1)重载:同一个类中,同名函数的参数类型和个数不同
(2)模板:以独立于任何特定类型的方式编写代码
2、动态联编
(1)虚函数:在基类中定义并说明为virtual,并在派生类中重定义
(2)实现动态联编需要满足三个条件:
四、I/O流类库a、满足赋值兼容规则
b、要声明虚函数
c、由成员函数来调用或者通过指针、引用来访问虚函数
通过指针访问虚函数时,指针所指向对象的类型决定调用哪个函数
通过引用访问虚函数时,与指针类似。
3、通过对象名访问虚函数时,调用那个类的函数取决于定义对象名的类型(不属于动态联编)
五、异常处理ios类派生的istream和ostream类分别提供对流进行提取和插入操作
- C与C++语法总结
- C与C++的语法区别总结
- C语言语法总结
- c的语法总结
- Objective-C语法总结
- Objective-C 语法总结
- Objective-C语法小总结
- object c语法简单总结
- C++/Cli语言语法总结
- C语言基本语法总结
- Objective-C 特殊语法总结
- c语言语法陷阱总结
- 【c】c语言语法知识点总结 1
- LINQ 查询语法与方法语法 (C#)
- vb 与 c# 语法区别
- shell 与c语法比较
- c ++ 总结与备忘
- 【C#】C# 语法总结--长期更新
- PHP合并两个数组的两种方式的异同
- 南邮 OJ 1999 Snoopy
- bzoj2337: [HNOI2011]XOR和路径
- 常用前端开发工具合集
- 暑假-树状数组-C - Ping pong
- C与C++语法总结
- javascript 调用其他页面的js函数或变量的脚本
- 南邮 OJ 1996 ELEVATOR
- 开发android,我们需要哪些技能基础
- 应用生命周期
- JVM垃圾收集(三)垃圾收集器
- 用LUA写一个日历
- hdu5360优先队列
- 周末你好