注册 登录
编程论坛 新人交流区

[转载]C语言程序设计入门学习六步曲

zhy20045923 发布于 2007-10-03 18:20, 2181 次点击

说明:在使用本方法之前要先阅读C语言的相关内容,要初步掌握相关知识的要点,然后按下述方法学习,可以达到理解、巩固、提高C语言知识和提高程序调式能力的目的。

  在程序开发的过程中,上机调试程序是一个不可缺少的重要环节。“三分编程七分调试”,说明程序调试的工作量要比编程大得多。这里以如何上机调试C程序来说明C语言的学习方法。

第一步、验证性练习

  在这一步要求按照教材上的程序实例进行原样输入,运行一下程序是否正确。在这一步基本掌握C语言编程软件的使用方法(包括新建、打开、保存、关闭C程序,熟练地输入、编辑C程序;初步记忆新学章节的知识点、养成良好的C语言编程风格)。

  初学者最容易犯的错误是:没有区分开教材上的数字1和字母l,字母o和数字0的区别,造成变量未定义的错误。另一个易错点是将英文状态下的逗号,分号;括号()双引号""输入出入成中文状态下的逗号,分号;括号(),双引号“”造成非法字符错误。


第二步、照葫芦画瓢

  在第一步输入的C程序的基础上进行试验性的修改,运行一下程序看一看程序结果发生了什么变化,分析结果变化的原因,加深新学知识点的理解。事实上这和第一步时同步进行的,实现“输入”加深知识的记忆,“修改”加深对知识的理解。记忆和理解是相辅相成的,相互促进。

例如:将最简单的Hello World!程序
#include "stdio.h"
int main()
{
printf("Hello World!\n");
return 0;
}
中的

printf("Hello World!\n");

中的Hello World!改成你的姓名,运行一下程序,看有什么变化?

再如求1+2+3...+100的和的程序

#include <stdio.h>

main()

{

int i,sum=0;

for(i=1;i<=100;i++)
{
sum=sum+i;
}
printf("sum=%d\n",sum);
}

 

  第1次将for(i=1;i<=100;i++)中的100改成50,运行一下程序,看有什么变化?

  第2次将for(i=1;i<=100;i++)中的i++改成i=i+2,运行一下程序,看有什么变化? 
 
  找出程序结果变化的原因,就加深了对C语句的理解。
 

第三步、不看教材看是否能将前两步的程序进行正确地输入并运行。

  在这一步要求不看教材,即使程序不能运行,看能否将其改正,使其能正确运行。目的是对前两步的记忆、理解进一步强化。


第四步、增强程序的调试能力

  在教材中每章都有C语言初学者易犯的错误,按照易出错的类型,将教材中的正确的程序改成错误的程序,运行一下程序,看出现的错误信息提示,并记下错误信息,再将程序改成正确的,运行一下程序。这样反复修改,就能够学习C语言程序发生错误的原因和修改错误的能力。

例如,将Hello World程序中语句

printf("Hello World!\n");

中的;改成中文的分号;

运行一下程序,看有什么结果? 

第五步、研究典型的C语言程序,提高程序设计能力

  在软件中有50多个典型的源程序,研究它的实现方法,提高自己的程序设计能力。
 

第六步、研究课程设计源成序,提高C语言的综合应用能力。

  软件中有4个注释详细的课程设计源程序

  摘自《Turbo C/C++ for windows 集成实验与学习环境》的《C语言入门教程》

22 回复
#2
心随风飞2007-10-03 18:21

不错!学习了

#3
天道酬勤072007-10-04 11:01
#4
光荣匿名人士2007-10-04 11:02
好贴,基础入门好贴
#5
dxq5306102862007-10-04 11:04
好   顶了  
#6
nuciewth2007-10-04 11:05
C区有.呵呵
#7
光荣匿名人士2007-10-04 11:16

终于被发现了,早说了不能干这事

#8
sunyg262007-10-04 11:53

嘿嘿...我喜欢

#9
lxianw1632007-10-04 15:02
不错 谢谢呀
#10
单调黑白2007-10-04 18:30
回复:(zhy20045923)[转载]C语言程序设计入门学习六...
#11
LeeZ2007-10-04 20:42
  不错的,和我的经验差不多啊。
#12
tcq1269122007-10-05 09:28
回复:(zhy20045923)[转载]C语言程序设计入门学习六...
挺不错的.好好学习学习
#13
一号用户2007-10-05 09:33

深有体会

#14
hexiaoyuhit2007-10-05 11:08
学习啦
#15
suibian12342007-10-05 11:10
继续喀嚓
#16
unicornlove2007-10-05 15:57
学习!!!
#17
XMeLoDy2007-10-05 17:39
郁闷。。。上面的代码 需要在那个版本运行
我在TC2.0里喝win-tc里都不行嘎
#18
程序人员2007-10-05 17:48

C语言学习新手必看

一、分号,大括号
分号。分号是表达式结束的标志,一般表达式后面都要有。 写“;”的时候一定要注意:是否要结束前面的语句 。注意:if,switch,for,while语句,数据类型定义,函数定义。

