程序设计入门学习六步曲

初学者遇到最多的困惑是:上课也能听懂,书上的例题也能看明白,可是到自己动手做编程时,却不知道如何下手。发生这种现象的原因有三个:

一、所谓的看懂听明白,只是很肤浅的语法知识,而我们编写的程序或软件是要根据要解决问题的实际需要控制程序的流程,如果你没有深刻地理解C语言的语句的执行过程(或流程),你怎么会编写程序解决这些实际问题呢?

二、用C语言编程解决实际问题,所需要的不仅仅是C语言的编程知识,还需要相关的专业知识。例如,如果你不知道长方形的面积公式,即使C语言学得再好你也编不出求长方形的面积的程序来。

三、C语言程序设计是一门实践性很强的课程,“纸上谈兵”式的光学不练是学不好C语言的。例如,大家都看过精彩自行车杂技表演,假如,你从来没有骑过自行车,光听教练讲解相关的知识、规则、技巧,不要说上台表演、就是上路你恐怕都不行。

出现问题原因清楚了,那么如何学习呢?请你看【C语言学习六步曲】

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

第一步、验证性练习

在这一步要求按照教材上的程序实例进行原样输入,运行一下程序是否正确。在这一步基本掌握C语言编程软件的使用方法(包括新建、打开、保存、关闭C程序,熟练地输入、编辑C程序;初步记忆新学章节的知识点、养成良好的C语言编程风格)。 单击此处查看【C语言的编程风格】
    
使用《Turbo C/C++ for Windows 集成实验与学习环境》软件可以很方便地看着软件集成的《C语言入门教程》输入练习其中的程序例题。具体使用方法参见软件帮助部分。

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

2、C语言初学者易犯语法错误:使用未定义的变量、标示符(变量、常量、数组、函数等)不区分大小写、漏掉“;”、“{”与“}”、“(”与“)”不匹配、控制语句(选择、分支、循环)的格式不正确、调用库函数却没有包含相应的头文件、调用未声明的自定义函数、调用函数时实参与形参不匹配、数组的边界超界等。

3、修改C语言语法错误时要注意以下两点:
     (1)、由于C语言语法比较自由、灵活,因此错误信息定位不是特别精确。例如,当提示第10行发生错误时,如果在第10行没有发现错误,从第10行开始往前查找错误并修改之。
     (2)、一条语句错误可能会产生若干条错误信息只要修改了这条错误,其他错误会随之消失。特别提示:一般情况下,第一条错误信息最能反映错误的位置和类型,所以调试程序时务必根据第一条错误信息进行修改,修改后,立即运行程序,如果还有很多错误,要一个一个地修改,即,每修改一处错误要运行一次程序。

第二步、照葫芦画瓢

在第一步输入的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语句的理解。
 

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

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

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

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

注意:每次只改错一个地方,目的是显示发生该错误的真正原因,避免一次改动多个地方,搞清发生错误的真正原因,切记!!!!

注意:上机调试程序时要带一个记录本,记下英文错误提示信息和解决该错误问题的方法,积累程序调试经验,避免在编程犯同样的错误,切记!!!!

例如,将Hello World程序中语句printf("Hello World!\n");中的;改成中文的分号;运行一下程序,看有什么结果?

C语言的错误信息的形式:(下面例子是的Turobo C2.0错误信息,如图1)
错误    文件名                   行号      冒号            错误内容

↓       ↓                      ↓        ↓               ↓

Error E:\WinTc\WinTc\frist.c    5         :    Function call missing) in function main

C语言的错误信息的形式:(下面例子是Visual C++6.0 错误信息,如图2)
文件名                   行号 冒号 错误代码   冒号      错误内容
  
↓                       ↓    ↓       ↓      ↓          ↓

e:\wintc\wintc\frist.c ( 5 ) : error C2143 : syntax error : missing ‘)‘ before ‘;‘

软件集成了高校教学用的最多的两个编译器Visual C++6.0和Turbo c 2.0,支持C、标准C、C++、标准C++、WINDOWS C程序的编辑、编译、和调试。软件根据用户输入程序的类型智能选择编译器,不用使用者干涉。

调试程序是一种实践性很强的事,光纸上谈兵是是没用的,就像游泳运动员只听教练讲解示范,而不亲自下水练习,是永远学不会游泳的。 即使在优秀的程序员编写程序也会犯错误的,可能事最低级的语法错误,但他能快速发现错误并改正错误,而我们C语言初学者面对错误提示,不知道发生了什么错误,如何改正,这就是差别。

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

经过上述过程的学习,我们已经学会了C语言各种语句的流程(即计算机是如何执行这些语句的过程),然后就可以研读别人编写C语言经典程序,看懂别人是如何解决问题的,学习解决问题的方法和程序设计技巧,提高自己的程序设计能力。
    
在软件中有50多个典型的源程序,研究它的实现方法,提高自己的程序设计能力。
 

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

C语言课程设计的目的:是让学生综合利用所学的C语言知识,解决一些接近实际问题题目,提高程序设计和调试较大程序的能力,为进一步进行软件开发打下坚实的基础。
    
最后送C语言初学者一句话来共勉:首先要相信自己是有能力学好C语言的,然后不惜一切代价把这种能力表现出来,你就成功了。做任何事,何尝不是这样呢?兴趣是学习C语言的最大动力,学习方法给你指明努力的方向,让你事半功倍。如果你感觉对你有帮助的话,请点赞支持,让更多的朋友知道它,谢谢支持!!!

