当前位置:文档之家› 哈工大 C语言实验报告(答案)

哈工大 C语言实验报告(答案)

哈工大 C语言实验报告(答案)
哈工大 C语言实验报告(答案)

实验1简单C 程序设计2、将下列由程序流程图描述的算法,转换为C 源代码并填写到图1-3b 框中,然后输入计算机并运行后并分析其运行结果(本小题2分)。

图1-3a 程序流程图

图1-3b

C 源程序3、项目编程(本小题12分)

(1)请向计算机输入a,b,c 三个值,经过程序处理后,要求输出其中最大的一个。

/*C 语言源代码*/

main()

{

}

项目要求:①画出程序流程图;②根据流程图编写程序

图1-4a 程序流程图图1-4b C 源程序

(2)请向计算机输入a,b,c 三个值,经过程序处理后,要求按值从小到大输出。

项目要求:①画出程序流程图;②

根据流程图编写程序/*输出最大值*/

main()

{

}

项目提示:①可采用if结构;②a,b,c由scanf函数输入程序流程图/*将a,b,c三个值由小到大输出*/

main()

{

}

1-5a程序流程图图1-5b C源程序

(3)编程实现打印下列由字母组成的树形。

说明:本项目编程的知识点是让学生对双

重循环语句结构的理解,清楚双重循环的特点

(即当外循环变量中的值变化一次时,则内循

环变量中的值要变化若干次)。

提示:可用外循环变量代表行数;内循环

变量代表需打印字符的个数。

难点:①字符个数是按奇数变化递增

②左右边界字符打印的位置

图1-6a字母A-G组成的树形

/*打印图形*/

main()

{

}

图1-6b C源程序

(4)设计报选体育科目统计程序

设某学校在新生入学时,需报选体育选修科目。体育科目包括:篮球、排球、体操、兵乓球和网球。请为某班级(30人)统计报选各体育科目人数。

项目要求:①画出程序流程图;②根据流程图编写源程序

项目提示:可采用switch与for结构

程序流程图C语言源代码

main()

{

}

图1-7a程序流程图图1-7b C 源程序

实验2数组与排序五、项目编程(本题12分,每小题4分)

1、

将下列一组数读入到a 数组中,然后从a数组中找出其中最大的

元素并与第一个数互换;然后从a数组中找出最小的元素并与最后一个数互换,而其余元素的位置不变。例如,图2-1所示。

2-1数组中部分元素位置的变化

本项目C语言源程序

main()

{

}

2、以下是某班级(32人)高数的考试成绩。要求将此成绩输入到a 数组中,然后按其值由高分到低分进行排列,并输出其排列后的成绩清单。

本项目程序流程图

本项目C语言源程序

main()

{

}

3、按照下列要求设计并编写一个查询程序。

某汽车维修厂仓库存有多种型号的汽车零件,请为该仓库管理员设计并编写一段查询程序,用于查询库中每种零件的库存量。

图2-2设置的零件型号与对应的库存量

/*汽车零件查询C语言源程序*/

main()

{

}

3模块化编程

七、项目编程(本题12分,每小题4分)

1、矩阵运算

请输入一个3行3列矩阵的所有元素,然后输出两条对角线元素之和。

①项目层次图

图3-3矩阵运算层次图

②请完成其它三个子模块的程序流程图

图3-4a主程序流程图图3-4b输入矩阵元素程序流程图

图3-4c矩阵运算程序流程图图3-4d输出求和结果程序流程图

③C源代码清单

2、将下列给出的城市名列表按降序排序。Atlanta Boston Chicago Denver

Hoston LosAngeles Miami NewYork

图3-5城市名排序层次图

图3-5a fin()程序流程图

图3-5b sort()程序流程图

图3-5c fout()程序流程图

(1)main()函数源代码

(2)fin()函数源代码

(3)sort()函数源代码

(4)fout()函数源代码

3、请设计一个fun函数,其功能是给一维数组输入任意4个整数后,应如下规律输出。如输入整数1,2,3,4,则程序运行后将输出以下方阵:

要求:

①该程序由一个主函数和一个fun函数组成

②按以下给出程序结构填写fun函数中的C代码

#define M4

main()

{int a[M];

fun(a);

}

int fun(int a[])

{

}

4指针与链表

六、项目编程(本题12分,每小题4分)

1、请建立一个学生成绩数组然后调用一个fun函数用于查询该数组中一门课程以上不及格的学生并打印出他们全部课程的成绩。

(要求:利用行指针作为函数的传递参数)。

提供部分代码如下,并请完成其他全部代码:

#define M3

#define N4

main()

{float stu[M][N]={{68,90,66,80},{56,78,80,90},

{50,68,56,98}};float fun();

fun(stu,M);

}

float fun(float(*p)[N],int n)

{

}

2、请为下列给出的某班级C程序编码员列表,建立一个链表。

图4-7C程序编码员列表

(1)说明

①在上表中,每人为一个节点,节点中有4个成员:姓名、出生年、出生月和指针。然后用指针将每个节点链接起来。

②节点链接的条件是生日大者在前,小者在后。

③最后输出已按顺序排好的并具有5个节点的链表,如图4-8编码员链表所示。

图4-8程序编码员链表

(2)本题相关知识

这是一个关于建立单向动态链表的问题。所谓建立动态链表是指在程序执行过程中从无到有地建立起一链表,即一个一个地开辟节点和输入各节点的数据值,并建立起前后相链的关系。

在做本实验时之前,首先应弄清楚节点数据类型的定义、如何利用指针的动态地开辟节点以及输出已建立的动态链表等项内容。

①动态数据结构:本题主要是链表的建立,它的实现依赖于动态的内存管理,即利用malloc函数;

②描述单向链表的数据类型:单向链表的一般结构如图4-9所示。

图4-9a单向链表

为了实现链表必须定义能够描述链表中节点的数据类

型,该类型应包含有数值和地址两个部分。见图4-9b。

③关于链表动态建立和链表输出的具体实现过程,请

