c程序设计教程与实验吉顺如实验一到七.docx

上传人:b****6 文档编号:7929688 上传时间:2023-01-27 格式:DOCX 页数:46 大小:156.48KB
下载 相关 举报
c程序设计教程与实验吉顺如实验一到七.docx_第1页
第1页 / 共46页
c程序设计教程与实验吉顺如实验一到七.docx_第2页
第2页 / 共46页
c程序设计教程与实验吉顺如实验一到七.docx_第3页
第3页 / 共46页
c程序设计教程与实验吉顺如实验一到七.docx_第4页
第4页 / 共46页
c程序设计教程与实验吉顺如实验一到七.docx_第5页
第5页 / 共46页
点击查看更多>>
下载资源
资源描述

c程序设计教程与实验吉顺如实验一到七.docx

《c程序设计教程与实验吉顺如实验一到七.docx》由会员分享,可在线阅读,更多相关《c程序设计教程与实验吉顺如实验一到七.docx(46页珍藏版)》请在冰豆网上搜索。

c程序设计教程与实验吉顺如实验一到七.docx

c程序设计教程与实验吉顺如实验一到七

实验1熟悉VisualC++6.0环境及运行C程序

一、实验目的

1.掌握在VisualC++6.0环境下C程序的建立、编辑、编译和执行过程。

2.掌握C程序的最基本框架结构,完成简单程序的编制与运行和调试。

3.掌握发现语法错误、逻辑错误的方法以及排除简单错误的操作技能。

二、实验内容

1.从键盘输入两个数a和b,求它们的平方和,并在屏幕上输出。

输入该C程序,编译并运行之,记下屏幕的输出结果,以文件名sy1_1.c保存。

#include

main()

{

inta,b,sum;/*定义整型变量a、b、sum*/

printf("PleaseInputa,b\n");/*输出提示信息*/

scanf("%d%d",&a,&b);/*从键盘输入两个整数分别赋予a和b*/

sum=a*a+b*b;/*赋值语句,把a2+b2的结果赋给变量sum*/

printf("%d*%d+%d*%d=%d\n",a,a,b,b,sum);/*输出语句*/

}

 

 

2.改错题

在程序中画出错误的语句,将修改后的语句完整地写在该语句的右边。

