C 上机实验报告 实验六
上机实验报告(精选11篇)
上机实验报告篇1用户名se××××学号姓名学院①实验名称:②实验目的:③算法描述(可用文字描述,也可用流程图):④源代码:(.c的文件)⑤用户屏幕(即程序运行时出现在机器上的画面):2.对c文件的要求:程序应具有以下特点:a可读性:有注释。
b交互性:有输入提示。
c结构化程序设计风格:分层缩进、隔行书写。
3.上交时间:12月26日下午1点-6点,工程设计中心三楼教学组。
请注意:过时不候哟!四、实验报告内容0.顺序表的插入。
1.顺序表的删除。
2.带头结点的单链表的\'插入。
3.带头结点的单链表的删除。
注意:1.每个人只需在实验报告中完成上述4个项目中的一个,具体安排为:将自己的序号对4求余,得到的数即为应完成的项目的序号。
例如:序号为85的同学,85%4=1,即在实验报告中应完成顺序表的删除。
2.实验报告中的源代码应是通过编译链接即可运行的。
3.提交到个人空间中的内容应是上机实验中的全部内容。
上机实验报告篇2一、《软件技术基础》上机实验内容1.顺序表的建立、插入、删除。
2.带头结点的单链表的建立(用尾插法)、插入、删除。
二、提交到个人10m硬盘空间的内容及截止时间1.分别建立二个文件夹,取名为顺序表和单链表。
2.在这二个文件夹中,分别存放上述二个实验的相关文件。
每个文件夹中应有三个文件(.c文件、.obj文件和.exe文件)。
3. 截止时间:12月28日(18周周日)晚上关机时为止,届时服务器将关闭。
三、实验报告要求及上交时间(用a4纸打印)1.格式:《计算机软件技术基础》上机实验报告用户名se××××学号姓名学院①实验名称:②实验目的:③算法描述(可用文字描述,也可用流程图):④源代码:(.c的文件)⑤用户屏幕(即程序运行时出现在机器上的画面):2.对c文件的要求:程序应具有以下特点:a 可读性:有注释。
b 交互性:有输入提示。
C语言程序设计上机实验报告
(1)创建新项目
选择“文件”一“新建”一“项目”命令;或者按[Ctrl+Shif+N]组合键;也可以在主窗口的起始页面中单击“新建项目”按钮,进入新建项目向导 在“新建项目”对话框左窗格的已安装的模板中选择"VisualC++”--“ Win32”
在对话框中窗格中选择“Win32控制台应用程序”
②在“添加命令”对话框中(见图2.4),从“类别”列表框中选择类别名称,如“调试”,从“命令”列表框中选择要添加的命令,如“开始执行(不调试)”
③单击“确定”按钮,再单击“关闭”按钮。
单击工具栏右侧的下拉按钮,也可以添加或删除命令按钮。
(4)菜单或工具栏的其他操作
在“自定义”对话框“命令”选项卡的“请选择要重新排列的菜单或工具栏”选项组中,选择要移动的菜单或工具栏,单击“上移”或“下移”按钮移动菜单或命令:单击“删除”菜单成命令,单击“全部重置”按钮将所选的菜单栏、工具栏或上下文菜单恢复为其原单需覆由“键盘”按租,可给选中的命令设定快捷键:单击“修改所选内容”按键可以对菜单或命令进行分组
选中“自动换行”复选框,行中水平方向超出可视编辑器区域的任何部分会自动显示在下一行。
选中“行号”复选框,行号出现在每行代码的旁边。行号不会添加到代码中,也不会打印出来,仅供参考。
制表符相关设置。
在“选项”对话框的左侧窗格中选择“文本编辑器”一“C/C++”或“所有语言”一“制表符”,如图2.20所示。各选项的含义如下:
单击“移除”按钮,将选定的文件从当前项目中移除,文件没有被删除,依然存于该项目单击“删除”按钮,选定的文件将永久删除,该项目文件夹内不再含有此文件。
(3)建立多项目文件
上机实验报告格式实验六
上机实验报告格式实验六1、西华大学能源与环境学院学生上机试验报告西华大学上机试验报告课程名称:水利工程CAD年级/专业:2021级水利水电工程试验成果:指导教师:涂兴怀、蒋亮姓名:刘涛试验日期:20211114试验名称:试验六图案的打印学号:312021*********试验学时:2h一、试验目的试验目的:清晰模型空间与布局空间的区分,把握图形的打印方法。
二、试验内容或设计思想任务:教材P78第4、5题;三、试验环境与工具计算机、AUTOCAD软件四、试验过程或试验数据P784题5题画图步骤:〔1〕绘制边长为100的矩形。
指令:r2、ectang指定另一个角点或[面积(A)/尺寸(D)/旋转(R)]:d指定矩形的长度200.0000:100指定矩形的宽度90.0000:100〔2〕设置倒圆半径指令:fillet 指令:FILLET圆角(F)(半径=10):设置(S)/多段线(P)/半径(R)/修剪(T)/多个(U)/选取第一个对象:r圆角半径10:10圆角(F)(半径=10):设置(S)/多段线(P)/半径(R)/修剪(T)/多个(U)/选取第一个对象:方向(D)/选取第二个对象(S):指令:FILLET圆角(F)(半径=10):设置(3、S)/多段线(P)/半径(R)/修剪(T)/多个(U)/选取第一个对象:方向(D)/选取第二个对象(S):指令:FILLET圆角(F)(半径=10):设置(S)/多段线(P)/半径(R)/修剪(T)/多个(U)/选取第一个对象:方向(D)/选取第二个对象(S):指令:FILLET圆角(F)(半径=10):设置(S)/多段线(P)/半径(R)/修剪(T)/多个(U)/选取第一个对象:圆角(F)(半径=10):设置(S)/多段线(P)/半径(R)/修剪(T)/多个(U)/选取第一个对象:方向(D)/选取第二个4、对象(S):〔3〕对矩形四个角进行倒圆;指令:FILLET圆角(F)(半径=10):设置(S)/多段线(P)/半径(R)/修剪(T)/多个(U)/选取第一个对象:p选取圆角的二维多段线:指令:_pan〔4〕4条直线已被倒圆,即完成2-2剖面图的绘制如上图。
C程序设计上机实验报告(完整版)
C语言程序设计上机实验报告学院:机械工程学院班级:机自161213姓名:**学号:***********实验时间: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语言上机实验实验报告
本次实验的主要内容是学习使用C语言编程实现简单的数据结构算法。
首先,我们学
习了C语言的基础知识,比如变量定义、函数、控制语句等,然后学习了链表、栈、队列
等数据结构的知识,了解了它们在实际应用中的用法。
紧接着,我们利用所学知识实现了数据结构与算法中的一些经典题目,像是递归求阶乘,折半查找,冒泡排序和合并排序等。
我们先是用自己熟悉的编程语言来实现俩种算法
的比较,然后才运用C语言来实现它们。
在实现的过程中,一方面要熟悉C语言语法,另
一方面又要理解并发挥现有算法所蕴含的思想,这样才能够把算法翻译成准确有效的代码。
随着编程经验的积累,我们加深了对C语言的掌握,最后收获良多。
在本次实验的过
程中,我们学会了在C语言环境下开发程序,学会了使用它来创造数据结构和算法;并且
掌握了如何用它编写、测试和调试程序的技巧,以便更好地编程。
整个实验过程也帮助我
们加深理解了数据结构以及它们在解决实际问题中的意义。
C++上机实验报告实验六
C++上机实验报告实验六C++上机实验报告实验六一、实验目的1、熟练掌握 C++中类和对象的概念及使用方法。
2、深入理解类的成员变量和成员函数的特性及作用。
3、通过实际编程,提高运用类和对象解决问题的能力。
二、实验环境操作系统:Windows 10编程软件:Visual Studio 2019三、实验内容本次实验主要围绕创建一个简单的学生信息管理系统展开。
1、定义一个名为`Student` 的类,包含学生的学号、姓名、年龄和成绩等成员变量。
2、为`Student` 类编写成员函数,实现对学生信息的输入、输出和修改。
3、创建一个包含多个`Student` 对象的数组,模拟学生信息的存储。
4、编写函数,实现对学生信息的排序(如按照成绩从高到低排序)。
四、实验步骤1、首先,打开 Visual Studio 2019 并创建一个新的 C++控制台应用程序项目。
2、在项目中定义`Student` 类,代码如下:```cppclass Student {private:int id;std::string name;int age;double score;public://输入学生信息的函数void inputInfo(){std::cout <<"请输入学号:";std::cin >> id;std::cout <<"请输入姓名:";std::cin >> name;std::cout <<"请输入年龄:";std::cin >> age;std::cout <<"请输入成绩:";std::cin >> score;}//输出学生信息的函数void outputInfo(){std::cout <<"学号:"<< id <<",姓名:"<< name <<",年龄:"<< age <<",成绩:"<< score << std::endl;}//修改学生信息的函数void modifyInfo(){int choice;std::cout <<"1、修改学号 2、修改姓名 3、修改年龄 4、修改成绩" << std::endl;std::cin >> choice;switch (choice) {case 1:std::cout <<"请输入新的学号:";std::cin >> id;break;case 2:std::cout <<"请输入新的姓名:";std::cin >> name;break;case 3:std::cout <<"请输入新的年龄:";std::cin >> age;break;case 4:std::cout <<"请输入新的成绩:";std::cin >> score;break;default:std::cout <<"无效的选择!"<< std::endl;}}};```3、在`main` 函数中创建`Student` 对象数组,并进行相关操作。
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
优
良
中
及格
不及格
教师签名
日期
南昌大学软件学院实验报告
课程名称__高级语言程序设计实验名称_控制结构__
班级__软工101_____姓名_李臻__________学号__8000110014_________仪器组号__实验日期___2011.3.25___
实验报告要求:2.实验内容3.实验步骤
4.运行结果5.流程图6.实验体会
3.完成实验报告和提交源维清晰、明了。不易发生错误。
总结:对于这样的题目,我想我应该对于这些运算符非常地熟悉,然后突破常规,这样题目就能迎刃而解。还有就是这个程序我运用了三种不同的算法,体会到的编程的乐趣和成就感,希望以后能不断程序,不断收获新的知识。
一、实验目的
1.进一步熟悉编程环境
2.理解并掌握程序的顺序结构程序设计
3.理解并掌握程序的分支结构(if语句、switch语句)程序设计
4.学习过程化程序设计方法
5.进一步学习掌握查找与修改编译错误的方法
二、实验要求
1.结合上课内容,写出程序,并调试程序,要给出测试数据和实验结果。
2.整理上机步骤,总结经验和体会。
这次实验总结:
虽然我已经有好几年的编程经历,但是对于一个学生,我想我还得从头开始,一步步地处理好每一个程序,不妄自菲薄,自高自大。还要虚心上进,不断学习新的知识,提高程序的灵魂----编程思想。还要多多向其他学长看起,多多请教,不断提高。
我知道学习是不间断的过程,要持之以恒,方能将c++这门语言学好,熟练。希望在以后的学习中能不断提高自己的能力,不断有创新。
C语言程序设计教程-上机实验报告
《高级语言程序设计》实验指导学院:信息科学与技术学院专业:学期:教师:实验6 函数与编译预处理院(系):信息科学与技术学院课程名称:C语言程序设计教师签名:班级学号实验室专业姓名计算机号所用软件实验成绩6.1 实验目的1.熟悉函数的一般形式以及函数的定义与调用。
2.掌握函数实参与形参的对应关系以及“值传递”的方法。
3.掌握自定义函数的编写。
4.掌握函数的嵌套调用和递归调用方法。
5.掌握全局变量、局部变量、动态变量、静态变量的概念和使用方法。
6.2 实验预习1.函数的概念、定义格式、声明格式、调用规则及调用过程中数据传递方法过程,寒暑的嵌套调用和递归调用。
2.宏定义和文件包含等编译预处理指令。
6.3 实验任务1.输入程序,分析程序的运行结果,#include "stdio.h"void xs(){printf(“C 2.0\n”);}void main(){printf(“Turbo_”);xs();}人工分析结果:Turbo_C2.0 程序运行结果:Turbo_C2.02.阅读程序,并将该程序改写成函数调用形式。
#include "stdio.h"void main(){int data;scanf("%d",&data);if(data%2!=0) printf("%d,YES!\n",data);else printf("%d,NO!\n",data);}在提示/**********blank**********/下面填写合适的内容完成程序设计。
定义函数int f(intx),判断x是否为奇数,若是则函数返回1,否则返回0。
#include "stdio.h"void main(){int data,flag;/**********blank**********/______ int f(int x)___________; /*填空位置1,声明函数*/scanf("%d",&data);/**********blank**********/flag=____f(int)_____; /*填空位置2,调用函数,并将返回值赋给变量flag*/if(flag==1) printf("%d,YES!\n",data);else printf("%d,NO!\n",data);}int f(int x){int z;If(x%2!=0) z=1;else z=0;/**********blank**********/_____return z____________; /*填空位置3,带回返回值*/}3.调试运行如下程序。
上机实验报告
一、实验目的1. 熟悉实验环境,掌握实验操作流程。
2. 理解并应用所学知识,解决实际问题。
3. 培养团队协作能力,提高实验技能。
二、实验时间2023年11月15日三、实验地点计算机实验室四、实验内容本次实验主要围绕以下内容展开:1. 编写一个简单的C语言程序,实现两个整数的加法运算。
2. 使用Python实现一个简单的计算器,能够进行加减乘除运算。
3. 编写一个Java程序,实现学生信息管理系统,包括添加、删除、修改和查询学生信息。
五、实验步骤1. C语言程序实现整数加法(1)创建一个新的C语言项目,命名为“Addition”。
(2)编写以下代码:```c#include <stdio.h>int main() {int num1, num2, sum;printf("请输入两个整数:\n");scanf("%d %d", &num1, &num2);sum = num1 + num2;printf("两个整数的和为:%d\n", sum);return 0;}```(3)编译并运行程序,测试功能。
2. Python计算器实现(1)创建一个新的Python项目,命名为“Calculator”。
(2)编写以下代码:```pythondef calculator():operation = input("请输入运算符(+,-,,/):") num1 = float(input("请输入第一个数:"))num2 = float(input("请输入第二个数:"))if operation == '+':result = num1 + num2elif operation == '-':result = num1 - num2elif operation == '':result = num1 num2elif operation == '/':if num2 != 0:result = num1 / num2else:print("除数不能为0!")returnelse:print("无效的运算符!")returnprint("结果是:", result)calculator()```(3)运行程序,进行测试。
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语言程序设计实验报告实验内容:选择分支结构(if else)班级:学号:指导老师:2013年4月1实验目的1.熟练掌握if、if...else、if...else if语句,掌握if语句中的嵌套关系和匹配原则,利用if语句实现分支选择结构。
2.熟练掌握for语句格式及使用方法3.掌握简单、常用的算法,并在编程过程中体验各种算法的编程技巧.进一步学习调试程序,掌握语法错误和逻辑的检查方法。
4.掌握C函数的定义方法,函数的调用方法,参数说明以及返回值,掌握实参与形参的对应关系以及参数之间的“值传递”的方式。
5.在编程的过程中加深函数调用的设计思想。
2实验内容输入一个数值,计算并输出该数值以内最大的10个素数以及它们的和.要求:(1) 在程序内部加必要的注释.(2)要对小于该数以内不够10个素数的情况进行处理.(3)输出的形式为:素数1+素数2+...+素数10=总和值.3算法描述流程图主函数流程图:判断素数函数流程图:4源程序int a(int n) /*设计一个求素数的函数*/{ int i;for(i=2;i<=n/2;i++)if(n%i==0) return 0; /*不是素数则返回0*/return 1; /*是素数则返回1*/}main(){int i=1,n,sum=0,k;printf(“Input a number:”);scanf("%d",&k); /*输入一个整数*/for(n=k;n>1;n-=1){if(a(n)) /*调用a(int n)函数,判断是否为素数*/ {if(i==1) printf("%d",n);else printf("+%d",n); /*是素数以和的形式输出*/sum+=n; /*是素数则求和*/i++;}if(i==11) break; /*当i>10时就退出循环*/}printf("=%d\n",sum);if(i<=10) printf("not shuchu.\n"); /*当i〈10时,程序结束*/}5测试数据测试数据为10,100,1000.6运行结果当测试数据为10时:当测试数据为100时:当测试数据为1000时:7出现问题及解决方法1)在本实验中,需按要求的格式输出“素数1+素数2+...+素数10=总和值.”,因采用循环for(n=k;n>1;n-=1){if(a(n)){if(i==1) printf("%d",n);else printf("+%d",n);sum+=n;i++;}if(i==11) break;}printf("=%d\n",sum);从而使输出结果符合题目要求;2)要对不足10个的素数进行处理,因而要加入“if(i<=10) printf("not shuchu.\n");”8实验心得。
C语言实验报告总结(共6篇)
c语言上机实验心得在科技高度发展的今天,计算机在人们之中的作用越来越突出。
而c语言作为一种计算机的语言,学习它将有助于我们更好的了解计算机,与计算机进行交流,因此,我们一定要学好c语言,这对我们以后的发展是十分重要的。
说到这,上机实验当然就是一个必不可少的环节了,c语言灵活、简洁的特点,只有通过编程实践才能真正了解,真正说懂。
为了更好地学习语法规定、掌握程序设计方法、提高程序开发能力,我们必须实际上机、编写程序。
通过实验我也发现了自己不少的问题,这都是只看书上的程序而没有自己亲身上机编写程序而无法得知的,假如我们只因看熟书上的程序就以为自己已经掌握了c语言那就大错特错了。
我主要存在以下的这些缺点:1、学习耐心与细心不足,如scanf(“%d”,&n);中的“&”有时候会忘了。
而在最后输出时又错写成printf(“%d”,&n);从而错误得输出了地址而不是我原来想要的答案。
2、编程思想不够发散,看着题目有时想不出解答的方法,更不用说编写程序来解题了。
3、4、基本功不够,有些函数的表达不太精通,需要看书来核实,以致耗时较多。
知识不够广,有些内容没有学好,不能要用到时及时反映出来,认识程度不够深刻。
5、6、有时候不够精简,有一点用处不大或者说没有也可以的文字存在。
英语水平较差,对错误的地方虽然电脑有说,但由于是英文,理解上还是存在一点问题。
为了能更好地学好c语言,在今后学习中我要更多的动脑,综合运用所学,多看相关东西,多上机练习,提高电脑水平,增强自学能力,把已会的东西掌握好。
实验中我深刻意识到完成程序的编写,决不意味着万事大吉。
认为万无一失的程序,实际上机运行时可能会出现很多意想不到的问题。
有时编译程序检测出一大堆错误,有时程序能够顺利运行,但是运行结果并不是你预期中想要的。
因为开发环境所提供的编译系统无法发现程序逻辑错误,或者是你原来所设计时的理论错误,这就只能靠自己的上机经验来分析判断错误的所在了。
c语言上机实验报告怎么写
c语言上机实验报告怎么写c语言上机实验报告一这个星期,我们迎来了C语言实训——一次至为重要的实训。
在这个星期里,同学们都很认真的做着那20多道实训题目,遇到不懂的互相请教,或请问老师。
非常感谢老师对我们的帮助,这次实训使我受益匪浅,收获了很多。
通过C语言实训,让我加深了对C语言的了解,而不只是单单的在课本中学到的那些理论,平时乏味的课程,通过自己动手亲自编写,变的生动有趣,而在自己动手的过程中,出现的问题很多,比理论要难的多,当一个程序写完以后,经常会有很多错误而没法解决。
不过,通过几天的实训,逐渐积攒了一些经验,有些错误可以很快就看出来。
这次实训有很大的收获,让我对C语言有了更深的认识,平时在课堂上学到的东西可以自己动手编写,将其转化成一些实用的技能。
如果是一个程序写完一处错误也没有,会有种成就感,于是兴趣就来了,兴趣来了,自然学的东西也就多了,能把理论变成实际的技能,让我对C语言有了浓厚的兴趣和更深层的认识。
C语言是一个有序的学习,学了最基本的替换,然后扩展到循环,嵌套,条理很清楚,不是一个零散的知识,实际上所有的课程都如此,不过通过实训我也知道了自己的不足,存在的很多问题。
比如自己写的写的小程序出了问题,不会解决了就叫老师帮忙,虽然说一定意义上增加了师生之间的感情,但是会养成一种依赖的心理,碰到问题了第一个想到的是求助而不是自己独立解决,所以以后要多多锻炼自己的信心和增加自己的能力,争取做到老师不在身边的时候也可以完成一些简单的程序编写与错误排除。
还有自己的基础知识不扎实,遇到的问题,没有很好的逻辑思维,亲自编写一个陌生的程序的时候会有种无法下手的感觉,找不到突破口。
通过实训,逐渐理清了顺序,对于简单的程序和一些相对比较繁琐的嵌套,循环,不在是看着一头雾水。
其实只要理清了思路,把基础知识掌握了,然后有条不紊的分析,一步一步理解,C语言还是很有意思的课程。
自己亲自动手编写程序让我增加了对C语言程序开发环境的了解,在上课的时候老师就讲,学习C语言最重要的是学习C语言的逻辑思维,不管以后从事什么行业,学习C语言都对自己的职业很有帮助,如果是从事编程工程工作的话。
C上机实验报告实验六
实验六多态性1. 实验目的1. 掌握运算符重载的方法2. 学习使用虚函数实现动态多态性2. 实验要求1•定义Point类,有坐标_x, _y两个成员变量;对Point类重载牛+”自增)、“ -------- ”自减)运算符,实现对坐标值的改变。
2•定义一个车(vehiele)基类,有Run、Stop等成员函数,由此派生出自行车(bicycle)类、汽车(motorcar) 类,从bicycle 和motorcar 派生出摩托车(motorcycle) 类,它们都有Run、Stop 等成员函数。
观察虚函数的作用。
3. (选做)对实验4中的People类重载“==”运算符和“=”运算符,“==”运算符判断两个people 类对象的id 属性是否相等;“=”运算符实现People 类对象的赋值操作。
3. 实验内容及实验步骤1•编写程序定义Point类,在类中定义整型的私有成员变量_x_y,定义成员函数Point&operator++() ;Pointoperator++(int) ;以实现对Point 类重载“ ++”自(增)运算符,定义成员函数Point& operator --- (); Pointoperator ------- (int);以实现对Point 类重载“------- ”(自减)运算符,实现对坐标值的改变。
程序名:1ab8_1.cpp。
2. 编写程序定义一个车(vehicle)基类,有Run、Stop等成员函数,由此派生出自行车(bicycle) 类、汽车(motorcar) 类,从bicycle 和motorcar 派生出摩托车(motorcycle) 类,它们都有Run、Stop 等成员函数。
在main()函数中定义vehicle、bicycle、motorcar、motorcycle 的对象,调用其Run()、Stop()函数,观察其执行情况。
再分别用vehicle类型的指针来调用这几个对象的成员函数,看看能否成功;把Run、Stop定义为虚函数,再试试看。
C语言实验报告(全)
《C语言程序设计》实验(上机)报告
《C语言程序设计》实验(上机)报告
《C语言程序设计》实验(上机)报告
《C语言程序设计》实验(上机)报告
《C语言程序设计》实验(上机)报告
《C语言程序设计》实验(上机)报告
《C语言程序设计》实验(上机)报告
《C语言程序设计》实验(上机)报告
《C语言程序设计》实验(上机)报告
实验报告填写说明
1.实验报告中的班级写行政班级(如道土1班),学号写完整学号(如20176000101),实
验日期不要漏写,任课教师写全名。
2.设计流程(算法描述)的书写用传统流程图、N-S流程图或伪代码中的任一种方式写出算法。
3.调试和测试结果应有内容,至少是“调试结果正确”,如果遇到错误,则写出错误信息,
及调试解决方法。
要求写出测试用的数据和测试结果,应对所有路径都进行测试。
C语言上机实验研究报告
for(j=1。j<=4。j++)
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)。
}
青岛理工大学
实
验
环
境
Visual 6.0++ Windows 7
实
验
内
容
1.按照上述步骤,创建一个基于控制台的应用程序,该程序工程中只包含一个源程序文件。功能为求两个整数的和,数据从键盘输入。
2.创建一个基于控制台的应用程序,求一元二次方程的根。使得当输入三个实数a,b,c(满足b*b-4*a*c>0),能够求出方程a*x*x+b*x+c=0的两个实根,并显示在屏幕上。分析提示:通过键盘输入方程系数a,b,c的值,而后根据求根公式计算并输出它的两个根。
case '-':printf("%f\n",a-b)。break。
case '*':printf("%f\n",a*b)。break。
case '/':printf("%f\n",a/b)。break。
}
}
青岛理工大学
课程实验报告
课程名称
计算机程序设计(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.学习使用虚函数实现动态多态性2.实验要求1.定义Point类,有坐标_x,_y两个成员变量;对Point类重载“++”(自增)、“――”(自减)运算符,实现对坐标值的改变。
2.定义一个车(vehiele)基类,有Run、Stop等成员函数,由此派生出自行车(bicycle)类、汽车(motorcar)类,从bicycle和motorcar派生出摩托车(motorcycle)类,它们都有Run、Stop等成员函数。
观察虚函数的作用。
3.(选做)对实验4中的People类重载“==”运算符和“=”运算符,“==”运算符判断两个people类对象的id属性是否相等;“=”运算符实现People类对象的赋值操作。
3.实验内容及实验步骤1.编写程序定义Point类,在类中定义整型的私有成员变量_x_y,定义成员函数Point&operator++();Pointoperator++(int);以实现对Point类重载“++”(自增)运算符,定义成员函数Point &operator--();Pointoperator--(int);以实现对Point 类重载“--”(自减)运算符,实现对坐标值的改变。
程序名:1ab8_1.cpp。
2.编写程序定义一个车(vehicle)基类,有Run、Stop等成员函数,由此派生出自行车(bicycle)类、汽车(motorcar)类,从bicycle和motorcar派生出摩托车(motorcycle)类,它们都有Run、Stop等成员函数。
在main()函数中定义vehicle、bicycle、motorcar、motorcycle的对象,调用其Run()、Stop()函数,观察其执行情况。
再分别用vehicle类型的指针来调用这几个对象的成员函数,看看能否成功;把Run、Stop定义为虚函数,再试试看。
程序名:lab8_2.cpp。
4.思考题1.如何将一个运算符重载为类的成员函数?函数类型operator运算符(形参表){函数体;}2.如何将一个运算符重载为类的友元函数?friend函数类型operator运算符(形参表){函数体;}3.如何实现运行时刻的多态?在基类的成员函数前加上virtual,就可以在它的派生类中声明相同名字和类型的成员函数,在运行过程中,系统会自动判断并调用相应类中的成员函数,从而在调用过程中实现多态。
5.源程序b8_1.cpp#include<iostream>usingnamespacestd;classPoint{private:int_x;int_y;public://构造.析构函数Point(){}Point(int,int);~Point(){}//++.--重载Point&operator++();Pointoperator++(int);Point&operator--();Pointoperator--(int);//输出点坐标voidshowPoint();};Point::Point(intx,inty) {_x=x;_y=y;}Point&Point::operator++() {_x++;_y++;return*this;}PointPoint::operator++(int) {Pointp=*this;++(*this);returnp;}Point&Point::operator--() {_x--;_y--;return*this;}PointPoint::operator--(int){Pointp=*this;--(*this);returnp;}voidPoint::showPoint(){cout<<"Thepointis("<<_x<<","<<_y<<")"<<endl; }intmain(){Pointapoint(3,5);apoint.showPoint();(apoint++).showPoint();//测试后置++apoint.showPoint();(++apoint).showPoint();//测试前置++apoint.showPoint();(apoint--).showPoint();//测试后置--apoint.showPoint();(--apoint).showPoint();//测试前置--apoint.showPoint();return0;}b8_2.cpp#include<iostream>usingnamespacestd;classVehicle{public://基类的成员函数为虚函数virtualvoidrun(){cout<<"Vehicleisrunning!"<<endl;} virtualvoidstop(){cout<<"Vehicleisstopping!"<<endl;} };classBicycle:virtualpublicVehicle//按虚基类继承{public:voidrun(){cout<<"Bicycleisrunning!"<<endl;}voidstop(){cout<<"Bicycleisstopping!"<<endl;}};classMotorcar:virtualpublicVehicle//按虚基类继承{public:voidrun(){cout<<"Motorcarisrunning!"<<endl;} voidstop(){cout<<"Motorcarisstopping!"<<endl;} };classMotorcycle:publicBicycle,publicMotorcar {public:voidrun(){cout<<"Motorcycleisrunning!"<<endl;} voidstop(){cout<<"Motorcycleisstopping!"<<endl;} };intmain(){Vehicleveh;Bicyclebic;Motorcarmot;Motorcyclem;//对象名.函数测试/*veh.run();veh.stop();bic.run();bic.stop();mot.run();mot.stop();m.run();m.stop();*///基类指针测试Vehicle*p;p=&veh;p->run();p->stop();p=&bic;p->run();p->stop();p=&mot;p->run();p->stop();p=&m;p->run();p->stop();return0;}b8_3#include<iostream> #include<cstring>usingnamespacestd;//Date类classDate{private:intyear;intmonth;intday;public:Date();Date(inty,intm,intd);Date(Date&p);~Date();voidsetDate();voidshowDate();};//People类,其中含Date类型的数据classPeople{private:charname[11];charnumber[7];charsex[3];Datebirthday;public:charid[16];People();People(char*n,char*nu,char*s,Dateb,char*i);People(People&p);~People();booloperator==(People&);People&operator=(People&);voidsetName();voidsetNumber();voidsetSex();voidsetId();voidshowPeople();};//Date构造函数Date::Date(){}Date::Date(inty,intm,intd){year=y;month=m;}Date::Date(Date&p){year=p.year;month=p.month;day=p.day;}//析构inlineDate::~Date(){}//Date成员函数,设置出生年月日voidDate::setDate(){inty,m,d;cout<<"Inputtheyear:";cin>>y;cout<<"Inputthemonth:";cin>>m;cout<<"Inputtheday:";cin>>d;year=y;month=m;}//Date内联成员函数,输出年月日inlinevoidDate::showDate(){cout<<"Birthdayis"<<year<<"年"<<month<<"月"<<day<<"日"<<endl;}//People构造函数People::People(){};People::People(char*n,char*nu,char*s,Dateb,char*i){strcpy(name,n);strcpy(number,nu);strcpy(sex,s);birthday=b;strcpy(id,i);}People::People(People&p){strcpy(name,);strcpy(number,p.number);birthday=p.birthday;strcpy(id,p.id);}//People析构inlinePeople::~People(){}//People成员函数,设置各类数据voidPeople::setName(){cout<<"Pleaseinputtheperson'sname:";cin.getline(name,11,'\n');}voidPeople::setNumber(){cout<<"Inputnumber:";cin.getline(number,7,'\n');}voidPeople::setSex(){cout<<"Inputsex:";cin.getline(sex,3,'\n');}voidPeople::setId(){cout<<"Inputid:";cin.getline(id,16,'\n');}//People内联成员函数,输出人员信息inlinevoidPeople::showPeople() {cout<<"Name:"<<name<<endl;cout<<"Number:"<<number<<endl;cout<<"Sex:"<<sex<<endl;cout<<"ID:"<<id<<endl;}boolPeople::operator==(People&p) {returnid==p.id;}People&People::operator=(People&p) {strcpy(name,);strcpy(number,p.number);birthday=p.birthday;strcpy(id,p.id);return*this;}//检测==重载的普通函数voidtest(People&x,People&y){if(strcmp(x.id,y.id)==0){cout<<"Their'sIDsaresame"<<endl;}else{cout<<"Their'sIDsaredifferent"<<endl;}}intmain(){/*inti;charspaceA;//生成3个Date类型的对象Datedate[3]={Date(0,0,0),Date(0,0,0),Date(0,0,0)};//生成3个People类型的对象Peopleperson[3]={People("0","0","0",date[0],"0"),People("0","0","0",date[1],"0"),People("0","0","0",date[2] ,"0")};//设置这3个对象的各类信息for(i=0;i<3;i++){person[i].setName();person[i].setNumber();person[i].setSex();person[i].setId();date[i].setDate();spaceA=getchar();}//输出这3个对象的各类信息for(i=0;i<3;i++){person[i].showPeople();date[i].showDate();}*///测试==重载Dated1(0,0,0);Peoplep1("lizhibo","01","male",d1,"123456");Peoplep2("wangyusen","02","male",d1,"123");Peoplep3("zhouhao","03","male",d1,"123456");test(p1,p2);test(p1,p3);//测试=重载cout<<"Before="<<endl;p1.showPeople();p1=p3;cout<<"After="<<endl;p1.showPeople();return0;}6.运行结果1.2.直接使用对象.函数的形式可以成功调用函数:使用基类指针后出现错误,只能调用基类的成员函数:将基类的成员函数设置成虚函数之后,成功实现调取各个派生类的成员函数:其中在使用Vehicle类型指针指向Motorcycle类型的对象时会出现错误:将Vehicle按照虚基类继承,问题解决。