c语言实验报告实验4.doc_c语言实验报告完整

其他范文 时间:2020-02-27 20:47:41 收藏本文下载本文
【www.daodoc.com - 其他范文】

c语言实验报告实验4.doc由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“c语言实验报告完整”。

实验4 逻辑结构程序设计

1、实验目的、要求

(1)C语言表示逻辑量的方法。

(2)学会正确使用逻辑运算符和逻辑表达式。

(3)熟悉掌握if语句和switch语句。

(4)掌握简单的算法及程序调试。

2、实验内容:

(1)输入程序并运行,观察运行结果并分析。

#include

int main()

{int a=1,b=3,c=5,d=4,x;

if(a

If(c

Else „„„„„„„„„„„„„„„„„„„„„„„„2

If(a

If(b

Else x=3;„„„„„„„„„„„„„„„„„„„„„„„„4

Else x=6;„„„„„„„„„„„„„„„„„„„„„„„„2

Else x=7;„„„„„„„„„„„„„„„„„„„„„„„„1

printf(“x=%dn”,x);

Return(0);}

实验前分析:因已知:A,B,C,D分别为1,3,5,4,故可知只有A

实验分析:对该程序进行结构分析:如图,在程序中所有的IF和ELSE中,有一一对应的关系,即一个IF对应一个ELSE,按照标号有上述对应关系,实现了多个IF嵌套。A

(2)、编写程序:

Y=X(X=10).要求用SCANF输入X的值,输出Y的值。

程序编写如下:

#include

Int main()

{int x,y;

Scanf(“%d”,x);

If(x

If(x>=1&&x,10)y=2*x-1;

If(x>=10)y=3*x-11;

Printf(“%d”,y);

Return(0);}

进行检验,发现程序有错误,无法运行。

将程序改为:

#include

Int main()

{int x,y;

Scanf(“%d”,x);

If(x

Else if(x>=1&&x

Else if(x>=10)y=3*x-11;

Printf(“%d”,y);

Return(0);}

实验分析:

1、在if语句中,要注意IF和ELSE的配合使用,不能单独使用IF。

2、此程序中还应注意if语句的嵌套和各层之间的逻辑关系。

3、再输入该程序时,涉及到乘法运算的表示,应注意计算机语言与书面语言的区别,在C语言中,*表示乘法运算。

在程序中加入clrscr()运算符,清空遗留数据:

#include

Int main()

{int x,y;

Scanf(“%d”,x);

Clrscr();

If(x

Else if(x>=1&&x

Else if(x>=10)y=3*x-11;

Printf(“%d”,y);

Return(0);}

运行该程序,得到预期结果,但输入数据被清除;将clrscr()移动到scanf之前。再次运行,得到了预期的输入和输出数据,故可知,clrscr()函数的作用是清楚该语句之前的所有的输出的数据和输入的数据。以后用此语句时要注意输入位置。

(3)补足程序并运行。

输入两个数,将较小者输出,应用条件运算符。

#include

Int main()

{int a, b,min;

Printf(“n please input two numbersn”);

Scanf(“%d%d”,&a,&b);

Min=min(a,b);

Printf(“min=%d”,min);

Return(0;)}

运行该程序,显示程序错误,无法输出结果。

将程序改为:

#include

Int main()

{int a, b,min;

Printf(“n please input two numbersn”);

Scanf(“%d%d”,&a,&b);

Min=(a>b?b:a);

Printf(“min=%d”,min);

再次运行程序,屏幕上显示“please input two numbers”,输入两个数字6和9,输出数字为6,再换多组数字,结果与与其相同,可知实验成功。

实验分析:输入比较两数大小的函数时,不能想当然,如认为“min=min(a,b)”就是输出较小数的函数,而应使用三目运算符(A?B:C)来表示。

(5)给出一个百分制成绩,要求输出成绩等级A,B,C,D,E:90分以上为A,80——89分为

B,70——79分为C,60——69分为D,60分以下为E。

1、分别用IF和SWITCH语句来实现。

2、输入成绩为大于100分或小于0分时,显示出错成绩,程序结束。

用IF函数表示:

#include

Int main()

{int a;

Printf(“n please input your scoren ”);

Scanf(“%d”,&a);

If(a>=90&&a

Else if(a>=80&&a

Else if(a>=70&&a

Else if(a>=60&&a

Else if(a>=0&&a

Else printf(“data error”);

Return(0);}

检查无错误,运行程序,无论输入数值为多少,输出结果均为“data error”。

将程序改为:

#include

Int main()

{int a;

Printf(“n please input your scoren ”);

Scanf(“%d”,&a);

{If(a>=90&&a

Else if(a>=80&&a

Else if(a>=70&&a

Else if(a>=60&&a

Else if(a>=0&&a

Else printf(“data error”);}

Return(0);}

即在if函数外套一组大括号,使之成为一个语句。再次输入数据,得到正确结果。实验分析:

1、注意if和else的配套使用,不能遗漏。

2、逻辑运算符&&表示“并且”,除此之外,“!”表示“非”,“||”表示“或”,以后使用注

意区分。

3、使用switch语句:

#include

{int a,b;

Printf(“n please input your scoren”);

Scanf(“%d”,&a);

If(a=0)

{b=a/10;

Switch(b)

{case 10 printf(“A”);break;

Case 9 printf(“A”);break;

Case 8 printf(“B”);break;

Case 7 printf(“C”);break;

Case 6 printf(“E”);break;

Case 5 printf(“E”);break;

Case 4 printf(“E”);break;

Case 3 printf(“E”);break;

Case 2 printf(“E”);break;

Case 1 printf(“E”);break;

Case 0 printf(“E”);break;

Default printf(“data error”);}}

Else printf(“data error);

Return(0);}

运行程序,显示程序有误,经检验,错误为case语句后没有加冒号,加上后,限制结果与预期相同。

实验改进:该程序中,反复输入case语句,效率低下,可将条件相同的情况进行合并,进行简化,变成如下形式:

#include

Int main()

{int a,b;

Printf(“n please input your scoren”);

Scanf(“%d”,&a);

If(a=0)

{b=a/10;

Switch(b)

{case 10:Case 9 :printf(“A”);break;

Case 8 :printf(“B”);break;

Case 7 :printf(“C”);break;

Case 6 :Case 5 :Case 4 :Case 3 :Case 2 :Case 1 :Case 0:printf(“E”);break;Default printf(“data error”);}}

Else printf(“data error);

Return(0);}

运行后,得到相同的结果,故简化成功。

实验分析:此实验中,应注意break语句的使用,不能遗漏;case语句应用大括号括住,表示整体的使用;条件允许可以对程序进行适当的简化,提高运算效率;区分IF和SWITCH函数的共性与区别,提高对两者的认识。

实验心得:

1、注意IF语句的使用规则,要与ELSE搭配使用,掌握了多层IF函数的使用方法。

2、掌握了关系运算符与逻辑运算符“与”“或”“非”的使用法方法,“&&”“||”“!”。

3、注意区分数学表达语句与计算机语句的区别,了解计算机语句的特点。

4、必要时可以利用辅助设计语句对程序进行改进,或对程序进行简化,便于加深理解,方

便操作。

5、掌握了IF语句与SWITCH语句用法的特点,及其中的易错点(ELSE的使用和BREAK的使用)。

下载c语言实验报告实验4.docword格式文档
下载c语言实验报告实验4.doc.doc
将本文档下载到自己电脑,方便修改和收藏。
点此处下载文档

文档为doc格式

    热门文章
      整站推荐
        点击下载本文