(1计算x*y的值并将结果输出。

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

程序以文件名sy1_2.c保存。

#include

mainmain()

{intx=2;y=3;aintx=2,y=3,a;

A=x*ya=x*y;

print('a=%d",A);printf("a=%d",a);

printf("\n");

}

 

(2)下程序的功能为:

求两数中的较大数据并输出。

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

程序以文件名sy1_3.c保存。

#include

viodmain()voidmain()

    {

inta,b,max;

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

Max=a;max=a;

If (max

Printf(“max=%d”,max);printf(“max=%d”,max);

}

该程序的运行结果:

5,3

max=5

 

3.程序填空题

(1)从键盘输入两个整数,输出这两个整数的和。

根据注释信息填写完整程序,以实现其功能。

以文件名sy1_4.c保存。

#include

main()

{

intx,y,total;/*定义整型变量x,y,total*/

printf("Pleaseinputx,y!

");/*输出提示信息*/

scanf(“%d%d”,&x,&y);/*由键盘输入两个数分别赋予x和y*/

total=x+y;/*赋值语句*/

printf("%d+%d=%d\n",x,y,total);/*输出两个整数的和*/

}

 

该程序的运行结果:

Inputa,bplease!

2017

20-17=3

(2)从键盘输入两个整数,输出这两个整数的差。

根据注释信息填写完整程序,以实现其功能。

程序以文件名sy1_5.c保存。

#include

main()

{

inta,b,m;

printf("Inputa,bplease!

");

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

_m=a-b;___/*赋值语句,将a和b的差值赋给m*/

_printf(“%d-%d=%d\n”,a,b,m);_/*输出a和b差的结果值后换行*/

}

4.编程题

(1)编程序,运行后输出如下信息:

“BetterCity,BetterLife!

”。

程序以文件名sy1_6.c保存。

#include

main()

{

printf("BetterCity,BetterLife!

\n");

}

(2)编程序,从键盘输入3个整数,输出它们的平方和。

程序以文件名sy1_7.c保存。

#include

main()

{

inta,b,c,sum;

printf("PleaseInputa,b,c\n");

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

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

printf("%d*%d+%d*%d+%d*%d=%d\n",a,a,b,b,c,c,sum);

}

实验2数据类型、运算符和表达式

一、实验目的

1.理解C语言中各种数据类型的意义,掌握各种数据类型的定义方法。

2.掌握C语言常量、变量的定义与使用。

3.掌握C语言数据类型及运算符的使用规则。

二、实验内容

1.改错题

在程序中画出错误的语句,将修改后的语句完整地写在该语句的右边。

(1)下列程序的功能为:

已知圆锥半径r和高h,计算圆锥体积v。

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

程序以文件名sy2_1.c保存。

计算圆锥体积的公式为:

#includestdio.h#include

main();main()

{floatr=10,h=5;floatr=10,h=5,v;

v=1/3*3.14159*r^2*h;v=1.0/3*3.14159*r*r*h;

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

}

该程序的运行结果:

v=523.598333

 

(2)下列程序的功能为:

通过键盘输入两个整数分别存放在变量x、y中,不借用第3个变量实现变量x、y互换值。

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

程序以文件名sy2_2.c保存。

#include

main()

{

intx,y;

printf("请输入两个整数\n");

scanf("%d%d",x,y);scanf("%d%d",&x,&y);

printf("初始状态下的x:

%dy:

%d\n",x,y);

x=x+yx=x+y;

y=x-y;

x=x-y;

printf("最终状态下的x:

%dy:

%d/n",x,y);

}

 

2.程序填空题

(1)计算当x=4时,公式

×2x2的值。

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

程序以文件名sy2_3.c保存。

#include

main()

{

floatx=4.0,y;

y=(1+x*x*x)/(x*x+4*sqrt(x)+10)*2*x*x;

printf("%f",y);

}

(2)下列程序的功能为:

从键盘输入3个整数分别存入变量a、b、c,然后,将变量a的值存入变量b,将变量b的值存入变量c,将变量c的值存入变量a,输出经过转存后变量a、b、c的值。

(提示:

使用中间变量)补充完善程序,以实现其功能。

程序以文件名sy2_4.c保存。

#include

main()

{

inta,b,c,t;

printf("Pleaseinputa,b,c:

");

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

t=a;

a=c;

c=b;

b=t;

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

}

 

3.编程题

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

程序以文件名sy2_5.c保存。

#include

main()

{

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个整数,输出它们的平均值与积。

程序以文件名sy2_6.c保存。

#include

main()

{

inta,b,c,ji;

floatave;

printf("请输入3个整数\n");

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

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

ji=a*b*c;

printf("ave=%f,ji=%d\n",ave,ji);

}

实验3顺序结构程序设计

一、实验目的

1.掌握scanf()、printf()以及其他常用输入、输出函数的使用。

2.掌握格式控制符的使用。

3.掌握顺序结构程序设计的方法。

二、实验内容

1.改错题

在程序中画出错误的语句,将修改后的语句完整地写在该语句的右边。

(1)下列程序的功能为:

输入一个华氏温度,要求输出摄氏温度。

公式为:

C=

,输出取2位小数。

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

程序以文件名sy3_1.c保存。

#include

main()

{

floatc,f;

printf("请输入一个华氏温度:

\n");

scanf("%f",f);scanf("%f",&f);

c=(5/9)*(f-32);c=(5.0/9)*(f-32);

printf("摄氏温度为:

%5.2f\n"c);printf("摄氏温度为:

%5.2f\n",c);

}

(2)下列程序的功能为:

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

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

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

程序以文件名sy3_2.c保存。

该程序的运行结果:

4,6

x=0.480000

#include

main()

{inta,b;

floatx;

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

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

printf("x=%d\n",x);printf("x=%f\n",x);

(3)下列程序的功能为:

从键盘输入一个小写字母,要求改用大写字母输出。

请纠正程序中存在的错误,使程序实现其功能,程序以文件名sy3_3.c保存。

#include

main()

{

charc1,c2;

c1=getchar;c1=getchar();/*从键盘输入一个小写字母*/

printf("%c,%d\n",c1,c1);

c2=c1+26;c2=c1-32;/*转换为大写字母*/

printf("%c,%d\n",c2,c2);/*输出大写字母及其ASCII码值*/

}

2.程序填空题

(1)下列程序的功能为:

按给定格式输入数据,按要求格式输出结果。

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

程序以文件名sy3_4.c保存。

输入形式enterx,y:

23.4

输出形式x+y=5.4

#include

main()

{

intx;

floaty;

printf("enterx,y:

");

scanf("%d%f",&x,&y);

printf("x+y=%.1f\n",x+y);

}

(2)下列程序的功能为:

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

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

(周长l=2

,圆面积s=

,圆球表面积sq=

,圆球体积vq=

;圆柱体积vz=

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

程序以文件名sy3_5.c保存。

#include

main()

{

floatpi,h,r,l,s,sq,vq,vz;

pi=3.1415926;

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

\n");

scanf("%f%f",&r,&h);

l=2*pi*r;

s=pi*r*r;

sq=4*pi*r*r;

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

vz=pi*h*r*r;

printf("圆周长为:

%.2f\n",l);

printf("圆面积为:

%.2f\n",s);

printf("圆球表面积为:

%.2f\n",sq);

printf("圆球体积为:

%.2f\n",vq);

printf("圆柱体积为:

%.2f\n",vz);

}

(3)下列程序的功能为:

通过键盘输入两个整数,分别存入变量x、y中,当x

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

程序以文件名sy3_6.c保存。

#include

main()

{intx,y,t;

printf("请输入x,y:

\n");

scanf("%d%d",&x,&y);

if(x

{t=x;x=y;y=t;}/*x与y交换*/

printf("交换后的x:

%dy:

%d\n",x,y);

}

3.编程题

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

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

程序以文件名sy3_7.c保存。

#include

main()

{

charc1,c2,c3;

c1=getchar();

c2=getchar();

c3=getchar();

putchar(c1);

putchar('\n');

putchar(c2);

putchar('\n');

putchar(c3);

putchar('\n');

}

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

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

要求:

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

程序以文件名sy3_8.c保存。

求根公式如下:

#include

#include

voidmain()

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

scanf("a=%f,b=%f,c=%f",&a,&b,&c);

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

p=-b/(2.0*a);

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

x1=p+q;

x2=p-q;

printf("x1=%5.2f\nx2=%5.2f\n",x1,x2);

}

 

#include

#include

voidmain()

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

scanf("a=%f,b=%f,c=%f",&a,&b,&c);

if(a==0)

printf("不是二次方程\n");

else

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

if(disc<0)

printf("无实根\n");

else

if(disc==0)

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

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

x1=p+q;

x2=p-q;

printf("有两个相同的实根\n");

printf("x1=%5.2f\nx2=%5.2f\n",x1,x2);

}

else

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

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

x1=p+q;

x2=p-q;

printf("有两个不同的实根\n");

printf("x1=%5.2f\nx2=%5.2f\n",x1,x2);

}

}

 

实验四选择结构程序设计

(解答)

1.改错题

(1)下列程序的功能为:

输入1个字母,如果它是小写字母,则首先将其转换成大写字母,再输出该字母的前序字母、该字母、该字母的后序字母,例如:

输入g,则输出FGH;输入a,则输出ZAB;输入M,则输出LMN;输入Z,则输出YZA。

请纠正程序中存在错误,使程序实现其功能,程序以文件名sy4_1.c保存。

该程序的运行结果:

Enteracharacter:

g

FGH

#include

main()

{

charch,c1,c2;

printf("Enteracharacter:

");

ch=getchar();

if((ch>='a')||(ch<='z'))//if((ch>='a')&&(ch<='z'))

ch-=32;

c1=ch-1;

c2=ch+1;

if(ch='A')//if(ch=='A')

c1=ch+25;

elseif(ch='Z')//elseif(ch=='Z')

c2=ch-25;

putchar(c1);

putchar(ch);

putchar(c2);

putchar('\n');

}

改正后的程序:

#include

main()

{

charch,c1,c2;

printf("Enteracharacter:

");

ch=getchar();

if((ch>='a')&&(ch<='z'))

ch-=32;

c1=ch-1;

c2=ch+1;

if(ch=='A')

c1=ch+25;

elseif(ch=='Z')

c2=ch-25;

putchar(c1);

putchar(ch);

putchar(c2);

putchar('\n');

}

(2)下列程序的功能为:

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

请纠正程序中存在错误,使程序实现其功能,程序以文件名sy4_2.c保存。

该程序的运行结果:

请输入3个整数:

527

3个数中最大者为:

7

#include"stdio.h"

main()

{

inta,b,c,max;

printf("请输入3个整数:

\n");

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

max=a;

if(c>b)

{if(b>a)max=c;}/*c>b>a*/

else/*b>c*/

{if(c>a)max=b;}/*b>c>a*/

printf("3个数中最大者为:

%d\n",max);

}

改正后的程序:

#include"stdio.h"

main()

{

inta,b,c,max;

printf("请输入3个整数:

\n");

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

max=a;

if(c>b)

{if(c>a)max=c;}

else

{if(b>a)max=b;}

printf("3个数中最大者为:

%d\n",max);

}

(3)下列程序的功能为:

输入1-4月份号,输出该月份对应的英语表示法。

例如,输入“3”,则输出“Mar”。

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

程序以文件名sy4_3.c保存。

#include"stdio.h"

main()

{

该程序的运行结果:

inputthemonthnumber:

2

Feb

charm;

printf(“inputthemonthnumber:

\n”);

scanf(“%c”,&m);

switch(m)

{

case1:

printf(“Jan”);

case2:

printf(“Feb”);

case3:

printf(“Mar”);

case4:

printf(“Apr”);

}

}

改正后的程序:

改法一

#include"stdio.h"

main()

{

charm;

printf("inputthemonthnumber:

\n");

scanf("%d",&m);

switch(m)

{

case1:

printf("Jan");break;

case2:

printf("Feb");break;

case3:

printf("Mar");break;

case4:

printf("Apr");

}

}

改法二

#include"stdio.h"

main()

{

charm;

printf("inputthemonthnumber:

\n");

scanf("%c",&m);

switch(m)

{

case‘1’:

printf("Jan");break;

case‘2’:

printf("Feb");break;

case‘3’:

printf("Mar");break;

case‘4’:

printf("Apr");

}

}

2.程序填空

(1)下列程序的功能为:

判断从键盘上输入的一个字符,并按下列要求输出。

若该字符是数字输出字符串"0-9"

若该字符是大写字母输出字符串"A-Z"

若该字符是小写字母输出字符串"a-z"

若该字符是其他字符输出字符串"!

,@,…"

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

程序以文件名sy4_4.c保存。

#include

该程序的运行结果:

d

a-z

main()

{charc;

scanf(___"%c",&c_________);

if('0'<=c&&c<='9')

_____printf("0-9\n");______

elseif(___c>='A'&&c<='Z'______)

printf("A-Z\n");

____elseif_______('a'<=c&&c<='z')

printf("a-z\n");

____else__________________

printf("!

,@,…\n");

}

该程序的运行结果:

Pleaseinputaexpression:

2*6

2*6=12

(2)下列程序的功能为:

实现加、减、乘、除四则运算。

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

程序以文件名sy4_5.c保存。

#include

main()

{

inta,b,d;

charch;

printf("Pleaseinputaexpression:

");

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

switch(ch)

{

case'+':

d=a+b;

printf("%d+%d=%d\n",a,b,d)

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

当前位置:首页 > 经管营销 > 经济市场

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

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