C语言程序设计上机指导书.

更新时间:2023-08-07 03:47:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

姓名:_________________ 学号:_________________ 专业:_________________

日期:_________________

目录

序:指导原则及VS2005环境中编译C程序

一、熟悉C语言集成开发环境

二、掌握基本数据类型在程序中的正确应用

三、运算符与表达式的使用

四、掌握顺序结构程序设计

五、掌握顺序结构与输入输出函数

六、分支结构程序(一)

七、分支结构程序(二)

八、循环结构程序设计(一)

九、循环结构程序设计(二)

十、嵌套循环

十一、数组(一)

十二、数组(二)

十三、数组(三)

十四、函数(一)

十五、函数(二)

十六、函数(三)和预处理

十七、指针(一)

十八、指针(二)

指导原则

促进学生针对实际问题,用所学C语言知识编写符合规范的源程序代码,在某一集成开发环境下尽一切调试技能调试程序,并对运行结果进行分析处理,得出正确结论,解决好实际问题。更快更好地掌握所学知识,技能和软件的一向开发方法

目的:

1,通过上机实验,加深对教材内容的理解,特别是一些语法规定,熟练掌握各种语法规则。

2,通过上机实验,熟悉某个C语言集成开发环境。掌握集成开发环境下程序的编辑、编译与连接、运行的完整过程

3,通过上机实验,要学会调试程序。能根据系统给出的“出错信息”,判断错误所在,并修改错误,使程序正确运行。

要求:

1,复习与本次实验相关的教学内容

2,了解集成开发环境的操作步骤

3,准备好实验内容。对于编程题,一定要自己动手,书写工整,并人工检查无误后才能上机实验,以提高上机效率。

4,要准备好调试和运行程序时所需的数据。

5,对运行中可能出现的问题事先作出估计,并对程序中有疑问的地方作上标记,以便在运行时给予注意。并在程序调试时,把系统给出的出错原因,解决方法等记载在源程序之后;程序运行结束

后,把运行结果也记录下来。

6,每个实验应独立完成,对实际问题所编写的源程序需写出完整实验的报告。

VS2005编译环境中编写运行C程序

Turbo C 2.0发布于1989年,对历史并不太长而发展却神速的IT业来说,确实是古董级的软件了。但它几乎是最后一个专门为C语言设计的开发环境,具备学习C语言的一切条件,没有任何非C语言的东西干扰初学者,所以一直被各大高校的C语言课堂采用。

C++的发展使C++的开发环境大行其道。因为C++几乎完全兼容C语言,两者无论编译器还是编辑器、调试器都可以用同一套程序实现,而且C++共享C的库函数,很多软件还是用两者混合编程实现,所以基本所有的C++环境都同时支持C语言。

美国微软公司出品的Visual C++(以下简称VC)是Windows平台上最流行的C/C++集成开发环境。从1993年发行1.0版本开始,历经多年锤炼,于2003年推出最新的7.0版本(Visual C++ .NET 2003)。VC 系列产品具有稳定而强大的IDE开发环境,以及丰富的调试功能,微软于2005年底发布Visual Studio 2005。

下面将介绍在VS2005下如何开发C语言程序。

1.编辑、编译与运行

下面以创建一个判断是否是闰年的程序来演示如何使用VS2005开发C程序。

1.启动VS2005,新建一个项目,新建方法有以下几种:

A:在VS2005默认的“起始页”有创建项目一项,单击“项目(P)”即可,如图1所示

B:文件-> 新建-> 项目,或者使用快捷键“Ctrl+shift+N”,如图2所示。

2.由步骤1可以得到以下窗口,在项目类型中选择Visual C++,在右侧模板中单击“Win32控制台应用程序”,然后在“输入名称”提示处写项目名称,如图3-1 所示:如:LeapYear,名称下方的“位置”可

以点击“浏览”按钮来更改。然后点击“确定”或者“回车键”即可。

然后,出现“欢迎使用Win32应用程序向导”对话框,单击“下一步”。如图3-2示:

