第一篇:c程序设计实验十三
C程序设计实验报告
浙江理工大学信息学院
C程序设计实验报告
实验名称: 学时安排:
实验类别:
实验要求:1人1组
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
一、实验目的
二、实验设备介绍
软件需求: Visual C++ 6.0或CFree3.5以上版本
硬件需求: 对于硬件方面的要求,建议配置是Pentium III 450以上的CPU处理器,64MB以上的内存,200MB的自由硬盘空间、CD-ROM驱动器、能支持24位真彩色的显示卡、彩色显示器、打印机。
三、实验内容
四、程序清单
五、运行结果
六、实验心得
第二篇:C语言程序设计实验
(二)
[实验1]
1.实验题目
下列各题的算法用传统流程图及N-S流程图两种方式表示:
(1)输出图形(顺序结构)
★★★★★★★★
★★★★★★★★
★★★★★★★★
★★★★★★★★
(2)判断用户输入的字符是数字字符、字母字符还是其它字符。(选择结构)
(3)运用循环结构打印如下图形(for循环结构)。
◆
◆◆◆
◆◆◆◆◆
◆◆◆◆◆◆◆
◆◆◆◆◆◆◆◆◆
(4)输入任意数N,求P的值 (P=N!)(当型循环结构)
(5)输出1~N间20个不能被3整除的数列(直到型循环结构)
(6)计算并打印九九表。(直到型循环结构)
2.实验目标
(1)熟练掌握流程图表示算法的方法。
(2)熟练掌握结构化程序设计的三种基本结构。
[实验2] 变量的变化情况。
1.实验题目
有以下程序
#include
#definea 3*2+1
#defineA a*a+a
#defineb (3*2+1)
#defineB (b)*(b)+(b)
main()
{
int x1,x2;
int y1,y2;
x1=a*a;
y1=A*A;
x2=b*b;
y2=B*B;//换为y2=(A)*(A)结果是否相同
printf("x=%d y=%d ",x1,y1);
printf("x=%d y=%d ",x2,y2);
}用逐行断点测试方法,体会程序运行时各变量值的变化情况。
2.实验要求
(1)在上机实验之前先将每执行一条语句后变量x
1、x2和y
1、y2的预期结果写在相应语句旁。
(2)设置4个监视项x
1、x2和y
1、y2,断点逐行测试执行程序。
(3)每执行一条语句后,对比Watch窗口中变量x
1、x2和y
1、y2的值与预期的值是否一致,若不一致,请解释原因。
(4)将语句“y2=B*B;”换为“y2=(A)*(A)”,测试结果是否相同,为什么?
(5)运行结束后查看输出结果,确认该结果是否与预期的值一致。
3.实验目标
(1)宏定义的正确定义。
(2)宏定义的正确使用。
第三篇:《C程序设计》实验报告格式
中国计量学院 实 验 报 告
实验课程: C语言程序设计(2) 实验名称: 综合实验 班 级: XXXXX 学 号: XXXXXX 姓 名: XX 实验日期: 2011/10/13
一、实验目的
1.熟练掌握用户自定义函数的定义及调用 2.掌握函数间的参数传递 3.掌握函数的嵌套调用及递归调用 4.掌握文件的基本操作
二、实验内容
1. 编写程序:定义函数sum(n) 计算整数n的各位数之和,函数类型是int 。主函数输入整数n,将n的各个位数之和写入到design1.dat文件中,要求调用自定义函数sum 。
2. 定义函数fact(n)计算n的阶乘,函数返回值类型是double;定义函数cal(x,n)计算xn/n!,函数返回值类型是double,要求调用fact函数计算n!;定义函数main(),输入正整数n和实数x,计算并将下列算式的值写入到design2.dat文件中。要求
xx2x3xn调用函数cal(x,n)计算每一项。y1
1!2!3!n!
实验成绩: 指导教师签名:
三、算法分析及源程序
1.(1)算法分析:定义变量、数组等……
从键盘输入……
……(具体的算法描述)
输出……
(2)源代码:#include …… 2.(1)算法分析:……
(2)源代码:#include ……
四、实验数据分析及结论 1.上机调试,输入……
运行结果: ……
调试结果分析:运行结果符合要求。或者运行结果有错,分析错误原因。 2.上机调试,输入……
运行结果: ……
调试结果分析:运行结果符合要求。或者运行结果有错,分析错误原因。
第四篇:C语言程序设计实验九
C语言程序设计实验九——字符数组
【实验题目1】
写几个函数:(1)输入10个职工的姓名和职工号;
(2)按职工号由小到大排序,姓名顺序也随之调整;
(3)要求输入一个职工号,找出该职工的姓名。
从主函数输入要查找的职工号,输出该职工姓名。
【实验题目2】有一行电文,已经按下面规律译成密码:
A → Za → z
B → Yb → y
C → Xc → x
即第一个字母变成第26个字母,第i个字母变成第(26-i+1)个字母。非字母字符不变。要求编程序将密码译回原文,并打印出密码和原文。
第五篇:高级语言程序设计实验报告 C语言实验报告
C语言程序设计实验报告
实验二 循环结构程序设计
班级 2012196 学号 201219628 姓名 李明月
一、实验目的
(1)掌握用while语句,do-while语句和for语句实现循环的方法; (2)掌握循环结构的嵌套;
(3)掌握break语句和continue语句的使用方法。
二、 实验内容及步骤
1.相传国际象棋是古印度舍罕王的宰相达依尔发明的。舍罕王十分喜欢象棋,决定让宰相自己选择何种赏赐。这位聪明的宰相指着8×8共64格的象棋盘说:陛下,请您赏给我一些麦子吧,就在棋盘的第一个格子中放1粒,第2格中放2粒,第3格放4粒,以后每一格都比前一格增加一倍,依此放完棋盘上的64个格子,我就感恩不尽了。舍罕王让人扛来一袋麦子,他要兑现他的许诺。 国王能兑现他的许诺吗?
程序1:试编程计算舍罕王共要多少粒麦子赏赐他的宰相,这些麦子合多少立方米?(已知1立方米麦子约1.42e8粒) 总粒数为:sum=1+2+22+23+„+263 程序代码:
#include int main( ) //定义一个主函数 { int i; double t=1,sum=1,v; //定义变量
for(i=1;i<=63;i++) //用for循环语句实现循环运算 { t=t*2; sum+=t; //循环表达式 } printf("总麦粒数为:%f ",sum); v=sum/1.42e8; printf("折合体积为: %f立方米 ",v); //对结果进行输出
return 0; } 运行结果:
1
2. 求完数。
程序2:一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6的因子为1,2,3,而6=1+2+3,因此6是“完数”。编程找出1000之内的所有完数,输出所有的完数(要求:一行显示6个数);
程序代码:
#include int main() { int i,j,sum,n=0; printf(" 1000以内的完数有: "); for(i=1;i<=1000;i++) {
sum=0; for(j=1;j
if(i%j==0)
{
sum=sum+j;
} } if(sum==i)
{ printf(" %d",i);
n=n+1;
if(n%2==0)
printf(" ");
} } printf(" "); return 0; } 运行结果:
2
3.打印九九乘法表
程序3:编程输出如下上三角形式的九九乘法表。
1 2 3 4 5 6 7 8 9---- - - - "); for(i=1;i<10;i++) //i { for(j=1;j<=i;j++) // printf(" "); for(j=i;j<10;j++) //j printf("%-2d ",i*j); // printf(" "); }
代表行 输出空格达到来使得向右对齐代表列
输出行与列的乘积 3 1 2 3 4 5 6 7 8 9
运行结果:
三、问题讨论
break语句和continue语句在循环结构中使用时有何区别?举例说明。
break语句是跳出整个循环过程,不再判断执行循环的田间是否成立,并且break语句不能用于循环语句和switch语句之外的任何其他语句中。而continue语句则只是结束本次循环,即跳过循环体中下面尚未执行的语句,接着进行下一次是否执行循环的判定。
例子:
#include int main( ) { int i; for(i=100;i<=200;i++) { if(i%3==0) continue;
printf("%d",i); } printf(" "); return 0; } 输出:
但是换成break之后:
四、实验心得
个人感觉对于这几个循环语句还是for循环最为灵活,不进可以用于循环次数一句in个确定的情况,还可用于不确定的情况下,它也完全可以代替while语句。并且是程序看起来更为简洁明了。
5