C语言基础一小时复习
一、system()函数
1、头文件#include <stdlib>
2、()里面可以写①cmd命令
②可以打开外部程序用 \\或者/
二、数据类型
1、基本类型
整型: int short long long long
字符型:char
实型:float double
2、printf("%.2f",变量名);
3、宏定义#define
typedef
4、无符号整型使用%u、
5、十六进制前面加上 0x
6、短整型 %hd ,长整型 %ld ,长长整型 %lld
7、小数据类型可以给大数据类型
但是大数据类型不可以给小数据类型,会造成高位数据丢失
8、常用转义字符
\n 换行(顾名思义跳到下一行的竖形未知) \r 回车(跳到改行的开始) \t 等价于TAB键
9、double %lf
float %f
%p 显示十六进制的内存地址
10、有符号和无符号的取值范围
(1)8bit的数据区间 -2*7~(2*7-1)
(2)int/long -2*15~(2*15-1) / -2*31 ~(2*31-1)
(3)long long -2*63~(2*63-1)
(4)float 1.17x10*(-38)~3.4x10*(38)
(5)double 2.23x10(-308)~1.8x10*308
(6)3.36x10*(-4032)~1.19x10*4932
11、类型限定
extern 声明一个变量(在A文件中显示B文件的变量)
const 定义一个常量
volatile 防止编译器优化
register 定义寄存器变量 调高效率
12、putchar()和 getchar()
13、scanf()接收空格和换行未结束的一个变量的输入
三、运算符与表达式
1、a++, ++a
先计算后++, 先++后计算
2、比较运算符
3、算术运算符
4、运算符优先级
5、if---else
6、三目运算符
a>b?a:b 若a>b为1 则输出a
若a>b为0 则输出b
7、switch
while
do ....while
for
嵌套
四、数组
1、定义 数组类型 数组名【个数】={值1,值2......}
2、数组不能越界
3、求数组大小 sizeof(arr)/数据类型 长度
4、二维数组 定义 : 类型 名称【表1】【表2】={{值1,值2},{值1,值2}};
5、数组名代表地址:arr[0],在scanf()中不加&
6、字符串输出输入
gets()
fgets()
puts()
fputs()
strlen()
五、函数
(一)随机数
#include <time.h> time_t time(time_t *t) 获取当前时间
#include<stdlib.h> void srand(unsigned int seed); 种子不同,随机数不同
#include <stdlib.h> int rand(void)//产生随机数
1、添加随机数种子
srand((size_t)time(NULLL));
2/huode 50~100的随机数
rand()%51+50;
3、子函数
4、定义.h文件
Ⅰ #prama once
Ⅱ #ifndef _MINGZI_H_
#define _MINGZI_H_
........
#endif
六、指针
1、int *p
p=&a;
2、int **p
(1)p指向的地址存放的是一级指针(整型)
(2)二级指针可以修改一级指针的值,同样的使用一级指针可以进行一些定值的修改
3、const修改指针变量
外挂改爆率 #define定义的在数据区(不可改) const定义在栈区(可修改)
4、数组与指针
数组作为函数参数会退化为指针,丢失数组精度
5、指针数组
int * arr[2]={1,2};
6、多级指针
7、值传递与地址传递
8、定义一个指针指向数组
char ch[]={........};
char* temp=ch;//指向数组第0位
七、字符串
1、char ch[]={"..0...."} 栈区字符串-----可改
char* ch = "hello" 数据区常量区字符串 -----不可改
2、字符串数组
① char* arr[]={"....","....","...."};
②字符串数组中每一个元素为字符串,所以用char*接每一个字符串
3、字符串处理函数
#include <string.h>
(1)、strcpy()
(2)、strncpy()
(3)、strcat()
(4)、strncat()
(5)、strcmp()
(6)、strncmp()
(7)、sprintf()
(8)、sscanf()
(9)、strchr()
(10)、strstr()
(11)、strtok()
(12)、atoi()
八、内存
1、静态局部变量
2、静态全局变量
3、全局变量
4、全局函数和静态函数
5、extern声明一个全局变量
extern int a;
extern int get(void);
九、结构体
1、结构体定义与使用
struct student
{
-----;
-----;
};
//或
struct student
{
-----;
-----;
}ss;
//这个ss为结构体变量
2、当定义一个结构体和结构体指针,要该指针指向结构体,并用指针取数据“->”
struct Data *p;
struct Data a;
p=&a;
做法:
int x=p->d;
或
(*p).d=x;
3、结构体数组
4、结构体数组指针
5、结构体指针
6、结构体做函数参数
7、typedef
完全自己理解,会存在问题,请指出
有不理解可以私我,24小时内回