单击“下一步”出现以下对话框,选择“空项目”,单击“完成”。如图3-3所示:

3.在窗口的左侧默认出现“解决方案资源管理器,解决方案LeapYear”一栏,下面列出LeapYear,并包括头文件和源文件及资源文件三个文件夹。如图4所示

4.新建一个C文件:如图5 所示:在“源文件”上点击右键,在出现的“添加”栏目上单击“新建项”,<这里也可以添加现有项,即已经用别的编辑器写好的C代码源程序可以通过此选项添加到LeapYear 解决方案来>,这里采用“新建项”。

4.单击“新建项”,出现如下的对话框,在左边“类别”一栏选择“代码”,右侧的“模板”中选择“C++文件”,在下边名称一栏输入:“LeapYear.c”,这里要注意:文件的后缀应该是“.C”,不能是默认的cpp文件。点击添加即可。

补充一点:如果不小心没有写“.C”后缀,可以这样处理:在建好的cpp文件右键单击,重命名为“.C”文件,也可以选择“从项目中排除(J)”这一项把该文件去掉,然后新建一个。如图7所示。

5.在出现的LeapYear.C空白处编写C代码即可。如下图所示:

以在菜单栏“生成”->“生成解决方案”或者别的可选择项目。

7. 在编译完成之后,我们就可以按“运行(ctrl+F5)”或者“调试运行(F5)”来运行我们的程序了。程序会提示:“此项目已过期,要生成它吗?”的对话框,单击“是”。

在以后的使用中,我们可以直接按“运行”或“调试运行”而不需要单独进行编译,因为当你按“运行”或“调试运行”的时候它会自动的检测程序是否需要重新编译,如果需要,则会弹出一个对话框询问你是否同意重新编译,你只需在此时点击“Yes”,它就会自动重新编译、连接程序后再运行,非常方便。

另外要注意:信息输出窗:系统用来输出一些信息。比如上面在执行编译时,系统就会输出编译的结果,一般是编译器在程序中发现的错误或者一些警告。如果编译器没有发现错误(error)及警告(warning),那么你会在最后一行看见“0 error(s), 0 warning(s)”的字样。注意:在写程序时应当认真而小心的对

待每一个warning,最好把它们都当作error对待。

2.调试技术

用VS2005进行程序的调试是非常方便的,我们可以在任一行设置一个断点,当程序执行到断点所在的行时就会暂时停住,此时,你可以单步执行程序(即一次只执行一条语句),并查看此时各种变量的值,下面我们就来看看如何使用VS2005的调试功能。

设置断点

以刚才程序为例,设置一个断点,如下图所示:方法有下面图示几种,可以参考,建议使用快捷键“F9”启动调试使用“F5”。

调试运行

现在我们点击菜单栏上的“调试运行按钮(F5)”,这时程序将自动编译、连接、运行,然后停在我们所设定的断点的行上。设置断点后,我们可以看见当前行的最左端有一个暗红色的大圆点,具体图略,同学们可以单击“菜单栏”调试。一一对照下面的介绍查看,也可以在菜单栏下面的“调试栏”查看。

●继续运行:表示继续执行程序,直到碰见下一个断点时为止

●重新运行:表示重新从头开始运行程序

●停止调试:表示中止现在的调试界面,返回到代码编写界面

●逐语句:单步执行命令。如果下一条即将执行的语句是一条函数调用语句,那么就进入到函数体内

●逐过程:单步执行命令。如果下一条即将执行的语句是一条函数调用语句,它不会进入函数体内,而

是直接执行整个函数,并停到函数返回后的第一条语句上

●快速监视:它可以允许程序员自定义想要监视的变量,并在“指定变量显示区”显示

调试程序后,程序提示输入值:这里输入2000,回车,现在程序已经在设置的断点处停住了,最左端的黄色箭头指示着即将运行的下一条语句。这个时候可以看见左下方“自动窗口”中有year变量值为“2000”,如下图所示。

