C语言程序设计上机指导书及答案.docx
《C语言程序设计上机指导书及答案.docx》由会员分享,可在线阅读,更多相关《C语言程序设计上机指导书及答案.docx(45页珍藏版)》请在冰豆网上搜索。
C语言程序设计上机指导书及答案
姓名:
学号:
专业:
日期:
指导原则:
促进学生针对实际问题,用所学C语言知识编写符合规范的源程序代码,在某一集成开发环境下尽一切调试技能调试程序,并对运行结果进行分析处理,得出正确结论,解决好
实际问题。
更快更好地掌握所学知识,技能和软件的一向开发方法目的:
1,通过上机实验,加深对教材内容的理解,特别是一些语法规定,熟练掌握各种语法规则。
2,通过上机实验,熟悉某个C语言集成开发环境。
掌握集成开发环境下程序的编
辑、编译与连接、运行的完整过程
3,通过上机实验,要学会调试程序。
能根据系统给出的“出错信息”,判断错误所
在,并修改错误,使程序正确运行。
要求:
1,复习与本次实验相关的教学内容
2,了解集成开发环境的操作步骤
3,准备好实验内容。
对于编程题,一定要自己动手,书写工整,并人工检查无误后才能上机实验,以提高上机效率。
4,要准备好调试和运行程序时所需的数据。
5,对运行中可能出现的问题事先作出估计,并对程序中有疑问的地方作上标记,以便在运行时给予注意。
并在程序调试时,把系统给出的出错原因,解决方法等记载在源程序之后;程序运行结束后,把运行结果也记录下来。
6,每个实验应独立完成,对实际问题所编写的源程序需写出完整实验的报告。
第一次上机作业熟悉C语言集成开发环境
实验目的:
1,熟悉C语言集成开发环境
2,掌握集成开发环境下文件的编写与调用,源程序的编译与调试,程序运行结果
的观察与分析。
3,掌握C语言程序的基本结构
实验要求:
1,程序编写完后,要对输入的每一个符号和词进行检查核对,不能有错。
2,编写源程序时,不要在中文输入法下进行,也不要有首字符大写,否则调试时,会有错误。
实验内容:
1,在D盘新建文件夹:
D:
\C语言程序XXX(所在班级如0709401)XXX(自
己学号或姓名如01),作为以后所做程序的存放位置。
注:
每次换机器须重复此
操作。
2,编辑,编译,运行下面程序并存盘,文件名为ex1_1.c/*输出信息的C源程序,文件名为ex1_1.c*/
#include"stdio.h”
voidmain()
{printf(Hello,Everyone\nStudyhard!
\n");}
输出结果为Hello,Everyone
Studyhard!
3,调入文件ex1_1.c,把程序修改成下面形式,运行,存盘,文件名为ex1_2.c
/*输出信息的C源程序,文件名为ex1_2.c*/
#include"stdio.h"voidmain()
{printf(Hello,Everyone\n");printf(“Studyhard!
\n”
}
输出结果为Hello,Everyone
Studyhard,
”n”的作用是换行
4,编辑,编译,运行下面程序并存盘,文件名为ex1_3.c
/*计算圆面积的程序,文件名为ex1_3.c*/
#include"stdio.h"voidmain()
{floatr,area;
printf(r=?
");
scanf(%f”&r);
area=3.1415926*r*r;
printf(arear=%f\n",area);
}
area=3.141593
area=314.159260
第一次运行时输入1,运行结果为再次运行时输入10,运行结果为
把语句printf(arear=%f\n”,area);修改为:
printf(arear(%0.1f)=%f\n",r,area);后,运
操作步骤:
一,TurboC2.0集成开发环境
(1)熟悉C语言集成开发环境
进入集成开发环境(菜单模式):
执行文件TC.EXE
文件菜单(file):
FILE中有:
NEW(新建文件),LOAD(或OPEN打开或调入文件),SAVE(保存文件),SAVEAS,QUIT(退出C语言集成开发环境)
编译菜单(compile):
COMPILETOOBJ+(路径名文件名)
运行菜单(run):
RUN,USERSCREEN
选项(option):
DIRECTORY(注明TC。
EXE的当前目录路径,
路径不符合,编译程序找不到库函数所在头文件,编译会出错)
从菜单进入编辑区的按键:
Enter
从编辑区进入菜单的按键:
F10
注:
运行出错时,按F10也可回到菜单区,按EDIT进入编辑区
(2)掌握C语言源程序的编写(new(FILE)),编译(compiletoobj(COMPILE)),运行(run(RUN)),观察结果(userscreen(RUN)四个步骤。
编译出错时,按ENTER键,然后在光标所在行或上一行查找出错位置。
同时在顶行红字部分(英文提示)找出错原因。
(3)掌握一定的调试方法。
方法:
在已编译好的程序中人为制造错误(如删除标点符号,改错保留字(int,
printf,scanf),确定出错位置(光标所在行),猜测出错原因(根据顶行英文提示)。
二,VisualC++6.0集成开发环境
1,
2.编辑源程序文件
(1)建立新工程项目
1单击文件”-新建”弹出新建”对话框。
41更改42打幵文件文件位彗夹浏兇窗口
仃单击工程2,苴击3・箍入
\內口32C□nwleAspication□:
程名
②单击工程”选项卡;单击Win32ConsoleApplication”选项;工程文件”框中输
入项目名(如gc1);位置”框输入文件保存文件夹或单击“…”打开文件夹浏
览窗口,选择新项目文件所需保存的位置,单击确定”按钮。
③弹出Win32ConsoleApplicationStep1of1"对话框,在对话框中单击Anemptproject”
按钮和完成”按钮。
系统显示新建工程信息”对话框。
单击确定”按钮。
(2)建立新项目中的文件
①单击文件”新建”,弹出新建”对话框。
1*单击“文件"2,单击弋++
-BoureeFiU选顶
2选择文件”选项卡。
单击C++SourceFile”选项,在文件”文件框中输入文件名,单击确定”按钮。
系统自动返回VC6主窗口。
3显示文件编辑区窗口,在文件编辑区窗口输入源程序文件。
3,编译和连接
方法一:
选择主窗口菜单栏中“编译”菜单项;系统弹出下拉菜单,选择“构件”菜单命令。
方法二:
单击主窗口编译工具栏上的“Build”按钮进行编译和连接。
注:
.exe。
(1)系统对程序文件进行编译和连接,生成以项目名称命名的可执行目标代码文件
(2)编译连接过程中,系统如发现程序有语法错误,则在输出区窗口中显示错误信息,给出错误的性质、出现位置和错误的原因等。
如果双击某条错误,编辑区窗口右侧出现一个箭头,指示再现错误的程序行。
用户据此对源程序进行相应的修改,并重新编译和连接,直到通过为止。
4.执行
方法一:
单击“编译”菜单中“执行”命令。
方法二:
单击主窗口编译工具栏上的“BuildExecute”按钮来执行编译连接后的程序
运行成功,屏幕上输出执行结果,并提示信息:
“Pressanykeytocontinue"。
此时按
任意键系统都将返回VC6主窗口。
注:
在执行程序过程中出现运行错误。
用户要修改源程序文件并且重新编译、连接和执行。
第二次上机作业掌握基本数据类型在程序中的正确应用
实验目的:
1熟悉C语言集成开发环境及程序编写、编译、运行,观察运行结果
2掌握基本的调试技巧(缺少标点符号,函数名错误或不一致)
3熟悉C语言基本数据类型(int,long,unsignedint,float,double,char)的输入,输出格式(%d,%ld,%f,%lf,%c,%o,%x,%u)
实验内容:
1,输入半径,求圆的面积(要求圆周率用符号常量表示)(查错改错1:
圆周
率的定义名与使用名不一致;查错改错2:
面积的输出格式用%d)。
作业1程序如下,调试改正两处错误,正确运行后将文件保存为ex2_1.c
#definepi3.1415927
#include"stdio.h"
main()
{floatarea,banjing;
printf("pleaseenteradata\n");
scanf("%f",&banjing);
area=p*banjing*banjing;/*圆周率的定义名pi与使用名p不一致*/
printf("\ntheareaofyuanis%d\n",area);/*面积的输出格式%d改为%f*/
}
A)调试,语法错误如下:
出错信息为:
D:
\vcfile\ex1\ex.cpp(7):
errorC2065:
'p':
undeclaredidentifier中文意思为:
符号‘p'没有定义。
错误原因及更正:
圆周率的定义名pi与使用名p不一致,''改为’pi'运行
B)观察及分析运行结果,逻辑错误
叭*D:
kvcfile\ezl\Del)iigVeil.e>e
theapeauFi/iianzls—976311.353
Pressanykeytocontinue
分析:
半径为3时,圆的面积应为:
piX3X3=28.2743343,不能为负数。
查错:
先查面积变量area的输出格式,再往上逆推查其运算方法,最后查其定义错误原因及更正:
面积的输出格式%d(整数)改为%f(实数或单精度浮点数)
2,调入ex2_1.c另存为ex2_2.c,并做如下修改后,保存调试运行程序,观察系统出出
错信息(英文),并翻译成中文。
注:
每改一次,就调试一次。
1)将语句:
floatarea,banjing;改为:
floatarea,banjing;
则出错信息为:
F:
\C语言作业\1.cpp(4):
errorC2065:
'floatarea':
undeclared
identifier
F:
\C语言作业\1.cpp(4):
errorC2065:
'baniing':
undeclaredidentifier
F:
\C语言作业\1.cpp(7):
errorC2065:
'area':
undeclaredidentifier
中文意思为:
文件的第四行有错,符号’floatarea'没有定义
错误原因及更正:
'floatarea'中float与area之间少了空格,加上空格
2)将语句:
printf(”n”);改为:
printf(”n”)
则出错信息为:
F:
\C语言作业\1.cpp(6):
errorC2146:
syntaxerror:
missing';'
beforeidentifier'scanf
中文意思为:
文件的第六行有错
错误原因及更正:
少了“;”,在第六行后加上“;”
3)将语句:
scanf(“%f”,&banjing);为:
scan(“%f”,&banjing);
则出错信息为:
F:
\C语言作业\1.cpp(6):
errorC2065:
'scan