c语言
C语言/C++的标准
C语言的标准
C语言之父:丹尼斯·里奇
K&R标准:C语言的第一个标准,在1978年出版的《The C Programming Language》)一书中所描述的C语言规范。
C89/C90/ANSI C标准:是学习的主要标准,诞生于1990年1月。是C语言的通用标准。
C99标准:于1999年诞生,是C的一版改进标准。C99的独有语法禁止使用。
C14标准及之后标准:这些标准可以无视。
C++的标准
C++之父:本贾尼·斯特劳斯特卢普
C++98标准:基本兼容C89标准,是C++的第一个正式版本。
C++03标准:在C++98的基础上做了一些修订,一般不独立提及,如果提及等同于C++98。
C++11标准:是C++的第一个大型拓展版本,也是现在最主流的版本。其改动之大使得其就像一门新的
语言一样。
C++14/17标准:主流编译器都支持的版本,也是现在部分公司会采用的版本。
C++20及之后标准:暂且无视。
git
是GNU组织研发的一个代码版本管理工具,它采用分布式方式管理,是现在最主流的代码管理工具。
GIT的基础操作:
commit :向本地仓库同步已经修改的本地代码
push :向云上仓库同步本地仓库中已经提交的修改
pull :从云上仓库中将其他节点的修改同步过来
add : 添加新文件(重命名也相当于添加新文件)
log : 查看历史记录
clean : 如果仓库出现错误,可以使用这个命令尝试让仓库自动修正错误
diff : 可以用于查看当前已经修改的部分和本地仓库中原来的部分的不同之处。
clone : 可以直接拉取新仓库
conflict
当同一个仓库由两个或更多人开发时,很容易产生冲突,即其中一个人修改了某个文件的某一行,并完 成了 commit 操作,而另一个人也修改了这一行,并同样也 commit 了,此时两人如果要进行 pull ,就 会提示 conflict 。此时必须在两个版本的代码中选择一个版本固定,然后重新 commit ,才可以解决掉 冲突。
※冲突是无法避免的
分支
git中允许拉取分支,可以就某个提交版本拉取一个分支进行修改,之后的 commit 、 push 、 pull 操作 就可以针对这个分支了。在分支上的修改不会影响到主干上的代码,如果分支被删除,则所有分支相关 的内容会被删除,但主干不会受到任何影响。如果分支上的内容要提交到主干上,就需要执行 merge 操 作。
Hello, world
C语言的 Hello, world
#include <stdio.h>
int main()
{
printf("Hello, world!\n");
return 0
}
接下来逐行讨论下这个代码:
1、#include <stdio.h>
以#开头的语句叫做预编译语句,这系列语句主要做文本处理,这里的 #include 指的是直接去系统库中 找一个名叫 stdio.h 的文件,将它的内容直接粘贴到调用处。 std 是单词 standard 的缩写,表示标准库, io 是计算机属于 I/O ,表示输入输出 ( input/output ), .h 是文件类型,表示头(head)文件。
2、 int main()
main 是C语言程序的本体,程序会以 main 的开始为开始, main 的结束为结束。也即 main 就是程序的 入口和出口。 main 后会带有一对大括号表示函数体,即 main 要执行的语句。 int 是单词 integer 的缩写,表示整数类型, main 会向它的调用者(即父进程)返回一个整数,表示 程序的结束状态。
3、 printf("Hello, world!\n");
printf 是 stdio.h 中提供的一个功能,表示将字符数据输出到终端(控制台)。它的功能十分强大, 能将各种数据格式化后输出。其中里面的 \n 是一个换行符。
4、return 0;
return 语句可以强行结束一个函数的代码块,这里表示结束 main 的代码块,而由于 main 结束程序就 结束了,所以在这里其实表示了程序的结束。
※如果程序正常结束,就会返回一个0。
※C语言程序是从上到下,从左向右运行的。
※C语言程序是以分号作为语句结束的,所有语句都可以用分号关闭。C语言认分号不认换行。
C语言的注释
C语言的原生注释方式是: /* */ 如:
#include <stdio.h>
/*这是我的第一个程序*/
/*
段注释允许多行
*/
int main()
{
printf("Hello, world!\n");
return 0;
}
C++中引入了 BCPL 的注释方式: // ,如:
#include <stdio.h>
//这是行注释
int main()
{
printf("Hello, world!\n"); //这也是行注释
return 0;
}
C99中也引入了这种注释方式。C语言中可以使用这两种注释。
进制
计算机中存储、传输数据时使用的都是二进制。 计算机内存在管理数据时,通常将8个二进制位捆绑起来管理,8个二进制位就叫1字节。
其他进制转十进制
以如下八进制数为例:
(71523)8(71523)_8(71523)8
在这个数字中,每一位其实都可以按照十进制的方式表示,即:
7* 848^484 +1* 838^383 +5* 828^282 +2* 818^181 +3* 808^080
把这个式子的结果计算出来:
28672+512+ 320+16+3=29523
就是上面八进制数对应的十进制。
十进制转其他进制 采用短除法,不断的让十进制的原数对进制数取余数,直到商变为0:
2|28
2|14 -----0
2|7-------0
2|3-----1
2|1----1
0-----1
取完余数后,将余数倒着书写就成了转换后的结果,即28 = (11100)2(11100)_2(11100)2
八进制和十六进制
八进制和十六进制是用于缩写二进制的。由于8和16都是2的次方数,所以,每三位一组就可以将二进制 缩写为八进制,每四位一组就可以将二进制缩写为十六进制,如:
原数:110100101101110101
八进制:
110 100 101 101 110 101
645565
十六进制:
11 0100 1011 0111 0101
34B75
转换时只需要查表即可:
| 二进制 | 十六进制 | 十进制 |
|---|---|---|
| 0000 | 0 | 0 |
| 0001 | 1 | 1 |
| 0010 | 2 | 2 |
| 0011 | 3 | 3 |
| 0100 | 4 | 4 |
| 0101 | 5 | 5 |
| 0110 | 6 | 6 |
| 0111 | 7 | 7 |
| 1000 | 8 | 8 |
| 1001 | 9 | 9 |
| 1010 | A | 10 |
| 1011 | B | 11 |
| 1100 | C | 12 |
| 1101 | D | 13 |
| 1110 | E | 14 |
| 1111 | F | 15 |
C的输入输出基础
使用 int a 可以定义一个整型变量,使用如下代码可以对这个变量进行输入输出:
#include <stdio.h>
int main()
{
int a;
scanf("%d", &a); //输入a
printf("%d", a); //输出a
return 0;
}
多个变量的输入输出:
#include <stdio.h>
int main()
{
int a, b;
scanf("%d%d", &a, &b);
printf("%d + %d = %d", a, b, a + b);
return 0;
}

2397

被折叠的 条评论
为什么被折叠?



