C语言程序设计实验教案Word文件下载.docx
- 文档编号:16152101
- 上传时间:2022-11-21
- 格式:DOCX
- 页数:42
- 大小:84.67KB
C语言程序设计实验教案Word文件下载.docx
《C语言程序设计实验教案Word文件下载.docx》由会员分享,可在线阅读,更多相关《C语言程序设计实验教案Word文件下载.docx(42页珍藏版)》请在冰豆网上搜索。
s=%f\n"
s,"
v=%d\n"
v);
}
当程序执行时,屏幕的显示和要求输入形式如下:
inputa,b,c:
1.02.03.0此处的1.02.03.0是用户输入的数据
a=1.000000b=2.000000,c=3.000000此处是要求的输出格式
s=2.000000,v=6.000000
相关知识:
①检查程序错误时应注意几点:
a)有时程序中一个错误会引发一系列错误信息,工作中不应被这种情况所迷惑,改正了一些错误后应及时对源程序重新进行编译;
b)如果修改错误时增删了行,或是一个行里有多个错误,更正前面错误时增删了字符,就可能导致系统对错误定位不准,此时应该重新编译;
c)系统给出的警告信息一般都说明程序中有问题,因为系统发现了可疑情况。
对于警告信息同样要逐个仔细分析。
除非明确认定不是问题,否则绝不能简单地认为不是错误而不予理睬。
实际上,很多警告都是因为程序中确实有严重的隐含错误。
d)在连接中发现新错误也需要仔细检查和修改程序。
连接时发现的错误一般是由于函数名或外部变量名字写错,或者一些函数、外部变量没有定义引起的。
系统不能对连接错误给以自动定位,只能提供有关的名字信息等。
对于这类问题,可以借助编辑器的字符串查找命令进行定位。
②正确调用scanf函数和printf函数构成输入和输出语句。
2.有以下程序
#include<
voidmain()
{charc1,c2;
intn1,n2;
c1=getchar();
c2=getchar();
n1=c1-'
0'
;
n2=n1*10+(c2-'
);
printf("
%d\n"
n2);
程序运行时输入:
12<
回车>
,执行后输出结果是什么?
①getchar()函数用来输入两个字符分别赋给变量c1和c2;
②n1=c1-'
相当于n1='
1'
-'
,字符1的ASCII码值比0大一,所以n1中的值为1,c2-'
相当于'
2'
;
③把字符串转换为多位数的算法。
3.若有以下程序
voidmain()
{inti,j;
intx,y;
i=%d,j=%d"
&
i,&
j);
%d%d"
x,&
y);
i=%d,j=%d\n"
i,j);
%4d%4d\n"
x,y);
要求给i赋值为10,j赋值为20,则应该怎样从键盘输入数字?
①在调用scanf()函数时在格式串中若包含有格式描述符之外的字符时,则要求在输入数据时在对应的位置上输入完全匹配的字符;
②scanf()函数只包含格式描述符时可用跳格键Tab、空格和回车分隔数据;
③在调用printf()函数时在格式串中若包含有格式描述符之外的字符时,则在输出数据时在对应的位置上输出完全匹配的字符,%d之类的格式符位置输出对应输出项的值;
故输出时要注意插入适当的非格式符以便区分各个输出结果。
4.计算定期存款本利之和
设银行定期存款的年利率rate为2.25%,并已知存款期为n年,存款本金为capital元,试编程计算n年后的本利之和deposit。
要求定期存款的年利率rate、存款期n和存款本金capital均由键盘输入。
四、实验重点、难点
1.符数据输入输出函数
2.格式输入输出函数
五、操作要点
按Alt+R可进入Run菜单,其中Run:
运行由Project/Projectname项指定的文件名或当前编辑区的文件。
如果对上次编译后的源代码未做过修改,则直接运行到下一个断点(没有断点则运行到结束)。
否则先进行编译、连接后才运行,其热键为Ctrl+F9。
Userscreen:
显示程序运行时在屏幕上显示的结果。
其热键为Alt+F5。
六、注意事项
1.输入输出的数据类型与所用格式说明符不一致
2.输入变量时忘记使用地址符号
实验二逻辑结构程序设计
1.了解C语言表示逻辑量的方法(以0代表“假”,以非代表“真”)。
2.学会正确使用逻辑运算符和逻辑表达。
3.熟练掌握if语句和switch语句.
4.学习调试程序。
6学时
1源程序中包含有一些错误,调试下列程序,使之具有如下功能:
输入a、b、c三个整数,求最小值。
#include“stdio.h”
voidmain()
{
inta,b,c;
scanf("
a,b,c);
if((a>
b)&
&
(a>
c))
if(b<
c)
min=%d\n"
b);
else
c);
if((a<
(a<
a);
再次运行程序,输入为“2,1,3”,程序输出却是“min=2”。
用单步执行的方法,马上发现变量a、b、c的值是不对的,原因是程序要求输入数据的分隔符是空格(还允许使用回车或<
Tab>
键)。
改正输入数据的分隔方式后,程序没有输出,还是用单步执行的方法,监视程序的执行过程,发现程序中条件设计有误,经过改正的程序如下:
#include“stdio.h”
{inta,b,c;
a,&
b,&
c);
if((a<
a)
elseif((b<
a)&
(b<
elseif((c<
(c<
b))
else
Nofindminimum\n"
);
}
上述程序是按在三个数中仅有一个最小值时才称其为最小值进行设计的。
另外,注意程序的书写格式,一定要采用缩进格式,即不同层次(分支)的语句左起的空格不同,这样可以有效地提高程序的可读性。
①类似a<
b<
c表达式的表示方法;
②if语句的嵌套;
③调试工具的使用。
④求最值的简单算法。
2.参考上一题,编写一个C程序,求a、b、c、d四个数中的最大者。
编程点拨:
①多定义一个变量,并一开始令变量max=a;
②if(max<
b)max=b;
其余多个数据中求最值依此类推。
3.输入4个整数,要求按由小到大顺序输出。
得到正确结果后,修改程序使之按由大到小顺序输出。
①输入函数scanf()的使用;
②简单的排序算法;
③通过中间变量t交换a和b值的方法:
t=a;
a=b;
b=t;
。
4.根据以下函数关系,对输入的每个x值,计算出相应的y值。
#include
{floatx,y;
%f"
x);
if()
y=;
elseif()
y=;
else
x=%f,y=%f"
相关知识点:
if语句的嵌套;
数学函数的调用方式。
5模仿第4题,写程序实现以下函数:
用scanf函数输入x的值,求y值。
运行程序,输入x的值(分别为x<
1、1≤x<
10、x≥10三种情况),检查输出的y值是否正确。
①用if的嵌套实现分段函数;
②比较运算符的正确使用;
③算术运算符*的正确使用。
6.阅读分析以下程序的功能。
voidmain()
{intchoice;
intvalue;
Convert:
\n"
/*显示菜单*/
1:
decimaltohexadecimal\n"
2:
hexadecimaltodecimal\n"
3:
decimaltooctal\n"
4:
octaltodecimal\n"
enteryourchoice:
"
%d"
choice);
switch(choice)
{case1:
/*选中1时处理*/
printf("
enterdecimalvalue:
"
scanf("
value);
%dinhexadecimalis:
%x\n"
value,value);
break;
case2:
/*选中2时处理*/
printf("
enterhexadecimalvalue:
%x"
%xindecimalis:
case3:
/*选中3时处理*/
%dinoctalis:
%o\n"
case4:
/*选中4时处理*/
enteroctalvalue:
%o"
%oindecimalis:
}
①用switch语句实现菜单的方法;
②数制转换的方法。
7.模仿第6题,要求对输入的数字1~7转换成文字星期几,对其它数字不转换。
例如,输入5时,程序应该输出Friday。
编辑、调试和运行该程序,然后输入4。
其输出结果是什么?
为什么是这样的结果?
该程序有哪些错误?
如何修改?
①switch语句的正确使用;
②break在switch语句中的作用。
1.表达式
2.选择型程序设计语句
3.逻辑表达式
按Alt
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 实验 教案