C语言二级笔记

快速排序最坏情况下蜕化为冒泡排序,在最坏情况下,对长度为n的线性表排序,冒泡排序需要比较的次数为n(n-1)/2。

关于前序中序后序

E-R图不能描述算法

如果a是实型变量,a=10是可以的,但是不能说实型变量中可以存放整数

这题我傻了 居然选了0

关于指针传参

这种题不要被吓到,很简单

关于程序员计算器的使用

异或(^)对应xor

这种题目没有学过 先记录下来把,以后可能会用到

  • 在数据流图中,用标有名字的箭头表示数据流。在程序流程图中,用标有名字的箭头表示控制流

  • 有穷性是指运行时间是有限的

  • 线性表排序:快速,冒泡,直接插入排序最坏情况下都是n*(n-1)/ 2,堆排序是nlong2n

  • 将E-R图转化成关系数据模型的过程属于逻辑设计阶段

  • 只有两行时 选择少行 投影少列
    自然连接多列

  • C语言每条可执行语句和非执行语句最终都将被转换成二进制的机器指令是错的(非执行语句不会被编译,不会生成二进制的机器指令)

  • c源程序经过c语言编译程序之后生成一个后缀为.obj的二进制文件(目标文件),最后要由连接程序把.obj文件与c语言提供的各种库函数连接起来生成一个后缀为.exe的可执行文件

  • 八进制整型常量凉的开头数字是0 十六进制是0x 像是028这种是不行的

  • vc6中 int4个字节,double8个字节

  • 有的题目很迷惑人的,比如for(k=1;k<3;k++);后面一个表达式,没看清题目就错了

  • 像这种就是典型的倒序操作

  • 在c语言中,只有在使用时才占用内存单元的变量,存储类型是
    auto和register

  • fread(buffer,size,count,fp)
    buffer是一个内存块的首地址,代表读入数据存放的地址

  • 在被调用函数中改变形参值对于调用函数中的实参没有影响。

  • 二分查找最坏情况下比较O(log2n) 顺序n次

  • 链式存储结构既可以针对线性结构也可以针对非线性结构

  • 在需求分析阶段可以使用的工具有数据流图DFD图,数据字典DD ,判定树与判定表。

  • x=2时,2*x,x+=2 答案是4 ;选项中逗号表达式先计算第一表达式2x .然后计算表达式x+=2的值, 即x=x+2即4 , 整个逗号表达式为第二个表达式的值4,

  • (x-y)?(x++) :(y++)中的条件表达式(x-y)等价的是(x- y<0||x - y>0)

  • 让我们选正确的语句的时候,我们经常只关注里面的内容对不对,其实还有分号使用的错误。看题目一定要仔细

  • char ss[6][20]; ss[1]= “right?” ;是错的 但是char *ss[6]; ss[1]= “right?” ;
    是对的

  • 在一个C源程序文件中所定义的全局量,其作用域为( )。由具体定义位置和extern说明来决定范围

  • 关键字typede的作用只是将C语言中的已有的数据类型作了置换,并不是增加新的类型。

  •   main(
          int*a,*b, *c ;
          a= b=c= (int *)malloc(sizeof(int)) ;
          *a=1 ; *b=2 , *c=3;
          a=b ;
          print("%d , %d , %d\n", *a, *b, *c) ;
          }
    

    最后答案都为3.

  • 栈支持子程序调用。栈是一种只能在一端进行插入或删除的线性表,在主程序调用子函数时要首先保存主程序当前的状态,然后转去执行子程序,最终把子程序的执行结果返回到主程序中调用子程序的位置,继续向下执行.

  • 某二叉树有5个度为2的结点,则该二叉树中的叶子结点数是( 6)。(度为0的节点总比度为1的节点多1)

  • 软件测试不包括改正错误

  • 数据库应用系统中的核心问题是 数据库的设计

    int a, b, c ;
    a=10; b=50; c=30;
    if(a>b)a=b, b=c; c=a;
    printf("a= %d b= %d c= %d\n", a,b,c ;

程序的输出结果是(10 50 10 )。一眼看过去if没加括号嘛,执行b=c,c=a结果又有个坑,那是个逗号 所以只执行了c=a这句话。

  • 做了三套发下题目真的很喜欢在循环后面加个分号迷惑人还有很多关于形参实参的

  • 计算字符串长度

   int fun(char *s) {
       char *t=s ;
       while(*t+ +) ;
       t--;
       return(t-s) ;
   }
  • a的ascii码值:79
    A的ascii码值:65
  • 算法的空间复杂度值算法在执行过程中需要的内存空间

这是一张程序流程图

  • E-R图中,矩形表示实体,椭圆表示属性,菱形表示联系

  • 任何一个c程序都是从主函数开始,主函数结束

  • strlen遇到\0结束

  • gets和getchar都是从终端读入字符串

  • 继承是指类之间共享属性和操作的机制。

    { int g; char h; }T;

这里面T是结构体类型,可用T定义结构体变量

  • 循环链表和双向链表都是线性结构的数据结构

  • 线性结构应满足:有只有一个根结点,每个结点最多有一个前件 ,也最多有一个后件。所以只有一个根结点的数据结构不一定是线性结构

  • 软件生命周期可以分为软件定义、软件开发与软件运行维护三个阶段。主要活动阶段是:可行性研究与计划阶段,需求分析,软件设计,软件实现,软件测试,运行和维护,没有市场调研这个环节

  • 数据字典是在需求分析阶段建立,在数据库设计过程中不断修改、破和完善的。

  • 算法一定要有输出

  • char a[20]=“abcd\0efg\0”,b[]=ijk;那么strcat(a,b)后输出a为abcdijk

  • 文件是由数据序列构成,可以构成二进制文件或文本文件

  • C语言中没有逻辑类型,所以“若只处理真假两种逻辑,应使用逻辑类型”这句话是错的。

  • 在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化

猜你喜欢

转载自blog.csdn.net/xiaozhazhazhazha/article/details/107881129