c语言选择结构程序设计实验报告4范文.docx

上传人:b****2 文档编号:2823868 上传时间:2023-05-04 格式:DOCX 页数:11 大小:30.10KB
下载 相关 举报
c语言选择结构程序设计实验报告4范文.docx_第1页
第1页 / 共11页
c语言选择结构程序设计实验报告4范文.docx_第2页
第2页 / 共11页
c语言选择结构程序设计实验报告4范文.docx_第3页
第3页 / 共11页
c语言选择结构程序设计实验报告4范文.docx_第4页
第4页 / 共11页
c语言选择结构程序设计实验报告4范文.docx_第5页
第5页 / 共11页
c语言选择结构程序设计实验报告4范文.docx_第6页
第6页 / 共11页
c语言选择结构程序设计实验报告4范文.docx_第7页
第7页 / 共11页
c语言选择结构程序设计实验报告4范文.docx_第8页
第8页 / 共11页
c语言选择结构程序设计实验报告4范文.docx_第9页
第9页 / 共11页
c语言选择结构程序设计实验报告4范文.docx_第10页
第10页 / 共11页
c语言选择结构程序设计实验报告4范文.docx_第11页
第11页 / 共11页
亲,该文档总共11页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

c语言选择结构程序设计实验报告4范文.docx

《c语言选择结构程序设计实验报告4范文.docx》由会员分享,可在线阅读,更多相关《c语言选择结构程序设计实验报告4范文.docx(11页珍藏版)》请在冰点文库上搜索。

c语言选择结构程序设计实验报告4范文.docx

c语言选择结构程序设计实验报告4范文

实验报告

实验题目:

选择结构程序设计

实验目的:

(1)了解C语言表示逻辑量的方法(以0代表“假”以非0代表“真”)。

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

(3)熟练掌握if语句的使用(包括if语句的嵌套)。

(4)熟练掌握多分支选择语句——switch语句。

(5)结合程序掌握一些简单的算法。

(6)进一步学习调试程序的方法。

实验内容:

本实验要求事先编好解决下面问题的程序,然后上级输入程序并调试运行程序。

 

(1)有一函数:

输入

的值,输出

相应的值。

用scanf函数输入

的值,求

值(第四章第六题)

运行程序,输入

的值(分别为x<1、

这三种情况),检查输出y值是否正确。

答:

1)调试通过的程序清单如下:

#include

voidmain()

{

intx,y;

printf("请输入X:

");

scanf("%d",&x);

if(x<1)

y=x;

elseif(x<10)

y=2*x-1;

elsey=3*x-11;

printf("y=%d\n",y);

}

 

3)调试过程出现的问题说明及处理方法:

编译提示信息如下:

Compiling...

c4_4.c

F:

\_选择结构程序设计\第四次实验\c4_4.c(10):

errorC2059:

syntaxerror:

'badsuffixonnumber'

F:

\_选择结构程序设计\第四次实验\c4_4.c(10):

errorC2146:

syntaxerror:

missing';'beforeidentifier'x'

F:

\_选择结构程序设计\第四次实验\c4_4.c(10):

warningC4552:

'-':

operatorhasnoeffect;expectedoperatorwithside-effect

F:

\_选择结构程序设计\第四次实验\c4_4.c(11):

errorC2181:

illegalelsewithoutmatchingif

F:

\_选择结构程序设计\第四次实验\c4_4.c(11):

errorC2059:

syntaxerror:

'badsuffixonnumber'

F:

\_选择结构程序设计\第四次实验\c4_4.c(11):

errorC2146:

syntaxerror:

missing';'beforeidentifier'x'

F:

\_选择结构程序设计\第四次实验\c4_4.c(11):

warningC4552:

'-':

operatorhasnoeffect;expectedoperatorwithside-effect

执行cl.exe时出错.

c4_4.obj-1error(s),0warning(s)

原因分析:

由于习惯在数学上习惯于用2x表示2*x,导致在这里忽略了“*”,以致程序出现严重错误。

(2)从键盘输入一个小于1000的正数,要求输出它的平方根(如平方根不是整数,则输出其整数部分)。

要求在输入数据后先对其进行检查是否小于1000的正数。

若不是,则要求重新输入。

1)调试通过的程序清单如下:

#include

#include

#defineM1000

intmain()

{

inti,k;

printf("请输入一个小于%d的整数i:

",M);

scanf("%d",&i);

if(i>1000)

{printf("输入的数据有误,请重新输入:

",M);

scanf("%d",&i);

}

k=sqrt(i);

printf("%d的平方根的整数部分是%d\n",i,k);

return0;

}

2)调试通过的运行结果:

 

3)调试过程出现的问题说明及处理方法:

