C语言程序设计教程机械工业出版社钱雪忠吕莹楠Word文档格式.docx

上传人:b****6 文档编号:17293894 上传时间:2022-12-01 格式:DOCX 页数:44 大小:91.83KB
下载 相关 举报
C语言程序设计教程机械工业出版社钱雪忠吕莹楠Word文档格式.docx_第1页
第1页 / 共44页
C语言程序设计教程机械工业出版社钱雪忠吕莹楠Word文档格式.docx_第2页
第2页 / 共44页
C语言程序设计教程机械工业出版社钱雪忠吕莹楠Word文档格式.docx_第3页
第3页 / 共44页
C语言程序设计教程机械工业出版社钱雪忠吕莹楠Word文档格式.docx_第4页
第4页 / 共44页
C语言程序设计教程机械工业出版社钱雪忠吕莹楠Word文档格式.docx_第5页
第5页 / 共44页
点击查看更多>>
下载资源
资源描述

C语言程序设计教程机械工业出版社钱雪忠吕莹楠Word文档格式.docx

《C语言程序设计教程机械工业出版社钱雪忠吕莹楠Word文档格式.docx》由会员分享,可在线阅读,更多相关《C语言程序设计教程机械工业出版社钱雪忠吕莹楠Word文档格式.docx(44页珍藏版)》请在冰豆网上搜索。

C语言程序设计教程机械工业出版社钱雪忠吕莹楠Word文档格式.docx

第2章结构化程序设计与算法

2习题

BCDCDCBCAD

1、什么是算法?

算法的特点是什么?

什么是算法:

算法就是解决某个问题或处理某件事的方法和步骤,在这里所讲的算法是专指用计算机解决某一问题的方法和步骤。

算法的特点:

1)有穷性

人们编制算法的目的就是要解决问题,若该算法无法在一个有限合理的时间内完成问题的求解,那么算法也就失去了其原有的目的,人们就会摒弃它。

而且人们研究算法,其目的还在于它的高效率,即解决同一个问题的两个算法,人们往往选择其中那个运行效率高的。

2)确定性

所谓算法的确定性是指算法的每一个步骤都应该确切无误,没有歧义性。

3)有零个或多个输入

执行算法时,有时需要外界提供某些数据,帮助算法的执行。

一个算法可以没有输入,也可以有多个输入。

例如,求解N!

,该算法就需要输入一个数据N;

而求解两数之和,该算法就需要输入两个数据

4)有一个或多个输出

算法的目的是求解,解就是结果,就是输出,否则就毫无意义。

5)有效性

算法中的每一步都应该能有效地执行、可以实现,执行算法最后应该能得到确定的结果。

2、结构化程序设计的三种基本结构是什么?

其共同特点是什么?

结构化程序设计的三种基本结构:

顺序、选择、循环三种基本控制结构

其共同特点:

1)只有单一的入口和单一的出口;

2)结构中的每个部分都有执行到的可能;

3)结构内不存在永不终止的死循环。

3、尝试用自然语言、流程图、N-S流程图或伪代码写出下面问题的求解算法。

1)根据三边,求三角形的周长和面积

2)判断用户输入的一个整数是奇数还是偶数

3)求解一元二次方程ax2+bx+c=0根

4)找出10个数据的最大数

5)将20个考生成绩中不及格者的分数打印出来

6)求S=1+2+3+4+……+100

解:

实验2熟悉VC++6.0环境及算法

二、实验内容

1、改错题

#include<

stdio.h>

main()

{

intx=2,y=3,a;

a=x-y;

printf("

a=%d"

a);

printf("

\n"

);

/*换行*/

}

2、程序填空题

inta,b,m;

Inputa,bplease!

scanf("

%d%d"

&

a,&

b);

m=a*b;

/*赋值语句,将a和b之积值赋给m*/

a*b=%d\n"

m);

/*输出a和b积的结果值并换行*/

3、设计与表示算法

判断一个数n能否同时被3和5整除。

1)用伪代码表示

begin(算法开始)

inputn

if(n/3*3)=n

{

if(n/5*5)=n

print“数n能同时被3和5整除”

}

}

end(算法结束)

2)用N-S图表示

3)用流程图表示

4、编程题

1)

voidmain()

