C语言实验指导手册Word文件下载.docx
- 文档编号:16537339
- 上传时间:2022-11-24
- 格式:DOCX
- 页数:48
- 大小:294.56KB
C语言实验指导手册Word文件下载.docx
《C语言实验指导手册Word文件下载.docx》由会员分享,可在线阅读,更多相关《C语言实验指导手册Word文件下载.docx(48页珍藏版)》请在冰豆网上搜索。
1、按指导老师要求安装Win-TC环境
2、打开Win-TC软件,选择新建文件,并输入以上代码如下:
3、保存到自己的文件夹中,然后单击编译链接运行。
4、查看运行结果,有错请调试
三、VisualC++6.0环境
第一步:
在指导老师的指导下安装VisualC++6.0。
第二步:
启动VisualC++6.0,进入集成开发环境。
选择【开始】→【所有程序】→【MicrosoftVisualStudio6.0】→【MicrosoftVisualC++6.0】即可进入到VC的集成开发环境中。
第三步:
创建C源程序。
为了使以后我们能够文凭及时地查找到编写的C程序,建议大家按照下面的操作步骤来进行。
我们以创建helloworld.c为例来进行说明。
(1)建立一个专属自己的工作区。
选择【File(文件)】→【New(新建)】,在弹出来的对话框中选择【Workspace(工作区)】页面,如图1.2所示。
在左边选择【BlankWorkspace】,在右侧输入工作区名字,并选择该工作区要存储的位置。
图1.2新建工作区
(2)建立一个工程。
选择【File(文件)】→【New(新建)】,在弹出来的对话框中选择【Project(工程)】页面,如图1.3所示。
在左侧选择【Win32ConsoleApplication】,在右侧设置好工程名称、存储位置,并选择添加至现有工作区,然后单击【确定】按钮,再按提示步骤进行操作即可。
(3)建立一个C语言源文件。
选择【File(文件)】→【New(新建)】,在弹出来的对话框中选择【File(文件)】页面,如图1.4所示。
在左侧选择【C++SourceFile】,在右侧添加工程,并设置好文件名(如helloworld.c)和存储路径,再单击【确定】按钮即可。
图1.4创建C程序源文件
图1.3
创建工程
第四步:
编辑C语言源程序。
界面如图1.5所示。
(1)在编辑窗格中输入C语言源程序。
(2)选择【File(文件)】→【Save(保存)】命令,或单击【Save】按钮‘
’,将源程序保存到helloworld.c中。
第五步:
执行C程序。
(1)选择【Build(编译)】→【Compile(编译)】命令,或单击【Complie】按钮‘
’,编译helloworld.c文件,得到helloworld.obj文件。
(2)选择【Build(编译)】→【Build(重建全部)】命令,或单击【Build】按钮’
’,生成可执行文件helloworld.exe。
(3)选择【Build(编译)】→【Execute(执行)helloworld.exe】命令,或单击【BuildExecute】按钮’
’,执行该程序。
编译、连接的过程中如果出现错误,则返回到第四步修改源程序。
图1.5 VC环境下C程序的编辑、编译、连接、执行
第六步:
查看结果。
在第五步操作完成后,会弹出来如图1.6所示的执行结果窗口。
在该窗口中可以查看程序的执行结果是否与预期的相一致,如果不一致,将返回到第四步,修改源程序,重新执行。
图1.6 查看结果
第七步:
继续编写下一个C程序。
如果要连续编辑、运行多个C程序,则需要重复第三步中的
(2)。
第二部分:
C语言基础实验
一、验证实验
1、打开集成环境,请输入以下代码,保存到test.c文件中,调试并运行查看结果:
math.h>
voidmain()
{
printf("
sqrt(2.0)=%f\n"
sqrt(2.0));
//在屏幕
getch();
请解释#include<
的含义______________________________________________
请释sqrt(2.0)的含义_______________________________________________________
2、新建一个程序文件jiecheng.c,输入以下代码
ints=1;
inti,n=0;
printf("
inputN:
"
);
scanf("
%d"
&
n);
for(i=1;
i<
=n;
i++)
{
s=s*i;
}
N!
=%d\n"
s);
getch();
请解释ints=1的含义________________________________________________
请解释main()的含义_________________________________________________
二、设计实验
1、模仿上课例题和前面实验,设计一程序,输出以下内容:
*
***
*****
*******
2、模仿上课例题和前面实验,设计一程序,输出正弦30度的值:
Sin(30)=0.499999
填写试验报告
实验编号:
C01学生姓名:
实验时间:
教师签字:
实验效果评价
A
B
C
D
E
第一部分完成情况
第二部分完成情况
第三部分完成情况
总评
实验二:
基本数据类型、运算符与表达式及顺序结构程序设计(★C02)
1、掌握C语言基本数据类型及存储特性;
2、掌握C语言运算符及运算符优先级;
3、掌握C语言表达式。
4、掌握c语言顺序结构
5、掌握c语言基本输入输出
6、掌握c语言系统函数库的概念
验证实验
1、利用sizeof()输出各种基本数据类型的存储字节数。
使用以下代码测试并记录各种基本数据类型的存储长度,(注意:
不同的平台和编译系统中此存储长度是不一样的。
)
将观察的输出结果记录在下面:
char
unsignedchar
short
unsignedshort
int
unsignedint
long
unsignedlong
unsigned
float
double
2、为每一个数据类型按上表定义一个变量,输出变量的物理地址,观察他们的关系。
将物理地址统计如下,察看相邻物理地址之差与上表的关系。
输出变量地址的方法是:
(printf(“int:
%d\n”,&
i);
其中i为int型)
提示:
10进制表示的内存物理地址:
printf(“int:
%d\n:
”,&
16进制表示的内存物理地址:
%p\n”,&
或printf(“int:
%0x\n”,&
8进制表示的内存物理地址:
Printf(“int:
%O\n”,&
数据类型
十进制形式
十六进制形式
八进制形式
十进制形式
八进制形式
short
3、打开集成环境,输入以下代码,调试运行:
请写出此程序的运行输入和输出结果:
4、编写一个c语言程序,测试下列各表达式(a=10,b=10要求将以下所有表达式写入一个程序里面。
1.a+=a
2.a-=2
3.a*=2+5
4.a%=4
5.a+=a-=a*=a
6.a=10,a%5,a+3
7.(a>
10)?
(a=20):
(a=10)
8.a+++a++
9.++a+++a
10.++a,++b
实验分析
1、总结变量、数据类型、存储之间的关系。
2、总结所学运算符的优先级。
3、详细说明“++变量名”和“变量名++”之间的区别。
(如:
a++和++a在一个程序执行时到底有什么区别)
第三部分:
设计实验
1、编写求梯形面积的程序,数据由键盘输入。
2、输入一个字符,回显该字符并输出其ASCII码值。
C02学生姓名:
实验三:
分支编程(C03)
一、实验目的
1、掌握条件表达式;
2、掌握c语言分支控制结构
3、学会利用分支结构进行程序设计
实验内容
1、写出下面条件表达式的值。
其中a=3,b=4,c=5用(trueoffalse)
a+b>
c
a--
c&
&
b==c
b>
a&
c>
b&
!
(a>
b)
a=1
a||b<
a
a==1
c+b<
=2*a&
1
a||b+c&
b-c
并用以下程序进行测试:
#include<
voidmain()
inta=3,b=4,c=5;
if(_________________)printf("
true"
/*请填空测试*/
elseprintf("
false"
2、if语句练习,将下面程序输入到计算机中,并编译执行,观察并记录两组不同的输入与输出;
第一个程序:
voidmain()
{floatx,y,t;
scanf("
%f,%f"
x,&
y);
if(x<
y)
{t=x;
x=y;
y=t;
x,y);
操作:
输入3,5输出____________________________________
输入5,3输出____________________________________
第二个程序:
scanf("
t=x;
请比较并说明此两个程序的异同点:
3、if-else语句练习,要求编程实现分段函数的计算
代码如下:
inty,x;
pleaseinputainteger:
x);
if(x<
=1)y=2*x+1;
elsey=x*x+1;
x=%d,y=%d"
输入-1时,输出:
输入2时,输出:
4、将下面程序输入到计算机中,并编译执行,观察并记录结果;
第一个程序:
{inti=2;
switch(i)
{case0:
Monday"
break;
case1:
Tuesday"
case2:
wednesday"
case3:
thursday"
default:
firday"
输出结果:
main()
请比较并说明两个程序的异同和为什么:
5、以下程序的输出结果是:
inta=2,b=-1,c=2;
if(a<
if(b<
0)c=0;
elsec+=1;
printf(“%d\n”,c);
输出结果是:
A)0B)1C)2D)3
6、请写出以下程序的输出结果:
inta=100;
if(a>
100)printf(“%d\n”,a>
100);
elseprintf(“%d\n”,a<
=100);
7、若变量以正确定义,以下语句段的输出结果是:
x=0,y=2,z=3;
switch(x)
case0:
switch(y==2)
{case1:
printf(“*”);
break;
printf(“%”);
case1:
switch(z)
printf(“$”);
printf(“#”);
输出结果:
8、将下列数学式改写成C语言的关系表达式或逻辑表达式A)B)
A)a=b或a<
cB)|x|>
4
分析总结
1、思考是否能用switch语句实现ifelse语句的功能?
为什么?
1、求解方程ax2+bx+c=0的根
利用分支结构编程求解方程ax2+bx+c=0的根,要求考虑无解、无穷解、相等实根、不等实根和虚根的情况:
分析:
对系数a、b、c考虑以下情况
1)若a=0:
1b<
>
0,则:
x=-c/b;
2b=0,则:
c<
0时,无解;
c=0时,无定解
2)若a<
0:
1b2-4ac>
0,有两个不等的实根;
2b2-4ac=0,有两个相等的实根;
3b2-4ac<
0,有两个共轭复根。
要求:
小数保留2位
1)代码
2)测试以下数据
3)
b
Result
8
2
3
2、货物征税问题,价格在1万元以上的征5%,5000元以上1万元以下的征3%,1000元以上5000元以下的征2%,1000元以下的免税。
读入货物价格,计算并输出税金。
请分别用switch语句和ifelseif编程实现
3、输入三个整数,输出最大的一个数。
C03学生姓名:
实验四:
循环程序设计(★C04)
1、掌握c语言的基本循环控制结构;
2、掌握c语言的基本循环控制结构之间的转换;
3、掌握c语言的基本循环控制结构与break、continue语句的结合应用;
4、会灵活运用循环结构进行程序设计。
1、以下程序代码打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。
例如:
153是一个“水仙花数”,因为153=13+53+33
inti,j,k,n;
\'
waterflower\'
numberis:
"
for(n=100;
n<
1000;
n++)
i=n/100;
j=n/10%10;
k=n%10;
if(n==i*i*i+j*j*j+k*k*k)
%-5d"
n);
\n"
请分别解释阴影部分三条语句的作用:
2、判断下面程序的运行结果,并用while语句代替do-while语句重新编写程序,确保输出结果相同。
#include“stdio.h”
inti,sum;
i=5;
sum=0;
do
sum+=2*i;
i--;
}while(i>
0);
printf(“i=%d,sum=%d\n”,i,sum);
用while语句代替后的代码是:
比较并写出while与do-while语句的区别:
2、以下程序的输出结果是:
A)*#*#*#$B)#*#*#*$C)*#*#$D)#*#*$
main()
{inti;
=5;
{if(i%2)printf(“*”);
elsecontinue;
printf(“$\n”);
3、以下程序段的输出结果是:
A)12B)15C)20D)25
inti,j,m=0;
for(i=1;
=15;
i+=4)
for(j=3;
j<
=19;
j+=4)m++;
printf(“%d\n”,m);
4、以下程序段的输出结果是:
A)10B)9C)10D)9
9898
8787
76
intn=10;
while(n>
7)
{n--;
printf(“%d\n”,n);
5、以下程序段的输出结果是:
A)1B)30C)1-2D)死循环
intx=3;
do
{printf(“%3d”,x-=2);
while(!
(--x));
6、当执行以下程序段后,i的值是、j的值是、k的值是
inta,b,c,d,i,j,k;
a=10;
b=c=d=5;
i=j=k=0;
for(;
a>
b;
++b)i++;
while(a>
++c)j++;
dok++;
d++);
1、总结各种循环结构的特点及应用场合。
2、总结break语句和continue语句的用途,以及怎样转化为基本的循环控制结构。
1、编程求n!
。
(要求在运行时输入n的值,n<
=10)
要求:
编写三个程序,分别用while、do—while、for语句三种循环结构实现求n!
,输出格式为:
xxx!
=xxxxxx
2、利用循环结构编程输出如下图的图形符号。
图
(1)
图
(2)
3、用牛顿迭代法计算下列方程的根。
2x3-4x2+3x-6=0
牛顿迭代法(Newton'
smethod)又称为牛顿-拉夫逊方法(Newton-Raphsonmethod),它是牛顿在17世纪提出的一种在实数域和复数域上近似求解方程的方法。
多数方程不存在求根公式,因此求精确根非常困难,甚至不可能,从而寻找方程的近似根就显得特别重要。
设r是f(x)=0的根,选取x0作为r初始近似值,过点(x0,f(x0))做曲线y=f(x)的切线L,L的方程为y=f(x0)=—f'
(x0)(x-x0),求出L与x轴交点的横坐标x1=x0-f(x0)/f'
(x0),称x1为r的一次近似值。
过点(x1,f(x1))做曲线y=f(x)的切线,并求该切线与x轴的横坐标x2=x1-f(x1)/f'
(x1),称x2为r的二次近似值。
重复以上过程,得r的近似值序列,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 实验 指导 手册