参阅教科书第275页到279页。

图4-9b链表节点

④除了上述建立、输出链表,则与本题相关的内容还有关于链表的插入和删除操作(参照教科书的第281-286页)。

(3)要求:设计一个主函数和两个子函数(即建立链表模块和输出链表模块)。

(4)请在以下空间内完成本题的C源程序。

3、编写一个fun函数,其功能是将字符指针s所指字符串(见图

4-10a)所有下标值为奇数的字符删除,然后将串中剩余字符存放到由字符指针t所指的字符数组中(例如图4-10b所示)。

(1)要求利用字符指针变量作fun函数中的形参

(2)本题相关知识

在字符串相关的所有操作中,包括有计算给定字符串的长度、对奇数位操作、对偶数位操作等一系列问题。在这些操作中,需要利用循环语句“遍历”字符串的每一个下标。

①字符串的理解

字符串是由一串字符组成的整体,包括常量和变量。但字符串不是一种专门的数据类型,而是由字符数组充当。

字符串的常量是以双引号括起来的若干个字符的集合,如“hello”,这些字符在内存中都是以ASCII码值形式进行存储的。并以“\0”作为字符串的结束标记。

②指向字符串常量的指针

在程序设计中,可以用字符象指针变量记载字符串常量的首地址,从而形成了一类“字符串变量”。例如:

char*p=”hello”;或char*p;p=”hello”;

以上两种形式含义相同,都使指针p存储着字符串常量“hello”的首地址。此时,应注意一定不能认为字符串存储在变量p中,而是仅仅是首地址存储在p中。这样变量p即可具有与字符数组相同的用法和功能。

③字符数组作为字符串变量

常用的一种构成字符串变量的方法是使用char类型的一维数组,但在没对数组赋值之前并不能称其为字符串:

char str[10];

事实上,上述定义仅定义了一个数组而已。如果需要将其用作字符串,最好应该在定义数组的时候就赋以初值,如:

char str[10]=“a string!”;

经过上述赋值后,系统就会将字符串常量“a string!”完整地存储到数组str中。包括结束符‘\0’。

通过上述说明可以发现,字符串的结束符‘\0’是至关重要的一环。因为C语言中并不存储字符串的长度,所以只能利用字符串中的元素是否为结束符作为判定字符串结束的依据。

另者,还值得注意的一点是,字符串结束符号‘\0’的ASCII码值是整数0,也就是说,‘\0’与整数0相同,当它不同于字符‘0’,应为对于字符‘0’的ASCII码值是48,故可以说,‘0’与整数48相同。

(3)提供main函数代码如下,并请完成fun函数的全部代码:

main()

{char ch[100],t[100],fun();

gets(ch);

fun(ch,t);

}

char fun(char*s,char*t)

{

}

5综合程序设计

五、项目编程

1、请设计一个破译密码程序。

为了使电报码保密,往往需要将电文按一定规律译成密码,然后收报人再将其译回原文。

现设有一段电文:You are right!

按上述给出的译文规则,则应破译成:Zpv bsf sjhiu!

项目要求:①画程序流程图②C源程序清单

C语言源程序清单

2、请设计一评委打分程序

2006年在CCTV举办的第十二届青年歌手大赛上就评委达几十人之多,请为评委设计一打分程序,用于统计每一位选手的得分情况。

设有评委10人,评分原则:①是去掉一个最高分,去掉一个最低分,

将剩下的分数计算其平均值即为该歌手的最终得分;②评委给分的范围是60~100分,其中包括60和100。

3、在全国计算机等级考试报名工作中,工作人员需为考生办理报名款项,为方便款项的处理,需筹集一定额度的零钱。现假设有100元的人民币要换成5元、1元和0.5元面值的票子,但要求换以上的零钱共100张,且要求每种不少于1张,请计算应有几种组合方式。

(1)程序流程图

大一上期C语言实验报告1熟悉实验环境

成都工业学院·计算机工程学院 《程序设计基础》实验报告 1.实验目的 (1)熟悉C语言运行环境,了解和使用Visual6.0++集成开发环境(2)熟悉Visual6.0++环境的功能键和常用的功能菜单命令 (3)掌握C语言程序的书写格式和C语言程序的结构 (4)掌握C语言上机步骤,以及编辑、编译和运行一个C语言程序的方法 (5)熟悉Visual6.0++环境下的程序调试方法 2.实验内容 (1)按照实验步骤编辑、编译、运行第一个”Hello World”程序(2)利用实验指导中的第二个程序熟悉调试工具,在已知x,y值的情况下,计算出x和y的和、差、积、商,并显示出来(3)编写一个程序,输入a、b、c三个值,输出它们的和与平均值c 3.源程序 (1)#include void main() {printf(”Hello World”);} (2)#include void main() {int x=5,y=2; int s,d,p,q; s=x+y; d=x-y; p=x*y; q=x/y; printf(“和:%d差:%d积%d商:%d“,s,d,p,q);}

(3)#include void main() {int a,b,c.sum; float ave; Printf(“Please enter the a,b,c:”); scanf(“%d%d%d”,&a,&b,&c); sum=a+b+c; ave=(float)sum/3; printf(“sum=%d,ave=%f\n”,sum,ave);} 4.运行结果 (1) (2) (3)输入18、46、69测试得出答案如下

哈工大单片机实验报告(上传)

H a r b i n I n s t i t u t e o f T e c h n o l o g y 单片机原理与应用 实验报告 学生姓名: 学号: 班级: 专业: 任课教师: 所在单位: 2013年5月

软件实验 在软件实验部分,通过实验程序的调试,使学生熟悉MCS-51的指令系统,了解程序设计过程,掌握汇编语言设计方法以及如何使用实验系统提供的调试手段来排除程序错误。 实验一清零程序 一、实验目的 掌握汇编语言设计和调试方法,熟悉键盘操作。 二、实验内容 把2000~20FFh的内容清零。 三、程序框图 四、实验过程 实验中利用MOVX语句,将外部存储器指定内容清零。利用数据指针DPTR完成数据传送工作。程序采用用循环结构完成,R0移动单元的个数,可用CJNE比较语句判断循环是否结束。 五、实验结果及分析 清零前清零后

