网站平台开发多少钱,wordpress文章展示,做夜场网站,网站建设书籍附光盘目录 1.C语言简介
1.C语言发展简史
1.机器语言
2.汇编语言
3.高级语言
4.C语言发展简史
5.C和C语言的关系
2.C语言的特点
1.基本的输入输出
1.C中的输入流和输出流
2.标准的hellworld代码
3.简单的输输出函数
2.头文件和命名空间
1.头文件
2.命名空间
…目录 1.C语言简介
1.C语言发展简史
1.机器语言
2.汇编语言
3.高级语言
4.C语言发展简史
5.C和C语言的关系
2.C语言的特点
1.基本的输入输出
1.C中的输入流和输出流
2.标准的hellworld代码
3.简单的输输出函数
2.头文件和命名空间
1.头文件
2.命名空间
3.强制类型转换运算符
1. static_cast
2.const_cast
4.函数参数的默认值
5.引用和函数参数的传递
1.引用
2.引用在函数中的使用
6.const与指针共同使用
7.内联函数
8.函数的重载
9.指针和动态内存分配
1.指针
2.动态内存分配
10.用string对象处理字符串 1.声明string对象
2.string对象的操作
1.输入输出
2.string对象之间互相赋值
3.使用运算符操作
4.使用进行字符串拼接
5.string对象用法实例
1.empty()函数判断字符窜是否为空
2.size()函数判断字符的大小
3.length()函数判断字符窜长度
4.find()函数
5.insert()函数
6.append()函数
3.C语言的程序结构 工作之后没怎么写过C了空闲下来的时候翻了下C的书籍记录下学习C的过程。
1.C语言简介
1.C语言发展简史 按照是否可以直接操纵计算机底层硬件把程序设计语言分成低级语言、中级语言、高级语言。机器语言和汇编语言属于低级语言因为它们可以直接操纵计算机的寄存器和内存。计算机诞生的初期使用低级语言编程是主要的开发形式。
1.机器语言 机器语言是一种依赖于CPU的指令系统使用机器指令的二进制代码编写程序能够直接被计算机识别。
2.汇编语言 汇编语言使用能够代表指令的助记符来编写程序也可以看作是符号化了的机器语言。
3.高级语言 高级语言是面向用户的语言在形式上接近于算数语言和自然语言。优点是程序容易阅读并且通用性强但是不能直接和硬件打交道可不能直接在计算机上运行需要系统软件的支持需要编译程序以及链接程序将高级语言编译链接称为及其指令之后才能运行。 C属于高级语言范畴。
4.C语言发展简史
1979年C诞生于贝尔实验室。1985年C1.0版诞生。1989年C2.0版诞生。1993年C3.0版诞生。1998年C98(C标准第一版)诞生。2003年C03(C标准第二版)版诞生。2011年C11(C标准第三版)版诞生。2014年C14(C标准第四版)版诞生2017年C17(C标准第五版)版诞生。
5.C和C语言的关系 C语言是C的前身在进一步扩充和完善C语言的基础上得到了C语言。C是C语言的超集。
2.C语言的特点 C语言的主要特点如下
C是C语言的继承尽量兼容C语言既保持了C语言的简洁和高效可以像C语言那样进行结构化程序设计同时也增强了C语言对类型的处理。C加入了面向对象特征可以进行以抽象数据类型为特点的基于对象的程序设计还可以进行一继承和多态为特点的面向对象的程序设计。
1.基本的输入输出
1.C中的输入流和输出流 C中类库中提供了输入流instream和输出流ostream。cin和cout分别是instream类和ostream类的对象用来实现基本的键盘输入和屏幕输出。 从输入流中获取数据的操作称为提取操作向输出流中添加数据的操作称为插入操作。运算符和是位移运算符在C类库中已经对和进行了重载使之分别作为流提取运算符和流插入运算符用来输入和输出C标准类型的数据。 在使用cin和cout函数的时候必须导入iostream. C中当连续从键盘读取想要的数据时以空格Space制表符Tab或者Enter键作为分隔符。 cin的一本格式如下 cin变量1变量2..变量n; cout的一本格式如下 cout变量1变量2..变量n; cout的一本格式如下
2.标准的hellworld代码
#include iostreamint main(int argc, const char * argv[]) {// insert code here...std::cout Hello, World!\n;return 0;
}3.简单的输输出函数
cout的一本格式如下
#include iostreamint main(int argc, const char * argv[]) {// insert code here...std::cout 请输入两个整数\n;int numbber1, number2;std::cinnumbber1number2;std::cout number1:numbber1\tnumnber2:number2\n;return 0;
}2.头文件和命名空间
1.头文件 C中使用#include指令表示导入类库或者头文件。 其中#include文件名表示导入系统提供的类库#include 文件名表示导入用户自定义的类文件。 当我们使用尖括号的时候C编译器首先寻找C设置的目录中寻找头文件如果找不到才会在制定的目录中寻找。 常用的头文件有以下几个
标准输入输出流iostream标准文件流:fstream标准字符串处理函数:string 标准数学函数:cmath
2.命名空间 C使用namespace表示命名空间。 标准的namespace格式如下 namespace 命名空间名 { 命名空间内的各种声明(函数声明、类声明、...) } C中namespace的引入是为了解决不同模块中出现的标识符重名的问题在大型的程序中各个模块通常是不同的程序员开发的不同模块中可能会出现重名的问题namespace的引用就解决了这个问题。 引用命名空间的标识符的语法格式如下 命名空间名标识符 using namespace 命名空间名 第一种方式表示在本文件中直接使用该标识符 第二种方式表示可以再本文件中直接使用指定命名空间内的所有标识符。 以上面的helloworld程序为例当我们使用using namespace ::std定义标识符的时候std::coutHello world!可以写成coutHello world.
#include iostream
using namespace::std;int main(int argc, const char * argv[]) {// insert code here...cout Hello world!\n;return 0;
}3.强制类型转换运算符 当不同类型的量进行混合运算时系统自动进行合理的类型转换也可以在程序中使用强制类型转换符static_cast或者是const_cast进行转换。
1. static_cast static_cast表示将一种数据类型转换成另外一种数据类型使用格式如下 static_cast类型名(表达式) 其中static_cast可以省略下面的四种写法都是正确的 oneInt2 static_castInt(oneDouble) oneInt2 Int(oneDouble) oneInt2 (Int)oneDouble oneInt2 oneDouble 2.const_cast 用于去除指针和引用的常量性但不能去除变量的常量性。 标准格式如下 const_cast类型名表达式 这个运算符的作用就是讲常量指针转换为非常量的指针并且仍然指向原来的对象或者将常量引用转换成为非常量的引用并且仍然指向原来的对象。
4.函数参数的默认值 C中可以再声明函数时为形参指定默认值。当调用默参数值的函数时调用语句中可以不给出对应的实参这就相当于调用该函数时以默认值作为参数。指定默认值时不仅可以用常数还可以用任何有定义的表达式作为参数的默认值。
#include iostream
using namespace::std;void func(int a 11,int b 22,int c 33){coutaa,bb,ccendl;
}int main(int argc, const char * argv[]) {func();func(55);func(77,99);func(8,88,888);return 0;
} 上述的代码中我们调用func()的时候打印出来的结果是11,22,33 调用func(55)的时候打印出来的结果是55,22,33。 调用func(77,99)的时候打印出来的结果是77,99,33。 调用func(8,88,888)的时候打印出来的结果是8,88,888。
5.引用和函数参数的传递
1.引用 引用相当于给变量起了一个别名格式如下 类型名 引用名 同类型的某变量 如果给变量起了一个别名相当于变量和这个引用都对应到同一地址。 int oneInt; int aname oneInt; 2.引用在函数中的使用 函数在传值的时候既可以直接传值也可以传指针。
6.const与指针共同使用 const限制访问权限告诉编译器它所修饰的量是不能改变的。 const修饰变量的时候基本含义如下
1.如果唯一的const位于符号*的左侧表示指针所指数据是常量数据不能通过本指针修改但是可以通过其他方式进行修改指针本身是变量可以指向其他的内存单元。
2.如果唯一的const位于符号*的右侧表示指针本身是常量不能让该指针指向其他内存地址指针所指的数据可以通过本指针修改。
3.如果符号*的左右两侧各有一个const的时候表示指针和指针所指数据都是常量既不能让该指针指向其他地址也不能通过指针修改所指的数据。
7.内联函数 C中内联函数的使用是为了减少程序代码实现程序代码的共享从而提高程序的开发效率和可维护性。 内联函数的标准格式 inline 返回值类型 函数名(函数参数) { 函数体 } 8.函数的重载
C允许同名的重载函数。
#include iostream
#include string
using namespace::std;int max(int x,int y){if (xy) {return x;} else {return y;}
}
float max(float x,float y){if (xy) {return x;} else {return y;}
}
double max(double x,double y){if (xy) {return x;} else {return y;}
}int main(int argc, const char * argv[]) {string str C;str str.append(程序设计);coutstrendl;coutmax(1, 3)endl;coutmax(1.1, 3.0)endl;coutmax(111.123123123123, 3.123123123123)endl;return 0;
}9.指针和动态内存分配
1.指针 指针变量中保存的事一个地址有时候指针指向一个地址。
2.动态内存分配 C中不允许定义元素个数不确定的数组。但是提供了动态内存分配机制在程序运行期间根据实际需要临时分配一段内存空间用于存储数据。因为这种内存分配实在程序运行期间进行的所以称作”动态内存分配“。
10.用string对象处理字符串 C标准类库中提供了一个string数据类型专门用于处理字符串。可以把string看成一个特殊的数据类型专门用来处理字符串。 使用string对象的时候必须在程序中包含头文件string,即在程序的最前面要加入下面的语句 #include string 1.声明string对象 格式如下
String 变量名
在声明字符串的同时可以进行初始化没有进行初始化的字符串即。 string str1; string city BeiJing; string str2 city; coutstr1str1.endl; coutcity,str2endl; 也可以使用字符串数据对字符串变量进行初始化。例如 char name[] C程序设计; string s1 name; 还可以声明一个string对象数组即数组中每个元素都是字符串。例如 string citys[] {Beijing,Shanghai,Tianjin,Chongqing}; coutcitys[1]endl; coutsizeof(citys)/sizeof(string)endl; sizeof(citys)表示整个数组占用的空间大小sizeof(string)表示每个string对象的大小所以sizeof(citys)/sizeof(string)表示的是数组元素个数。
2.string对象的操作
1.输入输出
例如 string s1,s2; cins1s2; couts1,s2endl; 2.string对象之间互相赋值 string s1,s2OK; s1 China; s2 s1; couts1s1\ts2s2endl; 3.使用运算符操作 这里指的是对象之间使用、、、、、运算符进行比较。大小的判定是按照字典的顺序进行的而且是大小写相关的。例如大写字母的ASCII码小于小写字母的ASCII码(A~Z码是0x41~0x5a,a~z码是0x61~0x7a,‘’) 所以Zbcabc。
4.使用进行字符串拼接 string s1,s2,; s1 C; s2 程序设计; s s1 s2; 5.string对象用法实例 string类中为字符串对象提供了一些”成员函数“可以用来方便地实现一些功能。这些成员函数调用方法就是string对象名.成员函数名(参数)。 string类中一些常用的成员函数列表如下
1.empty()函数判断字符窜是否为空
int main(int argc, const char * argv[]) {string str;if (str.empty()) {cout字符串为空\n;} else {}return 0;
}
2.size()函数判断字符的大小 string str C程序设计;coutstr字符串的大小:size(str)\n;
3.length()函数判断字符窜长度 string str C程序设计; coutstr字符串的长度:str.length()\n; 4.find()函数 判断字符串中第一次出现字符的位置如果查到了范围第一次出现的位置如果没有查到返回-1。 string str C程序设计; if (str.find(C)!-1) { coutC出现的位置:str.find(C)endl; } else { printf(查找失败); } 运行程序之后控制台打印C出现的位置0
5.insert()函数 insert函数的作用是在制定的位置增加字符串。
#include iostream
#include string
using namespace::std;int main(int argc, const char * argv[]) {string str 程序设计;str str.insert(0,c);coutstrendl;return 0;
}运行程序之后控制台输出内容:c程序设计
6.append()函数 append()函数的作用是在原来字符串的末尾追加新的字符串。
#include iostream
#include string
using namespace::std;int main(int argc, const char * argv[]) {string str C;str str.append(程序设计);coutstrendl;return 0;
}
运行程序之后控制打印C程序设计
3.C语言的程序结构 C程序以.cpp作为文件拓展名文件中包含若干个类和若干个函数。程序中必须有且仅有一个主函数main(),这是程序执行的主入口。主函数也成为主程序。程序从主函数的开始出执行按照其控制结构一直执行到结束。 程序的结束通常是遇到了以下两种情况之一
1.在主函数中遇到了return语句
2.执行到主函数最后面的}。 主函数中可以调用程序中定义的其他函数但其他函数不能调用主函数。主函数仅仅是系统为执行程序时所调用的。 C程序中仍然沿用C语言的注释风格即注释有以下两种形式。
1.从*/开始到*/结束这之间的所有内容都视作注释
2.从//直到行尾都是注释。