点击工具栏“逐语句或者F11”,由于这条语句会调用函数IsLeapYear()”,因此它会进行到“IsLeapYear ()”函数体内去执行,黄色光标指示到函数内。

可以反复执行“单步执行命令”(即工具栏上的“逐语句(F11)”、“逐过程(F10)”按钮)来观察程序的流程,调试中途发现问题不想再调试,可以“终止调试”,也可以在“断点管理”处“删除断点”,“删除所有断点”,“禁用所有断点”。请同学们实践。

快速监视

通过“调试”菜单上的“快速查看”我们可以设定我们想要监视的变量,并在“监视显示区”中显示。

我们可以在最上面的输入框中输入我们想查看的变量的变量名或者表达式,然后我们可以点击“重新计算”按钮获到这个变量或表达式现在的值,这个值将在下面的显示区中显示,然后我们可以点击“添加监视”按钮把这个变量或表达式加入到“监视显示区”中,如下图所示:

界面风格

最后简单说一下VS2005的一些界面风格。

a)鼠标单击“解决方案资源管理器”上方边,不松手,便可以随意拖动位置,共有5个提示位置可以停靠,如下图所示。

b)如下图所示:建议初学者可以配置的工具栏上可以是:“标准”,“调试”,“文本编辑器”,其中“文本编辑器”可以方便的给多行程序添加注视,缩进,系统提示输入信息等些功能。另外,单击源文件下每个文件或者在图中标记的“单击切换文件”均可以查看不同源文件。当然还有很多细节,希望大家慢慢发现。

c)在VS2005中,为便于代码的管理和查看,可以将整个的函数部分折叠起来,即只剩下函数名,如果代码比较多,这样便于隐藏目前不用的代码,不用占用较大的空间。

单击函数前面的“-”号即可隐藏,再单击“+”又可以复原。如下图所示:

3.小结

VS2005是非常强大的集成开发环境,希望同学们以此为良机,在编程的大道上更进一步。

第一次上机熟悉C语言集成开发环境

实验目的:

1.熟悉C语言集成开发环境

2.掌握集成开发环境下文件的编写与调用,源程序的编译与调试,程序运行结果的观察与分析。

3.掌握C语言程序的基本结构

实验要求:

1.程序编写完后,要对输入的每一个符号和词进行检查核对,不能有错。

2.编写源程序时,不要在中文输入法下进行,也不要有首字符大写,否则调试时,会有错误。

实验内容:

1.在D盘新建文件夹:D:\C Program Test\×××(自己学号或姓名如01),作为以后所做程序的存

放位置。注:关机前,拷贝入自己的U盘,每次换机器须重复此操作。

2.编辑,编译,运行下面程序并存盘,文件名为ex1_1.c

/* 输出信息的C源程序,文件名为ex1_1.c */

#include”stdio.h”

void main()

{ printf(“Hello, Everyone \n Study hard!\n”); }

输出结果为____________________

3.调入文件ex1_1.c,把程序修改成下面形式,运行,存盘,文件名为ex1_2.c

/* 输出信息的C源程序,文件名为ex1_2.c */

#include”stdio.h”

void main()

{ printf(“Hello, Everyone \n ”);

printf(“ Study hard!\n”);

}

输出结果为____________________, ”\n”的作用是_____________

4.编辑,编译,运行下面程序并存盘,文件名为ex1_3.c

/* 计算圆面积的程序,文件名为ex1_3.c */

#include”stdio.h”

void main()

{ float r,area;

printf(“r=?”);

scanf(“%f”,&r);

area=3.1415926*r*r;

printf(“area=%f\n”,area);

}

第一次运行时输入1,运行结果为__________

再次运行时输入10,运行结果为_____________

把语句printf(“area=%f\n”,area);修改为:printf(“area(%0.1f)=%f\n”,r,area);后,运行时输入10,这时程序的运行结果为______________

第二次上机掌握基本数据类型在程序中的正确应用