Compiling...

c4_4.c

F:

\_选择结构程序设计\第四次实验\c4_4.c(10):

errorC2018:

unknowncharacter'0xa3'

F:

\_选择结构程序设计\第四次实验\c4_4.c(10):

errorC2018:

unknowncharacter'0xbb'

F:

\_选择结构程序设计\第四次实验\c4_4.c(11):

errorC2146:

syntaxerror:

missing';'beforeidentifier'scanf'

F:

\_选择结构程序设计\第四次实验\c4_4.c(13):

warningC4244:

'=':

conversionfrom'double'to'int',possiblelossofdata

执行cl.exe时出错.

c4_4.exe-1error(s),0warning(s)

 

答:

因为把第十行的“;”在中文模式输入,变成了“;”导致编译错误。

(3)给出一个百分制成绩,要求输出成绩等级A,B,C,D,E.90分以上为A,81~89分为B,70~79分为C,60分~69分为D,60分以下为E。

1事先编好程序,要求分别用if语句和switch语句来实现。

运行程序,并检查结果是否正确。

1)调试通过的程序清单如下:

#include

voidmain()

{

intg,s;

charch;

printf("\n输入学生的分数:

");

scanf("%d",&g);

s=g/10;

if(s<0||s>10)

printf("\n输入数据错误!

\n\n");

else

{

switch(s)

{

case10:

case9:

ch='A';break;

case8:

ch='B';break;

case7:

ch='C';break;

case6:

ch='D';break;

default:

ch='E';

}

printf("\n学生的成绩等级是:

%c\n\n",ch);

}

}

2)调试通过的运行结果:

 

3)调试过程出现的问题说明及处理方法:

(1)编译提示信息如下:

Compiling...

c4_4.c

c4_4.obj-0error(s),0warning(s)

 

(2)连接提示信息如下:

Linking...

c4_4.exe-0error(s),0warning(s)

 

原因分析:

由于忽略了在程序中加入换行符,导致输出成绩等级和“Pressanyeytocontine”连在一起。

2再运行一次程序,输入分数为负值,这显然是输入时出错,不应给出等级,修改程序,使之能正确处理任何数据,当输入数据大于100和小于0时,通知用户“输入数据错误”。

程序结束。

答:

在编写程序的时候已经考虑到了该情况,第一次编写时已经进行了优化,能够自动处理该情况的出现。

以下是运行结果:

 

(4)输入4个整数,要求按由小到大顺序输出,在得到正确结果后,修改程序使之按由大到小的顺序输出。

1)调试通过的程序清单如下:

#include

intmain()

{

inta,b,c,d,t;

printf("请依次输入四个整数以空格隔开。

\n");

scanf("%d%d%d%d",&a,&b,&c,&d);

if(a>b)

{

t=a;

a=b;

b=t;

}

if(a>c)

{

t=a;

a=c;

c=t;

}

if(a>d)

{

t=a;

a=d;

d=t;

}

if(b>c)

{

t=b;

b=c;

c=t;

}

if(b>d)

{

t=b;

b=d;

d=t;

}

if(c>d)

{

t=c;

c=d;

d=t;

}

printf("四个整数经从小到大的顺序排列后的结果如下\n");

printf("%d,%d,%d,%d\n",a,b,c,d);

return0;

}

 

2)程序运行的结果:

从大到小排列的程序是:

1)通过排列的程序清单如下:

#include

intmain()

{

inta,b,c,d,t;

printf("请依次输入四个整数以空格隔开。

\n");

scanf("%d%d%d%d",&a,&b,&c,&d);

if(a

{

t=a;

a=b;

b=t;

}

if(a

{

t=a;

a=c;

c=t;

}

if(a

{

t=a;

a=d;

d=t;

}

if(b

{

t=b;

b=c;

c=t;

}

if(b

{

t=b;

b=d;

d=t;

}

if(c

{

t=c;

c=d;

d=t;

}

printf("四个整数经从大到小的顺序排列后的结果如下\n");

printf("%d,%d,%d,%d\n",a,b,c,d);

return0;

}

3)运行的结果:

 

实验心得:

通过此次实验本人更加熟练的掌握了程序C语言逻辑运算符和逻辑表达式的应用,也深深了解到了,C语言的强大,同时是我对这门语言的兴趣更加深厚。

做完本次实验,我纠正了以往的一个观点,学习一门语言不要以为看书看明白了就以为对这方面的知识掌握了,学习语言更为重要的是要会使用,不能仅仅是以为明白就可以了事,合上书本,能够应用这方面的知识写出一个程序来,才能算对它的初步掌握。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2