考全国计算机等级考试三级如何学C语言
日期:2007年8月7日 作者: 查看:[大字体 中字体 小字体]-
#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 encryptChar()的函数部分,在解题的时候我们就要定义个中
间变量,从原程序中可以看出是无符号型字符unsigned char,所以我们在定义中间变量时一定要保持一致,如果定义了char型就错了,当然象此类简单的换算题,可以不用中间变量的,直接进行运算就可以的,本人发在资料下载区的南开100中的解法就没有用中间变量,确保初学者不会出错。关于这些,大家可以结合书上的知识,对照南开题就能弄明白的。
四、学好C语言的四种程序结构
(1)顺序结构
顺序结构的程序设计是最简单的,只要按照解决问题的顺序写出相应的语句就行,它的执行顺序是自上而下,依次执行。
例如;a = 3,b = 5,现交换a,b的值,这个问题就好象交换两个杯子水,这当然要用到第三个杯子,假如第三个杯子是c,那么正确的程序为: c = a; a = b; b = c; 执行结果是a = 5,b = c = 3如果改变其顺序,写成:a = b; c = a; b = c; 则执行结果就变成a = b = c = 5,不能达到预期的目的,初学者最容易犯这种错误。 顺序结构可以独立使用构成一个简单的完整程序,常见的输入、计算,输出三步曲的程序就是顺序结构,例如计算圆的面积,其程序的语句顺序就是输入圆的半径r,计算s = 3.14159*r*r,输出圆的面积s。不过大多数情况下顺序结构都是作为程序的一部分,与其它结构一起构成一个复杂的程序,例如分支结构中的复合语句、循环结构中的循环体等。
(2) 分支结构
顺序结构的程序虽然能解决计算、输出等问题,但不能做判断再选择。对于要先做判断再选择的问题就要使用分支结构。分支结构适合于带有逻辑或关系比较等条件判断的计算,下面我介绍几种基本的分支结构。
①if(条件)
{
分支体
}
这种分支结构中的分支体可以是一条语句,此时“{ }”可以省略,也可以是多条语句即复合语句。它有两条分支路径可选,一是当条件为真,执行分支体,否则跳过分支体,这时分支体就不会执行。如:要计算x的绝对值,根据绝对值定义,我们知道,当x>=0时,其绝对值不变,而x<0时其绝对值是为x的反号,因此程序段为:if(x<0) x=-x;
②if(条件)
{分支1}
else
{分支2}
这是典型的分支结构,如果条件成立,执行分支1,否则执行分支2,分支1和分支2都可以是1条或若干条语句构成。
③嵌套分支语句:其语句格式为:if(条件1) {分支1};
else if(条件2) {分支2}
else if(条件3) {分支3}
……
else if(条件n) {分支n}
else {分支n+1}
(3)循环结构:循环结构可以减少源程序重复书写的工作量,用来描述重复执行某段算法的问题,这是程序设计中最能发挥计算机特长的程序结构,C语言中提供四种循环,即goto循环、while循环、do –while循环和for循环。四种循环可以用来处理同一问题,一般情况下它们可以互相代替换,但一般不提倡用goto循环,因为强制改变程序的顺序经常会给程序的运行带来不可预料的错误,在学习中我们主要学习while、do…while、for三种循环。常用的三种循环结构学习的重点在于弄清它们相同与不同之处,以便在不同场合下使用,这就要清楚三种循环的格式和执行顺序,将每种循环的流程图理解透彻后就会明白如何替换使用,如把while循环的例题,用for语句重新编写一个程序,这样能更好地理解它们的作用。特别要注意在循环体内应包含趋于结束的语句(即循环变量值的改变),否则就可能成了一个死循环,这是初学者的一个常见错误。
在学完这三个循环后,应明确它们的异同点:用while和do…while循环时,循环变量的初始化的操作应在循环体之前,而for循环一般在语句1中进行的;while 循环和for循环都是先判断表达式,后执行循环体,而do…while循环是先执行循环体后判断表达式,也就是说do…while的循环体最少被执行一次,而while 循环和for就可能一次都不执行。另外还要注意的是这三种循环都可以用break语句跳出循环,用continue语句结束本次循环,而goto语句与if构成的循环,是不能用break和 continue语句进行控制的。
顺序结构、分支结构和循环结构并不彼此孤立的,在循环中可以有分支、顺序结构,分支中也可以有循环、顺序结构,其实不管哪种结构,我们均可广义的把它们看成一个语句。在实际编程过程中常将这三种结构相互结合以实现各种算法,设计出相应程序,但是要编程的问题较大,编写出的程序就往往很长、结构重复多,造成可读性差,难以理解,解决这个问题的方法是将C程序设计成模块化结构。
(4)模块化程序结构
C语言的模块化程序结构用函数来实现,即将复杂的C程序分为若干模块,每个模块都编写成一个C函数,然后通过主函数调用函数及函数调用函数来实现一大型问题的C程序编写,因此常说:C程序=主函数+子函数。 因些,对函数的定义、调用、值的返回等中要尤其注重理解和应用,并通过上机调试加以巩固。
五、掌握一些简单的算法
编程其实一大部分工作就是分析问题,找到解决问题的方法,再以相应的编程语言写出代码。这就要求掌握算法,根据我们的《C程序设计》教学大纲中,只要求我们掌握一些简单的算法,在掌握这些基本算法后,要完成对问题的分析就容易了。如两个数的交换、三个数的比较、冒泡法排序,这就要求我们要清楚这些算法的内在含义,其中选择法排序和冒泡法排序稍难,但只要明白排序的具体过程,对代码的理解就不难了。
(1)数字拆分
此类题在南开100中占的比重很大,共占了16道题,主要是对四位数分解成千位数,百位数,十位数,个位数,这些就要用到运算中的整除(“/”)和求余(“%”)运算,一定要理解这两个运算的结果。
如南开15题:已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:若一个四位数的千位数字上的值小于等于百位数字上的值,百位数字上的值小于等于十位数字上的值,以及十位数字上的值小于等于个位数字上的值,并且原四位数是偶数,则统计出满足此条件的个数cnt并把这些四位数按从小到大的顺序存入数组b中,最后调用写函数writeDat()把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。
从解法中可以看出,分别求出这个四个位数,假如原四位数是a
千位数:a/1000;
百位数:a%1000/100;
十位数:a%100/10;
个位数:a%10;
当然方法很多,只要我们正确掌握了这两种运算,问题就迎刃而解。
(2)排序法
排序方法很多,只要掌握一种方法,就可以应对南开题中关于排序题的解法,建议用冒泡排序法。
如用冒泡排序法对10个不同整数排序(从小到大),选择法排序思路:设有10个元素a[1]~a[10],将a[1]与a[2]~a[10]比较,若a[1]比a[2]~a[10]都小,则不进行交换,即无任何操作;若a[2]~a[10] 中有一个比a[1]小,则将其中最大的一个(假设为a)与a[1]交换,此时a[1]中存放了10个中最小的数。第二轮将a[2]与a[3]~a[10]比较,将剩下9个数中的最小者a与a[2]交换,此时a[2] 中存放的10个数中第2小的数;依此类推,共进行9轮比较,a[1]到a[10]就已按从小到大的顺序存放。即每一轮都找出剩下数中的最小一个,代码如下:
以下是引用片段:
- 上一页 [1] [2] [3] 下一页
-
- 考全国计算机等级考试三级如何学C语言 相关文章:
- ·计算机一级B考试试题分析
- ·综合布线系统工程设计参考大全
- ·湖南省计算机应用能力初级考核模拟试题
- ·计算机一级B考试自测题
- ·用Excel制作自动记录的考勤表
- ·全国计算机等级考试一级内容
- ·全国计算机等级考试一级B模拟试题一
- ·一道褒贬不一的SQL考试题
- ·剑桥大学java期末考试题一份
- ·全国计算机等级考试二级Java模拟试题
- 考全国计算机等级考试三级如何学C语言 相关软件
- ·科林麦考雷拉力4(Colin McRae Rally 4)
- ·报检员考试复习提纲[PDF版]
- ·大学英语四级备考系统 V3.03
- ·统一驾照模拟考试系统v3.0 驾校版 + 注册机
- ·上海市2000年度《职称计算机应用基础考试练习软件》
- ·机动车驾驶员模拟考试系统 V6.73 单机版
- ·珊瑚软件全国计算机等级考试二级VFP上机考试系统 V6.0 标准版
- ·驾照理论考试速成 V7.1 免费版
- ·全国计算机等级考试二级VB上机考试模拟 V1.1
- ·保险代理人资格考试 V1.38
- 特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作
- 者.文章版权归文章原始作者所有.对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转
- 载的文章有版权问题请联系编辑人员,我们尽快予以更正. 转载请注明来源:http://www.hackhome.com
上一篇:巧用迅雷断点续传来修复破损光盘
下一篇:php:树形结构的算法
精品推荐
热点TOP10
- ·湖南省计算机应用能力初级考核模拟试题
- ·计算机一级B考试自测题
- ·全国计算机等级考试一级B模拟试题一
- ·全国计算机等级考试二级Java模拟试题
- ·计算机等级考试三级数据库知识考试题
- ·07年昂立大学英语四级新题型标准试题
- ·计算机等级二级C语言程序设计100例一
- ·07年4月计算机等级二级VF模拟笔试题一
- ·07年计算机等级考试二级ACCESS大纲
- ·全国计算机等级考试二级C++考试大纲
- ·从一级到四级 全国计算机等级考试全攻略
- ·07年4月计算机三级网络技术考前模拟一
- ·计算机等级考试三级网络的经验
- ·全国计算机应用技术证书考试(NIT)简介
- ·全国计算机等级二级FOX上机编程题题型
- ·07年4月等级考试三级网络考前密卷一
- ·计算机等级二级C++语言程序设计考纲分析
- ·含着热泪看完的一篇CCIE写的文章
- ·考全国计算机等级考试三级如何学C语言
- ·全国计算机等级考试四级复习纲要一[1]
