最新消息:可做奥鹏等各院校作业论文,答案请联系QQ/微信:18866732

国开23秋《计算机科学导论》实验任务书和实验报告2【参考答案】

江苏开放大学实验报告

学 号:

姓 名:

课程代码: 060212

课程名称:《计算机科学导论》

评阅教师:

实验任务一 选择结构程序设计
一、实验学时
2学时

二、实验目的
(一)掌握C语言关系表达式和逻辑表达式的运算和使用;

(二)正确使用条件控制语句(if语句、switch语句)进行选择结构程序设计。

三、预习要求
(一)关系运算符和关系表达式、逻辑运算符和逻辑表达式;

(二)if语句的三种形式(单分支、双分支、多分支),以及if语句的嵌套;

(三)switch语句的形式。

四、实验内容
输入下面两段程序并运行,掌握case语句中break语句的作用。

1./* c3-2.c */ /* c3-3.c */

/* 不含break的switch */ /* 含break的switch */

#include “stdio.h” #include “stdio.h”

void main( ) void main( )

{ int a,m=0,n=0,k=0; { int a,m=0,n=0,k=0;

scanf(“%d”,&a); scanf(“%d”,&a);

switch(a) switch(a)

{ case 1: m++; { case 1: m++; break;

case 2: case 2:

case 3: n++; case 3: n++; break;

case 4: case 4:

case 5: k++; case 5: k++;

} }

printf(“%d,%d,%d\n”,m,n,k); printf(“%d,%d,%d\n”,m,n,k);

} }

分别从键盘上输入1、3、5,写出程序运行的结果。

/* c3-2.c */
/* 不含break的switch */

/* c3-3.c */
/* 含break的switch */

(二)完善程序,从键盘上输入x的值,按下式计算y的值。

编程提示:注意逻辑表达式的正确表达方法,数学中的1≤x<10应使用C语言的逻辑表达式(x>=1 && x<10)来表示。

下面是用多分支选择结构实现本题的程序结构:

/* c3-4.c if 语句实现的多分支结构 */

#include “stdio.h”

void main( )

{ 定义变量;

输入x;

if (x<1)y=x; //按y=x为变量y赋值;

else if(<10) y=2*x-1; //按y=2x-1为变量y赋值;

else

y=3*x-11; //按y=3x-11为变量y赋值;

printf(“y=%f\n”,y);

}

五、实验注意事项
(一)C程序中表示比较运算的等号用“==”表示,赋值运算符用“=”表示,不能将赋值号“=”用于比较运算。

(二)控制表达式是指任何合法的C语言表达式(不只限于关系或逻辑表达式),只要表达式的值为“非零”,则为“真”,“零”则为“假”

(三)在if语句的嵌套结构中,else与if的配对原则是:每个else总是与同一个程序中、在前面出现的、而且距它最近的一个尚未配对的if构成配对关系。

(四)case及后面的常量表达式,实际仅是起标号作用。控制表达式的值与某个情况常量一旦匹配,那么,在执行下面语句的过程中,只要不遇到break语句,就一直执行下去,而不再判别是否匹配。允许出现多个“case”与一组语句相对应的情况。

六、思考题
(一)下面程序的功能是实现表达式z=( x>=y ? x : y),请将程序填写完整。

/* 分支结构的程序 */

#include “stdio.h”

void main( )

{ int x, y, z;

printf(“Please input x,y:”);

scanf(“%d%d”,&x,&y);

if ( x>=y) z=x;

else z=y;

printf(“z=%d “,z);

}

(二)下面程序的运行结果为__if ( x>=y) z=x__。

实验任务2 循环结构程序设计
一、实验学时
2学时

二、实验目的
(一)掌握用while,do-while,for语句实现循环的方法;

(二)掌握在设计条件型循环结构的程序时,如何正确地设定循环条件,以及如何控制循环的次数。

(三)掌握与循环有关的算法。

三、预习要求
预习教材有关while,do-while,for语句的语法格式,并能通过这三种语句编写、调试单层循环结构的程序。

四、实验内容
(一)分析并运行下面程序段,循环体的执行次数是____。

int a=10,b=0;

do { b+=2;a-=2+b;} while(a>=0);

(二)当执行以下程序段时,循环体执行的次数是___。

x = -1;国开形考答案open5.net或联系QQ/微信:18866732

do { x=x*x;} while( !x);

(三)下面程序的功能是:计算1到100之间的奇数之和及偶数之和,并输出。请在程序中的横线上填入适当的内容,将程序补充完整并运行。

/* c4-6.c 计算1到100之间的奇数之和及偶数之和 */

#include “stdio.h”

void main( )

{ int a,b,c,i;

a=0,c=0; /*变量初始化*/

for(i=0; i<=100; i+=2)

{ a+=i; /*变量a存放偶数的和*/

b=i+1;

c+=b; /*变量c存放奇数的和*/

}

printf(“sum of evens is %d\n”,a);

printf(“sum of odds is %d\n”, c);

}

(四)编程打印出所有的“水仙花数”,所谓水仙花数是指一个3位数,其各位数字的立方和等于该数本身。如153=13+33+53。

编程提示:定义一个变量作为循环变量,再定义3个变量分别存放三位数的每位数字,在循环体中将一个三位数拆分成个位、十位、百位后判断循环变量的值是否为水仙花数,如果是则输出,否则不输出。程序的基本结构为:

/* c4-7.c 打印出所有的“水仙花数” */

#include “stdio.h”

void main( )

{ //定义4个整型变量;

int a,b,c,j;

for( j=100; j<=999; j++ )

{ a=j/100;        /*分离出百位数*/

b=j/10-a*10;      /*分离出十位数*/

c=___________;    /*分离出个位数*/

if(j==a*a*a+b*b*b+c*c*c)

输出j ;

}

printf(“\n”);

}

(五)以下程序的功能是:从键盘上输入若干个学生的成绩,统计并输出最高成绩和最低成绩,当输入负数时结束输入。请将程序补充完整。

/* c4-8.c 求最大值最小值程序 */

#include “stdio.h”

void main( )

{ float x,amax,amin;

scanf(“%f”,&x);

amax=x;

amin=x;

while ( x>=0 )

{ if (x>amax) amax=x;

if (x<=amin ) amin=x;

scanf(“%f”,&x);

}

printf(“\namax=%f\namin=%f\n”,amax,amin);

}

提交时间:2023

转载请注明:奥鹏作业之家 » 国开23秋《计算机科学导论》实验任务书和实验报告2【参考答案】

发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址