Howareyou!

2)

inta,b,c,sum;

Inputa,b,cplease!

%d%d%d"

b,&

c);

sum=a*a*a+b*b*b+c*c*c;

printf("

a*a*a+b*b*b+c*c*c=%d\n"

sum);

第3章数据类型及其运算

3习题

BADCDDCBCA

二、阅读程序,给出运行结果

1、7,8,10

2、1,3

3、

4、4

61

57

9

112

三、编程题

1.(sin(sqrt(x*x)))/(a*b)

2.5.5

3.33

4.3

5.#include<

voidmain()

charc;

c=getchar();

%c\n"

c);

%d\n"

6.#include<

intmain()

floatC,F;

请输入一个华氏温度:

"

%f"

F);

C=(5.0/9)*(F-32);

摄氏温度C=%5.2f\n"

C);

return0;

}

7.#include<

#include<

math.h>

floata;

a=exp(3.1415926);

%f\n"

return0;

实验3数据类型及其运算

1.改错题

intx,y;

请输入两个整数\n"

x,&

y);

互换前的x:

%dy:

x,y);

x=x+y;

y=x-y;

x=x-y;

2.程序填空题

inti1,i2,i3,i;

Pleaseinputi1,i2,i3:

"

i1,&

i2,&

i3);

i=i3;

//i=i1;

//i=i2;

i3=i2;

//i1=i3;

//i2=i1;

i2=i1;

//i3=i2;

i1=i;

//i2=i;

i1=%d\ni2=%d\ni3=%d\n"

i1,i2,i3);

3.编程题

(1)从键盘输入3个大写英文字母,把它们转换成小写字母后输出。

charc1,c2,c3;

scanf("

%c%c%c"

c1,&

c2,&

c3);

c1=c1+32;

c2=c2+32;

c3=c3+32;

printf("

%c%c%c\n"

c1,c2,c3);

(2)从键盘输入3个整数,输出它们的平均值与积。

inta,b,c,ji;

floatave;

请输入3个整数\n"

ave=(a+b+c)/3.0;

ji=a*b*c;

ave=%f,ji=%d\n"

ave,ji);

第4章顺序结构程序设计

4习题

BBCBCDCBDD

1、x=3452、a=1,b=3

y=3.460000a=3,b=1

3、a=123,f=457

1.

2.法一:

#include<

Intmain()

{floatx,xf;

Intxi;

Printf(“请输入一个实数:

”);

Scanf(“%f”,&

x);

Xi=(int)x;

Xi=x-xi;

Printf(“该数的整数部分为:

%d\n”,xi);

Printf(“该数的小数部分为:

5f\n”,xf);

Return0;

法二:

doublea,b;

%lf"

a);

b=a;

longintp;

p=(longint)a;

整数部分:

p);

小数部分:

(b-p));

3.

4.

5.#include<

voidmain()

{floata,b,h;

floatarea;

%f,%f,%f"

h);

area=(a+b)*h/2;

梯形的面积为:

%5.2f\n"

area);

实验4顺序结构程序设计

下列程序的功能为:

按下列公式计算并输出x的值。

其中a和b的值由键盘输入。

纠正程序中存在的错误,以实现其功能。

main()

{inta,b;

floatx;

%d,%d"

a,b);

x=2ab/(a+b)(a+b);

x=2.0*a*b/((a+b)*(a+b));

x=%d\n"

x);

x=%f\n"

2.程序填空题

设圆半径r=1.5,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。

用scanf输入数据r、h,输出计算结果,输出时要求有文字说明,取小数点后2位数字。

(周长l=2

,圆面积s=

,圆球表面积sq=

,圆球体积vq=

圆柱体积vz=

),请补充完善程序,以实现其功能。

floatpi,h,r,ly,sy,sq,vq,vz;

pi=3.1415926;

请输入圆半径r,圆柱高h:

);

%f%f"

r,&

h);

ly=2*pi*r;

sy=pi*r*r;

sq=4*pi*r*r;

vq=4.0/3*pi*r*r*r;

vz=pi*h*r*r;

圆周长为:

%.2f\n"

ly);

圆面积为:

sy);

圆球表面积为:

sq);

圆球体积为:

vq);

圆柱体积为:

vz);

3.编程题

(1)编写一个程序实现如下功能:

从键盘输入3个字符,然后在屏幕上分3行输出该3个字符。

{

charc1,c2,c3;

c1=getchar();

c2=getchar();

c3=getchar();

putchar(c1);

putchar('

\n'

putchar(c2);

putchar(c3);

(2)编写一个程序实现如下功能:

输入一元二次方程ax2+bx+c=0的系数a、b、c,求方程的根。

要求:

运行该程序时,输入a、b、c的值,分别使b2-4ac的值大于、等于和小于零,观察并分析运行结果。

求根公式如下:

法一:

voidmain()

{floata,b,c,disc,x1,x2,p,q;

a=%f,b=%f,c=%f"

disc=b*b-4*a*c;

p=-b/(2.0*a);

q=sqrt(disc)/(2.0*a);

x1=p+q;

x2=p-q;

x1=%5.2f\nx2=%5.2f\n"

x1,x2);

{floata,b,c,disc,x1,x2,p,q;

if(a==0)

不是二次方程\n"

else

disc=b*b-4*a*c;

if(disc<

0)

无实根\n"

if(disc==0)

{p=-b/(2.0*a);

有两个相同的实根\n"

else

有两个不同的实根\n"

}

第5章选择结构程序设计

5习题

BBCBBCBACB

二、阅读程序写出运行结果

1、-22、Yes

3、

(1)2

(2)3

CC

A=2,b=2,c=4

4、*&

5、5

3

2

1.#include<

int?

?

a,b;

//先判断a是否大于等于0,如果是的话a=b

if?

(a>

=0)

?

b=a;

//如果不是的话,先对a按位取反,然后再加一

else

b=~a;

b=b+1;

cout<

<

b<

endl;

getchar();

2.略

3.#include<

main(void)

int?

n;

status=1;

while(status)

输入:

%d"

n);

switch?

(n)

case?

0:

舞蹈\n"

break;

1:

3:

乒乓球\n"

case2

4:

篮球\n"

5:

保龄球\n"

6:

吉他\n"

default:

status=0;

return?

0;

实验5选择结构程序设计

输入3个整数后,输出其中最大值。

请纠正程序中存在错误,使程序实现其功能。

#include"

stdio.h"

inta,b,c,max;

printf("

请输入3个整数:

scanf("

max=a;

if(c>

b)

{if(b>

a)max=c;

}/*c>

b>

a*/

else/*b>

c*/

{if(c>

a)max=b;

}/*b>

c>

3个数中最大者为:

max);

改正后的程序:

{if(c>

}

else

{if(b>

inta,b,d;

charch;

Pleaseinputaexpression:

%d%c%d"

ch,&

/*输入数学表达式*/

switch(ch)

case'

+'

:

d=a+b;

%d+%d=%d\n"

a,b,d);

break;

-'

d=a-b;

%d-%d=%d\n"

*'

d=a*b;

%d*%d=%d\n"

/'

if(b==0)printf("

Divisoriszero\n"

elseprintf("

%d/%d=%f\n"

a,b,(float)a/b);

/*强制类型转换*/

default:

InputOperatorerror!

(1)#include<

inta,b,c,max,min;

floatsum,d,e;

请输入三个数:

sum=a+b+c;

d=sum/3;

e=a*b*c;

if(a>

{max=a;

min=b;

{max=b;

if(max<

c)

max=c;

if(min>

min=c;

三个数的和%.1f\n"

三个数的平均值%.2f\n"

d);

三个数的积%.1f\n"

e);

三个数中最大值是%d\n"

三个数中最小值是%d\n"

min);

(2)

floatx,y;

if(x<

5)y=1-x*x*x;

elseif(x<

=15&

&

x>

=5)y=x-1;

elsey=2*x*x-1;

x=%0f,y=%0f\n"

(3)

{inta;

inputintegernumber:

switch(a)

{case0:

Sunday\n"

case1:

Monday\n"

case2:

Tuesday\n"

case3:

Wednesday\n"

case4:

Thursday\n"

case5:

Friday\n"

case6:

Saturday\n"

default:

error\n"

第6章循环结构程序设计

6习题

BCDDABDBABBC

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

当前位置:首页 > 高中教育 > 数学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1