C语言二级复习计划.docx_第1页
C语言二级复习计划.docx_第2页
C语言二级复习计划.docx_第3页
C语言二级复习计划.docx_第4页
C语言二级复习计划.docx_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C语言二级复习计划前言: 学习编程语言最注重上机实践,所以一定要多写自己的程序,如果是参考他人的一定要细心钻研他人是算法,有所收获。本计划分为三部分,第一部分是基础知识,第二部分是专题训练,第三部分是拔高训练,另附一些典型习题和本人学C时候的一些程序等等,望细心研究。学者可根据自己的能力选适当部分读。要是大家非把这个当作二级的红皮书,我也没有意见哈。只是不要让太多人知道,咱也整个版权所有,翻版必究,嘿嘿!嘘,低调第一部分:一. C语言的发展史(本人认为这一部分的东西纯属废话,最多出一道选择,自己看去吧,因为我也不知道多少,基本不会)二. 数据类型1.C是一门基础的语言,数据类型也只有最常用的那些,大致可分为int,float,double,char,bool,struct,FILE及指针,这里需要了解各种数据所占字节的大小(很重要)2.另外一定要会进制间的转换,及磁盘容量的计算,和数据类型之间的转换如:int a = 0, b = 1;printf(“”, (double)( a + b);上述代码执行后结果为 1.0000000,不是1;3.还要知道ASCII编码表,如:A是654.数据的内外部表示也要会,这对C的学习是必不可少要知道的。5.了解什么是全局变量,动态变量,静态变量,和寄存器变量等,不常用,可要知道6. 会宏定义(define),和枚举( enum)7. sizeof的应8. 原码、反码、补码之间的计算9. 硬盘容量的计算三. 基本结构控制语句1. 包括if,else,else if,switch case,break,continue,for,while,do while等等,此外还有goto语句,现在基本不用,因为在大的程序里面goto容易使内存混乱。2. 要会语句之间的嵌套使用,不要用单一的if或者是for什么的,太白痴了。这样很多时候可以大大节省代码,让判卷老师看着舒服。但一定不要出错,嘿嘿。四. 数组和指针1. 这个我认为没必要多说,学过C的不知道这两样东西就算是白活了。2. 但我要提醒下,在一个程序里尽量少用指针,因为指是直接对内存进更改,很容易乱,所以C如此,C+更是,所以干脆现在最常用的Java语言根本就没有提供指针这个功能。(额,扯的有点远哈)3. 了解指针的间接访问方式,可以用*号,也可以用-号,*号多用在对单一对象的访问如:int a;int *p = a;如果这时对*p进行操作就修改了a;而-则多用于对结构体的访问,如:Struct studentInt age;Char name20;Student student1, *p;则可以这样访问student1 中的 age:P-student1.age;五. 结构体和联合体1. 刚刚已经有过结构体的例子,其实结构体也是一种数据类型,具体声明方式自学去吧没啥好说的。2. 联合体的结构体基本一致,且不常用,但一定要知道它们之间的区别,很可能出相应的填空题,问程序执行的结果。(自学)六. 操作符与位运算1. 这里的东西吧,说难难,说简单简单,挺烦人的,但我觉得知道的不用太多,能做上一些填空选择就行了,因为大的编程题也不会出关于这方面的来难为人,毕竟不是学这个的,谁能知道那么多呀2. 了解+,-,+=等的功能,及它们放前面和放后面的区别,很可能在填空里考这点。3. 至于位运算就自己看看吧,多少知道点儿,估计出题可能性不大呀。七动态内存管理与分配1. 说实在的,这里我学的也不好,因为是结构体指针及位运算的复合,而且我也懒得用动态内存的东西写程序,不用也能做到,何必那么麻烦呢2. 这里要会链表的建立,和添加删除结点,及某一个结点中元素的访问,自己看去吧,下面给出的例子程序也会有。最好先看看书再看程序,然后自己写写简单的。八文件的应用1. 这个其实挺基本的,也不难,通常的考试里都会至少出一道题,所以一定要会。2. 这里主要就是多了一些关于文件的函数而已,就把它们当成是printf和scanf是的就行了。3. 要会从文件中读取数据,向文件中存数据,还要能写出一些关于文件是小程序,比如说统计文件字符数啊什么的。4. 特别要知道文件的存储方式,只要文本文件就可以,看一下书,然后找我当时做的相关程序,弄懂就好了。九.递归1. 这个递归很好嘛,其实和循环挺像的,有的时候递归比循环效率高,有的时候反之,有的时候递归可以解决的问题,循环不能,有的时候也反之。2.行了,废话就到这儿,下面通过一个具体的的例子讲一下这两者。题目:求1+2+3+100=?(只写关键环节)方法一(循环):Int I= 0,sum;For(I = 1;I b); printf(“a is larger than bn”);for(i=0;i10;i+); scanf(“%d”,&x); printf(“%dn”,x*x);9.对应该有花括弧的复合语句,忘记加花括弧sum=0;i=1;while(i=100)sum=sum+1;i+;10.括弧不配对while(c=getchar()!=#)putchar(c);11.在用标识时,忘记了大写字母和小写字母的区别int a,b,c;a=2;b=3;C=A+B;printf(“%d+%d=%D”,A,B,C);12.引用数组元素时误用发圆括弧int i,a(10);for(i=0;i10;i+)scanf(“%d”,&a(i);13.在定义数组时,将定义的”元素个数”误认为是”可使用的最大下标值int a10=1,2,3,4,5,6,7,8,9,10;int i;for(i=1;iy?x:y);21.误认为形参值的改变会影响实参的值swap(int x,int y)int t;t=x;x=y;y=t;main()int a,b;a=3;b=4;swap(a,b);printf(“%d,%dn”,a,b);22.函数的实参和形参类型不一致fun(float x,float y)main()int a=3,b=4;c=fun(a,b);23.不同类的型指针混用int i=3,*p1;float a=1.5,*p2;p1=&i;p2=&a;p2=p1;printf(“%d,%dn”,*p1,*p2);24.没有注意函数参数的求值顺序int i=3;prinft(“%d,%d,%dn”,i,+i,+i);结果为5,5,4因为VC+是采取自右至左的顺序求函数的值C标准没有具体规定函数参数求值的顺序25.混淆数组名与指针变量的区别int i,a5;for(i=0;i5;i+)scanf(“%d”,a+);int a5,*p;p=a;for(int i=0;i5;i+)scanf(“%d”,p+)int a5,*p;for(p=a;pa+5;p+)scanf(“%d”,p);26.混淆结构体类型与结构体变量的区别struct workerlong int num;char name20;char sex;int age;worker.num=187045;strcpy(,”ZhangFun”);worker.sex=M;worker.age=18;27.使用文件时忘记打开,用只读方式

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论