📄
字号:
1)变量的定义
1.static
用static修饰的变量是静态变量,在程序的整个执行期都一直存在。静态变量在编译时被赋值,如果未赋初值,则在编译时系统自动给以赋初值0(int类型)或者空字符(字符类型)
2.register
用register修饰的变量称为寄存器变量,它是将变量值存放在CPU的寄存器中。只有局部自动变量和形参才可以定义为寄存器变量。
3.extern
用extern修饰的变量是外部变量,即全局变量,它指的是某变量已在程序的外部定义了,现被引用到当前文件中来使用。它的作用域是从定义处开始到文件的结束。
2)预处理命令
在程序的源文件中,使用这些由#define,#include定义的语句,都是放在函数的外面,而且一般都放在源文件的前面,他们称为预处理命令
1.无参宏
此类宏是这样的定义的
#define 标识符 字符串
#define M (X+Y)
2.带参宏
#define 宏名(形参表) 字符串
#define M(5) y*y+3y
k=M(5)
k=5*5+3*5;
3)文件包含
#include "studio.h"; 先在当前源文件目录中查找,若找不到,再找系统环境变量设定的文件包含目录
#include <studio.h>; 在系统环境变量设定的文件包含目录中查找包含文件
4)条件编译
1.
#ifdef 标识符
program1;
#else
program2;
#endif
如果标识符被#define定义过,则在程序被编译时编译program1部分,若无,则编译program2部分
#define WINDOWS ok //在这里WINDOWS被定义成什么值无所谓#define WINDOWS与之等效
int def = 0;
#ifdef WINDOWS
def=1;
#else
def=100;
#endif
2.
#ifndef 标识符
program1;
#else
program2;
#endif
3.
#if 常量表达式
program1;
#else
program2;
#endif
常量表达式在为真(非0)情况下,编译program1部分
5)指针
1.字符串指针变量
char *ps = "C program";
char *ps; *ps = "C program";
2.函数指针变量
表示该变量是一个指向函数入口的指针变量,“类型说明符”指的是该函数的返回类型,()表示这是一个指身函数的指针变量
类型说明符 (*指针变量名)();
3.指针型函数
一个函数返回一个指针类型
类型说明符 *函数名(形参表){};
char *returnPoint(char *p){
printf("%s \n",p);
return p;
}
main(){
char *returnPoint(char *p);
char *p = "hello,World";
returnPoint(P);
}
4.指针数组
char *cal[]={"no value",
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday",
"Sunday"};
char *ps;
6)结构体与共用体
struct student stu1 = {"w",1};
struct student *st;
st = &stu1;
st->name;
st->num;
//节省时间与空间
void ave(struct student *stu){
......
}
struct student *s;
ave(*s);
//链表
stu1->next = stu2;
stu2->next = stu3;
//枚举类型
枚举本身是常量,而不是变量,所以不能对它进行赋值,枚举元素本身由系统定义了一个表示序号的值,由0开始
enum weekend{sun,mon,tue,wed,thu,fri,sat};
enum weekend a,b,c;
a = sun;
printf("%d",a); //return 0;
//typedef
typedef 原类型 新类型
类似于define
7)位运算
struct data{
int a:4;
int b:4;
int c:2;
};
struct data bit;
这样bit.a只占4个位域,bit.c占两个位域
7)文件访问
FILE *fp;
fopen(文件名,使用方式);
fclose(fp);
fgetc(fp);
fputc
fgets
fputs
fread
fwrite
rewind(fp); 将文件内部指针指向文件的开头
fseek(fp,100L,0); 移动文件内部指针到指定的位置,一般用于二进制文件,用在文本文件时要进行转换
在文件的随机读写里,一般使用这么几个函数fread,fwrite,rewind,fseek
feof(fp) 判断文件是否处于文件结束位置
ferror(fp) 判断文件在读写时是否出现错误
clearerr(fp) 清楚文件结束标志和出错标志,使之为0
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -