二级 C 模拟题笔记(四)

85,要是考试有这么简单就好了…

  • 计算顺序类型
    a+=a-=a*a
    先算 a*a=9,然后 a-=9,a 就等于 -6。
    注意这里 a 等于 -6 了!!!

  • 若有以下程序段
    char str[4][12]={ “aa”,”bbb”,”ccccc”,”d” } , *strp[4];
    int i;
    for( i = 0; i< 4; i++ ) strp[i] = str[i];
    不能正确引用字符串的选项是
    A) str[0]
    B) strp
    C) strp[3]
    D) *strp
    注意看它们是不是指向字符数组

  • 字符指针传值问题
    虽然实参是个指针,但形参也是个指针,相当于创建一个新的指针变量,然后它的值是和实参一样,改变它的值不会改变原来字符串。

第五次 78 分

  • 对分查找(折半查找)
  1. 必须用顺序存储
  2. 线性表是有序表
  • 最坏情况下的排序
    最坏情况下,堆排序的时间复杂度为O(nlog2n),比冒泡,快速,直接插入的时间复杂度都小

  • 常用的扩充运算
    有交、除、连接及自然连接等。并:RS是将S中的记录追加到R后面。差:R-S结果是属于R但不属于S的记录组成的集合。交:RS结果是既属于R又属于S的记录组成的集合。自然连接:去掉重复属性的等值连接。

  • 变量名
    预定义标识符是系统已经有过定义的标识符,用户可以重新定义。变量名没有长度限制,但不可以超过编译器可以辨识的范围

  • 强制转换类型
    (int)1.99*3 是先转换后乘

  • 指针

  1. 指针变量所占的字节都是一样的
  2. 指针变量还隐含着这个变量的类型信息,所以不能随意把一个地址存放到任何一个指针变量中去
  • 静态变量
    虽然静态变量只赋一次初值,不是在定义语句那里的话,不算赋初值。

  • 递归
    先递归完再执行下一句,类似于倒过来

  • 坑爹的字符串
    全是字母,突然一个是个很小的点.

  • 结构体做参数
    虽然不是发送指针给函数,但是结构体里面有个字符数组,发过去之后是会被修改的。

  • 文件
    文件还是得看啊