广东工业大学龙洞C语言选修实验报告黄永慧.docx
《广东工业大学龙洞C语言选修实验报告黄永慧.docx》由会员分享,可在线阅读,更多相关《广东工业大学龙洞C语言选修实验报告黄永慧.docx(15页珍藏版)》请在冰点文库上搜索。
广东工业大学龙洞C语言选修实验报告黄永慧
广东工业大学龙洞C语言选修实验报告—黄永慧
————————————————————————————————作者:
————————————————————————————————日期:
序号:
C程序设计
实验报告
课程名称C程序设计
学生学院XX学院
专业班级20XX级XXXX
学号XXXXXXX
学生姓名XXXX
指导教师黄永惠
2015年10月
一.实验目的
1.熟悉并掌握VC++6.0的开发环境,掌握C程序的编辑、编译、连接和运行的基本过程。
2.了解数据类型在程序设计语言中的意义。
3.掌握并熟练应用赋值语句和格式化输入输出函数。
4.理解C语言程序的顺序结构,学会正确编写并运行顺序结构程序。
5.学会设计简单的顺序结构程序。
二.实验软件环境
操作系统:
microsoftwindows764位旗舰版。
操作软件:
VisualC++6.0
三.实验内容
1、判定2000—2500年中的每一年是否闰年,并将结果输出。
要求1)画流程图
2)编写程序实现,并输出结果
2、由键盘输入某个数n,求1至n的累加和。
例如,键盘输入100,求1+2+3+…+100的和。
要求1)画流程图
2)编写程序实现,并输出结果
3、一家大型化工厂采用佣金方式为推销员付酬金。
推销员每周领到基本工资200美元,再加上这周销售毛利的9%。
例如,某位销售员某周卖了价值5000美元的化工产品,那么除领取基本的200美元外,还有5000美元的9%,共计650美元。
开发一个C程序,它利用一条while语句输入每位销售员上周的毛利,然后计算和显示其收入。
每次处理一个销售员的数据。
要求1)画流程图
2)编写程序实现,并输出结果
4、编写程序,按下列格式打印九九乘法表。
*123456789
11
224
3369
4481216
5510152025
661218243036
77142128354249
8816243240485664
991827364554637281
5、从键盘上输入任意整数,逆序输出其各位数字,同时求出其位数及各位数字之和。
6、计算费波那西(Fibonacci)数列的前15个数。
并按每行输出5个数的方式输出其结果。
7、要求输出100~500之间的不能被3整除或者被5整除的数。
四.实验的结果及分析
1、判定2000—2500年中的每一年是否闰年,并将结果输出。
要求1)画流程图
2)编写程序实现,并输出结果
答:
1)画流程图
2)编写程序实现,并输出结果
#include
intmain(){
intyear;
for(year=2000;year<=2500;year++){
if(year%4==0){
if(year%100!
=0){
printf("%d是闰年\n",year);
}else{
if(year%400!
=0){
printf("%d不是闰年\n",year);
}else{
printf("%d是闰年\n",year);
}
}
}else{
printf("%d不是闰年\n",year);
}
}
}
分析:
该题考察了如何用流程图来表示一个算法,还考察了对if语句的运用。
2、由键盘输入某个数n,求1至n的累加和。
例如,键盘输入100,求1+2+3+…+100的和。
要求1)画流程图
2)编写程序实现,并输出结果
答:
1)画流程图
2)编写程序实现,并输出结果
#include
intmain(){
intn,sum=0;
printf("请输入一个整数");
scanf("%d",&n);
printf("1至%d的累加和=",n);
while(n>=0){
sum=sum+n;
n--;
}
printf("%d\n",sum);
}
分析:
首先本题考察了利用流程图来表示一个算法,其次考察我们对输入输出语句的运用,还考察了对循环语句的使用,本人在这里选择的是while语句实现循环的效果。
3、一家大型化工厂采用佣金方式为推销员付酬金。
推销员每周领到基本工资200美元,再加上这周销售毛利的9%。
例如,某位销售员某周卖了价值5000美元的化工产品,那么除领取基本的200美元外,还有5000美元的9%,共计650美元。
开发一个C程序,它利用一条while语句输入每位销售员上周的毛利,然后计算和显示其收入。
每次处理一个销售员的数据。
要求1)画流程图
2)编写程序实现,并输出结果
答:
1)画流程图
2)编写程序实现,并输出结果
#include
intmain(){
floats,sum=200;
while(s!
=-1){
printf("请输入毛利(没有毛利请输入0)");
scanf("%f",&s);
sum=sum+s*0.09;
printf("%f\n",sum);
}
}
分析:
首先这题考察了如何利用流程图来表示一个算法,其次还考察了我们对while语句的利用,还有对输入输出语句的利用。
4、编写程序,按下列格式打印九九乘法表。
*123456789
11
224
3369
4481216
5510152025
661218243036
77142128354249
8816243240485664
991827364554637281
答:
#include
intmain(){
inti,j,k;
printf("*123456789\n");
for(i=1;i<=9;i++){
printf("%d",i);
for(j=1;j<=9;j++){
k=i*j;
if(i>=j)
printf("%3d",k);
}
printf("\n");
}
}
分析:
这题主要考察了我们的for循环语句的利用,这题我用了嵌套的for循环语句,还用了一个if语句来实现正三角输出。
5、从键盘上输入任意整数,逆序输出其各位数字,同时求出其位数及各位数字之和。
#include
intmain(){
intn,i=0,sum=0;
printf("请输入一个整数\n");
scanf("%d",&n);
printf("逆序输出%d的各位数字为",n);
do{
printf("%d",n%10);
sum+=n%10;
n/=10;
i++;
}while(n>0);
printf("\n%d的位数是%d",n,i);
printf("\n各位数字之和为%d\n",sum);
}
分析:
首先这题考察了我们对输入输出语句的利用,其次考察了我们对运算符的灵活运用处理,还有循环语句的使用。
本题灵活利用循环语句和运算符的结合,能依次从个位数开始读出每位数字,都出来并累计起来。
这里,我用了do……while循环语句来实现。
6、计算费波那西(Fibonacci)数列的前15个数。
并按每行输出5个数的方式输出其结果。
#include
intmain(){
inti;
intf[15]={1,1};
for(i=2;i<15;i++){
f[i]=f[i-2]+f[i-1];
}
for(i=0;i<15;i++){
if(i%5==0){
printf("\n");
}
printf("%12d",f[i]);
}
printf("\n");
return0;
}
分析:
本题主要考察我们对数组的定义和引用,我们定义一个长度为15的数组来保存费波那西数列的前15个数,其次考察我们对各种语句的综合利用,本题我们用一个for循环语句对数组元素赋值,并利用一个for循环语句进行输出,为了实现每行输出5个数的的输出效果,在输出的for循环语句中嵌套了一个if语句。
7、要求输出100~500之间的不能被3整除或者被5整除的数。
#include
intmain(){
inti;
for(i=100;i<=500;i++){
if(i%3!
=0||i%5!
=0){
printf("%d",i);
}else{}
}
printf("\n");
}
分析:
首先,我用一个for循环语句输出结果,然后再for语句中嵌套一个if语句来实现条件“不能被3整除或者被5整除”的判断。
总的来说,这题了考察了我们对各种语句的综合灵活利用,也考察了我们对逻辑运算符的运用。
五.实验心得体会
在上过这个学期的C语言程序设计课程以及自己练习过如何操作Visualc++6.0后,我对程序设计,特别是C语言程序设计有了一定的了解。
类似这样的题目,每当我做完后我都觉得算法是C语言设计最难也是最灵魂的一步。
对于C语言和“砖瓦”之间的差异,我个人认为C语言胜在其功能丰富、使用灵活,既适用于编写系统语言,又能方便地用来编写应用软件。
因此,无论是否是计算机专业的学生,都要学习程序设计知识,并且把它作为进一步学习与应用计算机的基础。
即使我们将来不是计算机专业人员,通过学习程序设计,了解软件的生产过程的特点,这将有利于我们与程序开发人员更好地沟通合作。