实验目的:

1.熟悉C语言集成开发环境及程序编写、编译、运行,观察运行结果

2.掌握基本的调试技巧(缺少标点符号,函数名错误或不一致)

3.熟悉C语言基本数据类型(int,long,unsigned int,float,double,char)的输入,输出格式

(%d,%ld,%f,%lf,%c,%o,%x,%u)

实验内容:

1.输入半径,求圆的面积(要求圆周率用符号常量表示)(查错改错1:圆周率的定义名与使用名

不一致;查错改错2:面积的输出格式用%d)。

作业1程序如下。调试改正两处错误,运行后将文件保存为ex2_1.c

#define pi 3.1415927

#include"stdio.h"

main()

{ float area,banjing;

printf("please enter a data\n");

scanf("%f",&banjing);

area=2*p*banjing*banjing; /* 圆周率的定义名pi与使用名p不一致*/

printf("\n the area of yuan is %d\n",area); /* 面积的输出格式%d改为%f */

}

A)调试,语法错误如下:

出错信息为:D:\vcfile\ex1\ex.cpp(7) : error C2065: 'p' : undeclared identifier

中文意思为:符号‘p’没有定义

错误原因及更正:圆周率的定义名pi与使用名p不一致,’p’改为’pi’运行

B)观察及分析运行结果,逻辑错误

分析:半径为3时,圆的面积应为:pi×3×3=28.2743343,不能为负数

查错:先查面积变量area的输出格式,再往上逆推查其运算方法,最后查其定义

错误原因及更正:面积的输出格式%d(整数)改为%f (实数或单精度浮点数)

2.调入ex2_1.c 另存为ex2_2.c,并做如下修改后,保存调试运行程序,观察系统出错信息(英文),

并翻译成中文。注:每改一次,就调试一次。

1)将语句:float area,banjing;改为:floatarea,banjing;

出错信息为:_________________________________________

中文意思为:_________________________________________

错误原因及更正:_________________________________________

2) 将语句:printf(”please enter a data\n”); 改为:printf(”please enter a data\n”)

出错信息为:_________________________________________

中文意思为:_________________________________________

错误原因及更正:_________________________________________

3)将语句:scanf(“%f”,&banjing);改为:scan(“%f”,&banjing);

出错信息为:_________________________________________

中文意思为:_________________________________________

错误原因及更正:_________________________________________

4) 将语句:float area,banjing;中英文标点符号“;”或“,”,改为中文输入法后,再输入同样

标点

出错信息为:_________________________________________

中文意思为:_________________________________________

错误原因及更正:_________________________________________

第三次上机运算符与表达式的使用

实验目的:

1.熟悉C语言集成开发环境和熟悉C语言程序结构

2.掌握一定的调试技巧。

3.熟悉运算符与表达式的正确使用。

实验内容:

1.程序填空,以下程序输入3个整数值给a,b,c,程序把b中的值给a,把c中的值给b,把a中的值给

c,交换后输出a,b,c的值,例如输入123,输出a=2,b=3,c=1

#include"stdio.h"

void main()

{ int a,b,c, ____;

printf("enter a,b,c:");

scanf("%d%d%d",__________);

____________; a=b; b=c;

printf("a=%d b=%d c=%d\n",a,b,c);

}

1,填空后,运行程序,结果如下:_____________________

2,在程序输出语句后插入语句:getchar(); 根据运行结果,说明其作用_______________

1,调试以下程序(有两处语法错误:请改正),写出运行结果并简要回答为什么(即了解程序的运行过程)

#include”stdio.h”

main()

{

intx,y,z;

x=6;

y=100;

z=(++x)/(y--);

printf(“x=%d,y=%d,z=%d\n”,x,y,z); 运行结果:_________________

z=(x+y--)*(x++)

printf(“x=%d,y=%d,z=%d\n”,x,y,z); 运行结果:_________________

}

本文来源:https://www.bwwdw.com/article/08cj.html

Top