《C程序设计》课程实验报告.docx
- 文档编号:27403418
- 上传时间:2023-06-30
- 格式:DOCX
- 页数:22
- 大小:97.47KB
《C程序设计》课程实验报告.docx
《《C程序设计》课程实验报告.docx》由会员分享,可在线阅读,更多相关《《C程序设计》课程实验报告.docx(22页珍藏版)》请在冰豆网上搜索。
《C程序设计》课程实验报告
(此文档为word格式,下载后您可任意编辑修改!
)
兰州商学院陇桥学院工学系
课程实验报告
课程名称:
高级程序设计语言
专业:
信息管理与信息系统
班级:
2012级本科二班
学号:
姓名:
柳彦军
指导教师:
于岚
2013年06月26日
实验一熟悉C语言运行环境
一、实验目的:
1、熟悉C语言编程环境,VisualC++6.0,掌握运行一个C程序的基本步骤,包括编辑、编译、连接和运行。
2、通过运行简单的C程序,初步了解C源程序的特点。
3、了解程序调试的思想,能找出并改正C程序中的语法错误。
二、实验内容:
1、在E盘中建立自己的文件夹,存放程序。
2、启动VisualC++6.0,进入C编译集成环境。
3、输入并运行几个简单程序。
三、实验步骤
1、启动VisualC++6.0,输入和编辑一个简单、正确的程序。
①在VisualC++主窗口菜单栏中选择“文件”→“新建”→“文件”选项卡,选择“C++SourceFile”,然后在右边的“文件名”框内输入源文件名“lt1-1.c”,并在“位置”框选择E盘中自己建立的文件夹,单击“确定”按钮,出现编辑屏幕,即可编写程序。
②输入程序如下:
#include {函数开始的标志 printf("Let’sstudyaCprogram.\n");输出所指定的信息 }函数结束标志 ③选择“文件”菜单的“保存”命令,保存程序。 ④依次选择“文件”菜单的“编译”,“组建”,“运行”,实现对程序的编译及运行,弹出结果输出窗口。 2、输入一个有错误的程序,修改程序,直到程序能正常运行。 #include { inta,b,sum声明部分,定义3个整型变量 a=123;对变量a赋值 b=456; sum=a+b进行a+b运算,把结果存放在变量sum中 printf("sumis: %d\n",sum);输出结果。 d表示用十进制整数输出 } 3、输入并运行一个需要输入数据的程序: #include if(x>y) z=x;将x,y中较大的值赋给 else z=y; return(z);将z值返回。 通过max()函数带回调用处 } voidmain(); { inta,b,c; printf("inputa,b="); scanf("%d,%d",&a,&b);输入变量a和b的值 c=max(a,b); printf("maxis: %d\n",c); } 四、调试过程 1、编译第1个程序时,在调试信息窗口中显示如下信息: 成功编译。 2、编译第2个程序时,在调试信息窗口中显示如下信息: 经查程序,发现inta,b,sum和sum=a+b两句末漏写了“;”。 在这两句末加上分号后,重新编译程序后,没有错误,编译成功。 3、编译第3个程序时,在调试信息窗口中显示如下信息: 经查程序,发现voidmain();末尾多加了一个分号。 删去分号,重新编译,没有错误,编译成功。 五、实验结果 1、第1个程序结果: 2、第2个程序结果: 3、第3个程序运行后输入8和5,输出结果: 在运行后输入12和45,输出结果: 六、实验总结: (实验中遇到的问题及解决方法,心得体会等) 经过本次上机实验,我基本掌握运行一个C程序的基本步骤: 编辑——编译——连接——运行。 了解了C源程序的特点及书写规则,如函数是C程序的主要组成部分;每一个声明,每一个语句都必须以分号结尾。 但预处理命令,函数头和花括号“}”之后不能加分号,等等。 基本了解程序调试的思想,能找出并改正C程序中的语法错误。 实验二熟悉C语言程序的结构 一、实验目的: 1、掌握C语言程序的结构特点。 2、掌握基本的输入、输出函数。 3、能够模仿例题编写简单的C语言程序。 4、进一步熟悉C程序的编辑、编译、连接和运行的过程。 二、实验内容: 1、请参照本章例题,编写一个C程序,输出以下信息: 。 2、从键盘输入矩形的长和宽,计算该矩形的周长和面积。 三、解题思路: 1、题目要输出三行字符串,第1、3行是一串*,第2行是英文字符串,在程序里的函数体中可以用三句输出函数调用语句分别输出每一行的字符串。 2、 第一步: 定义四个变量a,b,s,r; 第二步: 输入长和宽的值,并赋值给a,b; 第三步: 计算a*b,2*(a+b)分别赋值给s,r; 第四步: 输出面积s和周长r的值。 四、编写程序: 1、#include { printf("************\n"); printf("Verygood! \n"); printf("************\n"); } 2、#include { inta,b,s,r; printf("请输入长和宽: "); scanf("%d,%d",&a,&b); s=a*b; r=2*(a+b); printf("面积为%d,周长为%d\n",s,r); } 五、实验结果: 1、第1个程序的结果: 2、 六、实验总结: (实验中遇到的问题及解决方法,心得体会等) 通过本次学习我基本上掌握C语言程序的结构特点,能够理清头绪读懂c语言,能够熟练的用运基本的输入、输出函数,并能模仿例题编写简单的C语言程序,在实验一的基础上进一步熟悉C程序的编辑、编译、连接和运行的过程,感觉对c语言产生了浓厚的兴趣,期待之后的知识的学习。 实验三数据类型、运算符和简单的输入输出 一、实验目的: 1、掌握C语言数据类型,熟悉如何定义一个整形、字符型和实型的变量,以及对他们赋值的方法。 2、掌握将数学公式装换为计算机语言。 3、学会使用C的有关算术运算符,以及包含这些运算符的表达式。 二、实验内容: 1、计算存款利息。 有1000元,想存一年。 有三种方法可选: (1)活期,年利率为r1=0.35% (2)一年期定期,年利率为r2=3.0% (3)存两次半年定期,年利率为r3=2.8% 请分别计算出一年后按三种方法所得到的本息和。 2、给定一个大写字母,要求用小写字母输出。 (用getchar输入,putchar输出,和scanf输入,printf输出两种方法。 ) 三、算法设计: 1. 第一步: 先定义七个变量p,r1,r2,r3,p1,p2,p3;; 第二步: 分别把本金和各种存法赋值给p,r1,r2,r3; 第三步: 计算p*(1+r1),p*(1+r2),p*(1+r32)*(1+r32),的值,并分别赋值给p1,p2,p3; 第四步: 输出。 2.方法一: 第一步: 定义一个字符型变量c; 第二步: 用运getchar()语句输入一个大写字母,并赋值给c; 第三步: 用运petchar()输出c+32的值,即转换成小写输出。 方法二: 第一步: 定义两个字符型变量c,e; 第二步: 从键盘输入一个大写字母并赋值给c; 第三步: 把c+32赋值给e; 第四步: 以字符型输出e的值。 四、编写程序: 1、#include { floatp,r1,r2,r3,p1,p2,p3; p=1000; r1=0.0035; r2=0.03; r3=0.028; p1=p*(1+r1); p2=p*(1+r2); p3=p*(1+r32)*(1+r32); printf("活期: %f,一年期定期: %f,存两次半年定期: %f\n",p1,p2,p3); } 2、方法一: #include { charc; c=getchar(); putchar(c+32); putchar('\n'); } 方法二: #include { charc,e; printf("输入大写字母: "); scanf("%c",&c); printf("小写为: %c\n",e=c+32); } 五、实验结果: 1、 2、 六、实验总结: (实验中遇到的问题及解决方法,心得体会等) 通过本次试验我基本上掌握了C语言数据类型,熟悉了如何定义一个整形、字符型和实型的变量,以及对他们赋值的方法;掌握了数学运算与计算机语言的转换;并掌握了使用C的有关算术运算符,以及包含这些运算符的表达式,感觉很不错,努力ing! 实验四顺序程序设计 一、实验目的: 1、掌握C语言中使用最多的一种语句——赋值语句的使用方法。 2、掌握各种类型数据的输入输出的方法,能正确使用各种格式转换符。 二、实验内容: 1、有若干只鸡和兔在同个笼子里,从上面数,有35个头;从下面数,有94只脚。 编程求笼中各有几只鸡和兔? 2、从键盘输入一个3位整数,要求反向输出该数。 (如输入123,反向输出为321) 三、算法设计: 1、 第一步: 定义四个变量x,y,a,b;并给a,b分别赋值35,94; 第二步: 列方程表达式; 第三步: 输出求出的x,y。 2. 第一步: 定义五个变量a,b,c,d,x; 第二步: 从键盘输入有一个三位数并赋值给x; 第三步: 通过计算将百位上的数赋值给a,十位的赋值给b,各位赋值给c。 第四步: d=a*100+b*10+c; 第五步: 输出新值。 四、流程图: (手绘) 五、编写程序: 1.#include { intx,y,a=35,b=94; x=(4*a-b)2; y=(b-2*a)2; printf("鸡有=%d,兔有=%d\n",x,y); } 2.#include { inta,b,c,d,x; printf("输入一个三位数: "); scanf("%d",&x); a=x100; b=x10%10; c=x%10; d=c*100+b*10+a; printf("反向输出结果为: %d\n",d); } 六、实验结果: 1. 2. 七、实验总结: (实验中遇到的问题及解决方法,心得体会等) 通过练习我掌握了C语言中使用最多的一种语句——赋值语句的使用方法,区分开了等于与赋值的不同,并能熟练的用运,并掌握了各种类型数据的输入输出的方法与表示字符,能正确使用各种格式转换符。 实验五选择结构程序设计 一、实验目的: 1、了解C语言表示逻辑量的方法(以0代表“假”,以非0代表“真”)。 2、学会正确使用逻辑运算符和逻辑表达式。 3、熟练掌握if语句和switch语句。 + 4、结合程序掌握一些简单的算法。 二、实验内容: 1、编写程序,计算下面分段函数的值: x-5(x>10) y= 4x+2(x<=10) 要求: 自变量x与函数值y均为单精度类型,输出结果保留2位小数。 2、从键盘输入一个整数作为月份,判断该月是哪个季节? (用switch语句) 三、算法设计: 1. 第一步: 定义两个单精度变量x,y; 第二步: 从键盘输入一个数并赋值给x; 第三步: 判断x与10的关系; 第四步: 若大于十则执行y=4*x+2; 否则执行y=x-5; 第五步: 输出y的值。 2. 第一步: 先定义一个变量a; 第二步: 从键盘输入月份并赋值给a; 第三步: 用运switch语句把2,3,,4定义为春季,以此类推定义其它月份; 第四步: 输入一个月份,判断。 第五步: 经判断并输出结果。 四、流程图: (手绘) 五、编写程序: 1.#include { floatx,y; printf("请输入x的值"); scanf("%f",&x); if(x<=10) y=(float)(4*x+2); else y=(float)(x-5); printf("y=%.2f\n",y); } 2.#include { inta; printf("输入月份: "); scanf("%d",&a); switch(a) {case2: case3: case4: printf("春季! \n",a);break; case5: case6: case7: printf("夏季! \n",a);break; case8: case9: case10: printf("秋季! \n",a);break; case11: case12: case1: printf("冬季! \n",a);break; default: printf("错误! \n"); } } 六、实验结果: 1. 2. 五、实验总结: (实验中遇到的问题及解决方法,心得体会等) 通过练习掌握了C语言表示逻辑量的方法和表示符号,并学会正确使用逻辑运算符和逻辑表达式,熟练掌握if语句和switch语句两种选择语句,结合程序掌握一些简单的算法,不错,要不断加油! ! ! ! 实验六循环结构程序设计 一、实验目的: 1、熟悉掌握用while语句,do-while语句和for语句实现循环的方法。 2、掌握在程序设计中用循环的方法实现一些常用算法(如穷举、迭代、递推等)。 二、实验内容: 1、求1! +2! +3! +……+20! 。 (用单循环、多循环两种方法) 2、输出所有“水仙花数”。 (用单循环、多循环两种方法) 三、算法设计: 1. 第一步: 定义四个变量i,n,t=1,sum=0; 第二步: 用运for循环执行; 第三步: 输出值。 2. (单循环)第一步: 定义四个变量x,y,z,h; 第二步: 对x进行for循环; 第三步: 把x的个十百位上的数分别赋值给h,z,y; 第四步: 判断(y*y*y)+(z*z*z)+(h*h*h)的值是否等于x的值,若等于则输出水仙花数,并进行下一次循环,若不是,则直接进行下一次循环。 (多循环)第一步: 定义四个变量x,y,z,h; 第二步: 对x,y,z分别进行for循环; 第三步: 判断(x*x*x)+(y*y*y)+(z*z*z)的值是否等于h的值,若等于则输出水仙花数,并进行下一次循环,若不是,则直接进行下一次循环。 四、流程图: (手绘) 五、编写程序: 1.#include { inti,t=1,sum=0; for(i=1;i<=20;i++) {t=t*i; sum=sum+t; } printf("1! +2! +···+20! =%d\n",sum); } 多循环.#include { inti,n,t=1,sum=0; for(n=1;n<20;n++) for(i=n;i<=n;i++) {t=t*i; sum=sum+t; } printf("1! +2! +···+20! =%d\n",sum); 2. 单循环: #include { intx,y,z,",x); } } 多循环: #include { intx,y,z,",h); } } 六、实验结果 1. 2. 七、实验总结: (实验中遇到的问题及解决方法,心得体会等) 熟练掌握了三种循环语句实现循环的方法,并能互相转换,还掌握在程序设计中用循环的方法实现一些常用算法,在这之前的练习中,我基本上掌握了简单的c语言编程,能够想出程序运行的每一步,觉得c语言是一门和数学一样特别有成就感的课,使我对这门课的学习就觉得是在享受,以后还会不断努力,多练习的。 实验七数组 一、实验目的: 1、掌握一维数组和二维数组的定义、赋值和输入输出的方法。 2、掌握字符数组和字符串函数的使用。 3、掌握与数组有关的算法(特别是排序算法)。 二、实验内容: 1、用选择法对10个整数排序。 10个整数用scanf函数输入。 2、输出以下的杨辉三角形(要求输出10行)。 1 11 121 1331 14641 15101051 ...... ...... ...... 3、编一个程序,将两个字符串s1和s2比较,若s1>s2,输出一个正数;若s1=s2,输出0;若s1 不要用strcmp函数。 两个字符串用gets函数读入。 输出的正数或负数的绝对值应是相比较的两个字符相应字符的ASCII码的差值。 三、算法设计: (算法设计思路、流程图、源程序) 1.编程首先需简要定义个存储数据的数组,具体如下: 第一步: 定义一个一位数组a[10],并定义三个整形变量; 第二步: 从键盘输入十个数; 第三步: 用for循环进行大小判断; 第四步: 输出排序后结果。 2.要简洁的输出杨辉三角以及美观的格式,则应该先定义一个十一位(也可定义为十位)的二位数组,在输出时记得用空格或Tab进行同行区间话分,具体如下: 第一步: 宏定义M、N,定义二维数组a[M][N]: 第二步: 给a[i][1]、a[i][i]赋初值为1; 第三步: 对其它元素进行循环运算; 第四步: 输出结果。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C程序设计 程序设计 课程 实验 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)