C++上机实验报告 实验五
c语言上机报告
c语言上机报告C语言上机报告(C Programming Report)一、背景介绍我们学校的C语言课程要求我们每个学期都要完成一些上机实验。
本次上机实验主要是让我们巩固和应用所学的C语言知识,加深对C语言的理解和掌握。
二、实验内容本次实验主要是编写一个简单的学生信息管理系统。
要求实现以下功能:1. 添加学生信息:输入学生的姓名、年龄、性别和学号,并将其添加到学生信息库中。
2. 删除学生信息:通过输入学生的学号,从学生信息库中删除该学生的信息。
3. 修改学生信息:通过输入学生的学号,修改该学生的姓名、年龄、性别等信息。
4. 查询学生信息:通过输入学生的学号,查询该学生的姓名、年龄、性别等信息。
5. 显示所有学生信息:将学生信息库中的所有学生信息按照一定格式进行展示。
三、实现过程1. 首先,我们定义一个结构体来存储学生的信息。
结构体包含姓名、年龄、性别和学号等成员变量。
2. 然后,我们定义一个数组来作为学生信息库,每个元素都是一个学生信息的结构体。
3. 编写函数实现不同的功能。
例如,添加学生信息的函数会从用户那里获取学生的姓名、年龄、性别和学号,并将其添加到学生信息库中。
4. 在主函数中,通过循环实现菜单的显示和用户输入的获取。
根据用户的选择,调用相应的函数来执行对应的功能。
5. 最后,编译和运行程序,测试各个功能是否正常。
四、遇到的问题及解决方法在实现过程中,我们遇到了一些问题。
例如,如何实现添加学生信息的功能,如何从用户那里获取输入等。
针对这些问题,我们通过查阅相关的资料和向老师请教,找到了解决方法。
五、实验结果经过测试,我们的学生信息管理系统能够正常运行,各个功能也能够按要求实现。
用户可以通过菜单选择不同的功能,对学生信息进行添加、删除、修改、查询和展示。
六、实验总结通过本次实验,我们巩固了C语言的知识,提高了对C语言的理解和掌握。
同时,我们锻炼了编程的能力和解决问题的能力。
通过与同学们的交流和讨论,我们也学到了其他人的思路和方法。
C程序设计上机实验报告完整版
C语言程序设计上机实验报告学院:机械工程学院班级:机自161213姓名:刘昊学号:20162181310实验时间:2017年3月6号任课老师:张锐C语言程序设计上机实验报告实验一一、实验名称: C程序的运行环境和运行C程序的方法二、实验目的:了解在C编译系统上如何编辑、编译、连接和运行一个C程序三、实验内容:(1). 输入并运行一个简单的C程序。
(2). 设计程序,对给定的两个数求和。
(3). 设计程序,对给定的两个数进行比较,然后输出其中较大的数。
四、源程序代码:代码1:运行结果1:程序分析1:该程序用来判断所输入的整数是否为一个素数,如果一个数能被除了1和它本身整除,还能被其它数整除,那么它就不是一个素数,因此,用for 循环来进行整除过程的简写。
代码2:运行结果2:程序分析2:简单的使用printf()和scanf()函数进行简单的数据运算。
代码3:运行结果3:程序分析3:使用if语句进行判断。
五.实验总结C语言程序设计上机实验报告实验二一、实验名称:顺序结构程序设计二、实验目的:正确使用常用运算符(算术运算符、赋值运算符)的用法,熟练掌握算术运算符及其表达式,逻辑运算符和逻辑表达式。
三、实验内容:(1). 编写程序,实现小写字母转大写。
(2). 编写程序,实现输入两个不同类型数据后,经过适当的运算(加、减、乘、除)后输出。
(3). 编写程序,计算三角形面积、立方体的体积和表面积、圆的面积和周长。
(4). 编写程序,实现单字符getchar和putchar输入输出。
(5). 编写程序,实现十进制、八进制、十六进制不同数制的输出。
四、源程序代码代码1:运行结果1:程序分析1:所有的字符都有一个对应的数字与之对应,每一个小写字母对应的数与大写字母对应的数之间总是相差32,所以只需要对所输入的字符进行减法运算就可以转换为与之对应的大写字母。
代码2:运行结果2:程序分析2:简单的数据运算和格式字符的输出。
C语言上机实验
实验一(第1章实验)实验目的:1.掌握运行C语言程序的全过程。
2.熟悉编译环境。
3.初步熟悉C语言程序的语法规定。
4.了解简单函数的使用方法。
实验内容:1.编程且上机运行:求3个整数的和。
2.编程且上机运行:求2个数的和、差、积和商。
3.编程且上机运行:输入3个数,求最大值。
4.编程且上机运行:输入圆的半径,求圆的面积和周长。
5.在屏幕上输出:“hello world!”实验结果:实验二(第3章实验)1.实验目的:理解C语言的类型系统。
实验内容:写程序测试数据-2在类型char,int,unsigned int,long int,unsigned long int 中存储情况。
实验过程:实验结果:参见各种类型的存储实现描述。
2.实验目的:了解混合类型计算中类型的转换规则。
实验内容:写程序测试多种类型数据一起运算时类型的转换及表达式结果的类型。
注意unsigned int和int数据运算时类型转换的方向。
实验过程:/** 类型转换问题* 试问下面两个表达式等价吗?*/#include <stdio.h>#include <stdlib.h>int main() {unsigned int ui,uj;ui = 1;uj = 2;if (ui < uj)printf("\n%u < %u is true !\n", ui, uj);elseprintf("\n%u < %u is false !\n", ui, uj);if (ui - uj < 0)printf("\n%u - %u <0 is true !\n", ui, uj);elseprintf("\n%u - %u <0 is false !\n", ui, uj);system("pause");return 0;}实验结果:参见类型转换规则。
《C语言》课内实验报告5
一、实验题目:实验五函数的应用二、实验目的:1.进一步掌握函数的定义方法、调用方法,实参与形参的对应关系,以及调用函数的执行过程。
2.掌握函数的嵌套调用、递归调用、数组作为函数参数的设计方法。
3.进一步理解变量的作用域和生存期。
三、实验内容:1.定义一个求阶乘的递归调用函数double fac(int n),在主函数中调用3次该函数分别求出8!、10!、18!的准确值(结果:8!=40320,10!=3628800,18!=6402373705728000)。
编写源程序,给出注释及运行结果。
(提示,请参阅教材上174页例8.7的程序)。
#include<stdio.h> /*包含头文件*/ void main() /*空类型主函数*/ {double fac(int n); /*声明函数fac(int n)*/int a,b,c; /*定义整型变量a,b,c*/double x,y,z; /*定义double型变量x,y,z*/a=8; /*将8赋给a*/b=10; /*将10赋给b*/c=18; /*将18赋给c*/x=fac(a); /*将fac(a)赋给x*/y=fac(b); /*将fac(b)赋给y*/z=fac(c); /*将fac(c)赋给z*/printf("%d!=%.0lf\n%d!=%.0lf\n%d!=%.0lf\n",a,x,b,y,c,z);/*标准输出函数输出a,x,b,y,c,z的值*/}double fac(int n) /*定义函数fac(int n)*/{double f; /*定义double型变量f*/if(n==0||n==1) /*如果n等于0或n等于1*/ f=1; /*将1赋给f*/ else/*否则*/f=fac(n-1)*n; /*将函数值赋给f*/return(f); /*返回f的值*/}2.编写一个将n个整数用选择法按由小到大的顺序排序的函数void sort(int array[], int n),在主函数中调用两次该函数,对任给出个数分别是10和15的两组整数进行排序。
C语言实验报告(精选9篇)
C语言实验报告C语言实验报告(精选9篇)在经济发展迅速的今天,我们都不可避免地要接触到报告,通常情况下,报告的内容含量大、篇幅较长。
写起报告来就毫无头绪?下面是小编帮大家整理的C语言实验报告,欢迎阅读与收藏。
C语言实验报告1在这个星期里,我们在专业老师的带领下进行了c语言程序实践学习。
在这之前,我们已经对c语言这门课程学习了一个学期,对其有了一定的了解,但是也仅仅是停留在了解的范围,对里面的好多东西还是很陌生,更多的在运用起来的时候还是感到很棘手,毕竟,万事开头难嘛。
由于时间的关系,我们的这次实践课程老师并没有给我们详细的介绍,只是给我们简单的介绍了几个比较重要的实际操作。
上机实验是学习程序设计语言必不可少的实践环节,特别是c语言灵活、简洁,更需要通过编程的实践来真正掌握它。
对于程序设计语言的学习目的,可以概括为学习语法规定、掌握程序设计方法、提高程序开发能力,这些都必须通过充分的实际上机操作才能完成。
学习c程序设计语言除了课堂讲授以外,必须保证有不少于课堂讲授学时的上机时间。
因为学时所限,课程不能安排过多的统一上机实验,所以希望学生有效地利用课程上机实验的机会,尽快掌握用c语言开发程序的能力,为今后的继续学习打下一个良好的基础。
个人认为课程上机实验的目的,不仅仅是验证教材和讲课的内容、检查自己所编的程序是否正确,课程安排的上机实验的目的可以概括为如下几个方面:1、加深对课堂讲授内容的理解课堂上要讲授许多关于c语言的语法规则,听起来十分枯燥无味,也不容易记住,死记硬背是不可取的。
然而要使用c语言这个工具解决实际问题,又必须掌握它。
通过多次上机练习,对于语法知识有了感性的认识,加深对它的理解,在理解的基础上就会自然而然地掌握c 语言的语法规定。
对于一些内容自己认为在课堂上听懂了,但上机实践中会发现原来理解的偏差,这是由于大部分学生是初次接触程序设计,缺乏程序设计的实践所致。
学习c语言不能停留在学习它的语法规则,而是利用学到的知识编写c语言程序,解决实际问题。
C语言程序设计上机实验报告(精选5篇)
C语言程序设计上机实验报告(精选5篇)第一篇:C语言程序设计上机实验报告黔南民族师范学院 C语言程序设计上机实验报告系部:计算机科学系年级:2013 级班级:姓名:学号:实验时间:实验成绩:2013年月日实验三顺序结构程序的设计一实验名称:顺序结构程序的设计二.实验环境:windows XP系统,VC++6.0软件三.实验目的:四.实验内容:五.算法描述流程图六.源程序七.测试数据及运行结果八.实验心得实验成绩评分要求1、原创性发现抄袭或雷同成绩为0分2、正确性程序正确60分3、可读性格式清楚,有注释,变量命名规范20分4、健壮性对特殊测试数据有考虑有测试10分5、效率程序运行效率高10分第二篇:《c语言程序设计》上机实验报告要求《c语言程序设计》上机实验报告要求1.实验环境:软件系统:使用的软件环境硬件系统:机型说明2.实验目的:掌握如何编辑、编译、链接调试运行c程序3.实验内容:(1)掌握顺序结构程序设计.P26 ,p49,p62 3.2~3.7(2)掌握选择结构程序设计(if 和switch语句的用法)p4.2~(3)循环结构程序设计(while, dowhile,for语句的用法)。
(4)掌握数组的定义、输入和输出的方法,字符数组、字符串函数的使用。
(5)了解函数的定义,熟悉函数实参与形参的“值传递”方式,掌握函数的嵌套调用和递归调用方法。
(6)熟悉指针含义及其使用。
(7)熟悉结构体和共用体的使用。
(8)熟悉文件的使用。
4.实验要求:(1)输入编写的源程序,检查程序有无错误(语法和逻辑错误),有则改之。
(2)编译和连接,仔细分析编译信息,如有错误应找出原因并改正。
(3)运行程序,输入数据,分析结果。
5.实验结果:输出程序清单和运行结果。
(要求把原题内容,调试好的程序和其结果一并打印),6.实验体会分析运行结果,本次调试程序取得的经验(遇到的问题,解决的方法等)。
第三篇:C程序设计上机实验报告10C程序设计实验报告实验名称:指针与数组学时安排:2课时实验类别:上机操作型实验要求:1人1组 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄一、实验目的1.理解指针、地址和数组间的关系;2.掌握通过指针操作数组元素的方法;3.掌握数组名作为参数的编程方式。
c语言上机实验报告
c语言上机实验报告C语言上机实验报告引言:C语言是一门广泛应用于计算机编程领域的高级编程语言。
通过学习C语言,我们可以了解计算机程序的基本原理和实现方法。
在本次实验中,我们将进行一系列的C语言上机实验,旨在提高我们的编程能力和解决问题的能力。
实验一:基本语法和数据类型在这个实验中,我们首先学习了C语言的基本语法和数据类型。
我们了解了变量的定义和使用,以及常用的数据类型,如整数、浮点数和字符。
通过编写简单的程序,我们掌握了C语言的基本语法和运算符的使用方法。
实验二:流程控制和循环结构在这个实验中,我们学习了C语言的流程控制和循环结构。
我们了解了条件语句(if-else语句)和循环语句(for循环和while循环)的使用方法。
通过编写程序,我们掌握了如何根据不同的条件执行不同的代码块,以及如何使用循环结构重复执行一段代码。
实验三:数组和字符串在这个实验中,我们学习了C语言中数组和字符串的使用方法。
我们了解了如何定义和初始化数组,以及如何使用下标访问数组元素。
我们还学习了字符串的定义和常用的字符串处理函数。
通过编写程序,我们掌握了如何使用数组和字符串解决实际问题。
实验四:函数和指针在这个实验中,我们学习了C语言中函数和指针的使用方法。
我们了解了如何定义和调用函数,以及如何传递参数和返回值。
我们还学习了指针的概念和使用方法,包括指针的定义、指针的运算和指针的传递。
通过编写程序,我们掌握了如何使用函数和指针提高程序的模块化和灵活性。
实验五:文件操作在这个实验中,我们学习了C语言中文件操作的使用方法。
我们了解了如何打开和关闭文件,以及如何读取和写入文件。
我们还学习了文件指针和文件位置指示器的概念和使用方法。
通过编写程序,我们掌握了如何读取和处理文件中的数据,以及如何将数据写入文件。
总结:通过这一系列的C语言上机实验,我们深入学习了C语言的基本知识和编程技巧。
我们掌握了C语言的基本语法和数据类型,了解了流程控制和循环结构的使用方法,掌握了数组和字符串的操作技巧,学会了函数和指针的使用方法,以及文件操作的基本知识。
C程序设计实验五实验报告
同组者
离开实验室时间
实验项目名称
09:50
无
11:30
实验五循环结构程序设计
实验目的:
1、熟悉掌握用while语句、do…while语句和for语句实现循环的方法;
2、掌握在程序设计中用循环的方法实现一些常用算法(如穷举、迭代、地推等);
3、进一步学习调试程序。
实验内容
编程序并上机调试运行。
printf("The quantities of circulation is %f\n",i);
return 0;
}
2输出结果如下:
不同初值对迭代次数有影响。
实验总结:
老师批语:
return 0;
}
②运行结果如下:
在得到正确结果后,请修改程序使之能分别统计大小写字母、空格、数字和其他字符的个数。
1输入程序如下:
#include<stdio.h>
int main()
{
char c;
int bigletters=0,smallletters=0,space=0,digit=0,other=0;
①输入程序如下:
#include<stdio.h>
int main()
{
int day,x1,x2;
day=9;
x2=1;
while(day>0)
{x1=(x2+1)*2;
x2=x1;
day--;
}
printf("total=%d\n",x1);
return 0;
}
②程序运行结果如下:
在得到正确结果后,修改题目,改为猴子每天吃了前一天剩下的一半后,再吃两个。
C语言上机实验报告
5.理解函数的嵌套调用。
6.掌握函数的递归调用。
3.求100~200之间的素数。
要求:每行10个数输出;定义子函数isprime,函数原型为int isprime( int n); 4.设f(x)=(2x3+3x2-4x+1)/(10x2+3),q(x)=3f(x)3+2f(x)2+f(x),编程实现输入x的值,
for(k=1;k<=4;k++)
{if(i!=k&&i!=j&&k!=j){
printf("%5d",i*100+j*10+k); fre=fre+1;
}
}printf("\n"); printf("总数为:%d\n",fre);
}
青 岛 理 工 大 学
实验四 数组程序设计
1.掌握一维数组、二维数组的定义、引用及其存储方式。
else
{
x1=(-b+sqrt(d)tf("两个解:x1=%g,x2=%g\n",x1,x2);
}
}
青 岛 理 工 大 学
课程实验报告
课程名 称
计算机程序设计(C)
班级
软件111
实验日期
2012.4.28
姓名
赵亚东
学号
201107209
4.编程练习。求x2xn的部分和。直到最后一项的值小于1.0e-4。
ex=1+x+x+...+x+...
2!n!
提示:第n项un=xn/n!,第n+1项un+1= xn+1/(n+1)!
C程序设计上机实验报告5
C程序设计实验报告实验名称:嵌套循环结构程序设计学时安排:2学时实验类别:上机操作型实验要求:1人1组 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄一、实验目的1. 熟练掌握嵌套循环程序设计;2. 掌握C程序的调试方法。
二、实验设备介绍软件需求: Visual C++ 6.0或CFree3.5以上版本硬件需求: 对于硬件方面的要求,建议配置是Pentium III 450以上的CPU 处理器,64MB以上的内存,200MB的自由硬盘空间、CD-ROM驱动器、能支持24位真彩色的显示卡、彩色显示器、打印机。
三、实验内容1. 输入1 个正整数n,计算s 的前n 项的和(保留4 位小数)。
s = 1 + 1/2! +....+ 1/n! Enter n:10sum=1.71832. 程序填空,不要改变与输入输出有关的语句。
输入一个正整数repeat (0<repeat<10),做repeat 次下列运算:输入2 个正整数m 和n(1<=m,n<=1000),输出m 到n 之间的所有满足各位数字的立方和等于它本身的数。
输出语句:printf("%d\n", i); 例:括号内是说明Enter repeated times and m、n: 2 (repeat=2)100 400 (m=100, n=400)153 (1*1*1+5*5*5+3*3*3=153)370 (3*3*3+7*7*7=370)371 (3*3*3+7*7*7+1*1*1=371)1 100 (m=1, n=100)13. 程序填空,不要改变与输入输出有关的语句。
输入一个正整数repeat (0<repeat<10),做repeat次下列运算:输入2个正整数m和n(1<=m, n<=500),统计并输出m和n之间的素数的个数以及这些素数的和。
C语言集中上机实验报告
C语言集中上机实验报告一、实验目的本次实验的目的是通过一系列的C语言上机实验,掌握C语言的基本语法和常用操作。
二、实验内容1. 实验1:Hello World程序2.实验2:变量和数据类型3.实验3:运算符和表达式4.实验4:条件语句和循环语句5.实验5:函数的定义和使用6.实验6:数组和指针的应用三、实验过程1. 实验1:Hello World程序在本实验中,通过编写一个简单的Hello World程序,来熟悉C语言的编译和运行过程。
首先,在C语言编译器(如Dev-C++)中新建一个C 文件,然后输入以下代码:#include <stdio.h>int mainprintf("Hello World!\n");return 0;接下来,点击编译运行按钮,即可在控制台中看到输出结果"Hello World!"。
2.实验2:变量和数据类型在本实验中,我们学习了C语言的变量和数据类型的定义和使用。
通过定义不同的变量和数据类型,来存储不同类型的数据。
例如,我们可以定义一个整型变量a和一个字符型变量b,来分别存储整数和字符。
#include <stdio.h>int mainint a = 10;char b = 'A';printf("a = %d\n", a);printf("b = %c\n", b);return 0;编译运行后,控制台会输出变量a和b的值。
3.实验3:运算符和表达式在本实验中,我们学习了C语言中常用的运算符和表达式。
通过使用不同的运算符,可以对变量进行计算和操作。
例如,我们可以定义两个整型变量a和b,并使用加法运算符对它们进行相加。
#include <stdio.h>int mainint a = 10;int b = 5;int sum = a + b;printf("sum = %d\n", sum);return 0;编译运行后,控制台会输出变量sum的值。
C语言上机实验报告5
C语言上机实验报告5实验目的:1、学会运用数组,了解二维数组2、学会运用数组处理同一类的数据,运用起泡法和打擂法对数组内部的数据进行大小排序3、学会数组配合循环结构在屏幕上输出一个图案4、学运使用ASCII码值,了解ASCII值对应的具体符号,能够进行计数实验器材:电脑、C程序设计课本实验内容:1、用筛选法求出100以内的素数2、用选择法对十个整数排序3、求3*3的整形矩阵的对角线元素之和4、将一个数插入一排好的一列数中5、将一列数以逆序排列6、输出杨辉三角7、统计一篇文章中的英文大写字母、小写字母、数字、空格和其他字符的个数8、输出一个图案实验步骤及实验结果:实验结果分析及结论:实验一运用筛选法,建立数组,设置循环,输出100以内的素数;实验二运用打擂法,建立数组,逐个逐次求出大数进行排列;实验三建立一个二维数组求出对角线元素和;实验四通过逐个比较实现插入数字;实验五通过建立一个新数组作为中介实现对原来数组的重新排列;实验六输出杨辉三角;实验七通过运用ASCII值进行计数;实验八输出了该图案。
实验心得体会和建议:1、了解了数组对于同一类型数据进行使用时的优势2、学会使用一维数组,了解、初步学会使用二维数组3、学会在数组中使用起泡法和打擂法进行对数组元素的排序,通过逐项比较大小进行插入数据的操作4、学会使用ASCII值进行对字母以及其他字符的计数5、学会运用数组和循环结构搭配在屏幕上输出一个图案实验评价及结论:通过这次的C语言上机实验课程,我对数组有了更为深刻的理解,对于C语言同一类型数据有了更加合适的处理方式,学会了输出图案,排列数据大小。
实验指导老师签字:年月日。
C语言课程设计上机实习内容.(共5篇)
C语言课程设计上机实习内容.(共5篇)第一篇:C语言课程设计上机实习内容.C语言课程设计上机实习内容一、程序设计题目:简单的学生成绩管理程序设计二、程序设计功能及要求:1、原始数据输入和结果输出要求使用文件存放;2、计算每个学生三门功课的平均分,并按平均分排列名次,若平均分相同则名次并列;结果写入文件。
3、统计全班每门课程的平均分,并计算各分数段(60以下,60~69,70~79,80~89,90以上)的学生人数;结果写入文件。
4、按格式在屏幕上打印每名学生成绩条;5、在屏幕上打印出所有不及格学生的下列信息:学号,不及格的课程名,该不及格课程成绩;6、(选做)在屏幕打印优等生名单(学号,三门课程成绩,平均成绩,名次),优等生必须满足下列条件:1)平均成绩大于90分;或平均分大于85分且至少有一门功课为100分;或者平均分大于85分且至少两门课程成绩为95分以上;2)名次在前三名3)每门功课及格以上;(若完成选做题,课程设计成绩将给予加分)三、文件格式1、原始数据文件格式(具体数据自行编写)学号姓名英语C语言高等数学张三李四….….….2、输出数据文件(由程序自动生成)1)学生综合成绩文件。
(由程序自动生成)学号姓名英语 C语言高等数学平均成绩名次张三 76 89 78 80.5 5 李四….….….3 ….2)统计结果文件。
分数段英语C语言高等数学<60…60~69…70~79…80~89…>=90 …平均成绩75.5 …四、实习报告要求1、程序分析和设计2、流程图3、源程序清单4、调试过程: 测试数据及结果,出现了哪些问题,如何修改的5、程序有待改进的地方。
6、本次实习的收获和建议。
第二篇:C语言上机实习报告一、实验目的1.能够描述VC++6.0开发平台的使用过程,学会运行一个C程序的基本步骤,包括编辑、编译、链接和运行。
2.能够使用算术表达式和赋值表达式书写正确的语句。
3.能够使用输入/输出函数编写简单的程序。
C上机实验报告范文
C上机实验报告范文实验名称:C语言上机实验报告实验日期:[填写具体日期]实验目的:1.熟悉C语言的基本语法和编程环境;2.掌握C语言的输入输出函数;3.理解并运用C语言的控制结构;4.初步掌握函数的定义和调用;5.学习并运用数组和指针。
实验器材:1.计算机;2. 编程环境:如DevC++、Visual Studio等。
实验内容:本次实验共分为五个部分,每个部分实施一个具体的小任务。
任务一:编程基础1.编写程序,输出你的姓名和学号;2.使用变量保存你的生日,编写程序打印出你的年龄。
任务二:输入输出函数1.编写程序,要求用户输入一个整数,并输出该整数;2.编写程序,要求用户输入两个整数,计算并输出它们的和、差、积和商。
任务三:控制结构1. 编写程序,判断输入的一个整数是否为奇数,若是则输出"Yes",否则输出"No";2. 编写程序,输入一个年份,判断该年份是否为闰年,若是则输出"Yes",否则输出"No"。
任务四:函数的定义和调用1.编写函数,实现两个整数的交换;2.编写函数,计算输入整数的阶乘。
任务五:数组和指针1.编写程序,输入10个整数,找出其中的最大值并输出;2.编写程序,输入5个浮点数,使用指针找出其中的最小值并输出。
实验步骤:1.阅读实验内容,了解实验要求;2.打开编程环境,创建一个新的C语言项目;3.根据实验要求,依次实现每个任务;4.编写程序时,注意变量的命名和语法规范;5.编写完成后,进行编译、调试和运行;6.检查程序的输出结果是否符合实验要求;7.如有错误或问题,进行修改并再次测试;8.实验结束后,保存代码和实验报告。
实验结果:1.任务一:输出姓名和学号的程序运行正确,正确打印出姓名和学号。
2.任务二:输入输出函数的程序运行正确,正确打印出用户输入的整数以及计算结果。
3.任务三:控制结构的程序运行正确,正确判断整数的奇偶性和闰年。
c语言实验报告实验5
1.实验目的(1)掌握在程序设计条件型循环结构时,如何正确地设定循环条件,以及如何控制循环的次数。
(2)了解条件型循环结构的基本测试方法。
(3)掌握如何正确地控制计数型循环结构的次数。
(4)了解对计数型循环结构进行测试的基本方法。
(5)了解在嵌套循环结构中,提高程序效率的方法。
2.实验内容(1)输入一个正整数,并将其颠倒过来组成一个新的数再输出这个数,如12345对应为54321。
(2)将一个长整型数s的每一位数位上的偶数依次取出来,构成一个新的数t,其高位仍在高位,低位仍在低位,例如:s=87653142时,t中的数为8642。
(3)判断101~200之间有多少个素数。
3.实验步骤和实验结果第一个程序#include <stdio.h>int main(){int t,s=0;scanf("%d",&t);if(t<0){printf("数据输入错误\n");}while(t>0){s=s*10+t%10;t=t/10;}printf("倒过来的数为%d\n",s);return 0;}输入12345时}第二个程序#include <stdio.h>int main(){long int s,p=1,t=0;printf("请输入一个整数\n");scanf("%ld",&s);while(s){if((s%10)%2==0){t=t+(s%10)*p;p=p*10;}s/=10;}printf("得到的数为%ld\n",t);return 0;}输入87653142后第三个程序#include <stdio.h>#include <math.h>int main(){int i,j,k,count=0;for(i=101;i<=200;i++){k=sqrt(i);for(j=2;j<=k;j++)if(i%j==0)break;if(j>k)count++;}printf("%d\n",count);return 0;}输出结果为4.分析与讨论数值型for循环的一般形式为:for(表达式1;表达式2;表达式3)(1)先求解表达式1,然后求解表达式2,若其值为真(true),则执行for语句中内嵌的循环语句;若其值为假(false),则转到第5步结束循环。
c 上机实验报告
c 上机实验报告C语言上机实验报告引言:计算机科学与技术专业的学生,无论是在理论课程还是实践环节,都需要学习和掌握C语言。
C语言作为一种广泛应用于系统编程和嵌入式开发的高级编程语言,具有灵活性和高效性,因此被广泛应用于各个领域。
本篇实验报告将介绍我在上机实验中所学习到的C语言知识和技巧。
实验一:基本语法和数据类型在第一次上机实验中,我们学习了C语言的基本语法和数据类型。
通过编写简单的程序,我们了解了C语言的程序结构,包括头文件引用、全局变量定义、函数声明和主函数等。
同时,我们还学习了C语言的基本数据类型,如整型、字符型、浮点型等,并掌握了它们的使用方法和注意事项。
实验二:控制语句和循环结构在第二次上机实验中,我们深入学习了C语言的控制语句和循环结构。
通过编写多个程序,我们掌握了条件语句(if-else语句和switch语句)和循环语句(for循环、while循环和do-while循环)的使用方法。
这些控制语句和循环结构可以帮助我们实现程序的流程控制和逻辑判断,提高程序的灵活性和可读性。
实验三:数组和字符串在第三次上机实验中,我们学习了C语言中数组和字符串的使用。
通过编写程序,我们了解了数组的定义和初始化、数组元素的访问和修改、多维数组的使用等。
同时,我们还学习了字符串的定义和初始化、字符串的输入和输出、字符串的比较和拼接等。
数组和字符串是C语言中非常重要的数据结构,熟练掌握它们的使用方法对于编写复杂的程序非常有帮助。
实验四:函数和指针在第四次上机实验中,我们学习了C语言中函数和指针的使用。
通过编写程序,我们了解了函数的定义和调用、函数的参数传递和返回值、递归函数的实现等。
同时,我们还学习了指针的定义和初始化、指针的引用和解引用、指针的运算和指针与数组的关系等。
函数和指针是C语言中非常重要的概念和工具,熟练掌握它们的使用方法对于编写高效和灵活的程序至关重要。
实验五:文件操作和结构体在第五次上机实验中,我们学习了C语言中文件操作和结构体的使用。
最新C++上机实验报告实验五
最新C++上机实验报告实验五实验目的:1. 掌握C++中类和对象的基本概念和使用方法。
2. 学习如何通过继承和多态实现代码复用和扩展功能。
3. 理解模板类和模板函数的实现机制及其应用。
实验内容:1. 设计一个基类Animal,并为其添加虚函数Speak()。
2. 从Animal类派生出三个子类:Dog、Cat和Bird,每个子类实现Speak()函数。
3. 使用模板类创建一个简单的容器类,能够存储不同类型的Animal 对象。
4. 实现一个模板函数PrintInfo(),该函数能够打印任何Animal对象的信息。
实验步骤:1. 创建基类Animal,并定义一个纯虚函数Speak()。
```cppclass Animal {public:virtual void Speak() = 0;};```2. 派生Dog、Cat和Bird类,并实现Speak()函数。
```cppclass Dog : public Animal {public:void Speak() override {cout << "Woof!" << endl;}};class Cat : public Animal {public:void Speak() override {cout << "Meow!" << endl;}};class Bird : public Animal {public:void Speak() override {cout << "Tweet!" << endl;}};```3. 创建模板类AnimalContainer,并实现添加和打印容器中所有动物信息的功能。
```cpptemplate <typename T>class AnimalContainer {list<T*> animals;public:void AddAnimal(T* animal) {animals.push_back(animal);}void PrintInfo() {for (auto& animal : animals) {animal->Speak();}}};```4. 实现模板函数PrintInfo(),调用AnimalContainer的PrintInfo()方法。
c的上机实验报告
c的上机实验报告C的上机实验报告一、实验目的本次实验的目的是通过上机实践,加深对C语言基本知识的理解和掌握,提高编程能力和解决问题的能力。
二、实验环境本次实验使用的是C语言开发环境,具体配置如下:操作系统:Windows 10开发工具:Code::Blocks 17.12编译器:GNU GCC Compiler三、实验内容与步骤1. 实验内容本次实验包括以下几个方面的内容:a) C语言基本语法的练习b) 数组和指针的应用c) 流程控制语句的使用d) 函数的定义和调用e) 文件操作的实践2. 实验步骤a) 编写一个简单的程序,要求用户输入两个整数,然后输出它们的和、差、积和商。
b) 编写一个程序,实现从键盘输入一组整数,然后按照从小到大的顺序输出。
c) 编写一个程序,实现从键盘输入一个整数n,然后计算并输出n的阶乘。
d) 编写一个程序,实现从键盘输入一个字符串,然后将其逆序输出。
e) 编写一个程序,实现从文件中读取一组整数,然后按照从小到大的顺序输出到另一个文件中。
四、实验结果与分析1. 实验结果经过实验,我们得到了以下结果:a) 用户输入的两个整数为5和3,程序输出它们的和为8,差为2,积为15,商为1.6667。
b) 用户输入的一组整数为{3, 1, 4, 2, 5},程序输出排序后的结果为{1, 2, 3, 4, 5}。
c) 用户输入的整数n为5,程序输出n的阶乘为120。
d) 用户输入的字符串为"Hello World!",程序输出逆序后的结果为"!dlroW olleH"。
e) 程序成功从文件中读取了一组整数,并按照从小到大的顺序输出到了另一个文件中。
2. 结果分析通过实验结果可以看出,我们编写的程序能够正确地实现所需的功能。
这说明我们对C语言的基本语法、数组和指针、流程控制语句、函数定义和调用、文件操作等方面有了一定的掌握。
五、实验心得通过本次实验,我对C语言的基本知识有了更深入的理解和掌握。
c上机实验报告
c上机实验报告C 上机实验报告一、实验目的本次 C 语言上机实验旨在通过实际操作,加深对 C 语言基本语法、数据类型、控制结构、函数等知识的理解和掌握,提高编程能力和解决实际问题的能力。
二、实验环境操作系统:Windows 10编程软件:Visual Studio 2019三、实验内容本次实验共包括以下几个部分:(一)基础语法练习1、变量与数据类型定义不同类型的变量,如整型(int)、浮点型(float、double)、字符型(char)等,并进行赋值和输出操作。
通过这个练习,熟悉了不同数据类型的存储方式和取值范围。
2、运算符与表达式学习和使用各种运算符,包括算术运算符(+、、、/、%)、关系运算符(>、<、==、!=、>=、<=)、逻辑运算符(&&、||、!)等。
编写表达式计算数值,并根据结果进行判断和输出。
3、控制结构(1)顺序结构编写简单的顺序执行程序,按照代码的书写顺序依次执行语句。
(2)选择结构使用ifelse 语句和switch 语句实现根据不同条件执行不同的代码块。
通过给定的条件判断,选择相应的执行路径。
(3)循环结构学习使用 for 循环、while 循环和 dowhile 循环,实现重复执行特定的代码段。
例如,计算 1 到 100 的累加和。
(二)数组与字符串1、数组定义一维数组和二维数组,对数组元素进行赋值、访问和操作。
实现数组的遍历、排序等常见算法。
2、字符串学习字符串的存储和操作,使用字符数组和字符串函数(如strlen、strcpy、strcmp 等)处理字符串。
(三)函数1、函数定义与调用定义自己的函数,实现特定的功能,并在主函数中调用这些函数。
通过函数的使用,提高代码的模块化和可重用性。
2、函数参数传递理解值传递和地址传递的区别,掌握如何通过函数参数传递数据,并在函数内部修改外部变量的值。
(四)指针1、指针的概念与基本操作学习指针的定义和使用,通过指针访问变量和数组元素。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验五继承与派生1.实验目的1、学习定义与使用类的继承关系,定义派生类2、熟悉不同继承方式下对基类成员的访问控制3、学习利用虚基类解决二义性问题2.实验要求1、定义一个基类Animal,有私有整型成员变量age,构造其派生类dog,在其成员函数SetAge(int n)中直接给age赋值,瞧瞧会有什么问题,把age改为公有成员变量,还会有问题不?编程尝试。
2、定义一个基类BaseClass,有整型变量Number,构造其派生类DerivedClass,观察构造函数与析构函数的执行情况。
3、定义一个车(vehicle)基类,具有Maxspeed、Weight等成员,Run、Stop等成员函数,由此派生出自行车(bicycle)类、汽车(motorcar)类。
自行车(bicycle)类有高度(Height)等属性,汽车(motorcar)类有座位数(SeatNun)等属性。
从bicycle与motorcar派生出摩托车(motorbicycle)类,在继承过程中,注意把vehicle设置为虚基类。
如果不把vehicle设置为虚基类,会有什么问题?编程尝试。
3.实验内容及实验步骤1、编写程序定义基类Animal,成员变量age定义为私有的。
构造派生类dog,在其成员函数SetAge(int n)中直接对age赋值时,会出现类似以下的错误提示:error C2248 : ‘age’ : cannot access private member declared in class ‘Animal’error C2248 : ‘age’ : cannot access private member declared in class ‘Animal’把age改为公有成员变量后重新编译就可以了。
程序名:lab7_1、cpp。
2、编写程序定义一个基类BaseClass,构造其派生类DerivedClass,在构造函数与析构函数中用cout输出提示信息,观察构造函数与析构函数的执行情况。
程序名:lab7_2、cpp。
3、用debug功能跟踪程序lab7_2的执行过程,观察基类与派生类的构造函数与析构函数的执行情况。
4、编写程序定义一个车(vehicle)基类,由此派生出自行车(bicycle)类、汽车(motorcar)类,注意把vehicle派生为虚基类。
再从bicycle与motorcar派生出摩托车(motorcycle)类,在main()函数中测试这个类。
程序名:lab7_3、cpp。
编译成功后,把vehicle设置为非虚基类,再编译一次,此时系统报错,无法编译成功。
这就是因为若不把vehicle设置为虚基类,会出现二义性错误,程序不能成功编译。
4.思考题1、如何在已有的类的基础上设计新的类?采用类的派生的方法,利用基类派生出子类,子类继承基类的属性,从而在已有基类的基础上设计新的派生类,模式如下:class 派生类名:继承方式基类名1,继承方式基类名2,…,继承方式基类名n{派生类成员声明;};2、基类与派生类对象的构造顺序就是怎样的?先调用基类的构造函数,然后再调用内嵌对象(派生类中的对象)的构造函数。
基类构造函数的调用顺序就是按照派生类定义时的顺序,而内嵌对象的构造函数调用顺序就是按照成员在类中声明的顺序。
3、如何利用虚基类解决二义性问题?将共同基类设置为虚基类,语法为:class 派生类名:virtual 继承方式基类名5.源程序Lab7_1、cpp#include<iostream>using namespace std;class Animal//Animal类{/*private:int age;*/public:int age;Animal(){}~Animal(){}Animal(int );};class Dog:public Animal//Dog类,Animal的公有派生类{private:int number;public:Dog(){}~Dog(){}Dog(int,int);void setAge(int );void showNumber();void showAge();};Animal::Animal(int a)//Animal构造函数{age=a;}Dog::Dog(int n,int a)//Dog构造函数{number=n;age=a;}void Dog::setAge(int n)//Dog成员函数,setAge{age=n;}//数据输出函数void Dog::showNumber(){cout<<"Number:"<<number<<endl;}void Dog::showAge(){cout<<"Age:"<<age<<endl;}int main(){Dog dog1(12,0);dog1、setAge(7);dog1、showNumber();dog1、showAge();return 0;}Lab_2#include<iostream>using namespace std;class BaseClass{private:int grade;int population;public:BaseClass(int g,int p)//BaseClass的构造函数{grade=g;population=p;cout<<"constructing BaseClass"<<endl;}~BaseClass()//析构{cout<<"destructing BaseClass"<<endl;}};class DerivedClass:public BaseClass{private:char name;public:DerivedClass(int g,int p,char n):BaseClass(g,p)//DerivedClass的构造函数{name=n;cout<<"constructing DerivedClass"<<endl;}~DerivedClass(){cout<<"destructing DerivedClass"<<endl;}};int main(){DerivedClass a(7,55,'A');return 0;}Lab_3#include<iostream>using namespace std;class Vehicle{public:float maxspeed;float weight;Vehicle(){}Vehicle(float m,float w){maxspeed=m;weight=w;}~Vehicle(){}void run(){cout<<"Vehicle running"<<endl;}void stop(){cout<<"Vehicle stopping"<<endl;}};class Bicycle:virtual public Vehicle{public:float height;Bicycle(float m,float w,float h):Vehicle(m,w){height=h;}Bicycle(float h){height=h;}~Bicycle(){}};class Motorcar:virtual public Vehicle{public:int seatnum;Motorcar(float m,float w,int s):Vehicle(m,w){seatnum=s;}~Motorcar(){}Motorcar(float s){seatnum=s;}};class Motorbicycle:public Bicycle,public Motorcar{public:Motorbicycle(float m,float w,float h,int s):Vehicle(m,w),Bicycle(h),Motorcar(s){} void showInformation(){cout<<"The maxspeed of this motorbicycle is:"<<maxspeed<<endl;cout<<"The weight of this motorbicycle is:"<<weight<<endl;cout<<"The height of this motorbicycle is:"<<height<<endl;cout<<"The seatnumber of this motorbicycle is:"<<seatnum<<endl;}};int main(){Motorbicycle a(60,21、5,45、8,2);a、run();a、showInformation();a、stop();return 0;}6.运行结果Lab7_1age 为Animal的私有成员数据时:编译报错age 为Animal的公有成员数据时:正常运行Lab_2Lab_37.心得体会:熟悉并了解了如果利用基类进行派生,得到派生类,明白了public,protect,private三种派生类型的区别,能够较好的利用继承的方法,来创建新的子类。
并且学习了使用虚基类继承的方式,使基类中的成员对象仅被创建一次,收获颇多。