C语言实验册-2015.10
- 格式:doc
- 大小:233.50 KB
- 文档页数:24
一、实验名称:实验B :小系统开发二、实验目的:1、掌握一个完整系统开发的基本过程2、掌握完整系统开发过程中应注意的问题三、实验器材:1、计算机四、实验内容:我们这儿设计系统的主要目的是为了了解一个完整系统开发的一般过程及各类资源的组织方式,所以我们选择以一个“班级基本信息管理系统”为例,班级内部基本信息情况大家比较熟悉。
按照软件工程原理,将软件的生命周期大体划分为8个阶段,如下:1、问题的定义:须确定“要解决的问题是什么?”通过对客户的访问调查,系统分析员扼要写出关于问题性质、工程目标和工程规模的书面报告,经过讨论和必要的修改之后这份报告应该得到客户的确认。
开发一个针对本班的“班级基本信息管理系统”以实现对本班成员基本信息的自动化管理。
2、可行性研究:用来确定上一阶段中的问题是否有行得通的解决办法。
班级基本信息大家比较熟悉,又有一定的C 语言基础,有充足的上机实践时间,完全有能力开发这样的一个小系统。
另外,在性能、功能要求不高的情况下,此系统的开发也不需要太大的成本。
3、需求分析:主要需要确定目标系统必须具备哪些功能。
系统分析员在此阶段须和用户密切配合,充分交流信息,以得出用户确认的系统逻辑模型。
通常用数据流图、数据字典和简要的算法表示系统的逻辑模型。
这个阶段需要准确完整地体现用户要求,用正式文档准确记录对目标系统的需求,这份文档通常叫做规格说明书(Specification )。
大体如下:基本信息包括如下内容:学号(14位)、姓名(最多三个汉字)、性别(一个汉字)、年龄(3位),其它信息可根据情况自定班级总人数功能要求:录入功能、按学号查找(速度不能太慢)、按学号修改人员信息、按学号删除人员、将全部人员信息按学号顺序列表输出、启动时的用户合法性检测功能、永久性存盘功能等。
性能要求:查找速度不能太慢(5秒以内)4、系统设计(概要设计):设计出实现目标系统的几种可能的方案,从中选择一种最佳的。
设计系统的总体结构,也即确定程序由哪些模块组成及模快间的关系。
c语言实验报告册C语言实验报告册。
实验一,C语言基本程序设计。
1. 实验目的。
通过本实验,掌握C语言的基本程序设计方法,包括变量的定义和使用、表达式的计算、控制结构的使用等。
2. 实验内容。
(1)编写一个C程序,实现输入两个整数,然后输出它们的和、差、积和商。
(2)编写一个C程序,实现输入一个实数,计算并输出它的绝对值。
3. 实验步骤。
(1)定义两个整型变量a和b,用来存储输入的整数。
(2)使用printf函数提示用户输入两个整数,并使用scanf函数将用户输入的值分别赋给变量a和b。
(3)定义四个整型变量sum、diff、product和quotient,分别用来存储a和b的和、差、积和商。
(4)分别计算a和b的和、差、积和商,并将结果分别赋给sum、diff、product和quotient。
(5)使用printf函数输出sum、diff、product和quotient的值。
4. 实验结果。
输入:a = 5。
b = 3。
输出:sum = 8。
diff = 2。
product = 15。
quotient = 1。
5. 实验结论。
通过本实验,我掌握了C语言的基本程序设计方法,包括变量的定义和使用、表达式的计算、控制结构的使用等。
在实际编程中,我需要注意变量的类型和范围,以避免数据溢出和精度丢失的问题。
实验二,C语言函数的使用。
1. 实验目的。
通过本实验,学习C语言函数的定义和调用,掌握函数参数的传递和返回值的使用。
2. 实验内容。
(1)编写一个C程序,实现输入两个整数,计算它们的最大公约数和最小公倍数。
(2)编写一个C程序,实现输入一个整数n,计算并输出1到n的阶乘之和。
3. 实验步骤。
(1)定义一个函数gcd,用来计算两个整数的最大公约数。
(2)定义一个函数lcm,用来计算两个整数的最小公倍数。
(3)定义一个函数factorial,用来计算一个整数的阶乘。
(4)在主函数中,调用gcd和lcm函数计算最大公约数和最小公倍数;调用factorial函数计算阶乘之和。
(完整版)c实验报告实验名称: C语言实验报告实验内容:本次实验主要针对C语言编程进行实验。
通过实验的设计和完成,检验和加深对C语言的理解和应用能力。
实验步骤:1. 实验准备在开始实验之前,需要准备好以下必要的工具和材料:- 计算机- C语言编译器(比如GCC、Clang等)- 文本编辑器(比如Notepad++、Sublime Text等)2. 实验环境搭建在计算机上安装C语言编译器,并配置好相应的环境变量。
这样可以在终端或命令提示符中执行相关的C程序。
3. 编写实验代码根据实验要求,使用文本编辑器编写C语言代码。
根据实验的要求和功能需求,合理设计和组织代码结构,包括头文件的引用、变量的定义、函数的声明和定义等。
4. 编译和运行代码在命令行或终端中使用编译器对编写好的C语言代码进行编译,并生成可执行文件。
编译命令的具体格式根据不同的编译器而有所差异,但一般形式如下:```gcc -o output_file input_file.c```其中,"output_file"表示生成的可执行文件名,"input_file.c"表示待编译的C源代码文件名。
编译成功后,通过命令行或终端执行生成的可执行文件,检查程序的运行结果是否符合预期。
5. 实验结果分析根据实际运行结果,对实验数据进行分析和归纳。
可以通过输出结果、打印特定信息或观察程序的行为来判断程序是否正确地实现了预期的功能。
6. 实验总结在实验报告中对本次实验的过程、方法、结果进行总结,并提出实验中遇到的问题和解决方法。
同时,对所学习的C语言相关知识点进行总结和归纳,以加深对相关知识的理解和记忆。
实验结果:通过本次实验的设计和实现,我成功完成了对C语言编程的实验,达到了预期的目标。
通过编写实际的代码,我巩固了对C语言语法和基本概念的理解。
在实验过程中,我遇到了一些问题,通过查阅资料和与同学的讨论,我成功解决了这些问题。
P18(1)#include<stdio.h>int main(void){int celsius,fahr;fahr=150;celsius=5*fahr/9-5*32/9;printf("fahr=%d,celsius=%d\n",fahr,celsius);return 0;}(2)#include<stdio.h>int main(void){int celsius,fahr;celsius=26;fahr=9*celsius/5+32;printf("celsius=%d,fahr=%d\n",celsius,fahr);return 0;}(3)#include<stdio.h>int main(void){int average,math,eng,comp;math=87;eng=72;comp=93;average=(math+eng+comp)/3;printf("math=%d,eng=%d,comp=%d,average=%d\n",math,eng,comp, average);return 0;}(4)#include<stdio.h>int main(void){int n,a,b,c;n=152;c=n%10;b=(n/10)%10;a=n/100;printf("整数%d的个位数字是%d,十位数字是%d,百位数字是%d\n",n,c,b,a);return 0;}P27(1)#include<stdio.h>#include<math.h>int main(void){int celsius,fahr;printf("Enter celsius:");scanf("%d",&celsius);fahr=9*celsius/5+32;printf("fahr%d\n",fahr);return 0;}(2)#include<stdio.h>#include<math.h>int main(void){int money,year;double rate,interest;printf("Enter money,year,rate:");scanf("%d%d%lf",&money,&year,&rate);interest=money*pow(1+rate,year)-money;printf("interest=%.2f\n",interest);return 0;}(3)#include<stdio.h>#include<math.h>int main(void){double x,y;printf("Enter x:");scanf("%lf",&x);if(x<0){y=pow(x+1,2)+2*x+1/x;}else{y=sqrt(x);}printf("y=f(%f)=%.2f\n",x,y);return 0;}(4)#include<stdio.h>int main(void){int x,y;printf("Enter num1:");scanf("%d",&x);printf("Enter num2:");scanf("%d",&y);printf("%d+%d=%d\n",x,y,x+y);printf("%d-%d=%d\n",x,y,x-y);printf("%d*%d=%d\n",x,y,x*y);printf("%d/%d=%d\n",x,y,x/y);printf("%d%%%d=%d\n",x,y,x%y);return 0;}10的阶乘#include<stdio.h>int main(void){int i,n,product;printf("Enter n:");scanf("%d",&n);product=1;for(i=1;i<=n;i++){product=product*i;}printf("product=%d\n",product);return 0;}。
渭南师范学院计算机科学系实验报告《C语言程序设计》班级:_____________学号:_____________姓名:_____________二〇〇五年三月实验一C程序的基本结构实验目的:理解与掌握C程序的基本结构,熟悉与掌握Turbo_C集成环境调试C程序的步骤与方法。
实验内容:在Visual C++6.0环境下调试以下所给出的C程序并写出实验体会与心得。
程序清单一:#include<stdio.h>#include<math.h>void main(){double a,b,c,s,area;printf("输入三角形的三条边长(所键入的数据以空格分隔,且要求能构成三角形!):\n");scanf("%lf%lf%lf",&a,&b,&c);s=0.5*(a+b+c);area=sqrt(s*(s-a)*(s-b)*(s-c));printf("所求三角形的面积为%lf,周长为%lf\n",area,2*s);}程序清单二:#include<stdio.h>void main(){int num1,num2,num3,m,n;printf("请输入三个整数(各数字用逗号分隔):");scanf("%d,%d,%d",&num1,&num2,&num3);m=n=num1;while(num1%m||num2%m||num3%m) m--;while(n%num2||n%num3) n+=num1;printf("%d,%d,%d的最大公约数为:%d\n",num1,num2,num3,m);printf("%d,%d,%d的最小公倍数为:%d\n",num1,num2,num3,n);}程序一的运行过程及结果:程序二的运行过程及结果:实验分析和心得体会:实验时间:实验地点:指导老师:实验成绩:实验二 C语言的基本数据类型实验目的:理解与掌握C语言基本数据类型的概念,掌握整型变量、实型变量、字符型变量、符号常量的定义;掌握基本数据类型字面常量的描述。
前言实验一 C程序的运行环境实验二数据类型、运算符和表达式1、实验目的通过本次实验要求学生掌握以下知识:(1)熟悉数据和运算符的基本概念(2)掌握数据类型、常量、变量的概念,以及常量、变量的定义方法(3)熟练地应用常量、变量和运算符构成表达式,对数据进行处理2、实验步骤(1)分析下列程序的结果,思考输出结果的原因#include<stdio.h>void main(){char a,b,c;a='a';b='b';c='c';a=a+1;b=b-1;c=c-32;printf("%c,%c,%c\n",a,b,c);int a1,b1,c1;a1=a-1;b1=b+1;c1=c+32;printf("%d,%c,%d\n",a1,b1,c1);}#include<stdio.h>void main(){int a,b,p,q;a=1;b=2;p=a++;q=++b;printf("%d,%d,%d,%d\n",a,b,p,q);int c,d,e,f;c=d=e=f=2;c*=2+3;d+=d-=d*=d;e=(e++,++e,e%=2);printf("%d,%d,%d,%d\n",c,d,e,f);}(2)编写程序实现以下问题1、求任意两个数的加法、减法、乘法、除法2、编写一个程序将“I love you”这个字符串进行加密,密码规律自定义。
(可参照恺撒密码的方式)实验三顺序程序设计1、实验目的通过本次实验要求学生掌握以下知识:(1)能读懂简单的程序,并对顺序程序设计有初步的认识(2)可以编写简单的顺序程序(3)通过上机调试,了解顺序程序设计中常见的错误,掌握基本的调试技术(逐步分析程序)。
2、实验步骤(1)已知摄氏温度与华氏温度的换算公式C=5/9×(F-32)编写一个程序求华氏温度为30℉,70℉,100℉。
学生实验报告册(理工类)课程名称:C语言程序设计专业班级:G15软件工程(服务外包)学生学号:1522441049 学生姓名:吴思侨所属院部:国际教育学院指导教师:谷瑞军2015——2016学年第1学期金陵科技学院教务处制实验报告书写要求实验报告上交电子稿,标题采用四号黑体,正文采用小四号宋体,单倍行距。
实验报告书写说明实验报告中实验目的和要求、实验仪器和设备、实验内容与过程、实验结果与分析这四项内容为必需项。
教师可根据学科特点和实验具体要求增加项目。
填写注意事项(1)细致观察,及时、准确、如实记录。
(2)准确说明,层次清晰。
(3)尽量采用专用术语来说明事物。
(4)外文、符号、公式要准确,应使用统一规定的名词和符号。
(5)应独立完成实验报告的书写,严禁抄袭、复印,一经发现,以零分论处。
实验报告批改说明实验报告的批改要及时、认真、仔细,一律用红色笔批改。
实验报告的批改成绩采用五级记分制或百分制,按《金陵科技学院课堂教学实施细则》中作业批阅成绩评定要求执行。
实验项目名称:初级程序设计实验学时: 6实验地点: 1416 实验日期: 2015-10-12 实验成绩:批改教师:批改时间:实验1 初级程序设计一、实验目的和要求(1)熟悉Visual C++集成环境,进行编辑、保存、编译、连接及运行,并能进行简单程序调试;(2)掌握C语言中各种运算符的使用;(3)掌握C语言中各种数据类型的区别与应用;(4)熟练掌握C语言中变量的定义、赋值和使用,表达式语句、输入/输出语句的使用;(5)掌握C语言中输入/输出函数的使用;(6)掌握C语言中控制语句的使用,含if-else、for、while、do-while语句的使用。
二、实验仪器和设备奔腾以上计算机,装有windows XP以上版本操作系统和Visual C++ 6.0软件。
三、实验内容与过程1、程序调试(1)#include <stdio.h>main(){ int s,t,p,sum;scanf(“%d%d%d”,&s,&t,&p);sum=s+t+p;printf(“sum=%d\n”,sum);} (2)#include <stdio.h>main(){ int k=3;if(k=3) printf(“***”);else printf(“###”);}(3)#include <stdio.h>main(){int k=0;do{ printf(“k=%d\n”,k);}while(k++>0);}2、程序改错下面是判断一个学生考试成绩及格与否的程序(成绩A,或B,或C者为及格;成绩为D者不及格),调试并改进如下程序使其能满足上述输出的需要。
#include <stdio.h>main(){ char mark=“A”;switch(mark){ case “A”:case “B”:case “C”: printf(“>=60\n”);case “D”: printf(“<60\n”);default: printf(“Error \n”);}}3、程序设计(1)功能:编程实现使实型正数保留2位小数,并对第三位进行四舍五入。
例如:实型数为 1234.567,则函数返回 1234.570000;实型数为 1234.564,则函数返回 1234.560000。
(2)功能:从键盘输入一个大写字母,要求改用小写字母输出。
(3)功能:编写函数计算下列分段函数的值:⎪⎩⎪⎨⎧--≠≠<≤+-≠<++=其它且且且132100653-x 06)(222x x x x x x x x x x x f(4)功能:判断整数x 是否是同构数。
若是同构数,函数返回1;否则返回0。
x 的值由主函数从键盘读入,要求不大于100。
说明:所谓“同构数”是指这样的数,这个数出现在它的平方数的右边。
例如:输入整数5,5的平方数是25,5是25中右侧的数,所以5是同构数。
(5)功能:功能:计算正整数n 的所有因子(1和n 除外)之和并输出。
n 的值由键盘输入。
例如:n=120时,输出239。
(6)功能:计算并输出下列多项式的值 S = 1 + 1/1! + 1/2! + 1/3! + ... + 1/n! 例如:键盘给n 输入15,则输出为:s=2.718282。
注意:要求n 的值大于1但不大于100。
(7)功能:从低位开始取出长整型变量s 奇数位上的数,依次构成一个新数放在t 中。
例如:当s 中的数为:7654321时,t 中的数为:7531。
4、思考题(1)功能:判断一个三位数是否"水仙花数"。
在main 函数中从键盘输入一个三位数,并输出判断结果。
说明:所谓"水仙花数"是指一3位数,其各位数字立方和等于该数本身。
例如:153是一个水仙花数,因为153=1+125+27。
(2)功能:计算并输出3到n 之间所有素数的平方根之和。
例如:键盘给n 输入100后,输出为:sum=148.874270。
(3)功能:输出Fibonacci 数列中大于s 的最小的一个数。
其中Fibonacci 数列F(n)的定义为:F(0)=0,F(1)=1 F(n)=F(n-1)+F(n-2)例如:键盘输入s=1000时,输出1597。
程序清单及流程图:3.(1)#include<stdio.h>void main(){float s;scanf("%f",&s);s=(int)(s*100+0.5)/100.0;printf("%f",s);}3.(2)#include<stdio.h>void main(){char c;scanf("%c",&c);c=c+32;printf("%c\n",c);}四、实验结果与分析(程序运行结果及其分析)3.(1)3.(2)输入:A输出:a五、实验体会(遇到问题及解决办法,编程后的心得体会)实验项目名称:中级程序设计实验学时: 8实验地点:实验日期:实验成绩:批改教师:批改时间:实验2 中级程序设计一、实验目的和要求(1)掌握函数的定义、调用及返回、声明的应用;(2)熟练掌握一维数组的定义、初始化及使用;(3)掌握二维数组的定义、初始化及应用;(4)熟练掌握向函数传递一维数组的方法和应用;(5)掌握向函数传递一维数组的方法和应用。
二、实验仪器和设备奔腾以上计算机,装有windows XP以上版本操作系统和Visual C++ 6.0软件。
三、实验内容与过程1、程序调试#include <stdio.h>int func(int a,int b){return(a+b); }main(){int x=3,y=8,z=4,r;r=func(func(x,y),z);printf(“r=%d\n”,r);}2、程序改错要求:1、改错时,只允许修改现有语句中的一部分内容,不允许添加和删除语句。
2、提示行下一行为错误行。
(1) 功能:判断m是否为素数,若是返回1,否则返回0。
#include <stdio.h>/**********FOUND**********/void fun( int n){int i,k=1;if(m<=1) k=0;/**********FOUND**********/for(i=1;i<m;i++)/**********FOUND**********/if(m%i=0) k=0;/**********FOUND**********/return m;}void main(){int m,k=0;for(m=1;m<100;m++)if(fun(m)==1){printf("%4d",m);k++;if(k%5==0) printf("\n");}}(2)功能:在一个已按升序排列的数组中插入一个数,插入后,数组元素仍按升序排列。
#include <stdio.h>#define N 11main(){ int i,number,a[N]={1,2,4,6,8,9,12,15,149,156};printf("please enter an integer to insert in the array:\n");/**********FOUND**********/scanf("%d",&number)printf("The original array:\n");for(i=0;i<N-1;i++)printf("%5d",a[i]);printf("\n");/**********FOUND**********/for(i=N-1;i>=0;i--)if(number<=a[i])/**********FOUND**********/a[i]=a[i-1];else{a[i+1]=number;/**********FOUND**********/exit;}if(number<a[0]) a[0]=number;printf("The result array:\n");for(i=0;i<N;i++)printf("%5d",a[i]);printf("\n");}(3)找出一个二行三列二维数组中的最大值,输出该最大值及其行列下标,建议二维数组值由初始化给出。
#include "stdio.h"#include "conio.h"main(){int i,j,max,s,t;/**********FOUND**********/int a[2][]={1,34,23,56,345,7};clrscr();/**********FOUND**********/max=0;s=t=0;for(i=0;i<2;i++)/**********FOUND**********/for(j=1;j<3;j++)if(a[i][j]>max){ max=a[i][j]; s=i; t=j; }/**********FOUND**********/printf("max=a[%d][%d]=%d\n",i,j,max);}3、程序设计说明,所有题目均需添加main(),在main()中调用子函数并设计完整的输入输出才可调试通过。