复试总结-C语言

一、 C语言设计基础

  1. 变量
    (1)整型:int、long
    (2)实型:float、double
    (3)字符型:char
  2. 常量
    (1)整型:
    十进制常数:0~9,首位非0
    八进制常数:0~7,以0开头
    十六进制常数:0~9,a ~ f
    (2)实型:小数形式、指数形式
    (3)字符型:普通字符、转义字符、字符串常量
  3. 运算符
    单目:++、–、&、* 、!
    双目:+、-、* 、/
    三目:a ? : b : c
    关系运算符
    位逻辑运算符、逻辑运算符(两者区别)
    赋值运算符

二、选择结构

  1. 单分支选择:if
  2. 双分支选择:if - else
  3. 多分支选择:if - else if…/switch case
  4. 嵌套:匹配原则(else和离它最近的、且没有配对的if相配对)

三、循环结构

  1. while循环:循环体有可能一次也不执行,且循环体中一般有使循环趋向结束的语句
  2. do while语句:循环体至少执行一次
  3. for循环
  4. 循环嵌套

四、数组

  1. 数值数组:一维数组、二维数组
  2. 字符数组
    (1)字符串:本质上就是以‘\0’作为’结尾的特殊字符数组
    1)存储形式:字符数组char []、字符指针char *
    2)表示形式:
char str[6] = {'H', 'e', 'l', 'l', 'o'};   //如果字符串所含元素中我们没有加上'\0',那么字符串长度应该就为字符串实际长度+1;
char str[] = {'H', 'e', 'l', 'l', 'o', '/0'}; //需要在{}中写上'\0';
char str[] = "Hello"; //同上等价

3)处理函数:

1:字符串的输出函数
int puts(char const*strPtr);
//输出字符串,传入的实参可以是字符串数组也也可以是字符指针

2:字符串的输入函数
char *gets(char *strptr);
//输入一个字符串存放到指针strptr指向的字符数组作

3:获取字符串的长度
int strlen(char const*string);
//获取字符串的长度,返回的是字符的个数,但是不会包括’\0’结束符

4:字符串拷贝函数
char *strcpy(char*des,char*src);
//将src指向的字符串拷贝到des指向的字符串数组中去,结束符也一同进行拷贝

5:字符串的连接函数
char * strcat(const *char str1,const *char str2);
//将str2指向的字符串连接到str1指向的字符后面,同时会删除str1后面的’\0’,返回的是str1指向字符串的首地址重点内容

6:字符串比较函数
int strcmp(const char * str1,const char *str2);
//返回0,字符串1等于字符串2,
//大于0,字符串1大于字符串2,
//小于0,字符串1小于字符串2,

7:字符串中是否包含字符
char * strchr(const char *,int c);//从做往右寻找字符c
char * strrchr(const char *,int c); //从有往左开始寻找字符c

8:内存的初始化
memset(void *s,int c,size_t n);

(2)字符串数组:一个数组中的所有的元素都是字符串(字符串数组就是二维数组)

五、函数

  1. 定义
    有返回值的函数、没有返回值的函数(void)
    有参函数、无参函数
  2. 调用

六、指针(重点)

  1. 概念:指针是一个特殊的变量,它里面存储的数值被解释成为内存里的一个地址
  2. 运算:指针可以加上或减去一个整数。指针的这种运算以单元为单位。
char a[20]; 
int *ptr=(int *)a; 
ptr++;  

在本例中,指针ptr 的类型是int*,它指向的类型是int,它被初始化为指向整型变量a。
第3句中,指针ptr被加了1,它把指针ptr 的值加上了sizeof(int),在32 位程序中,是被加上了4,此时指向了数组a中从第4号单元开始的四个字节。 
  1. 指针与数组:数组的数组名可以看作一个指针
int array[10]={0,1,2,3,4,5,6,7,8,9}; 
value=array[0]; //也可写成:value=*array 
value=array[3]; //也可写成:value=*(array+3) 
value=array[4]; //也可写成:value=*(array+4)
  1. 指针与函数:
    可以把一个指针声明成为一个指向函数的指针;
    可以把指针作为函数的形参。在函数调用语句中,可以用指针表达式来作为实参。
  2. 指针的指针(**)

七、结构体与共用体

  1. 结构体关键词:struct

  2. 共用体关键字:union

    共用体也叫联合体,使几个不同类型的变量共占一段内存(相互覆盖),也就是说共用体的成员共用一片内存,后赋值的成员变量的数据才是共用体的生效数据,因为前面的赋值已经被覆盖了。

八、文件编译系统

  1. 预处理命令:define、include
  2. 文件:文件打开(fopen)关闭(fclose)、文件定位、文件读写
  3. 文件使用方式:只读(r)、只写(w、wb)、追加(a)、读写(r+若欲操作的文件不存在,则打开失败,打开文件后,不会清空文件内原有内容;w+若欲操作的文件不存在,则新建文件,打开文件后,会清空文件内原有的内容;a+若欲操作的文件不存在,则新建文件,成功打开文件时,文件指针位于文件结尾)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值