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小时内回