C语言基础知识
2019-06-25 本文已影响0人
程序员的自我救赎
1、C语言的基本结构
#include <studio.h> // 头文件引用
int main() { // 从main函数开始运行
printf("Hello World! \n");
return 0; // 退出程序
}
2、C语言的组成
C 程序由各种令牌组成,是区分大小写的;令牌可以是关键字、标识符、常量、字符串值,或者是一个符号;
printf("Hello World! \n");
上面这句话包含了5种令牌,分别是:
a、printf
b、(
c、"Hello World! \n"
d、)
e、;
3、C语言中常见的关键字有哪些?
auto 声明自动变量
break 跳出当前循环
case 开关语句分支
char 声明字符型变量或函数返回值类型
const 声明只读变量
continue 结束当前循环,开始下一轮循环
default 开关语句中的"其它"分支
do 循环语句的循环体
double 声明双精度浮点型变量或函数返回值类型
else 条件语句否定分支(与 if 连用)
enum 声明枚举类型
extern 声明变量或函数是在其它文件或本文件的其他位置定义
float 声明浮点型变量或函数返回值类型
for 一种循环语句
goto 无条件跳转语句
if 条件语句
int 声明整型变量或函数
long 声明长整型变量或函数返回值类型
register 声明寄存器变量
return 子程序返回语句(可以带参数,也可不带参数)
short 声明短整型变量或函数
signed 声明有符号类型变量或函数
sizeof 计算数据类型或变量长度(即所占字节数)
static 声明静态变量
struct 声明结构体类型
switch 用于开关语句
typedef 用以给数据类型取别名
unsigned 声明无符号类型变量或函数
union 声明共用体类型
void 声明函数无返回值或无参数,声明无类型指针
volatile 说明变量在程序执行中可被隐含地改变
while 循环语句的循环条件
4、C语言的数据类型
基本类型:指算术类型,包含常见的整数类型和浮点类型
枚举类型:也算是算术类型,其取值只能是一定范围的离散型整数的值
void类型:类型说明符void,表示没有返回值
派生类型:指针类型、数组类型、结构体类型、共用体类型和函数类型
5、指针
指针是一个变量,其值是另一个变量的内存地址,其值是一个代表内存地址的16进制数;不同指针之间的区别在于其指向的变量的类型不同
int var = 20; /* 实际变量的声明 */
int *ip; /* 指针变量的声明 */
ip = &var; /* 在指针变量中存储 var 的地址 */
printf("Address of var variable: %p\n", &var ); // 0xbdsse
/* 在指针变量中存储的地址 */
printf("Address stored in ip variable: %p\n", ip ); // 0xbdsse
/* 使用指针访问值 */
printf("Value of *ip variable: %d\n", *ip ); // 20
6、字符串常用函数
strcpy(s1, s2);
复制字符串 s2 到字符串 s1。
strcat(s1, s2);
连接字符串 s2 到字符串 s1 的末尾。
strlen(s1);
返回字符串 s1 的长度。
strcmp(s1, s2);
如果 s1 和 s2 是相同的,则返回 0;如果 s1<s2 则返回小于 0;如果 s1>s2 则返回大于 0。
strchr(s1, ch);
返回一个指针,指向字符串 s1 中字符 ch 的第一次出现的位置。
strstr(s1, s2);
返回一个指针,指向字符串 s1 中字符串 s2 的第一次出现的位置。
7、与(&)、非(~)、或(|)和异或(^)的区别
与&:0&0=0,0&1=0,1&0=0,1&1=1;同为真则为真,其他为假
非~:即取反,0变成1,1变成0
或|:0|0=0,0|1=1,1|0=1,1|1=1,只要有一个为真,则为真
异或^:0^0=0,0^1=1,1^0=1,1^1=0,即同为假,异为真
优先级从高到低,依次为~、&、^、|