if(a>b) /*if语句,没有分号*/
{...}
while(i+=10,i!=100); /*while语句循环体为空,依靠逗号语句实现循环*/
struct a /*结构体数据定义,没有分号*/
{...}b; /*结构体变量,要有分号*/
int sum(...) /*函数定义,没有分号*/
{....}

大括号。大括号是一个语句段的标志。 写大括号时最好一次写一对,然后把光标移到大括号里写 。避免遗漏。

二、运算符号

“=”与“==”

“=”用于赋值,注意“=”左边必须是变量,右边可以是常量也可以是变量。“==”用于判断两个量的大小,左右两边可以是常量也可以是变量( 尽量把常量写在左边,这样“==”误写成“=”时编译器就会报错 )。 运算表达式有它本身的值 。“=”语句值为“=”右边的量的大小;“==”语句值为判断结果,无外乎两种,0(表示“==”两边不等)1(“==”两边相等)。

(i=1)==(3==4); /*i值为1,整个表达式值为0*/

“,”

逗号语句是从左到右计算,整个逗号语句的值为最后一个语句的值
i=(j=2,j+8,j++); /*先计算j=2,值为2,j+8不是运算表达式,跳过,计算j++得到整个括号内的值3*/
“/”
“/”两边都是整型变量的时候结果也是整型,而且结果遵循向0靠拢的原则 。
运算符的优先级及结合方向
不多说了,表格一定要背牢。

三、变量

命名
不要吝惜,能说明白性质尽量在变量的名字上说明。 避免老是使用一个字母,或者难以理解的变量名 。对于较长的变量命名可以使用宏定义、类型定义。

#deine UP 0x4800 /*键码的宏定义*/
typedef struct
{....}MEM; /*结构体变量的类型定义*/

类型
注意变量的使用范围。 当不确定变量的范围的时候尽量选用值域宽的类型。双目运算符两边的变量一般类型要一致。不一致的时候需要使用类型转换 。

上回说的是一些小问题,真正编东西,学东西还有许多要注意的地方。
由于本人也是刚学不久,水平有限,说错的地方望大家原谅。谢谢!

一、多看代码

在有一定基础以后一定要多看别人的代码。 注意代码中的算法和数据结构。 毕竟学C之后的关口就是算法和数据结构。提到数据结构,指针是其中重要的一环,绝大多数的数据结构是建立在指针之上的,如链表、队列、树、图等等,所以只有学好指针才能真正学好C。别的方面也要关注一下,诸如变量的命名、库函数的用法等等。有些库函数是经常用到的。对于这些函数的用法就要牢牢记住。

二、要自己动手

编程序是个实干的活,光说不练不行。刚开始学的时候可以多练习书上的习题。 对于自己不明白的地方,自己编个小程序实验一下是最好的方法,能给自己留下深刻的印象。 自己动手的过程中要不断纠正自己不好的编程习惯和认识错误。有一定的基础以后可以尝试编一点小游戏,文曲星之类的电子词典上小游戏很多,照着编作为练习。基础很扎实的时候,可以编一些关于数据结构方面的东西,诸如最经典的学生管理系统。之后.....学汇编、硬件知识。

三、选择一个好的编译器

本人前段时间就遭受了一个编译器的折磨。这个编译器带了个自运行程序,自动修改IE主页。叫什么名字就不说了。言归正传,英文版Turbo C v2.0没话说,最经典的C编译器(下载地址: http://www4.skycn.com/soft/2151.html ),其次推荐一个win-tc 1.91,支持windows下的编译器。(下载地址: http://www4.skycn.com/soft/17869.html )

四、关于养成良好的编程习惯

基本上每本C教材上都要提到。作为新手这条一定要时时遵守。记的一位网友发过评论:高手写一堆乱七八糟的代码就是艺术,新手写一堆乱七八糟的代码就是垃圾。就象古代贤人写错字叫通假字,小学生写错字叫错别字,一个道理。具体方面:

1、 在比较复杂的代码后面要有注释。 如果光溜溜一堆代码,别人就不可能看懂你的代码,而且也不利于查找错误。除非你一直编东西给自己看。能在代码里说明白的就一定要在代码里体现。比如变量名、函数名,在命名的时候尽量说明是干什么用的。

2、注意语句的嵌套不能过长,一般来说,一段代码里Tab要少于8个。 简单说就是语句最多8个嵌套。 对于新手来说,这个标准还要下降。有一个好习惯是,把主函数尽量写简短。经常看到别人的代码是主函数只有几行,几个函数调用,而定义全在主函数外部。这样一是减少了主函数内部的嵌套,二是比较精简,容易读懂。

3、注意语句的选择。并不是分支语句就用if循环就用while、for。在适当的情况下switch和do while语句也是要用的。在某些时候,switch语句比if语句更加精练明了,而do while比while少一个循环。

#19
sk932007-10-05 18:05
其实编程就这么简单~
#20
qiuzhihao2007-10-06 15:25
呵呵,学编程就是积累经验的过程
实践,实践,再实践!
#21
Flsnow2007-10-06 15:38
怎么感觉很难的...

[此贴子已经被作者于2007-10-6 15:38:56编辑过]


#22
zamboninite2007-10-06 16:11
学习了
#23
2008-05-30 10:18
有用啊
1