网站备案 后期,做网站多少钱一般,企业网站托管哪家好,wordpress主题模仿文章目录 0 前言#xff1a;1 进入C1.1 main()函数1.2 C注释1.3 预处理器和iostream1.4 头文件名1.5 名称空间1.6 使用cout进行C输出1.7 C源代码的格式化 2 C语句2.1 声明语句和变量2.2 赋值语句2.3 cout语句 3 其他C语句3.1使用cin3.2 使用cout进行拼接3.3 类简介 4 函数4.1 … 文章目录 0 前言1 进入C1.1 main()函数1.2 C注释1.3 预处理器和iostream1.4 头文件名1.5 名称空间1.6 使用cout进行C输出1.7 C源代码的格式化 2 C语句2.1 声明语句和变量2.2 赋值语句2.3 cout语句 3 其他C语句3.1使用cin3.2 使用cout进行拼接3.3 类简介 4 函数4.1 有返回值的函数4.2 函数变体4.3用户自定义的函数4.4 用户定义有返回值的函数4.5 使用using编译指令 5 总结6 参考 0 前言
基础知识是对C特性历史的一些介绍并不涉及C语言的实质。本章对C语言的基本结构做一下概述具体的细节日后会一步步去完善。
1 进入C
任何一句语言的初始便是在界面上输出“Hello World!”,进而打开新世界的大门感觉不对这个世界打声招呼不好意思开始一样。C也不例外。
#myfirst.cpp
#includeiostream
int main(){
using namespace std;
cout Hello World!;
cout endl;
return 0;
}之前学过C的会对这个程序既陌生又熟悉下面来对myfirst.cpp程序的元素进行分析 1注释// 2预处理编译指令#include 3主函数int main() 4编译指令 using namespace 5函数体的部分用{}包围 6用cout 显示消息语句 7用return 语句终结函数。
1.1 main()函数
myfirst.cpp的程序框架如图
int main(){
statements;
return 0;
}最早在学习C语言的时候就一直在main()函数里面捣腾所以对main语言再熟悉不过。int main()叫函数头{}括起来的部分叫作函数体在C中每条完整的指令都成为语句用分号来结束。其中最后一条return 0语句叫作返回语句用它来对函数进行终结。 对main()函数作如下说明 1为什么只能是main()函数 而不是A函数B函数C函数。我的解释是当程序只有一个函数时这个函数必须只能是main()函数规定的事不照办不好使在运行C程序时通常是从main()函数开始执行的如果没有main()程序是不完整的也将无法进行编译。 2int main代表了什么 来看一下main()的接口描述该接口从int 开始main()函数将返回一个整数值即int规定了函数返回值的类型。int main是一种缩略的写法完整的写法是int main(void)。 3语句与分号 语句是要执行的操作为了理解源代码编译器需要知道语句如何进行起止。语句之间需要使用语句分隔符在C中使用的是分号对语句进行分隔。
1.2 C注释
写程序必须要进行注释不然无法让别人对你的程序进行理解。C的注释方式沿袭了C。有两种注释方法。 1//用来对行进行注释无法跨行发生作用 2/* */的注释可以跨行进行注释。
1.3 预处理器和iostream
在学习的初期这样的两行代码基本成了标配
#includeiostream
using namespace std;#include是一种预处理将iostream中的内容加入到程序中来程序不仅仅只是main就完全实现功能需要在源代码编译之前替换或添加文本。
1.4 头文件名
像iostream这样的文件就叫作包含文件也叫作头文件C编译器自带了很多头文件每个头文件都支持一组特定的工具让程序在实现功能的前提下轻装上阵。以前的C头文件都有“.h”的后缀新式的C风格没有扩展名。
头文件类型约定示例说明C旧式风格以.h结尾iostream.hC可用C旧式风格以.h结尾math.hC,C可用C新式风格没有扩展名iostreamC可用转换后的C加上前缀c没有扩展名cmathC可用
1.5 名称空间
using namespace std;叫作using编译指令名称空间支持是C的一个特性。举个例子用两个已经封装好的产品里面都包含了一个函数——walk(),编译器不知道这个函数该用哪个产品的这时候便可以用名称空间来进行标定比如A公司的函数A::walk();若是B公司的则用B::walk()来进行表示。这样程序就可以使用名称空间来区分不同的版本。 就好像是个百宝箱但是要先using先声明一下才可以使用。
1.6 使用cout进行C输出
之前的“Hello world”程序利用cout进行输出双引号将字符串框起来不用管里面是什么计算机会对他进行输
出的处理。
cout Hello World!;
cout endl;表示该语句将字符串发送给了cout有一种很形象的说法这个符号指出了信息流动的路径。从C的概念上理解这个过程输出是一个流即从程序流出的一段字符串。cout对象属性包括一个插入运算符他可以将右侧的信息插入到流中。与其说程序显示了一条消息不如说他将一个字符串插入到了输出流中。
补充 a.coutendl,endl被称为控制符endl也是在iostream中定义的 b.C语言中的换行符是”\n”\n叫作换行符在C也能使用。
1.7 C源代码的格式化
1源代码中的标记与空白
a.在一行代码中不可分割的元素叫作标记 b.空格制表符回车统称为空白 字符与字符之前需要添加一些空白适当的空白使得程序可读性更强不合时宜的空白会使得程序报错。
2C源代码的风格
为了提升自己的编码水平首先需要输入一些“代码是非观“知道哪些是好的高水平的代码。如下是编程需要遵循的一些原则。 a.一条语句占据一行不要一条语句占据多行 b.每个函数都有{},这两个花括号各占一行 c.为了条理清晰函数中的语句相对于花括号需要进行缩进 d.与函数名称相关的圆括号周围没有空白。
2 C语句
书中给出了carrots.cpp的示例代码。
2.1 声明语句和变量
声明语句即你在用这个变量的时候需要确定这个变量是哪种数据类型以及它自身的变量名称。原则是使用这个变量前需要先对其进行声明。
2.2 赋值语句
声明这个变量还不够需要对其进行赋值才能知道这个变量的具体数值否则只会是一个没有意义的随机数。““是赋值语句。
2.3 cout语句
cout不仅可以打印字符串也可以打印出变量的值而不用对变量的数值类型做声明我觉得这是C比C更智能的地方。
3 其他C语句
3.1使用cin
cin是与cout相对应的概念cout是将字符串插入到数据流中相对应的cin是使用运算符从输入流中抽取字符。
3.2 使用cout进行拼接
C的自由格式将标记间的换行符和空格看作是可以相互替换的。
coutHelloworld等价于
cout Hello
world;3.3 类简介
类是用户定义的一种数据类型需要描述它能够表示什么信息以及可对数据执行哪些操作后续会详细讲解。
4 函数
程序的实现依赖于函数所以有必要加深对函数的理解。
4.1 有返回值的函数
顾名思义这个函数带有一个返回值而调用这个函数的程序将会获得这个返回值。书中以sqrt()举例说明调用函数后的具体流程。
4.2 函数变体
2.4.1的sqrt()函数中规中矩它既有输入的参数也拥有返回值。但是函数的参数可以没有可以有1个也可以有很多个这都是允许的。至于返回值函数可以有返回值也可以没有返回值只是完成相应操作即可。
4.3用户自定义的函数
从图像中可以看出首先包含了头文件使用了using编译指令在main()函数之前声明了函数原型然后在写函数的实现方式最后main()函数在实现的过程中调用自定义的函数过程大抵如此。
4.4 用户定义有返回值的函数
一个函数的特性 1有函数头和函数体 2接受一个参数 3返回一个值 4需要一个原型声明一个原型 在对传入的参数做一定的处理之后return 即可。
4.5 使用using编译指令
在初期需要用到cin,cout,endl这些都需要先using std的名称空间当然这是偷懒的做法。例如在头函数包含下添加语句using namespace std后便可以直接使用cin,cout,endl;若是不添加的话需要这样表示——
std::cin
std::cout
std::endl.5 总结
这一章通过“HelloWorld.cpp”敲开了C的大门了解了预编译处理器头文件using编译指令main函数其他功能函数以及C的6种语句cin,cout,C的学习之路刚刚开始。
6 参考
《C Primer Plus》