实验一C新程序运行环境及简单程序的运行.docx
- 文档编号:26931108
- 上传时间:2023-06-24
- 格式:DOCX
- 页数:72
- 大小:736.50KB
实验一C新程序运行环境及简单程序的运行.docx
《实验一C新程序运行环境及简单程序的运行.docx》由会员分享,可在线阅读,更多相关《实验一C新程序运行环境及简单程序的运行.docx(72页珍藏版)》请在冰豆网上搜索。
实验一C新程序运行环境及简单程序的运行
GuangxiUniversityofScienceandTechnology
《C语言程序设计》实验报告
院(系):
计算机学院
专业:
通信工程
班级:
通信132班
学生姓名:
王睿
学号:
201300402042
上课时间:
2013-2014
(1)
指导老师:
王智文
实验一C程序运行环境及简单程序的运行
一、实验目的
(1)了解所用的计算机系统的基本操作方法,学会独立使用该系统。
(2)了解在该系统上如何编辑、编译、连接和运行一个C程序。
(3)通过运行简单的C程序,初步了解C程序的特点。
二、实验内容
1.下列程序的功能为:
计算x*y的值并将结果输出,程序中有8处错误,尝试改正并上机调试之(程序以文件名sy1_2.cpp存盘)。
#include
voidmain
{intx=2;y=3;a
A=x*y
print("a=%d",a);
printf(‘\n’);
}
2.下列程序的功能为:
输入圆的半径,计算圆面积并将结果输出;程序中有9处错误,尝试改正并上机调试之(程序以文件名sy1_3.cpp存盘)。
#includestdio.h;
intmian();
floatr;area;
printf("inputr:
\n");
scanf("%f",r);
area=3.14159r*r;
printf("r=%f,area=%f\n",area);
3.编写一个程序实现输入三个整数,显示出其中的最大值。
三、实验分析与总结
⑴总结C程序的结构和书写规则。
⑵阅读:
附件A-在VisualC++环境下运行C程序的方法。
特别提示:
当程序在编译时发现很多错误,此时应从上到下逐一改正,或改一个错误,就重新再编译,因为有时一个错误会引起很多错误信息。
四、相关实验程序列表
1
#include
voidmain()
{intx=2,y=3,a;
a=x*y;
printf("a=%d",a);
printf("\n");
}
2
#include
intmain()
{floatr,area;
printf("inputr:
\n");
scanf("%f",r);
area=3.14159*r*r;
printf("r=%f,area=%f\n",area);
}
3
#include
intmain()
{
intmax(intx,inty,intz);
inta,b,c,d;
scanf("%d,%d,%d",&a,&b,&c);
d=max(a,b,c);
printf("max=%d\n",d);
return0;
}
intmax(intx,inty,intz)
{
intw;
if(x>y)w=x;
elsew=y;
intq;
if(w>z)q=w;
elseq=z;
return(q);
}
五、实验心得
通过这次学习,我学会了编辑、编译、连接和运行一个C程序,初步了解了C程序的特点,我感到很高兴,我会努力把基础学好。
实验二基本数据类型、运算和表达式
一、实验目的
(1)掌握C语言数据类型,熟悉如何定义一个整型和实型的变量,以及对它们赋值的方法。
(2)掌握不同的类型数据之间赋值的规律。
(3)学会使用C的有关算术运算符,以及包含这些运算符的表达式,特别是自加(++)和自减(--)运算符的使用。
(4)进一步熟悉C程序的编辑、编译、连接和运行的过程。
二、实验内容
1.[变量定义,按要求完成程序]
下面给出一个可以运行的程序,但是缺少部分语句,请按右边的提示补充完整缺少的语句。
#include"stdio.h"
main()
{
;/*定义整型变量a和b*/
;/*定义实型变量i和j*/
a=5;
b=6;
i=3.14;j=i*a*b;
printf("a=%d,b=%d,i=%f,j=%f\n",a,b,i,j);
}
[具体操作步骤]
(1)将代码补充完整;
(2)在VC++上运行通过并写出运行结果。
2.[在显示屏上显示指定字符]
要求编写一个程序,在显示屏上显示如下内容(全为半角字符,且不包含空格):
C:
\ABC.TXT
[提示]注意转义字符在程序中的使用。
3.[赋值表达式与赋值语句,写出程序运行结果]
阅读下面程序,写出运行结果:
#include"stdio.h"
main()
{floata;
intb,c;
chard,e;
a=3.5;
b=a;
c=330;
d=c;
e='\141';
printf("%f,%d,%d,%c,%c",a,b,c,d,e);
}
运行结果为:
[提示]赋值语句具有类型转换的功能,但可能会改变数据。
4.[基本运算,写出程序运行结果]
阅读下面程序,写出运行结果:
#include"stdio.h"
main()
{inta,b,c;
floatd=15,e,f;
a=35%7;
b=15/10;
c=b++;
e=15/10;
f=d/10;
printf("%d,%d,%d,%f,%f,%f",a,b,c,d,e,f);
}
运行结果为:
[提示]除法分整除与普通除法之分。
三、实验分析与总结
⑴总结如何定义C程序的数据类型,运算符的优先级别,赋值表达式的作用。
⑵程序4中的b++改写为++b后的结果会变化吗?
四、相关实验程序列表
1
#include"stdio.h"
intmain()
{
inta=5;
intb=6;
floati=3.14;
floatj=i*a*b;
printf("a=%d,b=%d,i=%f\n",a,b,i);
printf("j=%f\n",j);
return0;
}
2
#include"stdio.h"
intmain()
{
printf("C:
\\ABC.TXT");
}
3
#include"stdio.h"
main()
{floata;
intb,c;
chard,e;
a=3.5;
b=a;
c=330;
d=c;
e='\141';
printf("%f,%d,%d,%c,%c",a,b,c,d,e);
}
4
#include"stdio.h"
main()
{inta,b,c;
floatd=15,e,f;
a=35%7;
b=15/10;
c=b++;
e=15/10;
f=d/10;
printf("%d,%d,%d,%f,%f,%f",a,b,c,d,e,f);
}
五、实验心得
通过这次学习我学会了整型和实型的变量,以及对它们赋值的方法和使用C的有关算术运算符,以及包含这些运算符的表达式,我会巩固所学到的知识,继续努力。
实验三基本输入与输出
一、实验目的
(1)熟练掌握putchar、getchar、printf、scanf函数的使用方法。
(2)掌握各种类型数据的输入输出的方法,能正确使用各种格式转换符。
二、实验内容
1.[字符的输入与输出]
编程实现由键盘输入一个字符后,在屏幕上输出该字符。
参考程序:
#include"stdio.h"
main()
{charch;
ch=getchar();
putchar(ch);
}
2.[加法计算]
编程实现由键盘输入一个加法式,输出正确的结果。
(两个加数均为整数)。
参考程序:
#include"stdio.h"
main()
{inta,b;
scanf("%d%*c%d",&a,&b);
printf("%d",a+b);
}
3.[求圆的面积]
由键盘输入圆半径r,请计算该圆的面积。
(注:
π取3.14159,结果保留两位小数位;另外,程序只要能对r在0到10000范围的情况输出正确答案即可)。
参考程序:
#include"stdio.h"
main()
{floatarea,r;
scanf("%f",&r);
area=3.14159*r*r;
printf("%0.2f",area);
}
运行结果为:
4.[计算摄氏温度值]
从键盘输入一个华氏温度值,要求按格式输出其对应的摄氏温度值,精确到小数点后两位。
数学公式描述为:
参考程序:
#include
main()
{floatf,c;
scanf("%f",&f);
c=5.0/9*(f-32);
printf("%.2f",c);
}
运行结果为:
三、实验分析与总结
⑴各实验运行结果及分析。
⑵程序2中%*c的含义是什么?
(3)程序4中c=5.0/9*(f-32),为什么要用5.0,如果改为5,运行结果将会是什么?
四、相关实验程序列表
1
#include"stdio.h"
intmain()
{charch;
ch=getchar();
putchar(ch);
putchar('\n');
}
2
#include"stdio.h"
main()
{inta,b;
scanf("%d%*c%d",&a,&b);
printf("%d\n",a+b);
}
3
#include"stdio.h"
main()
{floatarea,r;
scanf("%f",&r);
area=3.14159*r*r;
printf("%0.2f\n",area);
}
4
#include
main()
{floatf,c;
scanf("%f",&f);
c=5.0/9*(f-32);
printf("%.2f\n",c);
}
五、实验心得
通过这次学习,我熟悉了putchar、getchar、printf、scanf函数的使用方法以及各种类型数据的输入输出,能够正确使用各种格式转换符,我感受到了学习c语言的乐趣。
实验四顺序结构程序设计
一、实验目的
(1)熟练掌握顺序结构程序设计的设计方法。
(2)掌握各赋值语句的正确使用方法。
(3)学习进一步调试程序。
二、实验内容
1.[sizeof运算符的使用方法]
以下程序用于测试C中不同类型数据所占内存字节数,运行并体会sizeof运算符的使用方法。
//sizeof运算的结果为一个int型的整数,表示其求解对象的存储所占的内存字节数。
#include
voidmain()
{inta=1;
printf("Sizeofcharis%d\n",sizeof(char));
printf("Sizeofshortis%d\n",sizeof(short));
printf("Sizeofintis%d\n",sizeof(int));
printf("Sizeoflongis%d\n",sizeof(long));
printf("Sizeoffloatis%d\n",sizeof(float));
printf("Sizeofdoubleis%d\n",sizeof(double));
printf("Sizeofboolis%d\n",sizeof(bool));
printf("------------------------------\n");
printf("Sizeofais%d\n",sizeof(a));//变量的类型所占内存字节数
printf("Sizeof2.0*10is%d\n",sizeof(2.0*10));//表达式运算结果的类型所占字节数
printf("sizeofLiuDehuais%d\n",sizeof("LiuDehua"));//字符串所占内存字节数
}
参考结果
2.[分析程序的输出结果]
阅读并分析以下程序的输出结果,上机调试,对比实际的输出与分析的结果是否一致。
#include
voidmain()
{charch=65;
inta=1234;
longg=12345678;
floatf=123.456789;
doubled=9.87654321E5;
printf("%d,%c,%5d,%3c\n",ch,ch,ch,ch);
printf("%08d,%0+8d,%8d,%o,%7x,%10ld,%ld\n",a,a,a,a,g,g);
printf("%010.3f,%-10.3f,%10.3f,%f,%e,%g\n",f,f,f,f,f,f);
printf("%0+15.5lf,%-15.5lf,%15.5lf,%lf,%le\n",d,d,d,d,d);
printf("%10s\n%20s\n%-10.3s\n%s\n","Hello,world!
","Hello,world!
","Hello,world!
","Hello,world!
");
}
参考结果
3.[程序修改]
下列程序的功能为:
按下列公式计算并输出x的值。
其中a和b的值由键盘输入。
x=2ab/(a+b)2
请纠正程序中存在的错误,使程序实现其功能。
#include
voidmain()
{inta,b;
floatx;
scanf("%d,%d",a,b);
x=ab/(a+b)(a+b);
printf("x=%d\n",x);
}
4.[编写与调试程序]
写一个程序测试一下把带小数的float和double型数据用printf函数输出时,小数部分是截断还是四舍五入?
三、实验分析与总结
⑴各实验运行结果及分析。
⑵程序1中LiuDehua的sizeof的值为什么是10还不是9?
四、相关实验程序列表
1
#include
voidmain()
{inta=1;
printf("Sizeofcharis%d\n",sizeof(char));
printf("Sizeofshortis%d\n",sizeof(short));
printf("Sizeofintis%d\n",sizeof(int));
printf("Sizeoflongis%d\n",sizeof(long));
printf("Sizeoffloatis%d\n",sizeof(float));
printf("Sizeofdoubleis%d\n",sizeof(double));
printf("Sizeofboolis%d\n",sizeof(bool));
printf("------------------------------\n");
printf("Sizeofais%d\n",sizeof(a));//变量的类型所占内存字节数
printf("Sizeof2.0*10is%d\n",sizeof(2.0*10));//表达式运算结果的类型所占字节数
printf("sizeofLiuDehuais%d\n",sizeof("LiuDehua"));//字符串所占内存字节数
}
2
#include
voidmain()
{charch=65;
inta=1234;
longg=12345678;
floatf=123.456789;
doubled=9.87654321E5;
printf("%d,%c,%5d,%3c\n",ch,ch,ch,ch);
printf("%08d,%0+8d,%8d,%o,%7x,%10ld,%ld\n",a,a,a,a,g,g);
printf("%010.3f,%-10.3f,%10.3f,%f,%e,%g\n",f,f,f,f,f,f);
printf("%0+15.5lf,%-15.5lf,%15.5lf,%lf,%le\n",d,d,d,d,d);
printf("%10s\n%20s\n%-10.3s\n%s\n","Hello,world!
","Hello,world!
","Hello,world!
","Hello,world!
");
}
3
#include
voidmain()
{
inta,b;
floatx;
scanf("%d,%d",&a,&b);
x=(float)a*b/((a+b)*(a+b));
printf("x=%f\n",x);
}
4
#include
intmain()
{floata=1.5555555555;
doubleb=1.5555555555;
printf("%f,%f\n",a,b);
return0;
}
五、实验心得
通过这次学习,我基本掌握了顺序结构程序设计的设计方法以及各赋值语句的正确使用方法,我会努力熟悉他们以便更好地设计程序。
实验五选择结构程序设计
一、实验目的
(1)了解C语言表示逻辑的方法(以0代表“假”,以非0代表“真”)。
(2)学会正确使用逻辑运算符和逻辑表达式。
(3)熟练掌握if语句和switch语句。
(4)结合程序掌握一些简单的算法。
二、实验内容
1.[判断点是否在圆上]
由键盘输入一个点的坐标,要求编程判断这个点是否在单位圆上,点在圆上输出Y,不在圆上输出N。
使用小数点后3位精度进行判断。
[提示]
(1)平面上的点与圆的关系分为在圆内、在圆上、在圆外三种,本题要求判断是否在圆上;
(2)判断两实数相等采用判断这两实数的差的绝对值小于规定误差精度(本题为0.001)的方法实现。
参考程序:
#include"stdio.h"
#include"math.h"
main()
{floata,b;
scanf("%f,%f",&a,&b);
if(fabs(a*a+b*b-1)<1e-3)
printf("Y\n");
elseprintf("N\n");
}
2.[求数的位数]
由键盘输入一个不多于9位的正整数,要求输出它是几位数。
[提示]划定一位数、二位数、…、九位数的范围,然后用if…elseif…else语句实现判断。
参考程序:
#include"stdio.h"
main()
{intn,place;
scanf("%ld",&n);
if(n>99999999)place=9;
elseif(n>9999999)place=8;
elseif(n>999999)place=7;
elseif(n>99999)place=6;
elseif(n>9999)place=5;
elseif(n>999)place=4;
elseif(n>99)place=3;
elseif(n>9)place=2;
elseplace=1;
printf("%ld\n",place);
}
3.[程序修改]
下列程序的功能为:
输入1个字母后,输出该字母的前序字母、该字母、该字母的后序字母,例如:
输入g,则输出fgh;输入a,则输出zab;输入M,则输出LMN;输入Z,则输出YZA。
#include
voidmain()
{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');
}
请纠正程序中存在的错误,使程序实现其功能。
4.[字符变换]
由键盘输入5个字符,将其中的大写字母变成小写,其它类型的字符不变,并按输入顺序逐个输出。
[提示]下面代码实现由键盘读入一个字符,并按题意处理后输出
chara;
a=getchar();
if(a>='A'&&a<='Z')a=a+32;
putchar(a);
现在,题目要求处理5个字符,怎么做呢?
请自己思考……
5.[简单计算器]
下面程序是实现一个简单的运算器(保留两位小数点),如果由键盘输入10+50,计算机可以输出结果60.00;如果输入8*6,计算机输出48.00;如果输入20/4,计算机输出5.00;如果输入8-6,计算机输出2.00,请在空处填上适当的代码,运行通过后并提交。
#include"stdio.h"
main()
{floata,b,c;
charop;
scanf("%f%c%f",);
switch(op)
{case'+':
;
case'-':
;
case'*':
;
case'/':
;
default:
printf("error");
return;
}
printf("result=",c);
}
6.[编写与调试程序]
输入三角形的三边长a、b、c,求其面积三角形的面积公式为:
Area=
,其中S=(a+b+c)/2。
(要求判断边长值的合法性与三角形的可构成性)。
参考程序:
#include"stdio.h"
#include"math.h"//数学函数库头文件
voidmain()
{
doublea,b,c,s,area;
printf("请输入三角形三边长:
\n");
scanf("%lf,%lf,%lf",&a,&b,&c);
if(a<=0||b<=0||c<=0)//有任一边边长小于等于0
printf("边长必须为正!
\n");
else
if(a+b>c&&b+c>a&&a+c>b)//任意两边之和对于第三边
{
s=(a+b+c)/2;
area=sqrt(s*(s-a)*(s-b)*(s-c));//doublesqrt
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 程序 运行 环境 简单
![提示](https://static.bdocx.com/images/bang_tan.gif)