【问题回答】清零前2000H~20FFH中为内存里的随机数,清零后全变为0。 六、实验源程序 AJMP MAIN ORG 0640H MAIN: MOV R0, #00H MOV DPL, #00H MOV DPH, #20H LOOP: MOV A, #00H MOVX @DPTR, A INC DPTR INC R0 CJNE R0, #0FFH, LOOP MOVX @DPTR, A END 实验二拆字程序 一、实验目的 掌握汇编语言设计和调试方法。 二、实验内容 把2000h的内容拆开,高位送2001h低位,低位送2002h低位,2001h、2002h高位清零,一般本程序用于把数据送显示缓冲区时用。 三、程序框图 四、实验过程 将寄存器中内容送入2000H,分别将高低四位移到低位,将高四位置零然后移入2001H 和2002H中。利用MOVX语句、DPTR指针可实现数据的传送,利用高低四位交换语句SWAP和与语句ANL可进行对高低位的清零。

C语言实验报告参考答案 原

C语言实验报告参考答案 实验一熟悉C语言程序开发环境及数据描述 四、程序清单 1.编写程序实现在屏幕上显示以下结果: The dress is long The shoes are big The trousers are black 答案: #include main() { printf("The dress is long\n"); printf("The shoes are big\n"); printf("The trousers are black\n"); } 2.编写程序: (1) a=150,b=20,c=45,编写求a/b、a/c(商)和a%b、a%c(余数)的程序。 (2)a=160,b=46,c=18,d=170, 编写求(a+b)/(b-c)*(c-d)的程序。 答案: (1) #include main() {

int a,b,c,x,y; a=150; b=20; c=45; x=a/b; y=a/c; printf("a/b的商=%d\n",x); printf("a/c的商=%d\n",y); x=a%b; y=a%c; printf("a/b的余数=%d\n",x); printf("a/c的余数=%d\n",y); } (2) #include main() { int a,b,c,d; float x; a=160; b=46; c=18;

d=170; x=(a+b)/(b-c)*(c-d); printf("(a+b)/(b-c)*(c-d)=%f\n",x); } 3. 设变量a的值为0,b的值为-10,编写程序:当a>b时,将b赋给c;当a<=b 时,将0赋给c。(提示:用条件运算符) 答案: #include main() { int a,b,c; a=0; b=-10; c= (a>b) ? b:a; printf("c = %d\n",c); } 五、调试和测试结果 1.编译、连接无错,运行后屏幕上显示以下结果: The dress is long The shoes are big The trousers are black 2、(1) 编译、连接无错,运行后屏幕上显示以下结果: a/b的商=7

哈工大_控制系统实践_磁悬浮实验报告

研究生自动控制专业实验 地点:A区主楼518房间 姓名:实验日期:年月日斑号:学号:机组编号: 同组人:成绩:教师签字:磁悬浮小球系统 实验报告 主编:钱玉恒,杨亚非 哈工大航天学院控制科学实验室

磁悬浮小球控制系统实验报告 一、实验内容 1、熟悉磁悬浮球控制系统的结构和原理; 2、了解磁悬浮物理模型建模与控制器设计; 3、掌握根轨迹控制实验设计与仿真; 4、掌握频率响应控制实验与仿真; 5、掌握PID控制器设计实验与仿真; 6、实验PID控制器的实物系统调试; 二、实验设备 1、磁悬浮球控制系统一套 磁悬浮球控制系统包括磁悬浮小球控制器、磁悬浮小球实验装置等组成。在控制器的前部设有操作面板,操作面板上有起动/停止开关,控制器的后部有电源开关。 磁悬浮球控制系统计算机部分 磁悬浮球控制系统计算机部分主要有计算机、1711控制卡等; 三、实验步骤 1、系统实验的线路连接 磁悬浮小球控制器与计算机、磁悬浮小球实验装置全部采用标准线连接,电源部分有标准电源线,考虑实验设备的使用便利,在试验前,实验装置的线路已经连接完毕。 2、启动实验装置 通电之前,请详细检察电源等连线是否正确,确认无误后,可接通控制器电源,随后起动计算机和控制器,在编程和仿真情况下,不要启动控制器。 系统实验的参数调试

