全国计算机等级考试三级如何学C语言
很想写一遍关于三级C上机方面的学习文章,苦于水平有限,加上一直没有时间和精力,停了卜来。今天正好没事,看了相关资料,着手写了下,希望能对没学过C语言而又想考三级的朋友有所帮助。
很多没接触过C语言的朋友,考三级最感到就是怕C语言学不来.其实,按照我们现在的三级C上机的考试要求,(只是一道编程题,还不是完整的编程,只要填上一段函数就行了),只要掌握一些C编程的基本知识,看好南开100题的各种题型的解法,加上多上机独立练习就完全能够过级的。众所周知,近几年的三级C上机的题库就是南开100题,考试时是从中抽一道编程题,只是少数考题条件略改鼠比如原题中是“从大到小"排序,考题也许改成“从小到大"排序,我想这对于理解了解题方法的人,应该不停在问题的。
言归正传,我们如何就三级考试来学《C程序设计》呢?
《C程序设计》的内容很丰富,按照我们现在的考试耍求,也就是南开100题解法中主耍涉及到的是基础知识、四种结构的的程序设计、函数与数组的应用和算法,在学习时,应该把主要精力放在这些部分,当然其它的知识.如输入输出的语句、文件的读写、指针的定义等,尽管原程序都给了你,但最起码也要能看懂,所以还是不能放弃学的,广解为好。当然,在初学C语言时,可能会遇到有些问题理解不透,或者表达方式与以往数学学习中不同(如运算符等),这就要求不气馁,不明白的地方多何多想,鼓足
勇气进行学习,待学完后面的章节知识,前面的问题也就迎刃而解了.
一、学好C语言的语法
无它,看书并记忆,加上机练习.有很多考三级的朋友都学过其它程序语言,如VB,很容易受它们习惯的影响,在写程序上经常忘记c语言中的分号、小括号、大括号的运川,导致很多人看着答案编程老是出错,检查半天不知哪里错r,大呼小叫“我按照答案输进去的,为什么提示错误,对「n遍,不知哪里错了”,所以一开始就要养成良好的习惯和细心。特别注意的足为什么说上机练习很重耍,原因就是在纸上写的,语法错了不知道,而上机错了就显示了.
二、学好c语言的运算符和运算顺序
这是学好《C程序设计》的基础,C语言的运算非常灵活,功能I•分丰富,运算种类远多于其它程序设计语言.在衣达式方面较其它程序语言更为简洁,如自加、自减、逗号运算和三目运算使表达式更为简单,但初学者往往会觉的这种表达式难读,关键原因就是对运算符和运算顺序理解不透不全。当多种不同运算组成一个运算表达式,即一个运算式中出现多种运算符时,运算的优先顺序和结合规则显得十分重要。在学习中,只要我们对此合理进行分类,出它们与我们在数学中所学到运算之间的不同点之后,记住这些运算也就不困难八有些运算符在理解后更会牢记心中,将来用起来得心应手,而有些可暂时放弃不记,等用到时再记不迟.
先要明确运算符按优先级不同分类,《C程序设计》运算符可分为15种优先级,从高到低,优先级为1'15.除第2、3级和第14级为从右至左结合外,其它都是从左至右结合,它决定同级运算符的运算顺序。卜面我们通过几个例子来说明:
(1)5*8/4%10这个表达式中出现3种运算符,是同级运算符,运算顺序按从左至右结合,因此先计算5*8=40,然后被4除,结果为10,最后是%(求余数)运算,所以表达式的最终结果为10%10=0;
(2)a=3;b=5:c=++a*b;d=a++*b;
对于c=++a*b来说,按表中所列顺序,++先执行,*后执行,所以++a执行后,a的值为4,由于++为前置运算,所以a的值4参与运算,C的值计算式为4*5=20而不是3*5=15了;而对于d=a++*b来说,由于a++为后置运算,所以a值为4参与运算,使得d的值仍为20,而a参与运算后其值加1,值为5。这个例子执行后,a的值为5,b的值为5,c的值为20,d的值也是20;
(3)(a=3.b=5,b+=a,c=b*5)
例子中的“,”是逗号结合运算,上式称为逗号表达式,自左向右结合,最后一个表达式的结果值就是逗号表达式的结果,所以上而的逗号表达式结果为40,a的值为3,b的值为8,c的值为40。
三、学好数据类型定义
类型定义在所有编程中基本都要用到,用些题类型定义错了,解题结果就错了,大家一定要看好节上关于整型、长整型、字符型、无符号型、实数型的定义的区别和运用以及它们的范围,这些在南开100题中都是考点,考试时很多考生就是因为类型定义错了,而没通过。
如:南开第8题:要求对一篇文章的每个字符按替代关系:f(p)=p*ll mod256(p是数组中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果计算后f(p)值小于等于32或大于130,则该字符不变,否则将f(p)所对应的字符进行替代.部分源程序存在文件progl.c中.原始数据文件存放的格式是:每行的宽度均小于80个字符.
请勿改动主函数maino、读数据函数ReadDat()和输出数据函数WriteDat()的内容。
以下是引用片段:
#include<stdio.h>
^include<string.h>
#include<conio.h>
^include<ctype.h>
unsigned char xx[50][80];
int maxline=0;/*文章的总行数*/
int ReadDat(void);
void WriteDat(void);
(上面是原程序中给的)要求我们编出void encryptCharO的函数部分,在解题的时候我们就要定义个中
间变量,从原程序中可以看出是无符号型字符unsigned char,所以我们在定义中间变量时一定要保持一致,如果定义了char型就错了,当然象此类简单的换算题,可以不用中间变量的,直接进行运算就可
2小的数;依此类推,共进行9轮比较,a[l]到a[10]就已按从小到大的顺序存放。即每一轮都出剩卜檄中的最小一个,代码如卜一:
以下是引用片段:
for(i=l;i<=9;i++)
for(j=i+l;j<=10;j++)
if(a>a[j]
{temp=a;
a=a[j];
a[j]=temp;
)
c语言如何去学文章阅读排行周排行月排行全国计算机等考试四级考试经典词汇计算机等级二级C++语言程序设计考纲分析07年4月等级考试二级ACCESS考前密卷一07年计算机等级考试二级ACCESS大纲考全国计算机等级考试三级如何学C语言IT职场:我拒绝了一个应聘的女程序员H职场:要求加薪有秘诀你会几招?07年4月等级考试二级ACCESS考前密卷四IT职场:外企面试甘最爱提的问题T0P1007年4月等级考试二级ACCESS 考前密卷三07年4月等级考试二级ACCESS考前密卷二参考:新浪网编辑手册和主页推荐规范全国计算机等级考试一级B模拟试题•三级网络技术考前密卷选择题测试-全国计算机等级考试一.级VB最新模拟试题全国计算机等级考试级B模拟试题六开启IT行业大门IT教育频道重装上线三级网络技术考前密卷选择题测试八三级网络技术考前密卷选择题测试二计算机等级考试二级C语言上机
试题1-8套07年计算机等级考试三级网络复习纲要三级网络技术考前密卷选择题测试七
结束语:此文主要是结合三级C上机的特点所举的•些例子分析下重点,首先声明不全,只是起抛砖引玉的作用,大家在学习C语言中,不能局限性于此,以一定要看完,不作考核的部分尽量能铁知道一点,也不枉考试一场,各人考试的目的不同,自己把握就是。
本人水平有限,加上时间仓促,如有错误,欢迎批评指正.
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论