C基础笔记

1、文件处理过程:

    预处理--编译--汇编--链接。

    预处理:处理#include操作和宏定义替换等。

    编译: 预处理后的文本进到下一步-编译,编译产生汇编代码,送到汇编阶段。

    汇编:产生目标文件--输出的结果可以用于链接的目标代码,目标代码文件已经是可以执行的二进制代码文件。

    链接:把汇编产生的目标文件与其他目标文件链接处理产生可以执行文件。

2、ASCII码

     American Standard Code for Information Interchange。ASCII码用8位二进制数(一个字节)来表示一个字符。计算机存储的不是字符本身,而是将该字符所对应的ASCII     码放到存储单元中。'A'-65 'B'-66。

3、字符常量

     ‘5’ -->10进制53

4、转义字符以反斜杠“\”开头,后跟一个或者多个字符,转义字符具有特定的含义,不同于单引号内部字符原有的意义。故称为转义字符。printf()'\n'。

5、字符串常量

  “Latitude”,字符串常量所占的内存字节数等于字符串中字节数加1,最后用'\0'作为字符串的结束标志,‘\0'的ASCII码值为0.c语言没有专门的字符串变量,用一个字符串数组来存放一个字符串常量。

6、++i  自增以后再参与其他运算

     i++ 参与其他运算后,i的值在自增1

    如:int i=5,j=5,p,q;

      p=(i++)+(i++)+(i++);//p=15

      q=(++i)+(++i)+(++i);//q=24

          //i=8,j=8

7、C语言数据输入语句

    scanf函数和getchar()

    scanf("%d%d",&a,&b);

8、外部变量

  a.c文件中

   int a,b;//全局变量

    b.c文件中

  extern int a,b;//外部变量声明

9、内部函数和外部函数

  a、内部函数(静态函数):如果一个源文件中定义的函数只能被文件中的函数调用,而不能被同一个程序其他文件中的函数调用 static int f(int a)

  b、外部函数:整个程序都有效 extern int f(int a,int b)

   如果函数中没有显示说明static还是extern的话,默认为extern

10、好好利用define定义常量,提高程序的可阅读性,定义宏习惯用大写来表示。

11、条件编译

  #ifdef

      #esle

      #endif

      #ifdef语句不同于if语句,它的规则是静态的,在预处理也就是编译前就决定了

12、C语言指针

  a、内存单元的编号,该编号也叫做地址(指针),指针变量是存储内存地址的变量,指针变量通常称为指针。

      b、用字符串指针指向一个字符串 char * string="hello";

      c、指针 + 1: 表示指针变量指向下一个数据元素的起始地址。

      d、指针与数组: C编译系统将a[i]转换为*(a+i)处理的,先计算元素地址,用指针变量直接指向元素,所以用指针操作数组效率更高。P++不用重新计算地址。

13、struct、union、emun

14、位运算

      原码--反码--补码

      &   与

  |  或

  ^  异或:相同为0,不同为1,用于交换两个数的值。

  ~  取反:是所以为运算优先级最高的。

  << 左移:用于快速乘法 2的N次幂

  >>   右移:除法 2的幂

     

原文地址:https://www.cnblogs.com/chester/p/2455967.html