根据仿真的数据及控制规则进行参数调试(根轨迹、频率、PID 等),直到获得较理想参数为止。 四、实验要求 1、学生上机前要求 学生在实际上机调试之前,必须用自己的计算机,对系统的仿真全部做完,并且经过老师的检查许可后,才能申请上机调试。 学生必须交实验报告后才能上机调试。 2、学生上机要求 上机的同学要按照要求进行实验,不得有违反操作规程的现象,严格遵守实验室的有关规定。 五、系统建模思考题 1、系统模型线性化处理是否合理,写出推理过程? 合理,推理过程: 由级数理论,将非线性函数展开为泰勒级数。由此证明,在平衡点)x ,(i 00对 系统进行线性化处理是可行的。 对式2x i K x i F )(),(=作泰勒级数展开,省略高阶项可得: )x -)(x x ,(i F )i -)(i x ,(i F )x ,F(i x)F(i,000x 000i 00++= )x -(x K )i -(i K )x ,F(i x)F(i,0x 0i 00++= 平衡点小球电磁力和重力平衡,有 (,)+=F i x mg 0 |,δδ===00 i 00 i i x x F(i,x) F(i ,x )i ;|,δδ===00x 00i i x x F(i,x)F (i ,x )x 对2 i F(i,x )K()x =求偏导数得:

C语言实验报告参考答案

长沙理工大学2010C语言实验报告参考答案 实验一熟悉C语言程序开发环境及数据描述 四、程序清单 1.编写程序实现在屏幕上显示以下结果: The dress is long The shoes are big The trousers are black 答案: #include<> main() { printf("The dress is long\n"); printf("The shoes are big\n"); printf("The trousers are black\n"); } 2.改错题(将正确程序写在指定位置) 正确的程序为: #include <> main() { printf("商品名称价格\n"); printf("TCL电视机¥7600\n"); printf("美的空调¥2000\n"); printf("SunRose键盘¥\n"); } 2.编写程序: a=150,b=20,c=45,编写求a/b、a/c(商)和a%b、a%c(余数)的程序。 答案: #include<> main() { int a,b,c,x,y; a=150; b=20; c=45;

x=a/b; y=a/c; printf("a/b的商=%d\n",x); printf("a/c的商=%d\n",y); x=a%b; y=a%c; printf("a/b的余数=%d\n",x); printf("a/c的余数=%d\n",y); } 4. 设变量a的值为0,b的值为-10,编写程序:当a>b时,将b赋给c;当a<=b时,将a赋给c。(提示:用条件运算符) 答案: #include<> main() { int a,b,c; a=0; b=-10; c= (a>b) ? b:a; printf("c = %d\n",c); } 五、调试和测试结果 1.编译、连接无错,运行后屏幕上显示以下结果: The dress is long The shoes are big The trousers are black 3、编译、连接无错,运行后屏幕上显示以下结果: a/b的商=7 a/c的商=3 a/b的余数=10 a/c的余数=15 4. 编译、连接无错,运行后屏幕上显示以下结果: c =-10 实验二顺序结构程序设计 四、程序清单 1.键盘输入与屏幕输出练习 问题1 D 。 问题2 改printf("%c,%c,%d\n",a,b,c);这条语句

哈工大计算机网络实验报告之五

计算机网络课程实验报告 实验5:利用Ethereal分析TCP、UDP、ICMP协议 继续学习Ethereal的使用; 利用Ethereal分析TCP、UDP和ICMP协议。 TCP协议采用了哪些机制保证可靠数据传输。(3分) 数据重传和数据确认应答机制 Traceroute的工作过程,用自己的话来描述,200字以内,超过酌情扣分。 (4分) 构造数据包,来检查到达一个主机时经过了哪些路由。主机发送给目的地址的数据包的TTL是从1逐个递增的,而数据包每到达一个路由器,它的TTL值就会减1,当TTL减到0时,该数据包被取消,传回一个数据包给主机,我们就能捕获这个路由器的IP地址了。如果收到"超时错",表示刚刚到达的是路由器,而如果收到的是"端口不可达" 错误,表示刚刚到达的就是目的主机,路由跟踪完成,程序结束。 阐述一下为什么应用程序开发者会选择将应用程序运行在UDP而不是TCP 之上?(3分) UDP没有拥塞控制机制,发送方可以以任何速率向下层注入数据。很多实时应用是

可以容忍一定的数据丢失的,同时又对速率有很高要求(比如在线视频播放),这时开发者会倾向选择UDP协议,避免使用TCP协议的拥塞控制机制产生的分组开销。 实验过程: 使用Ethereal分析TCP协议: (15分)得分:抓取本机与https://www.doczj.com/doc/a216321403.html,/ethereal-labs/alice.txt通信过程中的网络数据包。根据操作思考以下问题: 客户服务器之间用于初始化TCP连接的TCP SYN报文段的序号(sequence number)是多少?在该报文段中,是用什么来标示该报文段是SYN报文段的? Seq=0 Flags中的syn位为1,ack位为0,说明是syn报文段 服务器向客户端发送的SYNACK报文段序号是多少?该报文段中,Acknowledgement字段的值是多少?https://www.doczj.com/doc/a216321403.html,服务器是如何决定此值 的?在该报文段中,是用什么来标示该报文段是SYNACK报文段的? Seq=0 Ack=1,服务器根据客户端发送的SYN报文的Seq值加一后得到此值 Flags中的Ack和Syn位都为1,所以是SYNACK报文

:C语言实验报告册-2016.3资料

学生实验报告册 (理工类) 课程名称:C语言程序设计实验专业班级: 16数字媒体技术学生学号: 1613031008 学生姓名:李翔 所属院部:计算机工程学院指导教师:吕艳林 20 16 ——20 17 学年第一学期 金陵科技学院教务处制

实验报告书写要求 实验报告上交电子稿,标题采用四号黑体,正文采用小四号宋体,单倍行距。 实验报告书写说明 实验报告中实验目的和要求、实验仪器和设备、实验内容与过程、实验结果与分析这四项内容为必需项。教师可根据学科特点和实验具体要求增加项目。 填写注意事项 (1)细致观察,及时、准确、如实记录。 (2)准确说明,层次清晰。 (3)尽量采用专用术语来说明事物。 (4)外文、符号、公式要准确,应使用统一规定的名词和符号。 (5)应独立完成实验报告的书写,严禁抄袭、复印,一经发现,以零分论处。 实验报告批改说明 实验报告的批改要及时、认真、仔细,一律用红色笔批改。实验报告的批改成绩采用五级记分制或百分制,按《金陵科技学院课堂教学实施细则》中作业批阅成绩评定要求执行。

实验项目名称:初级程序设计实验学时: 6 实验地点: A107 实验日期: 2016年10月13,20,27 实验成绩: 批改教师:批改时间:

实验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 main() { int s,t,p,sum; scanf(“%d%d%d”,&s,&t,&p); sum=s+t+p; printf(“sum=%d\n”,sum); } (2)#include main() { int k=3; if(k=3) printf(“***”); else printf(“###”); } (3)#include main() {int k=0; do { printf(“k=%d\n”,k); }while(k++>0); } 2、程序改错

2010C语言实验报告参考答案

2010C语言实验报告参考答案

长沙理工大学2010C语言实验报告参考答案 实验一熟悉C语言程序开发环境及数据描述四、程序清单 1.编写程序实现在屏幕上显示以下结果: The dress is long The shoes are big The trousers are black 答案: #include main() { printf("The dress is long\n"); printf("The shoes are big\n"); printf("The trousers are black\n"); } 2.改错题(将正确程序写在指定位置) 正确的程序为: #include main() {

printf("商品名称价格\n"); printf("TCL电视机¥7600\n"); printf("美的空调¥2000\n"); printf("SunRose键盘¥50.5\n"); } 2.编写程序: a=150,b=20,c=45,编写求a/b、a/c(商)和a%b、a%c(余数)的程序。 答案: #include main() { int a,b,c,x,y; a=150; b=20; c=45; x=a/b; y=a/c; printf("a/b的商=%d\n",x); printf("a/c的商=%d\n",y);

