layout | title | date | categories | tags | excerpt |
---|---|---|---|---|---|
post |
C语言基础 |
2019-01-25 16:23:06 +0800 |
notes c basic |
C 基础 二进制 注释 结构 |
C语言入门知识 |
- 加法:0+0=0 0+1=1 1+1=10
- 乘法:0*0=0 0*1=0 1*1=1
- 减法:0-0=0 1-1=0 1-0=1 0-1=1(借位)
- 除法:0/0=0 0/1=0 1/1=1 1/0=无意义
- 与:0&&0=0 0&&1=0 1&&1=1
- 或:0||0=0 0||1=1 1||1=1
- 非:!1=0 !0=1
对于一整数,将一整数不断除以2,取余数,最后得到的余数就是最高位,最开始得到的余数就是最低位。
对于一小数,将一小数不断相乘,取整数,第一次得到的数就是最高位,最后得到的数就是最低位,一个十进制小数不一定能完全精准转化为二进制小数。若所求数既有整数部分也有小数部分就分别计算在合在一起。
将位数上数值与所对应的权值相乘再相加,对于转为十进制就是将数值与所对应的2的该位数减一次方相乘最后加在一起。
1110=1*2^(4-1)+1*2^(3-1)+1*2^(2-1)+0*2^(1-1)=8+4+2=14
二进制 | 八进制 | 十进制 | 十六进制 | 二进制 | 八进制 | 十进制 | 十六进制 |
---|---|---|---|---|---|---|---|
0000 | 0 | 0 | 0 | 1000 | 10 | 8 | 8 |
0001 | 1 | 1 | 1 | 1001 | 11 | 9 | 9 |
0010 | 2 | 2 | 2 | 1010 | 12 | 10 | A |
0011 | 3 | 3 | 3 | 1011 | 13 | 11 | B |
0100 | 4 | 4 | 4 | 1100 | 14 | 12 | C |
0101 | 5 | 5 | 5 | 1101 | 15 | 13 | D |
0110 | 6 | 6 | 6 | 1110 | 16 | 14 | E |
0111 | 7 | 7 | 7 | 1111 | 17 | 15 | F |
计算机将整数以补码形式存储,字符以ASCII码或UTF-8等标注保存,浮点数以指数形式保存。而整数若是正数则补码与原码同样,若是负数则是首位取反在加一。
C语言有两种注释方式:
- 以//开始的单行注释,以换行符为结尾,可以单独成行也可以在程序右边,所以不能跨行。
- 以/**/包裹的模块注释,可以包含多行内容。
注意:字符串中的/和/*都不是注释的开始.
#include<stdio.h>①
int main()②
{③
printf(“hello,world”);
return 0; ④
}⑤
- ①是编译预处理指令,用于提供如输入输出函数等的相关信息,stdio.h是系统提供的一个文件名,stdio是standard input&output的缩写,文件后缀.h是头文件header file的缩写。
- ②是定义主函数,每个C语言程序有且仅有一个,无论主函数在哪里,C程序都从主函数开始执行,C99中主函数是整型类型,返回0或其他整数值。
- ③前花括号是函数开始的标志,每个函数都应该由花括号括起来。
- ④函数执行完毕返回函数值0给函数调用处以告诉操作系统已完成。
- ⑤后花括号是函数结束标志。
一个C语言程序的结构有以下特点:
- 一个程序由一个或多个源程序文件组成。一个规模较小的程序,往往只包括一个源程序文件
在一个源程序文件中可以包括3个部分:
①预处理指令。如# include <stdio. h>(还有一些其他预处理指令,如# define等)。C编译系统在对源程序进行“翻译”以前,先由一个预处理器(也称预处理程序、预编译器)对预处理指令进行预处理,对于#include<stdio.h>指令来说,就是将stdio.h头文件的内容读进来,取代# include <stdio. h>。由预处理得到的结果与程序其他部分一起,组成-一个完整的、可以用来编译的最后的源程序,然后由编译程序对该源程序正式进行编译,才得到目标程序。
②全局声明 函数以外的声明。
③函数定义。如main函数,在调用这些函数时.会完成函数制定任务。 - 函数是C程序的主要组成部分。一个源程序文件就点一个程序模块,即将 一个程序分成若干个程序模块。
- 函数分两个部分。一是函数首部,包括函数名,函数类型,函数属性,函数形参名,参数类型,函数名后必须有一对圆括号,函数没有参数可以不写或是加void。二是函数体,包括声明部分和执行部分。
- 段序总是从main函数开始执行的。
- 程序中要求计算机的操作是由面数中的C语句完成的。如赋值、输入输出数据的操作都是相应的C语句实现的。
- C语言本身不提供输入输出语句。输入和输出的操作都使用scanf和print等函数来完成的。由于输入输出操作沙及具体的计算机设备,把输入输出操作用库函数实现,就可以使C语言本身的规模较小,编详程序简单,很容易在各种机器上实现,程序具有可移植性。
- 程序应当包含注释。一个好的,有使用价位的源程序都应当加上必要的注释,以增加程序的可读性。