【10天轻松掌握C语言】2、C语言必备基础知识

来源:互联网 发布:java四种访问修饰符 编辑:程序博客网 时间:2024/06/08 13:10

gcc和gdb用法

gcc用法:
gcc支持一下文件后缀:
.c C语言源文件
.h 程序包含的头文件
.i 已经与处理过的C源代码文件
.s 汇编文件
.o 编译后的目标文件

用法:
gcc -o hello hello.c
-o 输出可执行文件
-c 只要求编译器输出目标代码(.o文件),而不必输出可执行文件
-g 用于调试
./hello 运行可执行文件

程序调试:
3种方法:
1、设置输出:printf
2、利用gdb
3、二分法

利用FILE, LINE, FUNCTION实现代码跟踪调制

#include <stdio.h>int main(int argc,char **argv){printf(“%s,%s,%d\n”,_FILE__, __LINE__, __FUNCTION__);return 0;}

程序会输出当前运行的c文件,代码第几行,及运行函数名

C程序中包含数据结构与算法

数据类型
字符型数据:(sizeof可输出数据类型长度)

以下问题还不理解:

char类型的符号

/usr/include文件下存放C语言的头文件
其中limits.h头文件中是每种类型所能表示的最大值与最小值

C语言中格式化打印中%x与%#x区别:
  %#x打印前边会加0x。
  %p打印地址。
字符常量:
 字母大小写转换可以加减‘ ’来实现。
字符串常量
 例:“hello”
表示常量:
 用一个表示符表示常量,一般用大写字母,用#define定义:
 #define PI 3.1415926(没有分号)
 宏定义是直接替换。
变量的存储类型:
 变量声明:存储类型 数据类型 变量名
存储类型:
 auto,register,static,extern
 auto修饰的变量,只能在对应的函数或文件内部使用(不加修饰的变量默认是auto修饰的)
 register称为寄存器型,讲变量放到CPU寄存器中,可以加快运行速度,如果寄存器中没有空间,就放到内存中。用register修饰的变量不能取地址。
 static 静态变量,变量默认初始化为0.可以使局部变量,也可以是全局变量。静态局部变量在内存中地址固定,程序不结束就不会消失;修饰的全局变量只能在本文件内使用,外部文件不可访问。
 extern 全局变量,引用其他文件的变量用extern修饰
运算符
 C语言提供的算术运算符:+,-,*,/,%,++,–
 C语言提供的关系运算符:>,>=,<,<=,==,!=
 逻辑运算符:!,&&,||。
 位运算符:~,&,|,^,>>,<<
 复制运算符:+=,-=,*=,/=,%=,&=,|=,^=,>>=,<<=
 特殊运算符:
  1. 三目运算符 ? :等价于if
  2. 逗号运算符:
   可以有多个运算量,按从左到右依次执行,

float x=10.5, y=1.8, z=0; //z是最后一个表达式的值z = (x+=5, y=x+0.2);                //z=y z = (x=y=5, x+=1); z = (x=5, y=6, x+y); z = (z=8, x=5, y=3);

  3.sizeof运算符
   sizeof(类型或变量名)返回大小

C语言中的优先级
这里写图片描述

0 0