C最初用作UNIX操作系统的描述语言,经过不断改进发展成c++
开发过程:
编辑:.cpp文件
编译:无语法错误,生成.obj文件
连接:所有.obj和系统库文件.lib生成.exe
运行:运行.exe
预处理命令
宏定义
#define S(r) 3.14*r*r
#define EOF -1
文件包括
#include <iostream.h>
条件编译
#ifdef 标示符
程序段
#endif
函数
主函数:main()函数只有一个,程序执行从主函数开始
函数类型 函数名 (函数参数)
int add(int x, int y)
函数体
{
int c;
c= x+y;
return c;
}
函数类型缺省时,默认为int
注释
单行注释
// 内容
多行注释:不能嵌套多行注释,可以嵌套单行注释
/*
内容
内容
内容
*/
const修饰符
定义的常量有类型和地址,
一旦初始化不能更改,除了修饰函数形参外都必须初始化
常量可以使局部的和全局的
作用与#define相似,但它消除了#define的不安全性
const in LIMIT = 100; //int可以省略,c语言中用define定义常量
int a = 1;
#define t1 = a+a
#define t2 = t1-t1
//输出t2 = 2
常量形参
int strlen(const char *ps) //ps指向内容不能修改
{
}
指向常量的指针:指针指向的内容不能变
const char *a;
char const *a;
const char * name = “chen”
name[2] = ‘a’; // 错
name = “zhang”; //对
常量指针:指针地址不能变
char * const a;
char * const name=”chen”;
name[2] = ‘a’; // 对
name = “zhang”; //错
指向常量的常量指针:内容不能变,指针地址也不能变
const char* const a;
内置函数/内联函数
inline修饰
减少开销,提高效率
系统编译时,像对待宏一样进行替换(程序运行时没有函数调用和函数返回)
大函数不适合内联
内联函数里不能有循环语句等
函数原型(函数声明)
返回类型 函数名 (参数表);
参数表可以不用参数名
long area(int, int);
main()函数无需函数原型说明
若函数原型说明未指出函数返回类型默认为int类型
若函数没有返回值
在函数原型说明中指出
函数的返回类型为void
如果函数原型没有参数,默认为void类型