二级C语言考前复习计划
发表于:20xx年9月7日 22时51分54秒来源:阅读(418)评论(3) 举报本文链接:http://user./80118114/blog/1220799114
二级C语言考前复习计划
从九月七日开始到九月十九日,天南大所有考生复习安排计划如下:
上机部分:过上机同学必须保证把蓝皮厚本书中填空和改错题100套原题记下来.
在上机题目当中填空和改错各占三十分,而且最多填六处,填好后直接存取即可得分,不用运行.所以大家在这个时间内要记下这两个部分的题目,编程题可直接写结果得四十分,不需要编程.所以,上机部分保及格是没问题的.
笔试部分:
请大家在邮箱中下载基础知识总结和习题,此部分考点占三十分,如果弄会可至少得24分,而且大部分以原题出现,只有部分计算是灵活题目,上课已教大家做完.只要掌握这几种题型即可.
C语言部分有些难度,不过从今年开始,C语言部分只考基础题型,不考难题了,所以大家不用太担心,回去把上课的每个章节书后习题弄会即可,另外要去邮箱中下载今年预测试卷,此试卷必做,对考试有帮助.
另外点题课的同学可在课上把老师讲的知识点题型记住怎么做就可以了,按照老师的吩咐去做即可,可轻松过级.
今年为大家安排了多重过级保障,请大家一定按照上述复习方法进行,在考试前一周将提供其它复习资料和做题方法.以帮助大家顺利通过考试. 请注意登录空间查看.
在9月15日-9月19日晚给各位考生提供免费答疑的时间,每天都有几位老师负责答疑。 地址:天津大学六村17号楼1门201。
资料下载邮箱:
用户名:tiandac2
密码:123456
马老师电话:81428561
祝二级考生能顺利通过考试.凡通过考试者可在今年领取证书的同时报三级网络,可以轻松取证,只需要六天时间即可,优惠价280元.
二级复习续1
发表于:20xx年9月8日 10时53分20秒来源:阅读(398)评论(3) 举报本文链接:http://user./80118114/blog/1220842400
二级复习续1
上机考试注意事项:
1.每做一道题要重新进入一次,要做完一道题关一道题,然后再从考生看题目界面再进入,否则做题没分.
2.填空题和改错题全部是一百道题中的原题,只需要把答案填对就行了.编程题可根据上课给大家讲的写结果的方式来做.如果有把握能把前两部分题做对,最后编程题可不做.只得六十分及格取证.
3.凡是编程写的同学,一定要把程序写完后,存盘,编译,运行,出结果后方可得分,因为评分时,只看答案,不看过程.
这就是考试的漏洞所在.
考试之前会陆续给大家发跟考试有关的内容来提醒大家.
二级复习续2
发表于:20xx年9月8日 16时4分36秒来源:阅读(310)评论(6) 举报本文链接:http://user./80118114/blog/1220861076
二级复习续2
凡这次想过等级考试的同学,必须在这周把上机题库中的,填空100道和改错100道记下来,通过模拟盘去反复练.都是考原题,所以必须这样练才能过.考试都是随机抽一套出来的.一定要全看.
二级复习续4
发表于:20xx年9月9日 7时57分47秒来源:阅读(245)评论(4) 举报本文链接:http://user./80118114/blog/1220918267
二级复习续4
今天在邮箱中放入了基础知识所有习题类型的详细解析,方便大家去记忆,有不懂的可以通过详细解析来看,写的很清楚.
另外大家在这周一定要把上机题库中的填空题和改错题共200道看完,这里可能有的培训部同学没有这200道题,我都放在邮箱里了,大家可去下载,全部是今年上机考试的原题,只要这两项都做对了,就能过了,以后会给大家继续讲解最后一部分编程题如何去做,请大家务必按照复习计划进行.只要照做,就可以通过.
资料下载邮箱:
用户名:tiandac2
密码:123456
马老师电话:81428561
祝二级考生能顺利通过考试.凡通过考试者可在今年领取证书的同时报三级网络,可以轻松取证,只需要六天时间即可,优惠价280元.
本文标签:
马老师咨询电话:81428561
第二篇:C语言二级复习计划
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是65
4.数据的内外部表示也要会,这对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 student{
Int age;
Char name[20]};
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 <= 100; i++)
Sum += I;
如上循环后,sum便是所求得的和,下面看另一种方法:
方法地(递归)
Int sum( i)
{
Return ( I == 100) ? sum : sum += sum(I + 1);
}
上面这个递归函数执行后也可算出这个和,细心研究两者区别,及递归的巧妙。
(第一部分就到这里吧,想到什么我再说)
第二部分
这里就是一些重点的题目,一定要知道的。
1. 排序问题:常用的排序方法有三种,冒泡排序,选择排序,插入排序(快速排序不要用,
但要知道)。
2. 求素数
3. 求和(上面以给出例子)
4. 汉诺塔问题(典型的递归)
5. 系统时间的调用
第三部分
写出一个班级信息管理的程序,实现如下功能;
1. 查询所有班级人员信息(包括姓名、学号、联系方式等)
2. 对个人信息进行修改
3. 删除或添加人员
4. 结果保序为.xls文件
(参考程序在程序包里)
附录
常见错误及典型题:
Fatal Error C1010
unexpected end of file while looking for precompiled header directive
这一般是由于使用了参数/Yu"stdafx.h",意思是在每个文件中都应该使用#include来包含这个头文件。一般改正,就是在每个。CPP文件中包含这个文件就可以。
避免返回内部数据的句柄
示例:
char *GetName()
{
char Name[]=“Yu.Ming”;
return Name;
}
分析:
局部变量Name在函数返回之后已经失效,堆栈中内容处于不确定状态
1.C语言的变量一定要先定义才能使用;
2.输入输出的数据的类型与所用格式说明符不一致
int a=3;float b=4.5;printf(“%f%d\n”,a,b);
它们并不是按照赋值的规则进行转换(如把4.5转换为4),而是将数据在存储单元中的形式按格式符的要求组织输出(如b占4个字节,只把最后两个字节的数据按%d,作为整数输出)
3.未注意int型数据的数值范围
int型数据的数值范围(-32768~32768)
int num=89101;
printf(“%d”,num);
会将超过低16位的数截去从而得到23563
注意:定义了long型,而在输出时仍用”%d”说明符,仍会出现以上错误
4.输入变量时忘记使用地址符
scanf(“%d%d”,a,b);
5.输入时数据的组织与要求不符
对scanf函数中格式字符串中除了格式说明符外,对其他字符必须按原样输入
6.误把”=“作为”等于”比较符
“=“为附值运算符
“==“为比较运算符
7.语句后面漏分号
{
t=a;
a=b;
b=t
}
它是pascal的语法
8.不该加分号的地方加了分号
if(a>b);
printf(“a is larger than b\n”); for(i=0;i<10;i++);
{
scanf(“%d”,&x);
printf(“%d\n”,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;i<10;i++)
scanf(“%d”,&a(i));
}
13.在定义数组时,将定义的”元素个数”误认为是”可使用的最大下标值 {
int a[10]={1,2,3,4,5,6,7,8,9,10};
int i;
for(i=1;i<=10;i++)
printf(“%d”,a[i]);
}
14.对二维或多维数组的定义和引用的方法不对
{
int a[5,4];
?
printf(“%d”,a[1+2,2+2]);
?
}
15.误以为数组名代表数组中全部元素
{int a[4]={1,2,3,4};
printf(“%d%d%d%d”,a);
}
16.混淆字符数组与字符指针的区别
main()
{
char str[40];
str=“Computer and c”;
printf(“%s\n”,str);
}
17.在引用指针变量之前没有对它赋予确定的值 {
char *p;
scanf(“%s”,p);
}
{
char *p,c[20];
p=c;
scanf(“%s”,p);
}
18.switch语句的各分支中漏写 break语句 混淆字符和字符串的表示形式
?
char sex;
sex=“M”;
?
19.使用自加(++)和自减(--)运算符时出的错误 {
int *p,a[5]={1,3,5,7,9};
p=a;
printf(“%d”,*p++);
}
注意于*(++p)的区别;
20.所调用的函数在调用语句之后才定义,而又在调用前未加说明 main()
{float x,y,z;
x=3.5;y=-7.6;
z=max(x,y);
printf(“%f”,z);
}
float max(float x,float y)
{
return (x>y?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,%d\n”,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,%d\n”,*p1,*p2); }
24.没有注意函数参数的求值顺序 int i=3;
prinft(“%d,%d,%d\n”,i,++i,++i); 结果为5,5,4
因为VC++是采取自右至左的顺序求函数的值 C标准没有具体规定函数参数求值的顺序
25.混淆数组名与指针变量的区别 { int i,a[5];
for(i=0;i<5;i++)
scanf(“%d”,a++);
}
{int a[5],*p;
p=a;
for(int i=0;i<5;i++)
scanf(“%d”,p++)
}
{int a[5],*p;
for(p=a;p<a+5;p++)
scanf(“%d”,p);
}
26.混淆结构体类型与结构体变量的区别
struct worker
{long int num;
char name[20];
char sex;
int age;
};
worker.num=187045;
strcpy(worker.name,”ZhangFun”);
worker.sex=‘M’;
worker.age=18;
27.使用文件时忘记打开,用只读方式打开,却企图向该文件输出数据 if(fp=fopen(“test”,”r”))==NULL)
{printf(“cannot open this file\n”);
exit(0);
}
ch=fgetc(fp);
while(ch!=‘#’)
{ch=ch+4;
fputc(ch,fp);
ch=fgetc(fp); }
千万不要返回局部对象的引用