C上机实验报告实验五
C语言程序设计实验上机报告.doc
C语言程序设计实验上机报告课程实验报告课程名称C语言程序设计专业班级信息安全1302 学号姓名指导教师报告日期2014年6月16日计算机科学与技术学院目录1 实验概述1 2 第一次实验2 2.1 实验目的3 2.2 实验内容3 2.3 实验小结19 3 第二次实验20 3.1 实验目的20 3.2 实验内容20 3.3 实验小结35 4 第三次实验36 4.1 实验目的36 4.2 实验内容36 4.3 实验小结49 5 第四次实验50 5.1 实验目的50 5.2 实验内容50 5.3 实验小结62 6 第五次实验63 6.1 实验目的63 6.2 实验内容63 6.3 实验小结69 7 第六次实验70 7.1 实验目的70 7.2 实验内容70 7.3 实验小结83 8 第七次实验84 8.1 实验目的84 8.2 实验内容84 8.3 实验小结105 9 实验总结106 参考文献107 1实验概述本实验采用C语言常用的上机开发环境Visual C6.0集成开发环境。
其关键是掌握程序的编辑、修改、编译、链接和执行的方法,以及如何调试程序,跟踪程序,通过断点控制程序,观察变量、表达式在程序运行过程中的取值,如何综合运用这些方法定位程序中的的错误和排除错误。
在实验中除了传统的编程设计题外,增加了源程序改错题,源程序完善、修改、替换题,程序的调试跟踪题等,培养学生跟踪程序、设置断点、调试程序的能力,排除程序中语法、逻辑方面错误与故障的能力,并养成细致、周密、严谨的编程作风。
实验中的源程序改错题,先给出一些含有经典、常见错误的源程序,让学生通过编译或运行发现错误,并加以改正,从而纠正初学者易犯的常见错误,实验中的源程序修改替换题,也是先给出源程序,然后要求学生按要求编写修改替换原来程序中的部分代码。
实验中的跟踪调试结果填空题,给出源程序,要求学生填写程序运行过程中的某些中间结果。
强迫学生用断点设置、单步跟踪等调试程序,观察并填写相应的中间结果。
C语言实验五实验报告——数组
C语言实验五实验报告——数组一、实验目的:1.了解数组的概念和基本使用方法;2.掌握一维数组和二维数组的定义、初始化、赋值及基本运算实现;二、实验内容与方法1.理论部分数组是一些具有相同类型的数据元素按一定顺序排列组合而成的集合,在程序设计中它是一个变量列表,由若干相同数据类型的元素组成。
通常用一个名字和一个下标来表示,下标可理解为数组元素在数组中的位置编号。
数组的特点:数组是根据顺序排列的元素的集合;所有的元素必须是相同类型。
数组的定义方法:1. 定义数组,数组元素类型 + 数组名[元素的个数];2. 元素的个数必须是整型常量或变量,定义时必须明确、指定元素的个数;3. 声明一个数组时,除了要指定数组的类型外,还要指定数组的名称;4. 数组定义完后,需要对其中的每个元素进行初始化。
可以在定义数组时赋初值,也可以通过赋值符号,对数组元素逐个进行赋值。
数组的初始化:1. 元素个数之间用逗号分开,最后1个元素后无逗号;2. 支持部分元素初始化;3. 定义和初始化可以一步完成。
二维数组数组可分为一维和多维数组。
一维数组可以看作是包含多个元素的向量,而二维数组可以看做是包含了多个一维数组的矩阵。
二维数组有行号和列号,因此,它同样需要两个下标。
数组元素类型数组名[行数][列数];数组元素类型数组名[ ][ ] = { {元素1, 元素2, ……}, {元素1, 元素2, ……}, ……{元素1, 元素2, ……}}2.实验代码**问题1:**定义一个一维数组a,包含有5个元素,分别为1,2,3,4,5;**问题2:**定义一个一维数组a,接收用户从键盘输入的5个数值,分别打印存储的各个元素。
三、实验结果与分析结果分析:定义了一个5个元素的一维数组a,并初始化了各个元素的值,其元素分别为1,2,3,4,5.循环遍历一遍数组a,并打印数组元素。
程序执行正常。
3.针对问题3:定义一个二维数组a,由4行3列组成,每个元素初始化为0,打印存储的各个元素;程序运行结果如下:四、实验总结:该实验主要是通过对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语言实验报告
中南民族大学管理学院学生实验报告课程名称:C程序语言设计姓名:郭晋学号:10056006年级:2010专业:信息管理与信息系统指导教师:李超锋实验地点:管理学院综合实验室2010 学年至20 11 学年度第2 学期目录实验一熟悉C语言的开发环境和C程序的上机步骤实验二基本数据类型及数据的输入输出实验三运算符及表达式实验四顺序结构程序设计实验五选择结构程序设计实验六循环结构程序设计实验七数组及其应用实验八函数及其应用实验九指针及其应用实验(一)熟悉C语言的开发环境和C程序的上机步骤实验时间:2011.3.29同组人员:郭晋,金亚男实验目的:1,了解T urb C3.0编译系统,熟悉各菜单的功能,掌握在该系统上编辑,编译,连接,运行一个C程序的方法。
2,通过调试,运行简单的C程序,初步了解C语言程序的特点。
实验内容:1.编写一个C程序,求一个圆的面积。
我们的程序设计#include<stdio.h>void main(){float r,s;scanf("%f",&r);s=3.14*r*r;printf("s=%f",s);}2.编写程序求任意三个书的最大值。
我们的程序设计#include<stdio.h>void main(){int a,b,c,max;scanf("%d,%d,%d" ,&a,&b,&c);if(a>b&&a>c)max=a;if(b>a&&b>c)max=b;if(c>a&&c>b)max=c;printf("max=%d\n",max);}实验步骤:1.首先,我们两人先根据题目中的编程要求确定实验步骤,分别写下相应的编程语言进行比较,未出现明显的分歧。
2.打开Turb C 程序,然后将刚刚确定的C语言程序输入,打开Proiles,进行系统纠错,看是否出现错误或者警告,进行相应的调试。
C语言实验五实验报告——数组
C语言实验五实验报告——数组实验五:数组实验目的:1.掌握数组的定义和使用;2.熟悉数组在函数中的传递;3.练习编写使用数组的程序。
实验原理:数组是一组相同类型的变量的集合,这些变量称为数组的元素。
数组的名字是一个指针常量,它存放的是数组首个元素的地址。
数组元素在内存中是连续存放的,可以通过下标访问每一个元素。
数组的定义:数组的定义格式为:数据类型数组名[数组长度];数组的初始化:数组可以在定义时进行初始化,也可以在定义之后通过赋值进行初始化。
数组作为函数参数:数组可以作为函数的形参进行传递,可以通过指针传递整个数组,也可以传递数组的部分元素。
实验步骤:1.编写一个程序,实现对学生成绩的管理。
要求如下:-使用一个数组保存学生的成绩;-能够动态添加学生的成绩,并显示添加成功的信息;-能够计算学生的平均成绩,并显示;-能够根据用户输入的学号查找对应学生的成绩,并显示。
2.编写一个程序,实现对一组整数进行排序。
要求如下:-首先自定义一个整数数组,数组元素个数为用户输入;-编写一个函数,实现对数组进行排序,要求使用选择排序算法;-在主函数中调用该函数,对数组进行排序后显示。
实验结果与分析:1.学生成绩管理程序运行结果如下:```-------学生成绩管理系统-------[1]添加学生成绩[2]计算平均成绩[3]查找学生成绩[4]退出系统请输入选项:1请输入成绩:90添加成功![1]添加学生成绩[2]计算平均成绩[3]查找学生成绩[4]退出系统请输入选项:1请输入成绩:85添加成功![1]添加学生成绩[2]计算平均成绩[3]查找学生成绩[4]退出系统请输入选项:2平均成绩为:87.5[1]添加学生成绩[2]计算平均成绩[3]查找学生成绩[4]退出系统请输入选项:3 [1]添加学生成绩[2]计算平均成绩[3]查找学生成绩[4]退出系统请输入选项:4退出系统。
```2.整数排序程序运行结果如下:```-------整数排序-------请输入待排序的整数个数:6请输入第1个整数:5请输入第2个整数:3请输入第3个整数:9请输入第4个整数:2请输入第5个整数:7请输入第6个整数:1排序前的整数序列为:539271排序后的整数序列为:123579 ```实验总结:通过本次实验,我深入理解了数组的原理和用法,并且掌握了数组在函数中的传递。
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语言上机实验5-12
17.5实验5循环结构程序设计1.实验目的(1)熟悉掌握用while语句、do…while语句和for语句实现循环的方法。
(2)掌握在程序设计中循环的方法实现一些常用的算法(如穷举、迭代、递推等)。
(3)进一步学习调试程序。
2.实验内容编程并上机调试运行(1)输入一行字符、分别统计出其中的英文字母、空格、数字和其他字符的个数(本题是教材第5章第4题)在得到正确结果后,请修改程序使之能分别统计大小写字母、空格、数字和其他字符的个数。
(2)输出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其个位数字立方和等于该数本身。
例如,153是一个水仙花数,因为153=1³+5³+3³(本题是教材第五章第8题)。
(3)猴子吃桃问题。
猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。
第二天早上又将剩下的桃子吃掉一半,又多吃了一个,以后每天早上都吃了前一天剩下的一半零一个。
到第10天早上想再吃,只剩一个桃子了。
求第一天共摘了多少桃子(本题是教材第五章第12题)。
再得到正确结果后,修改题目,改为猴子每天吃了前一天剩下的一半后,再吃两个。
请修改程序并运行,检查结果是否正确。
(4)用牛顿迭代法求方程2X³=4x²+3x-6=0在1.5附近的根(本题是教材第五章第13题,学过高等数学的读者可选做此题)。
再得到正确结果后,请修改程序所设的X初始值由1.5改为100,1000,1000,再运行,观察结果,分析不同的x初值对结果有什么影响,为什么?修改程序,使之能输出迭代的次数和每次迭代的结果,分析不同的x初始值对迭代的次数有无影响。
3.预习内容预习教材第5章。
17.6实验6数组1.实验目的(1)掌握一维数组和二维数组的定义、赋值和输入输出的方法。
(2)掌握字符数组和字符串函数的使用。
(3)掌握与数组有关的算法(特别是排序算法)。
2.实验内容编程序并上机调试运行。
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++上机实验报告
成绩辽宁工程技术大学上机实验报告课程名称嵌入式程序设计(C++)学院软件学院专业嵌入式软件班级嵌软12-1学号姓名日期2015.01.17-2015.01.18目录实验一熟悉VC++编程环境 (1)实验二带有循环语句的C++程序 (5)实验三熟悉VC++编程环境 (9)实验四类与对象 (14)实验五继承与派生 (19)实验六友元函数与运算符重载 (22)实验七指针数组 (26)实验八函数的定义与调用 (30)实验一熟悉VC++编程环境实验目的(1)熟悉VC++编程开发环境。
(2)掌握在VC++集成开发环境中编译、调试与运行程序的方法。
(3)掌握简单的出入输出程序编写,调试,运行。
实验准备(1)准备下载安装一个VC++编程软件。
(2)复习书本前三章,回顾C++编程基本原理及程序格式。
(3)从书上挑选源程序作为实验程序。
(4)准备好新建工程,设置文件保存地址。
实验过程一、程序一1.实验内容:新建c++源程序,使之输出一个字符串。
2.程序代码:# include <iostream.h>void main(){ cout<<" ***************"<<'\n';cout<<" Hello!"<<'\n';cout<<" ***************"<<'\n';}3.调试,运行,分析结果。
二、程序二1.实验内容:编写一个C++程序,要求输入一个矩形的长和宽,输出面积和周长。
2.程序代码:# include <iostream.h>void main(){ float a,b ,L,S;cout<<"请输入一个矩形的长与宽:"<<endl;cin>>a>>b;L=(a+b)*2;S=a*b;cout<<"矩形的长与宽: " <<a<<"和"<<b<<endl;cout<<"矩形的周长: " <<L<<endl;cout<<"矩形的面积: " <<S<<endl;}3.调试,运行,分析结果。
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上机实验报告范文
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语言实验报告(全)
《C语言程序设计》实验(上机)报告
《C语言程序设计》实验(上机)报告
《C语言程序设计》实验(上机)报告
《C语言程序设计》实验(上机)报告
《C语言程序设计》实验(上机)报告
《C语言程序设计》实验(上机)报告
《C语言程序设计》实验(上机)报告
《C语言程序设计》实验(上机)报告
《C语言程序设计》实验(上机)报告
实验报告填写说明
1.实验报告中的班级写行政班级(如道土1班),学号写完整学号(如20176000101),实
验日期不要漏写,任课教师写全名。
2.设计流程(算法描述)的书写用传统流程图、N-S流程图或伪代码中的任一种方式写出算法。
3.调试和测试结果应有内容,至少是“调试结果正确”,如果遇到错误,则写出错误信息,
及调试解决方法。
要求写出测试用的数据和测试结果,应对所有路径都进行测试。
c 上机实验报告
c 上机实验报告C语言上机实验报告引言:计算机科学与技术专业的学生,无论是在理论课程还是实践环节,都需要学习和掌握C语言。
C语言作为一种广泛应用于系统编程和嵌入式开发的高级编程语言,具有灵活性和高效性,因此被广泛应用于各个领域。
本篇实验报告将介绍我在上机实验中所学习到的C语言知识和技巧。
实验一:基本语法和数据类型在第一次上机实验中,我们学习了C语言的基本语法和数据类型。
通过编写简单的程序,我们了解了C语言的程序结构,包括头文件引用、全局变量定义、函数声明和主函数等。
同时,我们还学习了C语言的基本数据类型,如整型、字符型、浮点型等,并掌握了它们的使用方法和注意事项。
实验二:控制语句和循环结构在第二次上机实验中,我们深入学习了C语言的控制语句和循环结构。
通过编写多个程序,我们掌握了条件语句(if-else语句和switch语句)和循环语句(for循环、while循环和do-while循环)的使用方法。
这些控制语句和循环结构可以帮助我们实现程序的流程控制和逻辑判断,提高程序的灵活性和可读性。
实验三:数组和字符串在第三次上机实验中,我们学习了C语言中数组和字符串的使用。
通过编写程序,我们了解了数组的定义和初始化、数组元素的访问和修改、多维数组的使用等。
同时,我们还学习了字符串的定义和初始化、字符串的输入和输出、字符串的比较和拼接等。
数组和字符串是C语言中非常重要的数据结构,熟练掌握它们的使用方法对于编写复杂的程序非常有帮助。
实验四:函数和指针在第四次上机实验中,我们学习了C语言中函数和指针的使用。
通过编写程序,我们了解了函数的定义和调用、函数的参数传递和返回值、递归函数的实现等。
同时,我们还学习了指针的定义和初始化、指针的引用和解引用、指针的运算和指针与数组的关系等。
函数和指针是C语言中非常重要的概念和工具,熟练掌握它们的使用方法对于编写高效和灵活的程序至关重要。
实验五:文件操作和结构体在第五次上机实验中,我们学习了C语言中文件操作和结构体的使用。
C语言上机操作指导实验五数组(1) 实验八函数(2)
第 4页,共 14页
《C 程序设计》实验及课程设计项目报告
下标= a 2
0
1 8
2 16
3 14
4 1 10
5 8
6
7 16
8 4
9 20
10 6
部分源代码: k=0; if ( a[k]<a[1] ) 真 k=1; 执行 k=0; if ( a[k]<a[2] ) 假 for ( i=1; i<10; i++ ) k=2; 不执行 if ( a[k]<a[i] ) if ( a[k]<a[3] ) 真 k=i; k=3; 执行 相关知识:①删除数组元素的概念;②移动数组元素的算法;③求最大值位置的算法。 7. 以下 sy30.c 程序的功能是:从键盘上输入若干个学生的成绩,统计计算出平均成绩,并输 出低于平均分的学生成绩,用输入负数结束输入。请填空: #include <stdio.h> void main( ) { float x[1000], sum=0.0, ave, a; int n=0, i; printf ("Enter mark : \n") ; scanf("%f", &a); while (a>=0.0 && n<1000) { sum+= ; x[n]= ; n++; scanf("%f", &a); } ave= ; printf ("Output : \n"); printf ("ave = %f\n", ave); for (i=0; i<n; i++) if ( ) printf("%f\n", x[i]); } 8.打印如下杨辉三角形 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 编程点拨: 杨辉三角形有如下特点: 1 只有下半三角形有确定的值; 2 第一列和对角线上的元素值都是 1; 3 其它元素值均是前一行同一列元素与前一行前一列元素之和。
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语言上机实验实验目的:1.熟悉C语言的基本语法和编程方式;2.掌握常见的控制结构和函数的使用方法;3.提高编程能力,培养解决实际问题的能力。
实验内容:1.编写一个程序,实现输入两个整数,然后输出它们的和、差、积;2.编写一个程序,实现输入一个整数n,然后计算并输出1到n之间的所有整数的和;3.编写一个程序,实现输入一个整数n,然后计算并输出1到n之间的所有奇数的和;4.编写一个程序,实现输入一个整数n,然后计算并输出1到n之间的所有偶数的和;5.编写一个程序,实现输入一个整数n,计算并输出n的阶乘;6.编写一个程序,实现输入一个整数n,计算并输出n的平方根;7.编写一个程序,实现输入一个整数n,判断并输出n是否为质数;8.编写一个程序,实现输入一个正整数n,判断并输出n是否为完全数;9.编写一个程序,实现输入一个整数n,计算并输出n的倒数,要求精确到小数点后6位;10.编写一个程序,实现输入一个字符串,然后将其逆序输出。
实验步骤:1.根据实验内容,分别编写10个C语言程序;2.按照实验要求,输入测试数据进行测试;3.运行程序,观察输出结果是否正确;4.如有错误,检查代码并进行修改;5.若一切正确,保存实验报告。
实验结果与分析:1. 输入两个整数为5和6,输出结果为sum=11, difference=-1, product=30;2. 输入整数n为10,输出结果为sum=55;3. 输入整数n为10,输出结果为sum=25;4. 输入整数n为10,输出结果为sum=30;5. 输入整数n为5,输出结果为factorial=120;7. 输入整数n为13,输出结果为13 is a prime number;8. 输入整数n为6,输出结果为6 is a perfect number;10. 输入字符串为"Hello, World!",输出结果为"!dlroW ,olleH"。
C语言实验报告实验五参考答案
C语言实验报告实验五参考答案实验五一维数值数组(参考答案)1、设计程序sy5-1.c,计算n门课程的平均分。
例如:若有5门课程的成绩是:90.5.72.80.61.5.55,则平均分是:71.80.算法分析:先求n门课的成绩总和,(累加求和),再用累和除以课程数。
参考答案:includevoid main()double score[30]。
sum=0,aver;int n,i;printf("Inputn:");scanf("%d",&n);printf("请依次输入%d门课程的成绩",n);for(i=0;i<n;i++)scanf("%lf",&score[i]);sum=sum+score[i];aver=sum/n;printf( "\nAverage scoreis: %5.2f\n"。
aver);运行结果:2、设计步伐sy5-2.c,对输入的10个整数按倒序寄存后输出成效。
算法阐发:利用“半数交流”算法,最前面的元素和末了面的元素交流,逐步向中央挨近。
可利用两个下标变量i和XXX。
参考答案:includeint main()int a[10]={1,2,3,4,5,6,7,8,9,10};int i,j,t;for( i=0,j=9.i<j。
i++,j--)//逐一向中,交换。
直到已没有元素没交换t=a[i]。
a[i]=a[j]。
a[j]=t;}// a[i]-数组前端的数,a[j]-数组后端的数printf("交流后数组元素是:");for(i=0;i<10;i++)printf("%5d",a[i]);//%5d,5透露表现宽度printf("\n");//输出完所有的数后换行return 0;运行结果:3、设计程序sy5-3.c,输入10个整数,找出其中的最大数及其所在的下标。
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)。
C上机实验报告实验五 This manuscript was revised by the office on December 22, 2012实验五继承与派生1.实验目的1.学习定义和使用类的继承关系,定义派生类2.熟悉不同继承方式下对基类成员的访问控制3.学习利用虚基类解决二义性问题2.实验要求1.定义一个基类Animal,有私有整型成员变量age,构造其派生类dog,在其成员函数SetAge(intn)中直接给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(intn)中直接对age赋值时,会出现类似以下的错误提示:errorC2248:‘age’:cannotaccessprivatememberdeclaredinclass‘Animal’errorC2248:‘age’:cannotaccessprivatememberdeclaredinclass‘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>usingnamespacestd;classAnimal//Animal类{/*private:intage;*/public:intage;Animal(){}~Animal(){}Animal(int);};classDog:publicAnimal//Dog类,Animal的公有派生类{private:intnumber;public:Dog(){}~Dog(){}Dog(int,int);voidsetAge(int);voidshowNumber();voidshowAge();};Animal::Animal(inta)//Animal构造函数{age=a;}Dog::Dog(intn,inta)//Dog构造函数{number=n;age=a;}voidDog::setAge(intn)//Dog成员函数,setAge{age=n;}//数据输出函数voidDog::showNumber(){cout<<"Number:"<<number<<endl;}voidDog::showAge(){cout<<"Age:"<<age<<endl;}intmain(){Dogdog1(12,0);dog1.setAge(7);dog1.showNumber();dog1.showAge();return0;}Lab_2#include<iostream>usingnamespacestd;classBaseClass{private:intgrade;intpopulation;public:BaseClass(intg,intp)//BaseClass的构造函数{grade=g;population=p;cout<<"constructingBaseClass"<<endl;}~BaseClass()//析构{cout<<"destructingBaseClass"<<endl;}};classDerivedClass:publicBaseClass{private:charname;public:DerivedClass(intg,intp,charn):BaseClass(g,p)//DerivedClass的构造函数{name=n;cout<<"constructingDerivedClass"<<endl;}~DerivedClass(){cout<<"destructingDerivedClass"<<endl;}};intmain(){DerivedClassa(7,55,'A');return0;}Lab_3#include<iostream>usingnamespacestd;classVehicle{public:floatmaxspeed;floatweight;Vehicle(){}Vehicle(floatm,floatw){maxspeed=m;weight=w;}~Vehicle(){}voidrun(){cout<<"Vehiclerunning"<<endl;}voidstop(){cout<<"Vehiclestopping"<<endl;}};classBicycle:virtualpublicVehicle{public:floatheight;Bicycle(floatm,floatw,floath):Vehicle(m,w){height=h;}Bicycle(floath){height=h;}~Bicycle(){}};classMotorcar:virtualpublicVehicle{public:intseatnum;Motorcar(floatm,floatw,ints):Vehicle(m,w){seatnum=s;}~Motorcar(){}Motorcar(floats){seatnum=s;}};classMotorbicycle:publicBicycle,publicMotorcar{public:Motorbicycle(floatm,floatw,floath,ints):Vehicle(m,w),Bicycle(h) ,Motorcar(s){}voidshowInformation(){cout<<"Themaxspeedofthismotorbicycleis:"<<maxspeed<<endl;cout<<"Theweightofthismotorbicycleis:"<<weight<<endl;cout<<"Theheightofthismotorbicycleis:"<<height<<endl;cout<<"Theseatnumberofthismotorbicycleis:"<<seatnum<<endl;}};intmain(){Motorbicyclea(60,21.5,45.8,2);a.run();a.showInformation();a.stop();return0;}6.运行结果Lab7_1age为Animal的私有成员数据时:编译报错age为Animal的公有成员数据时:正常运行Lab_2Lab_37.心得体会:熟悉并了解了如果利用基类进行派生,得到派生类,明白了public,protect,private三种派生类型的区别,能够较好的利用继承的方法,来创建新的子类。
并且学习了使用虚基类继承的方式,使基类中的成员对象仅被创建一次,收获颇多。