本文目录一览:
我考研专业课考C语言,就是老谭的那本 C程序设计 。请问怎么复习最有效啊?
复习,其实最有效的方法就是两个字:动手
无论是哪一种的复习与考试,或是学习其它知识,都不能只是简单地用眼睛看,用大脑思考,其更重要的是动手去计算,动手去解答问题,而动手的概念主要有两种:
其一、实际操作类。就是需要实物进行的操作,例如制作简单的纸飞机、复杂的机器人,这都是需要实物来实际动手操作才能理会其内涵的知识,光靠看书看资料是不能根本解决问题的。
其二、模拟考核类。就是找一些试卷进行答题,然后再核对哪里答错了,答错的题目要反复多看几遍,主要的是看看错在哪里,思考下为什么会答错。对于答对了的题目也要再看一遍,巩固下记忆。之后再重新答题,如此反复练习,则是最有效的复习方式。
对于C语言的复习,则可以利用C语言编程软件来练习编程技巧,可根据书本上给出的题目进行编程,最终得到正确的答案。
初次得到答案也不要停止学习,要思考下利用其它方法来得到同样的答案,因为C语言是一个很灵活的语言,对于任何一个问题的解决方法,都有几个甚至几十个不同的解决办法。
C语言学习技巧
1、学习C语言,要从入门到精通,需要读哪些书(从简单的到难的排序,越详细越好,最好都能注释下选择这本书的理由)?
入门阶段:还是老谭那本。
理由:虽然不能说它写得有多好,但是你现在要做的是入门,要快速的掌握c的基本语法,这本书很好理解,能够让你在最短的时间内大致掌握这门语言的概更。
第二阶段:《c程序设计语言》(The C Programming Language)和《C语言解惑》(The C puzzle book)
理由:《the c programming language》号称c语言圣经。其实它也只是一本介绍基础语法的书,不做入门教程是因为对于初学者来说,它难度稍大,之所以推荐,是因为它能让你---系统而严密的---把C语言知识构架整理一遍。《c语言解惑》,系统的整理了c语法中容易让你产生迷惑或容易犯错的地方(如a+++++b等),这时候你才算真正开始学习c语言了.(以上两本现在出重印了,应该在书店可以买到)
第三阶段:《C陷阱与缺陷》(C Traps and Pitfalls)和《高质量c/c++编程指南》
理由:《c陷阱与缺陷》是让对c的理解有质变得一本书,如如何理解(*(void(*)())0)()等问题,我的感觉是看完这本书让我真正从小菜鸟变成了老菜鸟。《高质量...》,终于有一本国产的了,呵呵,我认为这本书是把你从土匪变成正规军的最好指南,该书涉及编程风格、效率、重载、健壮性等一些列之前很难注意的问题。(以上两本《c陷阱...》已绝版,不过网上可以下载到中英文版,《高质量...》本身就是网络书,很容易找到)
其它推荐书:《c专家编程》《c和指针》
C语言考试技巧
一.特点和注意事项 1、填空题
(1)上机填空题一般包含2个(或3个)空。 (2)要填空的位置用___、___、___表示。
(3)考生在考试时应删除标识___、___、___后填入相应的符号。
特别要注意的是:只能在要填空的位置上进行修改,不要添行、删除、合并或分解,不要改动程序行的顺序,更不要自己另编程序。 2.改错题
(1)上机改错题中有2个(或3个)错误需要修改。
(2)试题中用“/******found******/”来提示在下一行(或下面第二行)有错。 (3)错误的性质基本分为语法错误和逻辑错误,也有些试题要求把语句添加在下划线处。
(4)特别要注意的是:只能在出错的行上进行修 二.做题技巧
以下是对上机考试改错题的做题方法和总结,改错题的错误主要分为以下几类:
一般情况,错误主要分为语法错误和逻辑错误。
先检查语法错误,编译程序后发现没有错误及警告,说明没有语法错误,只有逻辑错误;逻辑错误必须根据程序的功能及预期结果来考查。
因此,对于程序改错题,应先编译查找其中的语法错误,通过编译器的提示容易找到错误的地方及原因,然后再寻找逻辑错误。修改了语法错误后再次编译,直到修改完所有的语法错误。而查找逻辑错误时,需要运行程序根据结果来检查。
1、if或while语句
若错误行是if或者while语句,则要注意以下点: 1)首先判断是否正确书写if或while关键字;
2)然后看有没有用小括号把整个表达式括起来,若没有则加上小括号; 3)若条件表达式中有指针变量而且没有指针运算符时,则加上指针运算符; 4)若if条件表达式中只有一个等于号即数学等号(=),则要改写成两个等于号即逻辑等号(==);
若if条件表达式为其他的比较运算符,则一般是进行逆转或加一个等于号; 2、for语句
若错误行是for语句,则要注意以下几点: 1)首先判断for有没有书写正确;
2)然后看for中的表达式是不是用分号(;)隔开,若不是则改为分号。 3、记住是分号(;),不是逗号(,)!
再者,分析for中的三个表达式,是否符合题意; 第一个表达式表示起始条件, 第二个表达式表示终止条件,
第三个表达式表示循环变量的变化。 4、return语句
若错误行为return语句,则要注意以下几点: 1)首先看是不是正确书写return关键字;
2)然后看是不是缺少分号,若是则加上分号即可;
3)再者判断return后的变量或表达式是否正确;
这种错误需要根据题意来分析,分析返回变量或表达式的值和类型。 5、赋值语句
若错误行是赋值语句,则要看赋值是否正确,然后看赋值运算符是否写正确。 6、定义语句
若错误行是定义语句,则要注意: 1)首先分析变量类型是否符合;
2)然后分析赋初值是否正确,求和初值赋0,求积初值赋1;
3)若以上均不是,则看是不是少定义了某个变量或少了花括号; 7、关键字拼写错误。如:main-mian(错误) printf - pirntf (错误)
Return- return(错误) while- While (错误)
8、表达式错误问题
表达式错误占的份量最多,并且没有统一的改法,我们只能通过题目要求来分析并修改),
1)若错误行中有整数1除以某个表达式或变量时,必须把整数1改为1.0;若变量或表达式是整型时,则只能进行强制类型转换。
2)变量必须先赋值,后才参与运算,没有赋值就不能参与运算;例如,long k;k*=num%10;
3)运算符书写错误,例如,把/写成\(num\=10);,==写成=。 4)丢失括号() 9、字符串类问题
1)若错误行中有字符串结束符,则特别要要注意结束符有没有写错(‘\0’不要写成"\0”)。
2)新组建的字符串一定要加结束标识符(‘\0’); 3)要区分清楚字符‘o’和数字‘0’。
4)字符串复制、比较必须使用用字符串处理函数(strcpy或strcmp)实现,不能用赋值语句或关系运算符。 10、指针类问题
若错误行中有指针变量,并且该变量名之前没有指针运算符,则般都是加上指针运算符;即注意p和*p的区别; 11、函数首部类问题:
若错误行是函数首部,则要注意:
1)首先看该行最后有没有分号,若有则删掉分号;若中间有分号则要改为逗号;
2)形参和实参类型不一致问题
① 若实参是个地址或数组名或指针变量名,则对应的形参肯定是指针或数组;
②若实参是二维数组名,则对应的形参应该是指针数组或是二维数组; ③若后面用到形参时有指针运算符,则该形参应为指针类型;
④若形参是二维数组或指向M 个元素的指针变量,则该二维的长度必须与main中对于数组的第二维的长度相同。 3)函数类型不一致问题
①若函数中没有return语句,则函数类型为void;
②若函数中有ret urn语句,则函数的类型必须与rerun后的变量类型一致;
记住,调用函数的类型与main中的该函数的类型一致! 12、语法错误问题:
1)语句缺少分号。若错误号中语句没有以分号结束则加上分号;
2)变量名不一致。C语言是区分大小写的,若错误行中有大写字母一般都改为小写字母;
3)若错误行中有一条横线,则必须将横线删除再填空。填空题中亦是如此。 13、逻辑错误问题:
这种题型主要是表达式错误,占的题量比较多而且没有统一的做题方法,需要我们具体问题具体分析。对于逻辑错误,可按下列步骤查找:
①先读试题,看清题目的功能要求。
②通读程序,看懂程序中算法的实现方法。 ③细看程序,发现常见错误点。 14、书写错误问题:
特别注意我们的注释部分,注释是以/*开始,以*/结尾,不能有多余的,有也只能在/*和*/里面。注意,比如“/***注释部分*****/*/”是错误的!
二、编程时容易犯的错误
1.书写标识符时,忽略了大小写的区别
C语言认为大些字母和小写字母时两个不同的字符,如在编译程序过程中,系统会把a和认为时两个不同的变量名。习惯上,符号常量名用大写表示,变量名用小写表示,以增加程序的可能性。
2.忽略了变量的类型,进行了不合法的运算
3.忽略了“=”与“= =”的区别;C语言中,“=”是赋值运算符,“= =”是关系运算符
4.忘记加分号
考生应特别注意这种情况,分号是C语言中不可缺少的一部分,语句末尾必须有分号,但有时候千万不能加;
5.输入变量时忘记加地址运算符“”,而在不应加“”的位置加了地址运算符
(1)忘记加“”的情况。
如int a,b; scanf(“%d%d”,a,b);
此时,无法正确给a和b读入数据。scanf函数的作用是:按照a、b在内存中所分配的地址将a、b的值存进去。“a”指a在内存中的地址,因此正确的书写格式为scanf(“%d%d”,a,b);。
(2)多加“”的情况。如int str[ ]; scanf(“%s”,str);
C语言编译程序对数组名的处理是:数组名代表数组的起始地址,scanf函数中的输入项是字符数组名,因此不必再加地址符,应该去掉。
6.输入数据的方式余要求格式(通配符)不符。例如:scanf(“%d,%d”,a,b);
C规定:如果在“格式控制”字符串中,除了格式说明以外还有其他字符,则在输入数据时应输入与这些字符相同的字符。下面输入是合法的:3,4
此时不用逗号而用空格或其他字符是不对的,如:3 4(中间为空格)3:4(中间为冒号);
三、相关概念
(1)素数:定义是除了能被1和自身整除外,不存在其他任何能整除该数的自然数。因此,在判断一个数是否为素数时,只要有除了1和本身能整除它,还有一个数能整除它,就判定此数不是素数。
(2)判断一个年份是否为闰年:如果年份能被4 整除但是不能被100整除,或者能被400整除,这两种情况满足之一都是闰年。
(3)利用选择法进行从小到大的排序。选择法的思路为:把第一个元素与其后面的元素比较,如果比后面的大,则交换,比较完所有的元素后,第一个位置的元素是最小的元素;在把第二个元素与其后面的元素进行比较,结果是除了第一个元素外,第二个元素是最小的元素;以此类推。
(4)数的按位分离算法是:对10取模求个位上的数字,整除10后再对10取模求十位上的数字,整除100后再对10取模求百位上的数字。
(5)最大公约数的算法是:(1)若nm,则用n除以m求余数r;(2)若r=0,则m为最大公约数,若r≠0,则将r赋值于m,m赋值于n,继续用n除以m求余数r;(3)直到r=0,m为最大公约数。根据算法判断每一条语句是否正确。 (6)求最小公倍数的算法:等于两个数的乘积除以它们的最大公约数。 (7)矩阵时以行为外循环,列为内循环,可以同时计算周边元素的和。
计算机二级C语言考试重点以及复习技巧
1、语言的基本语法25分。主要有C语言的主要特点、各种数据类型、运算符与运算表达式、基本I/O结构应用、基本的程序控制结构、宏的基本定义、文件的基本应用等。
2、程序阅读题30分。考核的主要内容为:选择结构、循环结构的应用、数组的应用、指针特别是指针与字符数组的关系应用、函数应用(参数传输,全局变量,局部变量应用等)。3、程序设计15分。主要是应该熟悉程序控制结构,数组,函数的应用。
复习内容:
C语言的基本概念
C语言的主要特征和程序结构。头文件,函数的开始和结束标志。源程序的书写格式。数据类型和运算
基本数据类型和常量的表示法。各种变量的定义和初始化。
运算规则和表达式。
赋值表达式、算术表达式、关系表达式、逻辑表达式、条件表达式、逗号表达式。
运算符的优先级、类型的自动转换和强制类型转换,
C语言的基本语句
基本语句:表达式语名、空语句、复合语句。数据的输入与输出、输入输出函数的调用。选择结构语句。if语句。switch语句。
选择结构的嵌套。循环结构语句。for语句。while语句和do-while语句。continue语句和break语句。
构造类型和指针类型数据
数组、结构、联合类型的说明和正确使用。
指针。
指针与指针变量的概念,指针与地址运算符。
变量、数组、字符串、函数、结构体的指针,以及指向变量、数组、字符串、函数、结构体的指针变量。通过指针引用以上各类型数据。指针数组,指向指针的指针。
存储区动态分配和释放。
函数
函数的基本结构和定义方法。
函数的调用和参数传递。
函数的嵌套调用、递归调用。
变量的作用域。
Main
()函数的命令行参数引用。
内部函数与外部函数。
库函数的正确使用。
文件只要求缓冲文件系统(即高级磁盘I/O系统)。
文件的概念:文本文件和二进制文件。
文件类型指针。
文件的基本操作:文件的打开与关闭、文件的读写、文件指针的操作。