x=a%b; y=a%c; printf("a/b的余数=%d\n",x); printf("a/c的余数=%d\n",y); } 4. 设变量a的值为0,b的值为-10,编写程序:当a>b时,将b赋给c;当a<=b时,将a赋给c。(提示:用条件运算符) 答案: #include main() { int a,b,c; a=0; b=-10; c= (a>b) ? b:a;

C语言实验报告合集

f r 《C 语言程序设计》实验报告 专业: 班级: 学号: 学生姓名: 实验日期: 成绩: 指导老师: 实验单元一 程序基本结构设计 一、实验题目 实验一 熟悉VC++环境 二、实验目的 1. 熟悉C 程序编辑环境,掌握主要菜单项的作用。 2. 熟悉编写一个C 程序的上机过程(编辑、编译、链接和运行)。 3. 熟悉C 程序的基本输入输出语句 三、实验内容 1. 书本第一章的例一程序。 2. 由键盘输入两个整数,求得它们的和并输出至屏幕。 四、实验环境 1.硬件环境:当前所有电脑硬件环境均支持。 2.软件环境:Visual C++ 6.0 五、实验代码及结果(程序运行结果请以截屏图给出) 1.源程序代码: #include "stdio.h"int main(){int a,b,sum;a=2;b=3; sum=a+b; printf("007zhang\nsum=%d\n",sum);return 0;} 运行结果为:

2.源程序代码: 运行结果为: 六、实验心得(请对每个实验题目编程及调试运行中遇到的问题及解决方案进行简单总结)

