c实验报告整理(精选4篇)
吸收实验 二、实验目的:
1.学习填料塔的操作; 2.测定填料塔体积吸收系数 K Y a.三、实验原理:
对填料吸收塔的要求,既希望它的传质效率高,又希望它的压降低以省能耗。但两者往往是矛盾的,故面对一台吸收塔应摸索它的适宜操作条件。
(一)、空塔气速与填料层压降关系 气体通过填料层压降△P 与填料特性及气、液流量大小等有关,常通过实验测定。
若以空塔气速ou [m/s]为横坐标,单位填料层压降ZP [mmH 2 0/m]为纵坐标,在双对数坐标纸上标绘如图 2-2-7-1 所示。当液体喷淋量 L 0 =0 时,可知ZP ~ou 关系为一直线,其斜率约 1.0—2,当喷淋量为 L 1 时,ZP ~ou 为一折线,若喷淋量越大,折线位置越向左移动,图中 L 2 >L 1。每条折线分为三个区段,ZP 值较小时为恒持液区,ZP ~ou 关系曲线斜率与干塔的相同。ZP 值为中间时叫截液区,ZP ~ou 曲线斜率大于 2,持液区与截液区之间的转折点叫截点 A。ZP 值较大时叫液泛区,ZP ~ou 曲线斜率大于 10,截液区与液泛区之间的转折点叫泛点 B。在液泛区塔已无法操作。塔的最适宜操作条件是在截点与泛点之间,此时塔效率最高。
吸收实验
图 2-2-7-1
填料塔层的ZP ~ou 关系图
图 2-2-7-2
吸收塔物料衡算
(二)、吸收系数与吸收效率 本实验用水吸收空气与氨混合气体中的氨,氨易溶于水,故此操作属气膜控制。若气相中氨的浓度较小,则氨溶于水后的气液平衡关系可认为符合亨利定律,吸收平均推动力可用对数平均浓度差法进行计算。其吸收速率方程可用下式表示:
m Ya AY H K N
(1)
式中:N A ——被吸收的氨量[kmolNH 3 /h]; ——塔的截面积[m 2 ] H——填料层高度[m] Y m ——气相对数平均推动力 K Y a——气相体积吸收系数[kmolNH 3 /m 3 ·h] 被吸收氨量的计算,对全塔进行物料衡算(见图 2-2-7-2):)()(2 1 2 1X X L Y Y V N A
(2)
式中:V——空气的流量[kmol 空气/h] L——吸收剂(水)的流量[kmolH 2 0/h] Y 1 ——塔底气相浓度[kmolNH 3 /kmol 空气] Y 2 ——塔顶气相浓度[kmolNH 3 /kmol 空气] X 1,X 2 ——分别为塔底、塔顶液相浓度[kmolNH 3 /kmolH 2 0] 由式(1)和式(2)联解得:
mYaY HY Y VK )(2 1
(3)
为求得 K Y a 必须先求出 Y 1、Y 2 和 Y m 之值。
1、Y 1 值的计算:
0201198.0VVY
(4)
式中:V 01 ——氨气换算为标态下的流量[m 3 /h] V 02 ——空气换算为标态下的流量[m 3 /h] 0.98——氨气中含纯 NH 3 分数 对氨气:
10102001 01T TP PPTV V
(5)
式中:V 1 ——氯气流量计上的读数[m 3 /h] T。,P。——标准状态下氨气的温度[K]和压强[mmHg] T 1,P 1 ——氨气流量计上标明的温度[K]和压强[mmHg] T 2,P 2 ——实验所用氨气的温度[K]和压强[mmHg] 0 ——标准状态下氨气的密度(=0.769kg/m 3)
02 ——标准状态下空气的密度(=1.293kg/m 3)
对空气:34 3002 02T TP PPTV V
(6)
式中:V 2 ——空气流量计读数[m 3 /h] T。,P。——标准状态下空气的温度[K]和压强[mmHg] T 3,P 3 ——空气流量计上标明的温度[K]和压强[mmHg] T 4,P 4 ——实验所用空气的温度[K]和压强[mmHg] Y 1 也可用取样分析法确定(略)。
2、Y 2 值分析计算 在吸收瓶内注入浓度为 N S 的 H 2 SO 4 V S [ml],把塔顶尾气通入吸收瓶中。设从吸收瓶出口的空气体积为 V 4 [ml]时瓶内 H 2 SO 4 Vs 即被 NH 3 中和完毕,那么进入吸收瓶的 NH 3 体积 V o3 可用下式计算:
] [ 1.2203ml V N VS S
(7)
通过吸收瓶空气化为标准状态体积为:
] [55004 04mlTPPTV V
(8)
式中:V 4 ——通过吸收瓶空气体积[ml],由湿式气量计读取 T。,P。——标准状态下空气的温度[K]和压强[mmHg] T 5,P 5 ——通过吸收瓶后空气的温度[K]和压强[mmHg] 故塔顶气相浓度为:
04032VVY
(9)
3、塔底 X 1 ~Y* 1 的确定 由式(2)知:2 2 1 1)(X Y YLVX ,若 X 2 =0,则得:)(2 1 1Y YLVX
(10)
X 1 值亦可从塔底取氨水分析而得。设取氨水 V N `[ml],用浓度为 N S `的 H 2 SO 4来滴定,中和后用量为 V S `[ml],则:
`` `018.01NS SVV NX
(11)
又根据亨利定律知,与塔底 X 1 成平衡的气相浓度 Y 1 *为:
1XPEY
(12)
式中:P——塔底操作压强绝对大气压(atm)
E——亨利系数大气压,可查下表取得:
度 液相浓度 5% 以下的 E 值 表 2-2-7-1 t(℃)
0 10 20 25 30 40 E(大气压)
0.293 0.502 0.778 0.947 1.25 1.94 或用下式计算:
tE 047.1 31143.0
(13)
4、塔顶的 X 2 ~Y 2 *的确定 因用水为吸收剂,故 X 2 =0,所以 Y 2 *=0 5、吸收平均推动力ΔY m12 1 1ln)(YY YY Y YY m
(14)
6、吸收效率η % 10012 1YY Y
(15)
四、实验流程简介:
吸收装置如图 2-2-7-3 所示,塔径为 110(mm),塔内填料有一套为塑料阶梯环,其它为瓷拉西环,均为乱堆。填料层高为 600—700(mm)(请自量准确)。氨气由氨瓶 1 顶部针形阀放出,经减压阀 2 到达缓冲缺罐 3,用阀 4 调节流量,经温度计23,表压计 5 和流量计 6 分别测量温度、压力和流量后到达混合管。空气经风机 7压送至缓冲罐 9,由旁路阀 8 和调节阀 11 调节风量,经温度计 23,表压计 10 和流量计 12 分别测量温度、压力和流量后到达混合管与氨气混合,后被送进吸收塔 13的下部,通过填料层缝隙向上流动。吸收剂(水)由阀 16 调节,经流量计 17 测定流量后从塔顶喷洒而下。在填料层内,下流的水滴与上流的混合气接触,氨被水吸收变氨水从塔底排出,氨水温度由温度计 23 测定,塔顶表压和填料层压降由压差计和 15 测定。从塔顶排出含有微量氨的空气成为尾气从阀 18 排出大气中,分析尾气含氨量是用旋塞 19 取样,先从三角瓶 20 除去水分,后经吸收瓶 21 分析氨,气量计 22 计量取出空气量。
五、实验方法:
(一)测压降与空塔气速步骤 1、测定干塔压降(1)打开旁路阀 8,关闭空气流量调节阀 11,启动风机 7,慢慢打开阀 11 使风量由零至最大,同时观察压差计 15 的读数变化。
(2)从流量计 12 的量程范围拟定 6~8 组读数。调节风量由大至小,同时读取空气流量及塔压降值。
2、测定湿塔压降 (1)把风量开至最大,慢慢打开阀 16 使水从塔顶喷淋而下,观察填料层上的液泛情况及压差计 15 的读数变化。
(2)调节风量水量使液泛层高度 20~30mm 左右,记下水流量及压差计读数。
(3)保持水量不变,调节风量由大至小,测取 6~8 组风量及塔压降读数。
最后,读取气温、水温及填料层高度,记下塔内径数值。
(二)测吸收系数步骤 1、全开旁路阀 8,关闭空气流量调节阀 11,启动风机 7,慢慢打开阀 11 使风量由零至最大,同时观察压差计 15 的读数变化。
2、在吸收瓶内置入已知浓度的 H 2 SO 4 1ml 及 2 滴甲基红,加适量蒸馏水摇匀后装于尾气分析管路上。关闭取样旋塞 19,记下湿式气量计原始读数。
3、将水流量计 17 及空气流量计 12(采用旁路调节法)调到指定读数。
4、关闭氨气缓冲罐上的氨气流量调节阀 4,松开减压阀旋钮,打开氨瓶上的总阀,然后,慢慢拧紧减压阀旋钮把氨气引进缓冲罐 3,待罐上压力表读数达 0.05MP左右时,停止转动减压阀旋钮,慢慢打开调节阀 4,把氨气送进混合管。
5、待塔的操作稳定后(不液泛,不干塔,各仪表读数稳定),记录各仪表读数,同时进行塔顶尾气分析。
6、尾气分析方法是打开取样旋塞 19,使尾气成泡状通过吸收瓶液层,至瓶内液体的红色变淡黄色为止,即关闭旋塞,记下气量计读数。(8 分)
7、保持空气和水流量不变,改变氨气流量,重复上述操作一次。
8、实验完毕,先关氨瓶上的总阀,待氨气缓冲罐上压力表读数为 0 后,再关闭氨气缓冲罐上的氨气流量调节阀 4,然后,全开旁路阀 8,同时关闭空气流量调节阀 11,最后停风机和关水阀,清洗吸收瓶。
1、氨瓶
2、减压阀
3、氨缓冲罐
4、氨气调节阀
5、氨表压计
6、氨转子流量计 7、叶氏风机
8、空气旁路阀
9、空气缓冲罐 10、空气表压计
11、空气调节阀
12、空气转子流量计
13、吸收塔
14、塔顶表压计
15、塔压降压差计
16、水调节阀
17、水转子流量计
18、尾气调节阀
19、取样旋塞
20、分离水三角瓶
21、吸收瓶
22、湿式气量计
23、温度计 图 2-2-7-3
吸收装置流程图 六、原始数据记录表:
(见下页)
七、数据处理表:
01V
0.367 0.367 02V
9.460 9.441 03V
0.194 0.194 04V
5819.308 13723.371 1Y
0.0380 0.0381 2Y
0.0000334 0.0000142 1X
0.00305 0.00204 P
1.232 1.234 1Y
0.00193 0.00128 mY
0.00516 0.00468
99.912% 99.963% YaK
501.128 554.192 AN
0.0169 0.0170
八、举例计算:
以第一组数据为例计算:
367.0295 293783 760769.0293.17602733.02 12 10102001 01 T TP PPTV V
460.9294 2935.783 760760273104 34 3002 02 T TP PPTV V
因 0088.0 SN、1 SV,所以 194.0 1 0088.0 1.22 1.2203 S S VN V
308.581929576***55004 04 TPPTV V
0380.0460.9367.0 98.098.002011 VVY
0000334.0308.5819194.004032 VVY
因 446.04.22101000 4.2210002 VV、556.51810018 水LL,所以 00305.0 0000334.0 0380.0556.5446.0)(2 1 1 Y YLVX
232.***0 3.021121 B aP P P P
又 778.0 E,所以 00193.0 00305.0232.1778.01 1 XPEY
00516.00000334.000193.0 0380.0ln0000334.0 00193.0 0380.0ln)(21 12 1 1 YY YY Y YY m
% 912.99 % 1000380.00000334.0 0380.0% 10012 1 YY Y
00950.0100011014.3414122 D
128.50100516.0100069000950.00000334.0 0380.0 446.0)(2 1 mYaY HY Y VK
0169.0 0000334.0 0380.0 446.0)(2 1 Y Y V N A
同理,课求得其它组数据。
课 程 名 称: c程序设计 课 程 代 码: 8234510 学院(直属系): 年级/专业/班:
2010级汽电1班
学 生 姓 名: 学 号: 31201008030 实验总成绩: 任 课
教 师: 开 课 学 院: 工程学院 实验中心名称: 交通实验中心
西华大学实验报告(理工类)
开课学院及实验室:汽车学院机房(5d-215)实验时间: 年 月 日
1、实验目的
2、实验设备、仪器及材料
3、实验内容
一般实验: 3.1实验方案设计与选择(设计性、创新性实验需写该项内容)3.2实验原理及实验步骤(实验工作原理或实验的主要操作过程)3.3实验记录(核心代码及调试过程)
注解:理工科实验需记录实验过程中的数据、图表、计算、现象观察等,实验过程中出现的问题; 其它如在计算机上进行的编程、仿真性或模拟性实验需记录程序核心代码以及程序在调式过程中出现的问题及解决方法;记录程序执行的结果。
上机实验:
3.1上机实验的内容及要求
3.2算法设计思想与算法实现步骤 3.3程序核心代码,程序调试过程中出现的问题及解决方法 3.4 程序运行的结果
4、实验总结
4.1实验结果分析及问题讨论 4.2实验总结心得体会
注解:实验总结的内容根据不同学科和类型实验要求不一样,一般理工科类的实验需要对实验结果进行分析,并且对实验过程中问题进行讨论;在计算机上进行的编程、仿真性或模拟性实验需要对上机实践结果进行分析,上机的心得体会及改进意见。其它实验应总结实验过程写出心得体会及改进意见。
1、实验目的(1)熟悉c语言的集成环境,了解菜单的使用方法。(2)掌握c语言程序上机的编辑、编译、连接、运行的基本步骤。(3)了解c语言程序的结构。
2、实验设备、仪器及材料(1)硬件环境
微型计算机(intel x86系列cpu)一台(2)软件环境 windows98/2000/xp操作系统 vc6.0集成开发环境
3、实验内容
3.1上机实验的内容及要求(1)熟悉vc中常用菜单项及对应快捷键的使用方法。(2)熟悉c语言程序上机的编辑、编译、连接、运行的基本步骤。(3)编程实现一个字符串的输出。(4)编程输出两个数的最大值。(5)计算由键盘输入的任意两个整数的积。3.2算法设计思想与算法实现步骤(1)编程实现一个字符串的输出为程序一,编程中,定义一个空函数后,直接由利用printf输出字符串。(2)编程输出两个数的最大值为程序二,编程中,用scanf函数输入两个数,再用选择函数判定两数大小,最后用printf函数输出最大值。(3)计算由键盘输入的任意两个整数的积为程序三,编程中,用scanf函数输入两数,再由乘积函数进行求积运算。
3.3程序核心代码,程序调试过程中出现的问题及解决方法
(1)程序核心代码
程序一:
#include
#include
#include
当分别添加上丢失的符号后,问题解决,程序编辑成功。3.4 程序运行的结果
程序一运行结果:
程序二运行结果:
程序三运行结果:
4、实验总结
4.1程序运行结果分析及思考题讨论
根据程序运行结果和编程之前的预期结果一致,说明编程成功。
对于程序的结构应该熟记在心,而且在vc6.0集成开发环境中不需要用户去进行连接的操作,这一步的操作电脑会自动完成。4.2实验总结心得体会
对第一次c语言编程上机实验,对编程还有很多不是很熟悉的地方,需要在接下来的学习中进一步熟
练掌握操作。而且在以后的编程中对于printf,csanf函数的运用将会更多。在编程中还必须小心翼翼,如果出现编译错误,可参看界面下方的错误提示,这对于编程成功很有帮助。
1、实验目的篇二:c程序设计实验三实验报告
实 验 报 告
工学院 土木工程专业 09级 2011 至 2012 学 第 1 学期
学号:xxxxxx 姓名:xxxxxx 2011 年10月 08日 第3~4节 综合 楼 325教室 篇三:c语言实验报告1 实验名称:熟悉c程序的运行环境
一、实验目的和要求
了解turbo c++ 3.0的基本操作方法,学会独立使用该系统
编辑、编译、连接和运行一个c程序
通过运行简单的c程序,初步了解c源程序的特点
二、实验内容和原理
1.输入并运行一个简单、正确的程序 # include
三、实验环境 1.硬件:pc机;
2.软件:windows操作系统、turboc++ 3.0。
四、算法描述及实验步骤 1.内容1(1)启动tc++3.0,新建一个c文件;
(2)输入程序1;
(3)保存文件;
(4)编译源程序,观察屏幕上显示的编译信息,修改出现的错误,直到编译成功,再次保存文件;
(5)连接程序、运行程序,观察运行结果。2.内容2(1)启动tc++3.0,新建一个c文件;
(2)输入程序2;
(3)保存文件;
(4)编译源程序,观察屏幕上显示的编译信息,修改出现的错误,直到编译成功;
(5)连接程序、运行程序,观察运行结果。3.内容3(1)启动tc++3.0,新建一个c文件;
(2)输入程序2;
(3)保存文件;
(4)编译源程序,观察屏幕上显示的编译信息,修改出现的错误,直到编译成功;
(5)连接程序、运行程序;
(6)输入数据,观察运行结果。
五、调试过程
1.输入后,按alt+f9编译,出现如下信息:
成功编译。
2.输入后,按alt+f9编译,出现如下信息:
经分析是由于int a, b, sum与sum=a+b俩句未加;导致。3.输入后,按alt+f9编译,出现如下信息:
经分析是由于int a, b, c句未加;导致。
修改后编译结果如下:
六、实验结果
1.2.3.输入123,654运行结果如下:
输入1989,1988运行结果如下:
七、总结
经过本次上机实验,我基本了解turbo c++ 3.0的操作方法,学会在该系统上编辑、编译、连接和运行一个c程序。同时也明白在编译过程中应留心一些细节问题(如一个语句结束要加“;”),也学会通过编译错误信息找出错误,并修正错误。
实验名称:数据类型、函数和表达式
八、实验目的和要求
掌握c语言数据类型,熟悉如何定义整型、字符型和实型变量并赋值 掌握不同类型数据之间赋值的规律
学会使用c的有关算法运算符及表达式,特别是自加(++)和自减(--)运算符的使用 进一步熟悉c程序的编辑、编译、连接和运行的过程
九、实验内容和原理
2.输入并运行下面程序,分析运行结果。# include
m=++i; n=j++; printf(%d,%d,%d,%d,i,j,m,n); }
十、实验环境 1.硬件:pc机;
2.软件:windows操作系统、turboc++ 3.0。
十一、算法描述及实验步骤
(1)启动tc++3.0,新建一个c文件;
(2)输入程序;
(3)保存文件;
(4)编译源程序,观察屏幕上显示的编译信息,修改出现的错误,直到编译成功;
(5)连接程序、运行程序,观察分析运行结果。
十二、调试过程 1.经分析错误是由于printf(%c%c, c1, c2)后未加;导致。
修改后运行如下:
2.成功运行 3.printf(%u, %un a, b);改成printf(%u, %un, a, b);成功运行 4.
成功运行。
十三、实验结果 1.2.3.4.十四、总结篇四:c程序实验报告
《程序设计综合训练》
第一部分 设 计 报 告 专 业: 软件工程 班 级: 12软件1 学 号: 12144131 姓 名: 陈 雷 指导教师: 钱 进、吕 萍 成 计算机工程学院 2013年3月 目 录
(1)题目名称、内容、来源(如2010年省计算机等级考试秋季上机试卷2)。
(2)解题的基本思路,(3)设计方案,功能模块框图与程序流程图等。
(4)算法设计:算法描述、实现方法、详细流程图等。
(5)源代码:主要模块的代码与注释。
(6)程序调试:调试过程与步骤,发现的问题,解决的办法等。
(7)测试:运行程序,输入测试数据,判断是否达到预期目的。测试数据要有
典型意义,要注意临界值的选取,注意测试数据的广泛性和普适性。第二部分
(1)题目名称、内容。
(2)解题的基本思路,(3)设计方案,功能模块框图与程序流程图等。
(4)算法设计:算法描述、实现方法、详细流程图等。
(5)程序调试:调试过程与步骤,发现的问题,解决的办法等。
(6)测试:运行程序,输入测试数据,判断是否达到预期目的。测试数据要有
典型意义,要注意临界值的选取,注意测试数据的广泛性和普适性。
(7)总结:收获与体会,有实际内容,忌空洞无物,忌千篇一律,400字左右。
(8)附录:源代码(含注释)。
第一部分
2010秋03等级考试 1.编写函数int noco(int n,int *a)。函数动能是验证是验证n的立方可表示为n个连续奇数之和,若找到这样的表示则将连续奇数按从小到大的顺序存放到a指向的数组中并且函数返回1,否则函数返回0。2.编写函数main。函数功能是声明数组a,分别用整数1~10及数组a作为实参调用函数noco,并将结果数据按以下屏幕输出所示形式输出到屏幕及文件myf2.out中。#include
printf(%d^3=,n);
} else {
printf(false);} fprintf(fp,false);fprintf(fp,%d^3=,n);for(i=0;i } k=k-2;for(j=0;j 1.编写函数long find_m(int n)。函数功能是查找满足以下条件的整数m:(1)m是 n的整数倍;(2)m的十进制表示中仅由0和1组成。函数返回找到的m的值。2.编写main 函数。函数功能是声明变量n和m,输入一个整数到n中(n<100), 用n作实参调用函数find_m,将n及找到的整数m输出到屏幕及文件myf2.out.#include 一列(列下标为0)和第二列(列下标为1)的值按如下规则生成第3列各元素的值,再以行为单位重排a数组各行元素的值,使得所有行按第3列元素从小到大有序。 第3列生成规则: 用数组a作为实参调用cresort函数,将a数组中数据输出到屏幕及文件myf2.out.#include stdio.h #define n 5 int isprime(int m){ int i;} void cresort(int a[][3],int n){ int i,j,k,m,c,t;for(i=0;i switch(c){ case 0:a[i][2]=1;break;case 2:a[i][2]=4;break;for(i=2;i<=m/2;i++)if(m%i==0)return 0;return 1;篇五:c程序设计实验报告 《c语言程序设计》实验报告 学号 不告诉你哦~ 班级 信管一班 姓名 你猜猜~哈哈 一、实验题目 一、编程实验 猜数问题:输入两个整数,并求这两个整数的和,输入所猜的结果,如果输入数比正确的结果要大,提示“猜大了”;如果输入数比正确的结果要小,提示“猜小了”;当猜对结果时提示“猜对了”,结束游戏(用函数调用方式编程)。 二、程序改错实验 输入一个数字 b,求sum=b+bb+bbb+„,改正下列程序中的错误。#include “stdio.h” main(){ int i,j;long int b,sum,temp;scanf(“%d”,&b);do { i++;for(j=0;j<=i;j++)temp+=(long int)pow(10,j-1)*b;sum+=temp;} while(i<=3)printf(“sum=%d”,sum);} 三、编程实验 编写两个矩阵相加减的程序,两矩阵的行列数均由用户输入(两矩阵的行列数要限制最大值),在屏幕上分行列打印出结果(矩阵元素为整型变量)。 实验目的 : 加深对嵌套查询语句的理解。 实验内容: 使用 IN、比较符、ANY 或 ALL 和 EXISTS 操作符进行嵌套查询操作。 实验步骤: 一.使用带 N IN 谓词的子查询 1.查询与’刘晨’在同一个系学习的学生的信息: 比较 select * from student where sdept in (select sdept from student where sname=“刘晨”)与: select * from student where sdept = (select sdept from student where sname=“刘晨”)的异同 比较: select * from student where sdept = (select sdept from student where sname=“刘晨”)and sname <> ‘刘晨’ 与: select S1.* from student S1, student S2 where S1.sdept=S2.sdept and S2.sname=“刘晨”的异同 2.查询选修了课程名为’信息系统’ 的学生的学号和姓名: 比较 select sno, sname from student where sno in(select sno from sc where cno in (select cno from course where cname=“信息系统”))与: select sno, sname from student where sno in (select sno from sc, course where sc.cno=course.cno and cname=“信息系统”) 3.查询选修了课程’1’和课程’2’的学生的学号: select sno from student where sno in(select sno from sc where cno=“1”)and sno in(select sno from sc where cno=“2”) 比较: 查询选修了课程’1’或课程’2’的学生的 sno: select sno from sc where cno=“1” or cno=“2” 比较连接查询: select A.sno from sc A, sc B where A.sno=B.sno and A.cno=“1” and B.cno=“2” 二.使用带比较运算的子查询 4.查询比’刘晨’年龄小的所有学生的信息: select * from student where sage< (select sage from student where sname=“刘晨”) 三.使用带 Any, All 谓词的子查询 5.查询其他系中比信息系(IS)某一学生年龄小的学生姓名和年龄;select sname, sage from student where sage (select sage from student where sdept=“IS”)and sdept<>“IS” 6.查询其他系中比信息系(IS)学生年龄都小的学生姓名和年龄: select sname, sage from student where sage “IS” 7.查询与计算机系(CS)系所有学生的年龄均不同的学生学号, 姓名和年龄: select sno,sname,sage from student where sage<>all(select sage from student where sdept=“CS”) 四.使用带 s Exists 谓词的子查询和相关子查询 8.查询与其他所有学生年龄均不同的学生学号, 姓名和年龄: select sno,sname,sage from student A where not exists(select * from student B where A.sage=B.sage and A.sno<>B.sno) 9.查询所有选修了 1 号课程的学生姓名: select sname from student where exists(select * from sc where sno=student.sno and cno=“1”) 10.查询没有选修了 1 号课程的学生姓名: select sname from student where not exists(select * from sc where sno=student.sno and cno=“1”) 11.查询选修了全部课程的学生姓名: SQL Server 中: select sname from student where not exists(select * from course where not exists(select * from sc where sno=student.sno and cno=course.cno)) 11.查询至少选修了学生 95002 选修的全部课程的学生的学号: SQL Server 中: select distinct sno from sc A where not exists (select * from sc B where sno=“95002”and not exists(select * from sc C where sno=A.sno and cno=B.cno)) 12.求没有人选修的课程号 cno 和 cnamecname: select cno,cname from course C where not exists(select * from sc where sc.cno=C.cno) 13*.查询满足条件的(sno,cno)对, 其中该学号的学生没有选修该课程号 cno的课程 SQL Server 中: select sno,cno from student,course where not exists(select * from sc where cno=course.cno and sno=student.sno) 14*.查询每个学生的课程成绩最高的成绩信息(sno,cno,grade): select * from sc A where grade=(select max(grade)from sc where sno=A.sno) 思考: 如何查询所有学生都选修了的课程的课程号 cno? select cno from sc group by cno 1.掌握使用if~else语句和switch~case语句实现分支结构的方法。 2.掌握使用三种循环语句实现循环结构的方法。 二、实验内容 1.显示两级成绩 程序填空,不要改变与输入输出有关的语句。 输入一个学生的数学成绩,如果它低于 60,输出“Fail”,否则,输出“Pass”。 文件命名---学号B1.C 源程序: #include /*运用if~else实现分支结构*/ printf(“Fail.n”); /*mark<60为真时执行*/ } else{ printf(“Pass.n”); /*mark<60为假时执行*/ } return 0; /*程序的结束状态*/ } 2.求三角形的面积和周长 程序填空,不要改变与输入输出有关的语句。 输入三角形的三条边 a, b, c,如果能构成一个三角形,输出面积area 和周长perimeter(保 留2 位小数);否则,输出“These sides do not correspond to a valid triangle”。 在一个三角形中,任意两边之和大于第三边。三角形的面积计算公式: aere*area = s(s-a)(s-b)(s-c)其中:s =(a+b+c)/2 文件命名---学号B2.C 源程序: #include /*运用if~else实现分支结构,逻辑与的运用要到位*/ s=(a+b+c)/2;printf(“perimeter=%.2fn”,a+b+c); /*调用printf()函数输出周长*/ printf(“area=%.2fn”,sqrt(s*(s-a)*(s-b)*(s-c)));/*平方根函数sqrt()*/ } else{ printf(“These sides do not corrrespond to a valid trianglen”);/*if条件语句为假时执行*/ } return 0;} 3.计算个人所得税 程序填空,不要改变与输入输出有关的语句。 输入一个职工的月薪 salary,输出应交的个人所得税tax(保留2 位小数)。 tax = rate *(salary-850)当 salary <= 850 时,rate = 0;当 850 < salary <= 1350 时,rate = 5;当 1350 < salary <= 2850 时,rate = 10;当 2850 < salary <= 5850 时,rate = 15;当 5850 < salary 时,rate = 20;文件命名---学号B3.C 源程序: #include /*运用else-if语句求解多分段函数*/ rate=0;} else if(salary<=1350){ rate=5;} else if(salary<=2850){ rate=10;} else if(salary<=5850){ rate=15;} else{ rate=20;} tax = rate *(salary-850);printf(“tax=%0.2fn”, tax);} /*else-if语句的分支*/ /*else-if语句的分支*/ /*else-if语句的分支*/ /*调用printf()函数输出结果*/ 4.求1+1/2+1/3+......+1/n 程序填空,不要改变与输入输出有关的语句。读入 1 个正整数 n(n<=50),计算并输出1+1/2+1/3+......+1/n(保留3 位小数)。 文件命名---学号B4.C 源程序: #include for(i=1;i<=n;i++){ sum*/ sum=sum+1.0/i; } printf(“%.3fn”, sum); } /*输入提示“n<=50,Enter n:”*/ /*对sum赋初值0*/ /*使用for循环,循环执行n次,计算 /*调用printf()函数输出sum的值*/ 5.求n!程序填空,不要改变与输入输出有关的语句。读入 1 个正整数 n(n<=50),计算并输出 n!。 文件命名---学号B5.C 源程序: #include /*输入提示*/ scanf(“%d”, &n);i=1,sum=1;do /*do~while循环语句*/ { sum=sum*i; /*循环体语句*/ i++;}while(i<=n);printf(“%.3fn”, sum); /*调用printf()函数输出sum的值*/ } 6.统计素数并求和 程序填空,不要改变与输入输出有关的语句。 输入 2 个正整数m 和n(1<=m,n<=500),统计并输出m 和n 之间的素数的个数以及这些素数的和(素数就是只能被1 和自身整除的正整数,1 不是素数,2 是素数)。注:嵌套循环 文件命名---学号B6.C #include /*调用求平方根函数,需要包含数学库*/ int main(){ int count, digit, i, j, k, m, n, sum;printf(“Enter m,n,n<=500:”); /*输入提示*/ scanf(“%d%d”, &m, &n); /*调用scanf()函数输入m,n*/ count=0,sum=0; /*count与sum分别记录素数个数与和,用于控制输出格式*/ for(j=m;j<=n;j++){ /*循环嵌套*/ k=sqrt(j);for(i=2;i<=k;i++) /*for循环,注意素数的判断*/ if(j%i==0) /*若m能被某个i整除,则j即m不是素数,循环提前结束*/ break;if(i>k&&j!=1){ /*如果m是素数*/ count++;sum=sum+j;} } printf(“count=%d, sum=%dn”, count, sum);} 三、收获、体会及问题 收获、体会:总的来说,这次实验的完成较实验一来说轻松了许多,因为对代码有了近一步的熟悉,实验的完成过程相对得心应手了许多。本次实验我基本掌握了运用三种循环语句循环结构的方法,对do~while、if~else、switch~case三种语句有了更深的理解,并能够准确的将之运用到编程的过程中,同时三类语句的作用与实现方法我也有了近一步的认识。 【c实验报告整理】推荐阅读: C语言实验报告模版07-10 c语言实验报告总结07-13 c语言实验报告函数11-29 c语言课内实验报告四09-13 进程管理实验c语言版10-26 c语言程序设计实验11-19 微机实验实验报告11-04 实验44实验报告图文06-16 大物实验实验报告06-26 自控实验二实验报告07-16年整理数据库嵌套查询实验报告 篇3
C语言实验报告3 篇4