3-----------------------

时间: 2024-12-28 02:08:28

程序设计入门学习六步曲的相关文章

C语言程序设计入门学习五步曲(转发)

笔者在从事教学的过程中,听到同学抱怨最多的一句话是:老师,上课我也能听懂,书上的例题也能看明白,可是到自己动手做编程时,却不知道如何下手.发生这种现象的原因有三个: 一.所谓的看懂听明白,只是很肤浅的语法知识,而我们编写的程序或软件是要根据要解决问题的实际需要控制程序的流程,如果你没有深刻地理解C语言的语句的执行过程(或流程),你怎么会编写程序解决这些实际问题呢? 二.用C语言编程解决实际问题,所需要的不仅仅是C语言的编程知识,还需要相关的专业知识.例如,如果你不知道长方形的面积公式,即使C语言

c# ado 连接数据库 六步曲

建立连接分为六步:1.定义连接字符串,oracle 的连接字符串为: private static string connString = "Data Source=192.168.1.130:1521/mydata;Persist Security Info=True;User ID=em_test;Password=test123;Unicode=True"; 2.根据连接字符串成连接3.打开连接4.实例命令对象5.操作6.关闭连接 看一个例子: using System; usi

快速学习六步

转载: 第一步:快速浏览大量相关信息(快速通读) 许多人试图慢慢地系统地吸收难懂的材料.他们阅读时划线做标记,并且反复阅读某些段落以求理解.这种方法可能最终能达到目的,但是大部分人会感到厌倦然 后在结束之前放弃努力.我们的大脑讨厌这种学习方式.更好的方法是,尽可能快速浏览材料.不要担心你不能理解所有内容,只管这样读下去.迫使自己读完“该 死的”书本,不用担心自己没记住多少内容:). 跳过任何练习或测验,只是尽力阅读. 有些人能够坐下来两三次就读完整本书,但我做不到.我喜欢看10到20页然后做点其

中间件学习——二步曲(分类)

上一篇文章我们介绍了中间件的由来.定义和作用,这篇文章我们继续中间件的学习,中间件的产品种类很多,根据中间件在系统中所起的作用和采用的技术不同,我们将中间件进行了分类,我们今天就详细学习下中间件具体知识. 分类 中间件分为远程过程调用中间件.数据访问中间件.消息中间件.事务(交易)处理中间件.分布式对象中间件. 远程过程调用中间件(RPC, Remote Procedure Call) 我们一个一个来学习,首先来学习的是远程过程调用中间件,远程过程调用就是程序和程序之间的通信,就是客户端应用程序

【Python】入门学习六 列表及其相关操作

我们在生活中常常会列出自己的List,比如购物清单,待办事项等.编程来源于生活,在Python,列表也是Python中常见的数据类型之一.下面讲述列表的相关操作. 1.创建列表 列表可以包含Python能存储的任何类型的数据,包括数字.字符串.变量.甚至其他列表.列表中的元素可以是不同类型. ①列表名 = [ ] 创建一个空列表,随后再更新列表里的元素值. ②也可以在创建列表的同时赋值.列表名 = [元素1, 元素2, ... ]. 2.访问列表中的元素及列表“分片”操作 列表中的元素都有自己的

【Python】入门学习六 字典及其相关操作

字典由一系列键-值对组成,每个键都与一个值相关联,通过键我们可以访问其对应的值.这些值可以是Python中的任意对象类型,键必须是不可变类型,包括数字.字符串.元组,但不能使用列表. 1.创建字典 字典用放在花括号{}中的一系列键值对表示,键和值之间用冒号隔开,每个元素之间用逗号隔开 dic_0 = {'name' : 'zhangsan', 'age' : '22'} 2.访问字典 字典名['要访问的键名'],例如上例中 student_name = dic_0['name'] 3.添加字典内

详解STM32的PWM输出及频率和脉宽(占空比)的计算——寄存器配置六步曲!(转)

一.stm32的pwm输出引脚是使用的IO口的复用功能. 二.T2~T5这4个通用定时器均可输出4路PWM--CH1~CH4. 三.我们以tim3的CH1路pwm输出为例来进行图文讲解(其它类似),并在最后给出tim3的ch1和ch2两路pwm输出的c代码(已在STM32F103RBT6上测试成功,大家放心使用!). 四.给出了PWM频率和占空比的计算公式. 步骤如下: 1.使能TIM3时钟 RCC->APB1ENR |= 1 << 1; 2.配置对应引脚(PA6)的复用输出功能 GPI

gradle源码入门学习六

DefaultServiceRegistry之findProviderMethods private void findProviderMethods(Object target) { Set<String> methods = new HashSet<String>(); for (Class<?> type = target.getClass(); type != Object.class; type = type.getSuperclass()) { findDe

OpenGL入门学习

说起编程作图,大概还有很多人想起TC的#include <graphics.h>吧? 但是各位是否想过,那些画面绚丽的PC游戏是如何编写出来的?就靠TC那可怜的640*480分辨率.16色来做吗?显然是不行的. 本帖的目的是让大家放弃TC的老旧图形接口,让大家接触一些新事物. OpenGL作为当前主流的图形API之一,它在一些场合具有比DirectX更优越的特性. 1.与C语言紧密结合. OpenGL命令最初就是用C语言函数来进行描述的,对于学习过C语言的人来讲,OpenGL是容易理解和学习的