《C语言》实验指导书-上机编程--湖北理工学院

更新时间:2023-07-26 20:18:06 阅读: 评论:0

《C语⾔》实验指导书-上机编程--湖北理⼯学院
《C语⾔程序设计》实验指导书
实验⼀顺序结构程序设计
⼀、实验⽬的及要求
1. 了解如何编辑、编译、连接和运⾏⼀个C程序;
2. 熟悉基本类型的变量的定义;
3. 掌握C语⾔中使⽤最多的⼀种语句——赋值语句的使⽤;
4. 掌握数据的输⼊输出的⽅法,能正确使⽤各种格式转换符。
⼆、实验任务
1.熟悉使⽤VC++6.0编辑、编译、连接和运⾏⼀个C程序的过程。
1)启动Visual C++,选择“⽂件”菜单中的“新建”命令,选择“⽂件”标签中的“C++ Source File”选项。
2)选择源程序存放的⽬录和输⼊源程序名,单击“确定”。
3)在编辑器中编写源程序。
4)单击F7或“编译”中的“重建全部”编译源程序,若编译通过,单击“执⾏”,在DOS屏上看结果,任按⼀键返回编辑器。
2. 输⼊并运⾏⼀个简单的程序。
输⼊下⾯的程序
#include
void main()
{
printf(“This is a C program.\n”);
}
编译和连接该程序,观察屏幕上显⽰的编译信息。如果出现“出错信息”,则应找出原因并改正之,再进⾏编译。
如果编译⽆错误,运⾏该程序,观察分析运⾏结果。
3. 输⼊并编辑⼀个C程序。
输⼊以下程序
#include
void main()
{ int a,b,sum;
a=123;b=456;
sum=a+b;
print (“sum is %d、n”,sim);
}
编译改程序,仔细分析编译信息窗⼝,可能显⽰有多个错误,逐个修改,直到不出现错误。
运⾏程序,分析运⾏结果。
4. 掌握各种格式转换符的正确使⽤⽅法。
a. 输⼊程序
周末电影#include
void main( )
{int a,b;
float d,e;
char c1,c2;
double f,g;
long m,n;
unsigned int p,q;
a=61; b=62;
f=3157.8901121; g=0.123456789;
m=50000;n=-60000;
p=32768;q=40000;
printf(“a=%d,b=%d\nc1=%c,c2=%c\nd=%6.2f,e=%6.2f\n”,a,b,c1,c2,d,e);
printf(“f=%15.6f,g=%15.12f\nm=%ld,n=%ld\np=%u,q=%u,q=%u\n”,f,q,m,n,p,q);
}
b. 运⾏此程序并分析结果。
c. 在此基础上,修改程序的第8—13⾏:a=61;b=62;c1=a;c2=b;
f=3157.890121;g=0.123456789;d=f;c2=b;p=a=m=50000;q=b=n= -60000;
运⾏程序,分析结果。
d. 改⽤scanf函数输⼊数据⽽不⽤赋值语句,scanf函数如下:
scanf(“%d,%d,%c,%c,%f,%f,%lf,%lf,%ld,%ld,%u,%u”,
&a,&b,&c1,&c2,&d,&f,&g,&m,&n,&p,&q);
输⼊的数据如下:
61,62,a,b,3.56,-6.87,3157,890121,0.123456789,50000,-60000,37678,40000
(说明:lf和ld格式符分别⽤于输⼊double型和long型数据)分析运⾏结果。
e. 在d的基础上将printf语句改为:
printf(“a=%d,b=%d\nc1=%c,c2=%c\nd=%15.6f,e=%15.12f\n”,ab.c1,c2,d,e) ;
printf(“f=%f,g=%f\nm=%d,n=%d\np=%d,q=%d\n”,f,g,m,n,p,q) ;
运⾏程序。
f.将p,q改⽤%o格式符输⼊。
g. 将scanf函数中的%lf和%ld改为%f和%d,运⾏程序并观察分析结果。
5.以下程序多处有错。要按下⾯指定的形式输⼊数据和输出数据时,请对该程序做相应的修改。#include
void main ( )
{ double a,b,c,s,v;
printf(input a,b,c:\n);
scanf("%d%d%d",a,b,c);
s=a*b;
v=a*b*c;
printf("%d %d %d",a,b,c);
男女拥抱printf("s=%f\n",s,"v=%d\n",v);
}
当程序执⾏时,屏幕的显⽰和要求输⼊形式如下:
input a,b,c:1.0 2.0 3.0 →此处的1.0 2.0 3.0是⽤户输⼊的数据
a=1.000000 b=2.000000,c=3.000000 →此处是要求的输出格式
s=2.000000,v=6.000000
相关知识:①检查程序错误时应注意⼏点:汉荭鱼腥草
a)有时程序中⼀个错误会引发⼀系列错误信息,⼯作中不应被这种情况所迷惑,改正
了⼀些错误后应及时对源程序重新进⾏编译;
b)如果修改错误时增删了⾏,或是⼀个⾏⾥有多个错误,更正前⾯错误时增删了字符,就可能导致系统对错误定位不准,此时应该重新编译;
c)系统给出的警告信息⼀般都说明程序中有问题,因为系统发现了可疑情况。对于警告信息同样要逐个仔细分析。除⾮明确认定不是问题,否则绝不能简单地认为不是错误⽽不予理睬。实际上,很多警
告都是因为程序中确实有严重的隐含错误。
d) 在连接中发现新错误也需要仔细检查和修改程序。连接时发现的错误⼀般是由于函数名或外部变量名字写错,或者⼀些函数、外部变量没有定义引起的。系统不能对连接错误给以⾃动定位,只能提供有关的名字信息等。对于这类问题,可以借助编辑器的字符串查找命令进⾏定位。
②正确调⽤scanf函数和printf函数构成输⼊和输出语句。
6.有以下程序
#include
void main()
{ char c1,c2;
int n1,n2;
c1=getchar();
c2=getchar();
n1=c1-'0';n2= n1*10+(c2-'0');
printf("%d\n",n2);
}
程序运⾏时输⼊:12<;回车>,执⾏后输出结果是什么?
相关知识:①getchar()函数⽤来输⼊两个字符分别赋给变量c1和c2;
②n1=c1-'0'相当于n1='1' -'0',字符1的ASCII码值⽐0⼤⼀,所以n1中的值为1,c2-'0'相当于'2' -'0';
③把字符串转换为多位数的算法。
7.若有以下程序
#include
void main()
{ int i,j;
int x,y;
scanf("i=%d,j=%d",&i,&j);
scanf("%d%d",&x,&y);
printf("i=%d,j=%d\n",i,j);
printf("%4d%4d\n",x,y);
}
要求给i赋值为10,j赋值为20,则应该怎样从键盘输⼊数字?
相关知识:①在调⽤scanf()函数时在格式串中若包含有格式描述符之外的字符时,则要求在输⼊数据时在对应的位置上输⼊完全匹配的字符;
②scanf()函数只包含格式描述符时可⽤跳格键Tab、空格和回车分隔数据;
③在调⽤printf ()函数时在格式串中若包含有格式描述符之外的字符时,则在输出数据时在对应的位置上输出完全匹配的字符,%d之类的格式符位置输出对应输出项的值;故输出时要注意插⼊适当的⾮格
式符以便区分各个输出结果。
8. 计算定期存款本利之和
设银⾏定期存款的年利率rate为2.25%,并已知存款期为n年,存款本⾦为capital元,试编程计算n年后的本利之和deposit。要求定期存款的年利率rate、存款期n和存款本⾦capital均由键盘输⼊。
三、实验重点、难点
1.符数据输⼊输出函数
2.格式输⼊输出函数
四、操作要点
(1)编译
选择主菜单“编译(Build)”中的“编译(Compile)”命令,或单击⼯具条上的图标,系统只编译当前⽂件⽽不调⽤链接器或其它⼯具。输出(Output)窗⼝将显⽰编译过程中检查出的错误或警告信息,在错误信息处单击⿏标右键或双击⿏标左键,可以使输⼊焦点跳转到引起错误的源代码处⼤致位置以进⾏修改。
(2)构建
选择主菜单“编译(Build)”中的“构建(Build)”命令,或单击⼯具条上的图标,对最后修改过的源⽂件进⾏编译和连接。
程序构建完成后⽣成的⽬标⽂件(.obj),可执⾏⽂件(exe)存放在当前⼯程项⽬所在⽂件夹的“Debug”⼦⽂件夹中。
quit过去式(3)运⾏
选择主菜单“编译(Build)”中的“执⾏(Build Execute)”命令,或单击⼯具条上的图标,执⾏程序,将会出现⼀个新的⽤户窗⼝,按照程序输⼊要求正确输⼊数据后,程序即正确执⾏,⽤户窗⼝显⽰运⾏的结果。
对于⽐较简单的程序,可以直接选择该项命令,编译、连接和运⾏⼀次完成。
五、注意事项
1.输⼊输出的数据类型与所⽤格式说明符不⼀致
2.输⼊变量时忘记使⽤地址符号
实验⼆逻辑结构程序设计
⼀、实验⽬的及要求
1.了解C语⾔表⽰逻辑量的⽅法。
2.学会正确使⽤逻辑运算符和逻辑表达。
3.熟练掌握if语句和switch语句。
⼆、实验任务
1 源程序中包含有⼀些错误,调试下列程序,使之具有如下功能:输⼊a、b、c三个整数,求最⼩值。
# include “stdio.h”
void main( )
{ int a,b,c;
scanf("%d%d%d",a,b,c);
if((a>b)&&(a>c))
if(b
printf("min=%d\n",b);
el
printf("min=%d\n",c);
if((a
printf("min=%d\n",a); }
再次运⾏程序,输⼊为“2,1,3”,程序输出却是“min=2”。⽤单步执⾏的⽅法,马上发现变量a 、b 、c 的值是不对的,原因是程序要求输⼊数据的分隔符是空格(还允许使⽤回车或键)。改正输⼊数据的分隔⽅式后,程序没有输出,还是⽤单步执⾏的⽅法,监视程序的执⾏过程,发现程序中条件设计有误,经过改正的程序如下: # include “stdio.h”
void main() { int a,b,c;
新年祝福语有哪些
scanf("%d%d%d",&a,&b,&c); if((a
走进鲁迅手抄报
printf("min=%d\n",a) el if((b
printf("No find minimum\n"); }
上述程序是按在三个数中仅有⼀个最⼩值时才称其为最⼩值进⾏设计的。另外,注意程序的书写格式,⼀定要采⽤缩进格式,即不同层次(分⽀)的语句左起的空格不同,这样可以有效地提⾼程序的可读性。
相关知识:①类似a
2.参考上⼀题,编写⼀个C 程序,求a 、b 、c 、d 四个数中的最⼤者。编程点拨:
①多定义⼀个变量,并⼀开始令变量max=a;
②if(max
3.输⼊4个整数,要求按由⼩到⼤顺序输出。得到正确结果后,修改程序使之按由⼤到⼩顺序输出。
中国濂溪相关知识:①输⼊函数scanf()的使⽤;②简单的排序算法;③通过中间变量t 交换a 和b 值的⽅法:t=
a; a=b; b=t;。
网络营销方法4.根据以下函数关系,对输⼊的每个x 值,计算出相应的y 值。
#include #include void main() { float x,y;
scanf("%f",&x);

本文发布于:2023-07-26 20:18:06,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/89/1097808.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:程序   错误   编译   格式
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图