f r 《C 语言程序设计》实验报告 专业: 班级: 学号: 学生姓名: 实验日期: 成绩: 指导老师: 实验单元一 程序基本结构设计 一、实验题目 实验二 顺序结构程序设计 二、实验目的 (1)掌握C 语言数据类型以及变量的声明。 (2)掌握C 语言的赋值运算符、赋值表达式、赋值语句。(3)掌握C 语言的整型和字符型的混合运算。(4)掌握C 语言的输入、输出函数的使用格式。 三、实验内容 1.有人用温度计测量出华氏温度,现输入华氏温度f ,请编写程序把它转换为摄氏温度c 。已知华氏温度和摄氏温度有如下关系:c=5/9(f-32)。 2.输入长方形的长和宽,编程求该长方形的周长和面积。(要求周长和面积保留两位小数) 3. 将字符串“China ”译成密码,译码规则是:用字母表顺序中原来字母后面的第5个字母替代原来的字母。请编写程序实现译码并输出。 四、实验环境 1.硬件环境:当前所有电脑硬件环境均支持。 2. 软件环境:Visual C++ 6.0 五、实验代码及结果(程序运行结果请以截屏图给出) 1.源程序代码: 运行结果为: 2.源程序代码: 运行结果为: 3.源程序代码:运行结果为: 六、实验心得(请对每个实验题目编程及调试运行中遇到的问题及解决方案进

哈工大(威海)c语言实验报告册答案

实验1简单判定性问题求解 一、实验学时 完成本实验需4学时。 二、实验目的 1、阅读程序题 (1)掌握C语言数据类型,熟悉如何定义一个整型、字符型的变量,以及对它们赋值的方法; (2)掌握不同的类型数据之间赋值的规律; (3)掌握数据在内存中的存储方式; (4)学会输入、输出函数的基本格式和使用方法; (5)学会使用有关算术运算符、逻辑运算符、关系运算符,以及包含这些运算符的表达式。 2、编程题 (1)如何运用if-else判定性结构进行程序设计; (2)如何运用switch判定性结构进行程序设计。 3、调试题 (1)熟悉C程序的编辑、编译、连接和运行的过程。 三、实验指导 为了达到最佳的实验效果,以下提供几条适于编程的指导意见,可供参考。 1、阅读程序题应先运用自己在课堂所学的知识,推导出结果,在上机时输入计算机,印证自己推导的结果,注意观察数据在内存中的存储方式、含不同种运算符表达式的输出结果。 2、编程题必须首先画出流程图,并反复思考判断程序设计的正确性,完成程序的设计。要注意简单判定性问题的结构选择。 3、调试题应明确程序的调试、测试是一项非常烦琐的工作,也是非常重要的工作。对于初学者来说应该建立良好的习惯,在调试程序的时候,应该尽可能考虑到程序运行时各种可能情况。

四、实验内容 1、阅读程序题 (1)main( ) { /*定义字符型变量*/ char c1,c2; /*向字符变量赋以整数*/ c1=97; c2=98; printf("%c %c\n",c1,c2); /*以字符形式输出*/ printf("%d %d\n",c1,c2); /*以整数形式输出*/ } 思考:可否改成int c1,c2;输出结果是?相同 (2)main() { int a=7,b=5; printf("%d\n",b=b/a); } 思考:若将printf语句中%d变为%f,可否输出分式的值?可以(3)main() { int a=9; a+=a-=a+a; /*包含复合的赋值运算符的赋值表达式*/ printf("%d\n",a); } 思考:赋值表达式a+=a-=a+a的求解步骤? 第一步:a=a-(a+a)=-9 第二步a=a+a=18 (4)main() { int k=-1; printf("%d,%u\n",k,k);

哈工大天线实验报告

Harbin Institute of Technology 天线原理实验报告 课程名称:天线原理 班级: 姓名: 学号: 同组人: 指导教师: 实验时间: 实验成绩: 注:本报告仅供参考 哈尔滨工业大学

一、实验目的 1. 掌握喇叭天线的原理。 2. 掌握天线方向图等电参数的意义。 3. 掌握天线测试方法。 二、实验原理 1. 天线电参数 (1).发射天线电参数 a.方向图:天线的辐射电磁场在固定距离上随空间角坐标分布的图形。 b.方向性系数:在相同辐射功率,相同距离情况下,天线在该方向上的辐射功率密度Smax与无方向性天线在该方向上的辐射功率密度S0之比值。 c.有效长度:在保持该天线最大辐射场强不变的条件下,假设天线上的电流均匀分布时的等效长度。 d.天线效率:表征天线将高频电流或导波能量转换为无线电波能量的有效程度。 e.天线增益:在相同输入功率、相同距离条件下,天线在最大辐射方向上的功率密度Smax与无方向性天线在该方向上的功率密度S0之比值。 f.输入阻抗:天线输入端呈现的阻抗值。 g.极化:天线的极化是指该天线在给定空间方向上远区无线电波的极化。 h.频带宽度:天线电参数保持在规定的技术要求范围内的工作频率范围。 (2).接收天线电参数:除了上述参数以外,接收天线还有一些特有的电参数:等效面积和等效噪声温度。 a.等效面积:天线的极化与来波极化匹配,且负载与天线阻抗共轭匹配的最佳状态下,天线在该方向上所接收的功率与入射电波功率密度之比。 b.等效噪声温度:描述天线向接收机输送噪声功率的参数。 2. 喇叭天线 由逐渐张开的波导构成,是一种应用广泛的微波天线。按口径形状可分为矩形喇叭天线与圆形喇叭天线等。波导终端开口原则上可构成波导辐射器,由于口径尺寸小,产生的波束过宽;另外,波导终端尺寸的突变除产生高次模外,反射较大,与波导匹配不良。为改善这种情况,可使波导尺寸加大,以便减少反射,又可在较大口径上使波束变窄。 (1).H面扇形喇叭:若保持矩形波导窄边尺寸不变,逐渐张开宽边可得H面扇

C语言实验报告参考答案

《C语言程序设计》 实 验 手 册

《C语言程序设计》实验课程简介 课程名称:C语言程序设计实验 课程性质:专业必修课 课程属性:专业必修课 学时学分:学时32 学分1 开课实验室:软件实验室 面向专业:网络工程、软件工程、计算机科学与技术 一、课程的任务和基本要求 C语言程序设计实验是面向计算机相关专业学生开设的《C语言程序设计》实验课,是配合《C语言程序设计》课程而开设的实验性教育环节。本课程的主要任务是让学生充分掌握C 语言程序设计的基本概念、各种数据类型的使用技巧、模块化程序设计的方法等。C语言程序设计实验对课程中所涉及的知识进行验证,同时也是学生很好地学习课程的辅助手段。通过C语言上机实验的教学活动,使学生真正全面掌握C语言的基础知识,培养和提高学生的程序开发能力。 二、实验项目 【实验一】最简单的C程序---顺序程序设计 【实验二】逻辑运算和判断选取控制 【实验三】循环结构程序设计(一) 【实验四】循环结构程序设计(二) 【实验五】函数 【实验六】数组(一) 【实验七】数组(二) 【实验八】指针 【实验九】结构体、共用体和文件 【实验十】C程序综合性实验 三、有关说明 1、与其它课程和教学环节的联系: 先修课程:计算机文化 后续课程:面向对象程序设计、Java程序设计、数据结构、软件工程 2、教材和主要参考书目: (1)教材: 《C程序设计习题解答与上机指导》,谭浩强吴伟民著,北京:清华大学出版社,2003年。(2)主要参考书目: 《C语言程序设计》谭浩强主编,清华大学出版社,2003年。

三、实验内容 实验一最简单的C程序---顺序程序设计 (验证性实验 2学时) (一)、实验目的 1.熟悉win-tc程序运行环境 2.掌握运行一个C程序的步骤,理解并学会C程序的编辑、编译、链接方法 3.掌握C语言中使用最多的一种语句——赋值语句 4.掌握数据的输入输出方法,能正确使用各种格式控制符 (二)、实验内容 1.写出下列程序的运行结果 (1)#include void main() { printf(“*****************\n”); printf(“This is a c program. \n”); printf(“****************\n”); } 运行结果及分析:运行结果为: Printf函数语句表示输出引号内的字符串,最后的\n表示换行, 将程序中的\n去掉后,运行结果及分析:运行结果为: 去掉\n后不换行连续显示 (2)#include void main() { int a=100,b=20,sum,sb; sum=a+b; sb=a/b; printf("sum=%d,sb=%d",sum,sb); } 运行结果及分析: sum=100+20=120;sb=100/20=5. (3)#include void main( )

C语言实验报告参考源代码

实验5三种基本结构的综合应用 4.一个素数(设为p)依次从最高位去掉一位,二位,三位,……,若得到的各数仍都是素数(注:除1和它本身外,不能被其它整数整除的正整数称为素数,1不是素数,2是素数),且数p的各位数字均不为零,则称该数p为逆向超级素数。例如,617,17,7都是素数,因此617是逆向超级素数,尽管503,03,3都是素数,但它不是逆向超级素数,因为它包含有零。试求[100,999]之内的所有逆向超级素数的个数。 #include "stdio.h" main() {int i,j,k,m,p,q,n=0; for(i=100;i<=999;i++) {for(j=2;j=i) /*三位数是素数时*/ {k=i%100; /*去掉百位数字*/ if(k>=10) /*十位数字不是0时*/ {for(m=2;m=k) /*两位数是素数时*/ {p=i%10; /*p为个位数字*/ for(q=2;q=p)n++;}}}} printf("%d\n",n);} Key:57 5.求[2,400]中相差为10的相邻素数对的对数。 #include "stdio.h" main() {int i,j,k,m,p,q,n=0; for(i=2;i<=400;i++) {for(j=2;j=i) /*i是素数时*/ {for(k=i+1;k=k)break;} /*k是素数时终止if语句的外层循环*/ if(k>=i+10) /*[i+1,i+9]不是素数时*/ {for(q=2;q

(完整版)哈工大-数值分析上机实验报告

实验报告一 题目:非线性方程求解 摘要:非线性方程的解析解通常很难给出,因此线性方程的数值解法就尤为重要。本实验采用两种常见的求解方法二分法和Newton法及改进的Newton法。 前言:(目的和意义) 掌握二分法与Newton法的基本原理和应用。 数学原理: 对于一个非线性方程的数值解法很多。在此介绍两种最常见的方法:二分法和Newton法。 对于二分法,其数学实质就是说对于给定的待求解的方程f(x),其在[a,b]上连续,f(a)f(b)<0,且f(x)在[a,b]内仅有一个实根x*,取区间中点c,若,则c恰为其根,否则根据f(a)f(c)<0是否成立判断根在区间[a,c]和[c,b]中的哪一个,从而得出新区间,仍称为[a,b]。重复运行计算,直至满足精度为止。这就是二分法的计算思想。

Newton法通常预先要给出一个猜测初值x0,然后根据其迭代公式 产生逼近解x*的迭代数列{x k},这就是Newton法的思想。当x0接近x*时收敛很快,但是当x0选择不好时,可能会发散,因此初值的选取很重要。另外,若将该迭代公式改进为 其中r为要求的方程的根的重数,这就是改进的Newton法,当求解已知重数的方程的根时,在同种条件下其收敛速度要比Newton法快的多。 程序设计: 本实验采用Matlab的M文件编写。其中待求解的方程写成function的方式,如下 function y=f(x); y=-x*x-sin(x); 写成如上形式即可,下面给出主程序。 二分法源程序: clear %%%给定求解区间 b=1.5; a=0;

%%%误差 R=1; k=0;%迭代次数初值 while (R>5e-6) ; c=(a+b)/2; if f12(a)*f12(c)>0; a=c; else b=c; end R=b-a;%求出误差 k=k+1; end x=c%给出解 Newton法及改进的Newton法源程序:clear %%%% 输入函数 f=input('请输入需要求解函数>>','s') %%%求解f(x)的导数 df=diff(f);

C语言软件实验报告册

广州商学院 实验报告册(软件) 信息技术与工程学院院/系商业软件工程专业一年级 2 班 课程名称:C语言程序设计 姓名:蔡东燕 学号:201506110190

广州商学院 实验报告(第 1 次) 实验名称:选择控制语句的练习实验时间: 一.实验目的 熟悉if语句、if-else语句、switch-case语句、关系运算符和逻辑运算符,以及不同类型数据的输入输出方法。 二.实验内容 身高预测实验题 每个做父母的都关心自己孩子成人后的身高,据有关生理卫生知识与数理统计分析表明,影响小孩成人后身高的因素包括遗传、饮食习惯与锻炼等。小孩成人后的身高与其父母的身高和自身的性别密切相关。 设faHeight为其父身高,moHeight为其母身高,身高预测公式为:男性成人时身高=(faHeight + moHeight)×0.54cm 女性成人时身高=(faHeight×0.923 + moHeight)/2cm 此外,如果喜爱体育锻炼,那么可增加身高2%;如果有良好的卫生饮食习惯,那么可增加身高1.5%。 编程从键盘输入用户的性别(用字符型变量sex存储,输入字符F表示女性,输入字符M表示男性)、父母身高(用实型变量存储,faHeight为其父身高,moHeight 为其母身高)、是否喜爱体育锻炼(用字符型变量sports存储,输入字符Y表示喜爱,输入字符N表示不喜爱)、是否有良好的饮食习惯等条件(用字符型变量diet存储,输入字符Y表示良好,输入字符N表示不好),利用给定公式和身高预测方法对身高进行预测。 三.源程序及主要算法说明

三. 主要问题和解决方案 问题:关系运算符时常弄乱,等于和赋值总是分不清;输入回车时程序会出错或停止运行 解决方案:多记记关系运算符,弄清getchar()函数功能,利用getchar()函数去接收回车可防止错误 四.测试数据及结果 五.心得体会与自我评价 刚开始接触觉得好难,写个编程要好长时间而且还出错,一开始觉得快要疯了。后面多去写多看书多请教别人,慢慢会了,觉得挺有趣的。 现在的我是个初学者,很多都不懂,水平低下,但我觉得认真学,通过努力一定可以学好的。

哈工大威海计算机网络实验报告1资料

计算机网络与通信实验报告(一)学号姓名班级报告日期 2015.04.15 实验内容网络常用命令的使用 实验目的1.熟悉网络命令的使用,例如ping,tracert,netstat,ipconfig等,对结果进行分析判断。 2.熟悉dns的层次查询,以及smtp协议。 实验预备知识结合实验报告相关知识以及老师课堂演示、笔记。 实验过程描述1.按照实验报告步骤所指,一步步熟悉ping tracert ipconfig 等网络命令,并对结果进行相应分析、截图。 2.Dns层次查询时,首先网上搜索全球13 个根域名服务器的ip,选择其中一个ip 对学校主页https://www.doczj.com/doc/a216321403.html, 进行层次分析,依次进行cn https://www.doczj.com/doc/a216321403.html, https://www.doczj.com/doc/a216321403.html, https://www.doczj.com/doc/a216321403.html, 的域名分析,最终得到主页ip,然后使用ping命令ping得主页ip 相比较,结果一致,查询成功。 3.熟悉掌握SMTP协议。Dos 命令下依次输入telnet相关命令,并使用事先转换成base64 的用户名、密码登陆邮箱。登陆成功后给自己的邮箱发送信息,最后退出。操作、邮箱截图如下。 实验结果见表格下方截图。 实验当中问题及解决方法1、telnet命令刚开始dos无法识别,属于不认识的命令。上网查询资料后,在控制面板中设置后成功解决。 2、熟悉SMTP协议时,telnet 登陆邮箱并发送信件,期间出现好多错误,比如单词拼写错误,指令错误。重复多次后最终成功实现。 成绩(教师打分)优秀良好及格不及格

实验相关截图 一、网络命令的使用 1.ping 命令

2.tracert 命令

C语言实验报告范文

实验名称:指针及其应用日期:得分:指导老师: 专业:班次:姓名:学号: 实验目的 (1)掌握变量的指针及其基本用法。 (2)掌握一维数组的指针及其基本用法。 (3)掌握指针变量作为函数的参数时,参数的传递过程及其用法。一.实验内容( 1)运行以下程序,并从中了解变量的指针和指针变量的概念。 (2)运行以下程序,观察 &a[0] 、&a[i] 和 p 的变化,然后回答以下问题: 1.程序的功能是什么? 2.在开始进入循环体之前, p 指向谁? 3.循环每增加一次, p 的值(地址)增加多少?它指向谁? 4.退出循环后, p 指向谁? 5.你是否初步掌握了通过指针变量引用数组元素的方法?( 3)先分析以下程序的运行结果,然后上机验证,并通过此例掌握通过指针变量引用数组元素的各种方法。 ( 4)编写函数,将 n 个数按原来的顺序的逆序排列(要求用指针实现),然后编写主函数完成: ①输入 10 个数; ②调用此函数进行重排; ③输出重排后的结果。 二.分析与讨论 ( 1)指针的定义方法,指针和变量的关系。 定义方法: 数据类型 * 指针变量名 ; 如定义一个指向 int 型变量的指针—— int *p; 则我们可以继续写如下代码—— int a = 4; p = &a; printf("%d", *p); 在这里,我们定义了一个变量a,我们把它理解为内存空间连续的 4个字节(int 型占用 4字节),则这 4个字节的空间保存着一个数 4。&是取地址符号,即把变量a的地址(即这4个字节的首地址)赋给指针p (记住指针p的类型和变量a的类型要保持一致,否则的话,要进行类型转换)。这样子,指针p就保 存着变量a的地址。我们如果把指针p当做内存空间里面另外一个连续的 4个字节,那么这4个字节保存的数就是变量a的地址。printf("%d",*p)和 printf("%d",a)的结果是一样的。这里的*是取变量符号(与&刚好作用相反,通过变量的地址找到变量),与定义时 int *p 的*号作用不同(定义时的 *表示该变量是个指针变量,而非是取它指向的变量)。 ( 2)数组和指针的关系。 指针与数组是 C 语言中很重要的两个概念,它们之间有着密切的关系,利用这种

C语言实验报告(简单分支结构)

实验名称:C语言的三种程序结构-简单分支结构 【实验目的】 1.理解简单分支结构。 2.掌握简单的关系运算。 3.熟练使用if-else语句进行简单分支结构程序设计。 【实验环境】 1. Windows XP操作系统 2. Microsoft visual C++ 【实验内容】 1.输出两个整数,求出其中的较小值并输出。 2.输入x的值,计算分段函数y的值。 y=f(x)= x*x+2x x<2 =2x-1 x.>=2 3.输入两个整数并判断两数是否相等,输出相应结论。 4.输入一个证书,若为负数,求出它的平方;若为正数,求出它的立方,并输出结果。 5.输入三个数,用if-else结构求出其中的最大值。提示,首先求出两个数中较大值放在一个变量里,然后用这个变量和第三个数在进行一次比较。 【程序清单】 1.程序代码: #include<> void main() { int a,b,min; printf("Input a,b:"); scanf("%d %d",&a,&b); if (a int main(void) { double x,y; printf("input x:"); scanf("%lf",&x); if (x<2) y=x*x+2*x; else y=2*x-1; printf("y=f(%lf)=%f\n",x,y);

return 0; } int max(int x,int y) { int max; max=x>yx:y; return max; } 3.程序代码: #include<> void main() { int a,b; printf("Input a,b:"); scanf("%d %d",&a,&b); if(a==b) printf("a等于b\n"); else printf("a不等于b\n"); } 4.程序代码: #include<> void main() { int a,s; printf("Input a:"); scanf("%d",&a); if(a<=0) { if (a<0) { s=a*a; printf("a*a=%d\n",s); } } else { s=a*a*a; printf("a*a*a=%d\n",s); } } 5.程序代码: #include<> void main() { int a,b,c,max; printf("Input a,b,c:"); scanf("%d %d %d",&a,&b,&c); if(a>b) { if(a>=c) printf("max=%d\n",a);

C语言实验报告答案

二、编程题(参考答案) 1、 #include “stdio.h” void main() { int Math=82,eng=78,comp=91,average; average=(Math+eng+comp)/3; printf(“Math=%d,eng=%d,comp=%d,average=%d\n”,Math,eng,comp,average); } 2、 #include “stdio.h” void main() { int n=152,d1,d2,d3; d1=n%10; d2=(n/10)%10; d3=n/100; printf(“整数%d的个位数字是%d,十位数字是%d,百位数字是%d\n”,n,d1,d2,d3); } 3、 #include “stdio.h” void main() { int n1,n2; printf(“Enter n1,n2:”); scanf(“%d,%d”,&n1,&n2); printf(“%d+%d=%d\n”,n1,n2,n1+n2); printf(“%d/%d=%d\n”,n1,n2,n1/n2); printf(“%d%%%d=%d\n”,n1,n2,n1%n2); } 三、改错题 原错误行(共三行): /********************************** found ********************************/ #include “stdoi,h” /********************************** found ********************************/ printf(“%d=%d*%d\n”,x); /********************************** found ********************************/ printf(“%d*%d=%d\n”,y); 改正后: #include “stdio.h” printf(“%d=%d*%d\n”,y,x,x); printf(“%d*%d=%d\n”,x,x,y);

相关主题
文本预览
相关文档 最新文档