00- C语言 综述(C语言)

要点:

  1. 标识符:只能包含数字、字母和下划线,不能以数字开头,区分大小写。

  2. 关键字:整型(int、short 、long),字符型(char)、浮点型(float、double)、结构型(struct)、联合类型(union)、枚举型(enum)、指针(char *、int *、int **)。

  3. 单引号是字符,双引号是字符串。

  4. 可以通过 sizeof 关键字获取某个数据类型所占用的空间 。

  5. 整型打印格式:%d(int)、%u(unsigned int)

  6. 字符型:char, 使用 %c 进行输出。

  7. 浮点数打印: %f

  8. 大小写转换:大写转小写:+32 / +0x20

  9. 输入函数:scanf( "%d", &x );   //注意需要 & +

  10. 运算符的优先级:! > 算术运算符 > 关系运算符 > && > || > 条件运算符 > 赋值运算符 > 逗号运算符

  11. % 取模 (取余) 运算符的两个操作数 只能为整数

  12. :非,  &&:与,||:或

  13. 条件运算符:表达式1 ? 表达式2 : 表达式3      //printf("%d\n", 3>4?3:4);   //取最大值

  14. 顺序结构:if (表达式) {语句1}  else if (表达式) {语句2}  else{语句3}

  15. switch语句:witch(表达式) {case 表达式: 语句; break;  case 表达式: 语句; break;}

  16. 循环结构:while (表达式) { 语句 }

  17. do { 语句 }  while ( 表达式 ); 

  18. for ( 表达式1表达式2表达式3) { 语句 }

  19. break语句用于do-while、for、while循环语句中时, 可使程序终止循环而执行循环后面的语
    句,通常break语句总是与if语句联在一起。即满足条件时便跳出循环。

  20. continue 语句用于循环结构中,作用是结束本次循环,继续下次循环。

  21. 一维数组: int a[ 10 ];   //定义一个数组,名字叫a,有10个成员。

  22. 二维数组:数据类型 数组名[常量1] [常量2]。     int a[3][4];

  23. 有参函数:类型标识符  函数名(形参)  { 函数体 }

  24. 无参函数:类型标识符  函数名()  { 函数体 }

  25. main函数是C程序的主函数,是会被自动执行到的,C程序中有且只有一个main函数

  26. 定义 { }内的变量,称之为局部变量

  27. 一个函数在它的 函数体内调用自身称为递归调用,这种函数称为递归函数

  28. 这种以 #号开头的命令 称为预处理命令,C语言提供了多种预处理功能,如 宏定义、文件包含、条件编译 等。

  29. 在C语言源程序中允许 用一个标识符 表示一个字符串,称为“”。 #define  标识符 字符串  #define PI 3.14,编译器在预处理时,会将源程序中所有的“PI”替换成“3.14”

  30. 我们可以在CLion的“Terminal”下输入编译命令:gcc -E main.c -o main.i, 通过预处理将main.c 编译成 main.i 文件。

  31. 使用 尖括号 表示 在开发环境的头文件目录 下查找,而不在源文件目录去查找。
  32. 使用 双引号 则表示首先 在当前的源文件目录 中查找,如果没有找到才到包含目录中去找。
  33. #ifdef  标识符  程序段  #else  程序段  #endif

  34. #if 0 代码段   #endif

  35. 指针变量的值 代表这个指针指向了以这个值为首地址的那块 内存空间

  36. 指针变量赋值 为其他变量的地址:&:取地址运算符

  37. 野指针: int *p = NUll;

  38. 一级指针作为形参: void func ( int *a,  int n)   { }

  39. 内存释放: free 函数

  40. malloc: p = ( char *)malloc( 10 )

  41. 字符串:被双引号引用的字符集合!例如:”hello” 、”world”,或者以 '\0' 结尾的字符数组!

  42. 可以把字符串当做字符数组一样处理,字符数组不一定可以当做字符串梳理,为什么?
    因为字符数组中不一定有 '\0'

  43. atoi 函数: int val = atoi(p);

  44. atof 函数: double val = atof(p);

  45. strlen 函数: printf("%d  %d\n", strlen(ch), strlen(arr));

  46. strcpy 函数:strcpy(dst, src);

  47. strncpy 函数: strncpy( p, "world", 7);

  48. strcat 函数:将src字符串连接到dest的尾部,‘\0’也会追加过去。  strcat(p, "world", 3);

  49. strcmp 函数:会按照字典顺序 逐个比较两个字符串的字符printf("%d\n", strcmp("hello", "hello"));

  50. strstr 函数:是C语言中的一个字符串查找函数,用于 在一个字符串中查找子串的出现位置char *p = strstr(src, "abcd");

  51. strtok 函数:是C语言中的字符串分割函数,用于将一个字符串 按照指定的分隔符进行分割。     char a[100] = "abc-efg-hijk";  char *s = strtok(a, "-");

  52. 函数指针: typedef int (*FUNC)(int, int);

  53. 结构体:struct student{ char name[32];  char sex;  int age;  char tel[12];  char  addr[100];};

    •  struct 结构体名称 变 量名;  struct student s;
    • struct 结构体名称 *变量名;  struct student *p;
    • struct 结构体名称 变量名[长度];  struct student s[10];  
  54. typedef 重定义结构体,typedef struct stu* p_stu;

  55. 联合体/共用体:union 名称 { 成员变量1; 成员变量2; 成员变量n;}

  56. 枚举: enum 类型名 { 成员1,成员2,成员n };

  57. C程序的基本结构,源文件:后缀为 .c 的文件, 头文件:后缀为 .h 的文件。

  58. 头文件:宏(define PI 3.14)、结构体、全局变量的声明(extern int cnt;)、函数的声明( int func(int x, char y); )。

  59. static 修饰局部变量,如果全局变量 不想被其他文件访问到(只能在定义的文件内被访问到),可以使用static修饰该全局变量。  static int cnt = 10;

  60. const 使用:被const修饰的对象是只读的,const int * p; 该语句表示指向整形常量 的指针,它指向的值不能修改

  61. #define 是在编译的 预处理阶段 起作用,而 const 是在 编译、运行 的时候起作用。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值