Skip to content

Latest commit

 

History

History
117 lines (87 loc) · 5.37 KB

2019-01-25-c-language-basic.md

File metadata and controls

117 lines (87 loc) · 5.37 KB
layout title date categories tags excerpt
post
C语言基础
2019-01-25 16:23:06 +0800
notes c basic
C 基础 二进制 注释 结构
C语言入门知识

二进制入门

 运算

  1.数值运算

  • 加法: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=无意义

  2.逻辑运算

  • 与:0&&0=0 0&&1=0 1&&1=1
  • 或:0||0=0 0||1=1 1||1=1
  • 非:!1=0 !0=1

 数制转换

 1.十进制转为二进制

对于一整数,将一整数不断除以2,取余数,最后得到的余数就是最高位,最开始得到的余数就是最低位。

$$\begin{array}{c|lccc} {2}&{105}&{取余数}&{}&{低}\\ {2}&{52}&{1}&{}&{\uparrow}\\ {2}&{26}&{0}&{}&{\uparrow}\\ {2}&{13}&{0}&{}&{\uparrow}\\ {2}&{6}&{0}&{}&{\uparrow}\\ {2}&{3}&{1}&{}&{\uparrow}\\ {2}&{1}&{1}&{}&{\uparrow}\\ {2}&{0}&{1}&{}&{\uparrow}\\ \end{array}$$

对于一小数,将一小数不断相乘,取整数,第一次得到的数就是最高位,最后得到的数就是最低位,一个十进制小数不一定能完全精准转化为二进制小数。若所求数既有整数部分也有小数部分就分别计算在合在一起。

$$\begin{array}{ccccc} {2*}&{0.25}&{取整数}&{}&{高}\\ {2*}&{0.5}&{0}&{}&{\downarrow}\\ {2*}&{1}&{1}&{}&{\downarrow}\\ \end{array}$$

 2.二进制转为十进制

将位数上数值与所对应的权值相乘再相加,对于转为十进制就是将数值与所对应的2的该位数减一次方相乘最后加在一起。

1110=1*2^(4-1)+1*2^(3-1)+1*2^(2-1)+0*2^(1-1)=8+4+2=14

 3.转化对应关系表

二进制 八进制 十进制 十六进制 二进制 八进制 十进制 十六进制
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语言有两种注释方式:

  1. 以//开始的单行注释,以换行符为结尾,可以单独成行也可以在程序右边,所以不能跨行。
  2. 以/**/包裹的模块注释,可以包含多行内容。

注意:字符串中的/和/*都不是注释的开始.

程序基本结构

#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语言程序的结构有以下特点:

  1. 一个程序由一个或多个源程序文件组成。一个规模较小的程序,往往只包括一个源程序文件 在一个源程序文件中可以包括3个部分:
    ①预处理指令。如# include <stdio. h>(还有一些其他预处理指令,如# define等)。C编译系统在对源程序进行“翻译”以前,先由一个预处理器(也称预处理程序、预编译器)对预处理指令进行预处理,对于#include<stdio.h>指令来说,就是将stdio.h头文件的内容读进来,取代# include <stdio. h>。由预处理得到的结果与程序其他部分一起,组成-一个完整的、可以用来编译的最后的源程序,然后由编译程序对该源程序正式进行编译,才得到目标程序。
    ②全局声明 函数以外的声明。
    ③函数定义。如main函数,在调用这些函数时.会完成函数制定任务。
  2. 函数是C程序的主要组成部分。一个源程序文件就点一个程序模块,即将 一个程序分成若干个程序模块。
  3. 函数分两个部分。一是函数首部,包括函数名,函数类型,函数属性,函数形参名,参数类型,函数名后必须有一对圆括号,函数没有参数可以不写或是加void。二是函数体,包括声明部分和执行部分。
  4. 段序总是从main函数开始执行的。
  5. 程序中要求计算机的操作是由面数中的C语句完成的。如赋值、输入输出数据的操作都是相应的C语句实现的。
  6. C语言本身不提供输入输出语句。输入和输出的操作都使用scanf和print等函数来完成的。由于输入输出操作沙及具体的计算机设备,把输入输出操作用库函数实现,就可以使C语言本身的规模较小,编详程序简单,很容易在各种机器上实现,程序具有可移植性。
  7. 程序应当包含注释。一个好的,有使用价位的源程序都应当加上必要的注释,以增加程序的可读性。