C++实验7及参考答案
- 格式:doc
- 大小:69.00 KB
- 文档页数:6
C 语言程序设计上机实验指导与习题参考答案(仅供教师内部参考)华南农业大学目录上机实验 (1)实验 1 C 语言程序初步 (1)一、实验目的 (1)二、实验内容 (1)实验 2 基本数据类型、运算和表达式 (3)一、实验目的 (3)二、实验内容 (3)实验 3 基本输入与输出 (5)一、实验目的 (5)二、实验内容 (5)实验 4 选择结构程序设计 (4)一、实验目的 (4)二、实验内容 (4)实验 5 循环结构程序设计(一) (9)一、实验目的 (9)二、实验内容 (9)实验 6 循环结构程序设计(二) (15)一、实验目的 (15)二、实验内容 (15)实验7 数组 (17)一、实验目的 (17)二、实验内容 (17)实验8 字符数组的应用 (22)一、实验目的 (22)二、实验内容 (22)实验9 函数的基本应用 (24)一、实验目的 (24)二、实验内容 (24)实验10 指针与结构体 (26)一、实验目的 (26)二、实验内容 (26)*实验11 链表 (29)一、实验目的 (29)二、实验内容 (29)*实验12 文件 (32)一、实验目的 (32)二、实验内容 (32)上机实验实验1 C语言程序初步一、实验目的(1)了解所用的计算机系统的基本操作方法,学会独立使用该系统。
(2)了解在该系统上如何编辑、编译、连接和运行一个 C 程序。
(3)通过运行简单的 C 程序,初步了解C 程序的特点。
(4)在教师的指导下,学会使用JudgeOnline 实验系统。
二、实验内容1. 运行第一个C 程序[题目:The first C Program]将下列程序输入TC(或VC++),编译、连接和运行该程序。
void main(){printf("The first C Program\n");}[具体操作步骤]以Turbo C 上的操作为例(1)Windows 进入后,按照第一章中介绍的方法,进入Turbo C。
c语言《程序设计基础》课后习题参考答案与解析《程序设计基础》习题参考答案与部分解析第1章 C 语言概述一、填空a) C源程序的基本单位是函数。
b) 一个C程序中至少应包括一个 main函数。
c) 在C语言中,输出操作是有库函数 printf( )函数完成。
二、单选题1、A2、C3、B解析:第1题答案:A 。
因为一个C程序总是从main函数开始执行的,而不论main函数在程序中的位置。
且到main函数结束。
第2题答案:C 。
因为 main函数没有限制必须位于程序的最前面。
C程序书写自由,一行内可写几个语句。
在对一个C 程序进行编译的过程中,无法检查注释当中的拼写错误。
不过C语言本身并没有输入输出语句,输入输出是由函数完成的。
第3题答案:B。
因为一个C语言程序是由若干个函数组成的。
但至少包含一个main 函数,且main函数的位置不限。
三、编程题1、编写一个输出“Welcome to C!”信息的小程序。
解:程序如下#include “stdio.h”main( ){1printf(“Welcome to C!”) ;}2、已知三角形的三边长分别为3,4,5,试用海轮公式编程求其面积。
海伦公式为:S?= ,其中s= (a+b+s)/2 ;解:程序如下#include “math.h”#include “stdio.h”main( ){int a , b , c ; /* a ,b,c 3个整型变量表示三角形的3条边。
*/float s ,s1 ; /* s1作为面积变量,s 作为中间变量是都应该是实形*/a=3 ; b= 4; c=5 ;s= (a+b+c)/2.0 ;s1= sqrt(s*(s-a)*(s-b)*(s-c)); /* sqrt函数完成开平方根功能。
*/printf(“area=%f\n”,s1);}2第2章程序设计基础知识一、单选题1、C2、A3、C4、A5、C6、C7、D8、C9、D 10、A 11、D 12、A 13、C 14、C 15、B A 16、B 17 D解析:1. 答案:C。
实验7 气相反应平衡常数的测定一、 目的要求1.直接测定法测量不同温度下二氧化碳与灼热碳反应的平衡常数。
2.了解高温的测量和控制及气体的取样分析。
二、原理二氧化碳与灼热碳的反应:C (s )+CO 2(g )−−→−高温2CO (g ) ∆r H m =157.78kJ ·mol -1假定反应气相混合物为理想气体,对于复相化学平衡,其平衡常数用各组分气体分压表示: )/()/(2CO 2CO o o p p p p p K = (7-1) )/()/(2CO 2CO o o p p x p p x p K ⋅⋅=(7-2)在实验条件下反应总压近似保持在101325Pa , 故总总n n n n n n n n x x K o p⋅-=+==)()(2222CO 2CO CO CO CO 2CO CO 2CO 由理想气体状态方程得)/)(//()/(CO 2CO RT V RT V RT V RT V K o p总总-= =)(/CO 2CO V V V V -总总 (7-3)式中V co 为标准态压力下一氧化碳的体积,V 总为标准态压力下一氧化碳和二氧化碳平衡混合气的总体积。
本实验中对反应达平衡后的混合气体“冻结”后进行取样分析,可测出V 总和V CO 。
二氧化碳与碳高温下的等压反应热效应为+157.78kJ ·mol -1,是吸热反应。
温度升高,反应向生成CO 方向进行,平衡常数增大。
而且该反应有体积变化,压力增加,反应向气体体积缩小的方向即生成CO 2方向进行。
当压力恒定时,影响化学平衡移动的因素只有温度。
故可在不同的温度下对反应平衡常数进行测量,从而考察温度对平衡常数的影响。
该反应除考虑热力学平衡外,还要考虑动力学因素。
该反应是非均相反应,CO2还原成CO的速度在低于600℃时很慢,温度高于1100℃速度才显著加快。
因此,在较低温度下,反应要达到平衡需要很长时间。
三、仪器和试剂反应装置一套(UJ-36型便携式电位差计一台;XCT-101动圈式温度指示调节仪一台;镍铬-镍铬鎧装热电偶两对);CO2钢瓶一个;碳粒;40%NaOH溶液;液体石蜡;饱和食盐水。
c程序设计教程与实验课后答案【篇一:c程序设计教程与实验第10章习题参考答案】题1.二进制文本2.rewind()3.字节流式4.”abc.dat” “rb”5.06.将文件位置指针从文本末尾处向文件头的方向移动10个字节7.将文件file1.txt的内容输出到屏幕8.将f1的字符保存到f2中9.rfetc(fp)num++10.fopen(“file.dat”,”wb”)dt,1,9,fp三、程序分析题1. 242.复制f1到f23.1.14.1177995. 65a 66b 67c 68d 69e 70f 71g 72h 75k 76l 77m 78n 79o 80p 81q 82r 85u 86v 87w 88x 89y 90z四、编程题1.#includestdio.h#includestdlib.hint main(){char file[10],file1[10],ch;file *in,*out;scanf(%s,file);scanf(%s,file1);if((in=fopen(file,r))==null){printf(cant open file\n);exit(0);}if((out=fopen(file1,w))==null) 73i 74j 83s 84t {printf(cant open file1\n);exit(0);}while(!feof(in)){ch=fgetc(in);fputc(ch,out);putchar(ch);}fclose(in);fclose(out);return 0;}2.#include stdio.h#includestring.h#include errno.hint main(void){file *fp;char ch;if (null == (fp = fopen(g3, r))){printf(fopen g3 error: %s\n, strerror(errno)); return 0;}while ((ch = fgetc(fp))!=eof){printf(%c, ch); }fclose(fp);printf(\n);return 0;}3.#includestdio.hvoid main(){file *fp; /*定义一个文件指针*/int i;double a[10];if((fp=fopen(data.txt,wb+))==null){printf(file can not open,press any key to exit!\n); getch(); /*从键盘上任意输入一字符,结束程序*/exit(1);}for(i=0;i10;i++)scanf(%lf,a[i]);for(i=0;i10;i++)fwrite(a+i,sizeof(double),1,fp);printf(\n);rewind(fp);fread(a,sizeof(double),10,fp);for(i=0;i10;i++)printf(%f\n,a[i]);printf(\n);fclose(fp);}4.#includestdio.hvoid main(){file *fp;int a[80],i,j;int a,b,c;a=b=c=0;if(fp=fopen(g4.dat,r))==null)printf(读取失败\n);for(i=0;i80;i++){fscanf(fp,%d,a[i]);if(fp==eof)break;}for(j=0;j=i;j++){if(a[i]0) a++;if(a[i]0) b++;if(a[i]==0) c++;}printf(正=%d,负=%d,零=%d\n,a,b,c);5.#includestdio.hstruct student{char num[10];char name[8];int score[2];float ave;} stu[3];void main(){int i,j,sum;file *fp;for(i=0;i3;i++){printf(\ninput score of student %d:\n,i+1);printf(no.:);scanf(%s,stu[i].num);printf(name:);scanf(%s,stu[i].name);sum=0;for(j=0;j2;j++){printf(score %d:,j+1);scanf(%d,stu[i].score[j]);sum+=stu[i].score[j];}stu[i].ave=sum/2.0;}fp=fopen(stud,w);for(i=0;i3;i++)if(fwrite(stu[i],sizeof(struct student),1,fp)!=1) printf(file write error\n);fclose(fp);fp=fopen(stud,r);for(i=0;i3;i++){fread(stu[i],sizeof(struct student),1,fp);printf(\n%s,%s,%d,%d,%d,%6.2f\n,stu[i].num,stu[i].name,stu[i]. score[0], stu[i].score[1],stu[i].score[2],stu[i].ave);}}【篇二:c语言程序设计实训教程习题和实验解答】ss=txt>2.1 c语言概述【习题解答】1结构化程序有三大基本结构:顺序、分支和循环.2..算法可以理解为有基本运算及规定的运算顺序所构成的完整的解题步骤。
C语言程序设计课后习题参考答案习题一一、单项选择题1、C2、B3、B4、C5、D6、A7、C8、A二、填空题1、判断条件2、面向过程编程3、结构化4、程序5、面向对象方法6、基本功能操作、控制结构7、有穷性8、直到型循环结构9、算法10、可读性11、模块化12、对问题的分解和模块的划分习题二一、单项选择题1、B2、D3、C4、B5、A6、A7、B8、C二、填空题1、主2、C编译系统3、结构化4、程序5、面向对象方法6、.OBJ7、库函数8、直到型循环结构习题三一、单项选择题1、D2、B3、A4、C5、A6、D7、B8、D9、B 10、C 11、A 12、D 13、C 14、B 15、C 16、A17、B 18、C 19、C 20、D 21、A 22、D 23、D 24、D、A25、D 26、A二、填空题1、补码2、10^-138~10^138、15~163、实4、单目运算符、自右向左5、函数调用6、65,89习题四一、单项选择题1、D2、C3、D4、A5、D6、B7、A8、C9、B 10、B二、填空题1、两, ;2、5.1690003、-200 2500、i=-200,j=2500回车、i=-200回车j=2500回车4、a=98,b=765.000000,c=4321.0000005、100 25.81 1.89234、100,25.81,1.89234、100回车25.81回车1.89234回车6、0,0,37、38、scanf(“%lf %lf %lf”,&a,&b,&c);9、13 13.000000 13.00000010、c=b-a;a=b+c;习题五一、单项选择题1、B2、D3、C4、B5、B6、D7、A8、B9、D二、填空题1、1 、02、k!=03、if(x>4||x<-4)printf(“%d”,x);else printf(“error!”);4、if(((x>=1&&x<=10)||(x>=200&&x<=210))&&(x%2!=0))Printf(“%d”,x);5、16、17、10!Right!8、a=09、2,110、0<a<b习题六一、单项选择题1、B2、C3、C4、B5、C6、B7、C8、A二、填空题1、无穷次2、83、204、115、3.66、*#*#*#$7、8 5 28、d=1.0 、k++、k<=n9、!(x<0)、x<amin习题七一、单项选择题1、B2、D3、C4、C5、A6、A7、D8、A二、填空题1、1 2 4 8 16 32 64 128 256 5122、a[age]++、i=18;i<263、break、i==84、a[i]>b[i]、i<3、j<55、b[j]=0、b[j]=a[j][k]习题八一、单项选择题1、B2、C3、C4、A5、A6、A7、C8、D9、D 10、B 11、A 12、C 13、A 14、C 15、B二、填空题1、return 1、return n+sum(n-1)2、return 1、n*facto(n-1)习题九一、单项选择题1、D2、C3、D4、A5、C6、C7、C8、C9、B 10、C 11、A 12、C 13、B 14、A 15、D 16、B17、C 18、A 19、B 20、C二、填空题1、int 、return z2、*p++3、’\0’、++4、p、max<*q、min>*q习题十一、单项选择题1、D2、D3、A4、5、B6、A7、C8、B9、D 10、11、C 12、D 13、D 14、C二、填空题1、34 122、ARRAY a[10],b[10],c[10];3、2 34、ab、cd5、(*b).day、b->day6、adabc defghi mnohi no7、(struct node *)、!=’\n’、p=top;8、p1=p1->next9、(struct list *)、(struct list *)、return (n)习题十一一、单项选择题1、A2、A3、B4、A5、B6、D7、B8、A9、A 10、B 11、B 12、B 13、C 14、C 15、D 16、A17、D二、填空题1、ASCII(文本)、二进制2、pf=fopen(“A:\\zk04\\data\\txfile.dat”,”w”);3、fputc()、fputs()、fscanf()、fread()4、(后两个空)文件结束符、非0值。
新课标全国高考考前复习物理 实验七 测定金属的电阻率1.某同学做“测定金属电阻率”的实验.(1)需要通过实验直接测量的物理量有:__________________________________________ __________________________________________________________(写出名称和符号). (2)这位同学在一次测量时,电流表、电压表的示数如实图7-1所示.由图中电流表、 电压表的读数可计算出金属丝的电阻为________ Ω.实图7-1解析 (1)由R =ρl S 、R =U I 得ρ=Ud 2π4Il .需要直接测量的物理量有U 、I 、l 、d .(2)电压表读数是2.40 V ,电流表读数是0.46 A ,电阻R =U I =2.400.46Ω≈5.22 Ω.答案 (1)加在金属丝两端的电压U ,通过金属丝的电流I ,金属丝的长度l ,金属丝的直 径d (2)5.222.“探究导体电阻与导体长度、横截面积、材料的关系”的实验电路如实图7-2所示,a 、b 、c 、d 是四种不同的金属丝.现有四根镍铬合金丝和两根康铜合金丝,其规格如下表所示.实图7-2(1)(2)某学生对实验数据分析归纳出:电路图中四种金属丝的电阻R 与长度L 、横截面积S 的关系可用比例式R ∝L S来表示.你认为是否正确,为什么?________________________________________________________________________. (3)在交流合作时,有位同学提出用如实图7-3所示的电路,只要将图中P 端分别和1、 2、3、4相接,读出电流,利用电流跟电阻成反比的关系,也能探究出导体电阻与其影 响因素的定量关系,请你对其作出评价.实图7-3解析 (1)本实验采用的是控制变量法,分别选用导体材料相同、横截面积相同时,导体 的长度不同,B 、C 符合要求;选用导体材料相同、长度相同时,导体的横截面积不同, C 、D 符合要求;选用导体横截面积相同、长度相同时,导体的材料不同,C 、E 符合要 求.故选BCDE.答案 (1)BCDE (2)不正确,因为它们的材料不完全相同.(3)不能探究出. ①实验过程中无法保证每次金属丝两端的电压相等;②电流表的内阻与 金属丝相比不能忽略,对实验影响较大.3.在“测定金属的电阻率”的实验中,用螺旋测微器测量金属丝直径时的刻度位置如实图7-4所示,用米尺测出金属丝的长度L ,金属丝的电阻大约为5 Ω,先用伏安法测出金属丝的电阻R ,然后根据电阻定律计算出该金属材料的电阻率.实图7-4(1)从图中读出金属丝的直径为________mm.(2)为此取来两节新的干电池、电键和若干导线及下列器材: A .电压表0~3 V ,内阻10 k Ω B .电压表0~15 V ,内阻50 k Ω C .电流表0~0.6 A ,内阻0.05 Ω D .电流表0~3 A ,内阻0.01 Ω E .滑动变阻器,0~10 Ω F .滑动变阻器,0~100 Ω①要求较准确地测出其阻值,电压表应选________,电流表应选________,滑动变阻器 应选________.(填序号)②实验中某同学的实物接线如实图7-5所示,请指出该同学实物接线中的两处明显错 误.实图7-5错误1:_____________________________________________________________________ ____________________________________________________________________________ 错误2:_____________________________________________________________________ ____________________________________________________________________________ (3)若测得金属丝的直径用d 表示,电阻用R 表示,则该金属材料的电阻率ρ=________. 解析 (1)从螺旋测微器的固定刻度上可以看出,半毫米刻度线已经露出来,因此主尺上 应读0.5 mm ,可动刻度上接近第18个刻度线,可以估读0.180 mm(或0.179 mm),所以 该金属丝直径应为0.5 mm +0.180 mm(或0.179 mm)=0.680 mm(或0.679 mm). (2)①由电路图知电源是两节干电池,电动势是3 V ,用3 V 量程的电压表A ;因为电阻 丝的电阻大约为5 Ω,如果把3 V 的电动势全加在电阻丝上,电流才是0.6 A ,因此用量 程是0.6 A 的电流表C ;此题中金属丝的电阻大约为5 Ω,为了减小实验误差,应选10 Ω的滑动变阻器E.(3)由R =ρL S 可得:ρ=πRd24 L.答案 (1)0.680(或0.679) (2)①A C E ②错误1:导线连接在滑动变阻器的滑片上 错误2:采用了电流表内接法 (3)πRd24 L4.(1)用螺旋测微器测量某金属丝直径的结果如实图7-6所示,该金属丝的直径是________mm. (2)某同学测量阻值约为25 k Ω的电阻R x ,现备有下列器材: A .电流表(量程100 μA ,内阻约2 k Ω); B .电流表(量程500 μA ,内阻约300 Ω); C .电压表(量程15 V ,内阻约100 k Ω); D .电压表(量程50 V ,内阻约500 k Ω); E .直流电源(20 V ,允许最大电流1 A); F .滑动变阻器(最大阻值1 k Ω,额定功率1 W); G .开关和导线若干.电流表应选________,电压表应选________.(填字母代号)该同学正确选择仪器后连接了以下电路,如实图7-7所示,为保证实验顺利进行,并 使测量误差尽量减小,实验前请你检查该电路,指出电路在连线上存在的问题: ①________________________________________________________________________; ②________________________________________________________________________.实图7-7解析 (1)D =1 mm +0.5 mm +20.6×0.01 mm=1.706 mm.(2)由于电源电压为20 V ,为测量精确应选电压表C ,此时电路中电流表的最大电流I m =15 V 25 k Ω=0.6 mA =600 μA ,为保证安全,需选电流表B.R x R V ≈14,R A R x ≈180,故R x 是大电 阻,故电流表应采用内接式接法.滑动变阻器最大阻值1 k Ω,待测电阻约25 k Ω,限流 式接法变阻器调节范围很小,起不到应有作用,故应采用分压式接法. 答案 (1)1.706(1.704~1.708均可)(2)B C ①电流表应采用内接的方式 ②滑动变阻器应采用分压式接法图7-3-65.如实图7-8所示是一些准备用来测量待测电阻R x 阻值的实验器材,器材及其规格列表如下:一半,而且调节滑动变阻器能使电表读数有较明显的变化.请用实线代替导线,在所给 的实验器材中选择合适的器材,连成满足要求的测量R x 阻值的电路.实图7-8解析 由于待测电阻约1 000 Ω,滑动变阻器最大电阻为100 Ω,要使电表读数发生变化, 滑动变阻器必须使用分压式接法.当电源电动势全部加在待测电阻上时,流过的电流约为I =E R x =91 000A =9 mA<3.0 A ,显然不能用电流表来测电流,而应该把其中一个电压表V 1当电流表来使用.根据比值法容易判断出待测电阻是大电阻,伏安法应使用内接法. 答案6.为了测量电流表A1的内阻,某同学采用如实图7-9所示的实验电路.其中:实图7-9A1是待测电流表,量程为300 μA,内阻约为100 Ω;A2是标准电流表,量程是200 μA;R1是电阻箱,阻值范围是0~999.9 Ω;R2是滑动变阻器;R3是保护电阻;E是电池组,电动势为4 V,内阻不计;S1是单刀单掷开关,S2是单刀双掷开关.(1)①实验中滑动变阻器采用________接法(填“分压”或“限流”);②根据如实图7-9所示电路的实物图,请在下面方框中画出实验电路图.(2)请将该同学的操作补充完整:①连接好电路,将滑动变阻器R2的滑片移到最________(填“左端”或“右端”);将开关S2扳到接点a处,接通开关S1;调整滑动变阻器R2,使电流表A2的读数是150 μA;②将开关S2扳到接点b处,________,使电流表A2的读数仍是150 μA.③若此时电阻箱各旋钮的位置如实图7-10所示,则待测电流表A1的内阻R g=________Ω.实图7-10(3)上述实验中,无论怎样调整滑动变阻器R2的滑片位置,都要保证两只电流表的安全.在下面提供的四个电阻中,保护电阻R3应选用________.(填写阻值前相应的字母)A.200 kΩB.20 kΩC.15 kΩD.150 kΩ解析(1)①该电路为限流接法②电路图如答案图所示.(2)①闭合开关之前,应使滑动变阻器的阻值最大,滑片在最左端;本实验使用替代法测量电流表的内阻,因此开关S2接a和接b时电流表A2的读数应该相同,开关接b时,需调节电阻箱R1.③电阻箱表示的阻值大小等于被测电流表的内阻,读数为86.3 Ω.(3)当滑动变阻器R2的阻值为零时,电路中的电流不能超过两个电流表的量程,即I=ER3≤200×10-6A,解得R3≥20 kΩ.答案(1)①限流②如图所示(2)①左端②保持R2不变,调整变阻箱R1③86.3(3)B。
c语言程序设计教程(第2版)课后题及模拟题参考答案习题1 (3)1-1 填空题 (3)1-2 思考题 (3)1-3 编程题 (3)习题2 (4)2-1 单选题 (4)2-2 思考题 (4)习题3 (5)3-1 选择题 (5)3-2 填空题 (5)3-3 编程题 (5)习题4 (7)4-1单选题 (7)4-2填空题 (7)4-3 编程题 (7)习题5 (10)5-1单选题 (10)5-2填空题 (10)5-3 编程题 (10)习题6 (13)6-1单选题 (13)6-2填空题 (13)6-3 编程题 (13)习题7 (15)7-1单选题 (15)7-2填空题 (15)7-3 编程题 (15)习题8 (16)8-1单选题 (16)8-2填空题 (16)8-3 编程题 (16)习题9 (18)9-1单选题 (18)9-2填空题 (18)9-3 编程题 (18)习题10 (22)10-1单选题 (22)10-2填空题 (22)10-3 编程题 (22)习题11 (24)11-1单选题 (24)11-2填空题 (24)习题12 (25)12-1单选题 (25)12-2 填空题 (25)实验篇 (26)实验1 熟悉Visual C++6.0可视化集成开发环境 (26)实验2 顺序结构程序设计 (26)实验3 选择结构程序设计 (26)实验4 循环结构程序设计 (26)实验5 函数 (28)实验6 数组 (32)实验7 指针 (33)实验8 结构体和共用体 (35)实验9 文件 (36)实验10 综合编程 (36)模拟试卷(一)参考答案 (37)模拟试卷(二)参考答案 (38)习题11-1 填空题1.函数2.主函数main(),主函数main()3.主函数main()4.函数首部,函数体5.{, }6./*, */7.顺序结构,选择结构,循环结构8..c, .obj, .exe1-2 思考题1.结构化程序设计是指:为使程序具有一个合理的结构以保证程序正确性而规定的一套如何进行程序设计的原则。
实验7 聚合物的热重分析(TGA)热重分析(TGA)是以恒定速度加热试样,同时连续地测定试样失重的一种动态方法。
此外,也可在恒定温度下,将失重作为时间的函数进行测定。
应用TGA可以研究各种气氛下高聚物的热稳定性和热分解作用,测定水分、挥发物和残渣,增塑剂的挥发性,水解和吸湿性,吸附和解吸,气化速度和气化热;升华速度和升华热,氧化降解,缩聚高聚物的固化程度,有填料的高聚物或掺和物的组成,它还可以研究固相反应。
因为高聚物的热谱图具有一定的特征性,它也可作为鉴定之用。
1. 实验目的(1)了解热重分析法在高分子领域的应用。
(2)掌握热重分析仪的工作原理及其操作方法,学会用热重分析法测定聚合物的热分解温度Td。
2. 实验原理热重分析法(thermogravimetric analysis,TGA)是在程序控温下,测量物质的质量与温度关系的一种技术。
现代热重分析仪一般由4部分组成,分别是电子天平、加热炉、程序控温系统和数据处理系统(微计算机)。
通常,TGA谱图是由试样的质量残余率Y(%)对温度T的曲线(称为热重曲线,TG)和/或试样的质量残余率Y(%)随时间的变化率dY/dt(%/min)对温度T的曲线(称为微商热重法,DTG)组成,见图2-40。
温度/℃图2-40 TGA谱图开始时,由于试样残余小分子物质的热解吸,试样有少量的质量损失,损失率为(100-Y1)%;经过一段时间的加热后,温度升至T1,试样开始出现大量的质量损失,直至T2,损失率达(Y1-Y2)%;在T2到T3阶段,试样存在着其他的稳定相;然后,随着温度的继续升高,试样再进一步分解。
图2-40中T1称为分解温度,有时取C点的切线与AB延长线相交处的温度T1′作为分解温度,后者数值偏高。
TGA在高分子科学中有着广泛的应用。
例如,高分子材料热稳定性的评定,共聚物和共混物的分析,材料中添加剂和挥发物的分析,水分(含湿量)的测定,材料氧化诱导期的测定,固化过程分析以及使用寿命的预测等。
实验7安全协议练习一
一、判断题
1.一个人可以通过执行一系列的步骤来完成一项任务构成协议。
2.通过执行协议必须完成某项任务或达成某项共识。
3.在公钥协议中,数字证书可离线担保实体确实是公钥的所有者。
4.对不同类型的安全协议,存在着不同的攻击,而且新的攻击方法在不断产生。
5.协议中使用的密码算法被认为是抽象的并且不能对密码分析
免疫。
6.安全协议又称为密码协议。
7.密钥协商可以不需要任何的可信第三方来完成。
8.算法应用于协议中消息处理的环节,对不同的消息处理方式要求不同的算法。
9.当用户接收到的信息都是二进制串时,用户无法判断是否是经过加密等处理。
10.重放属于对安全协议攻击类型中的复改。
答案:
1.错
2.对
3.对
4.对
5.错
6.对
7.对8对9.对10.对
二、名词解释
1.协议
2.安全协议协议来解决
3.攻击者
4.可信第三方
5.密码分析
答案:
1.协议是两个或两个以上的参与者采取一系列步骤以完成某项特定的任务。
2.安全协议是以密码学为基础的信息交换协议,其目的是在网络环境中提供各种安全服务。
3.攻击者就是协议过程中企图破坏协议安全性和正确性的人。
4.可信第三方是指在完成协议的过程中,值得信任的第三方,能帮助互不信任的双方完成协议。
5.攻击者利用在协议运行中所获取的消息进行分析以获取有用的信息。
实验七界面及易用性测试用例执行一、实验目标✧能够通过界面测试发现界面性缺陷✧能够通过易用性测试发现易用性缺陷二、前提条件1)能够理解界面及易用性测试用例2)搭建好电子档案系统三、实验任务及完成标准3.1 针对电子档案系统,结合给出的界面及易用性通用测试用例进行“界面及易用性”缺陷查找。
请将查找到的缺陷提交至缺陷表中。
注意:1)至少提交5个缺陷。
2)通用测试用例仅供参考,可自行添加。
表3.1 通用测试用例《软件测试基础》-界面及易用性测试用例执行实验手册第 12 页 共 12 页 9屏幕对角线交点的上方是最容易吸引用户的位置,要重点测试 10工具栏上的图标简洁美观,尽量符合其真实含义 11状态栏上要实时显示操作后窗体发生的变化 12多个子窗体弹出时应该依次向右下方偏移,显示窗体出标题为宜 13控件摆放对齐,间隔一致,没有重叠区域 14提示、警告、或错误说明应该清楚、明了、恰当 15菜单正常工作,菜单标题与实际执行内容一致 16菜单采用 常用->主要->次要->工具->帮助 位置排列,符合流行的windows 风格 17下拉菜单根据菜单的含义进行分组,并按照一定的规则进行排列,用横线隔开 18菜单前的图标适合,与字高保持一致 …………表3.2 缺陷表序号Bug 步骤 预期结果 实际结果 备注 1界面的美观程度 美观 不美观Bug 截图:2 验证码《软件测试基础》-界面及易用性测试用例执行实验手册 第 12 页 共 12 页 Bug 截图:3界面单调Bug 截图:4背景单调Bug 截图:《软件测试基础》-界面及易用性测试用例执行实验手册 第12 页 共 12 页5按钮、超链接效果不美观Bug 截图:……推荐bug序号3.2 知识拓展与阅读1、易用性按钮名称该易懂,用词准确,屏弃没楞两可的字眼,要与同一界面上的其他按钮易于区分,能望文知意最好。
理想的情是用户不用查阅帮助就能知道界面的功能关进行相关的正确操作。
第7章习题及参考答案7.1命名下列化合物。
OHOH(7)(8)OHH3COCH3PhCHCH2CH2CH3(9)(10)C2H5OCH2CH2OC2H5 OHOH(11)(12)NO2C H3OCH2OHCH3(13)CH2CH3(14)O HHCHOCH3OCH33解:(1)4-丙基-4-庚醇(2)2-甲基-3-戊炔-2-醇(3)3-氯-2-溴-1-丁醇(4)(E)-2,3-二甲基-4-溴-2-戊烯-1-醇(5)(2R,3R)-3-甲基-4-戊烯-2-醇(6)(E)-2-丁烯-1,4-二醇(7)4-环戊烯-1,3-二醇(8)3-甲基-5-甲氧基苯酚(9)1-苯基-1-丁醇(10)乙二醇二乙醚(11)2-硝基-1-萘酚(12)4-甲氧基环己基甲醇(13)1,2-环氧丁烷(14)(2S,3R)-2,3-二甲氧基丁烷7.2写出下列化合物的结构式。
(1)3,3-二甲基环戊醇(2)肉桂醇(3)环戊基叔丁基醚(4)3-环己烯基异丙基醚(5)顺-1,2-环己二醇(6)2,3-二巯基-1-丙醇(7)4-丁基-1,3-苯二酚(8)二苯并-18-冠-6 解:H3C(1)(2)H3C O H C HCHCH2OH(3)(4)OC(CH3)3O C H(CH3)2(5)(6) C H 2CHCHOHSHSHOHOHOHOOO(7)(8)OHO O C(CH 3)3O7.3将下列化合物按沸点降低的顺序排列成序。
(1)丙三醇,乙二醇二甲醚,乙二醇,乙二醇单甲醚(2)3-己醇,正己醇,正辛醇,2-甲基-2-戊醇解:(1)丙三醇>乙二醇>乙二醇单甲醚>乙二醇二甲醚(2)正辛醇>正己醇>3-己醇>2-甲基-2-戊醇7.4将下列各组化合物按与卢卡斯试剂作用的速率快慢排列成序。
(1)1-丁醇,2-丁烯-1-醇,3-丁烯-2-醇,2-丁醇(2)叔丁醇,正丁醇,环己醇(3)对甲氧基苄醇,对硝基苄醇,苄醇解:(1)3-丁烯-2-醇>2-丁烯-1-醇>2-丁醇>1-丁醇(2)叔丁醇>环己醇>正丁醇(3)对甲氧基苄醇>苄醇>对硝基苄醇7.5写出环戊醇与下列试剂反应(如能反应)的主要产物。
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 = &aprintf("%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)的结果是⼀样的。
实验三3.4编写程序,用getchar函数读入两个字符c1,c2,然后分别用putchar函数输出void main(){char c1,c2;c1=getchar();c2=getchar();putchar(c1);putchar(c2);putchar('\n');printf("%c %c\n",c1,c2);}3.5把790分钟换成用小时和分钟表示,然后输出。
void main(){int s=790;printf("%d小时",s/60);printf("%d分钟",s%60);}3.6将读入三个数a,b,c,然后交换它们的值,把a的值给b,把b的值给c,把c的值给a.main(){int a,b,c,t;scanf("%d,%d,%d",&a,&b,&c);t=a;a=b;b=c;c=t;printf("%d,%d,%d",a,b,c);3.7输入一个double类型的数,使该数保留小数点后两位,对第三位小数进行四舍五入处理,然后输出此数,验证处理是否真确。
#include<stdio.h>void main(){float x,s,a;int z;scanf("%f",&x);a=100*x+0.5;z=(int)(a);s=z/100.0;printf("%.2f\n",s); }main(){int a,b,t;double c;scanf("%lf",&c);b=100*c;t=1000*c;a=t%10;if (a>=5) b=b+1;else b=b+0;c=1.0*b/100;printf("%7.2lf/n",c); return 0;}void main(){int x,y;scanf("%d",&x);if(x<0&&x>-5) y = x ; if(x==0) y = x-1;if(x<10&&x>0) y = x+1; printf("%d",y);}实验四4.2不嵌套if语句void main(){int x,y;scanf("%d",&x);if(x<0&&x>-5) y = x ;if(x==0) y = x-1;if(x<10&&x>0) y = x+1;printf("%d",y);}法二:嵌套if语句void main(){int x,y;scanf("%d",&x);if((x>-5)&&(x<0)) y=x;else if(x==0) y=x-1;else if(x<10&&x>0) y=x+1;printf("%d",y);}4.3如下程序运用条件运算符求变量的绝对值?void main(){int a,M;scanf("%d",&a);M=a>0?a:-a;printf("abs(a)=%d",M);4.4某服装店经营套服,也可单件出售,若买的不少于50套,每套80元,不足50套的每套90元,只买上衣每件60元,只买裤子每条45元,(读入所买上衣C和裤子t的件数,计算应付款m。
上海电力学院实验报告课程名称高级程序设计C++(1) 实验项目实验七数组1姓名学号班级专业同组人姓名无指导教师姓名实验日期一、实验目的1、掌握一维数组的定义、赋值和输入输出的方法;2、掌握与数组有关的算法(特别是排序算法)。
二、实验内容和步骤编程序并上机调试运行。
1、按如下要求编程: 在第一个循环中给a数组的前10个数组元素依次赋1、2、3、4、5、6、7、8、9、10;在第二个循环中使a数组前10个元素中的值对称折叠,变成1、2、3、4、5、5、4、3、2、1;在最后一个循环中输出对称折叠以后的a数组的前10个元素。
●程序源代码(注意添加注释)#include<iostream>using namespace std;int main(){int a[10],i;for(i=0;i<10;i++) a[i]=i+1;for(i=5;i<10;i++) a[i]=a[9-i];for(i=0;i<10;i++) cout<<a[i]<<' ';return 0;}●运行结果(直接截取结果图)2、已知长度为10的数组a及其各个元素的值,对其按从大到小进行排序.●程序源代码(注意添加注释)//这里给出了另外一种排序算法.(采用课堂上讲的冒泡排序也可以实现,参见ppt)#include<iostream>using namespace std;int main(){int i,j,a[10]={3,32,6,2,67,9,21,45,23,8};for(i=0;i<10;i++){int p;p=i;for(j=i;j<10;j++)//该for循环找剩下j个元素里最大的那个元素的下标if(a[p]<a[j])p=j;if(p!=i){ //把目前的最大值a[p]放到前面来(和a[i]交换)int t;t=a[p];a[p]=a[i];a[i]=t;}}for(i=0;i<10;i++)cout<<a[i]<<' ';return 0;}●运行结果(直接截取结果图)3、有一个已经从小到大排好序的整数数组:a[30]={6,9,12,15,19,23,45,67,89,98},现输入一个整数x ,要求按原来的升序规律将它插入到数组中。
●程序源代码(注意添加注释)#include<iostream>using namespace std;int main(){int i,ps,n,a[30]={6,9,12,15,19,23,45,67,89,98};cout<<"请输入一个整数:";cin>>n;ps=10;for(i=0;i<10;i++) //该循环找应插入的位置{if(n<a[i]){ps=i;break;}}for(i=10;i>=ps;i--)//把插入位置之后(包括该位置)的元素依次往后挪一位a[i+1]=a[i];a[ps]=n; //插入输入的元素for(i=0;i<11;i++)cout<<a[i]<<' ';return 0;}●运行结果(直接截取结果图)4.请用户输入n个数(n的值不超过20,并由用户输入),每输入一个数据之后,按照由小到大顺序将其存入,然后显示当前已存储的数据的情况,直到最后一个数据。
程序源代码(注意添加注释)#include<iostream>using namespace std;int main(){int a[20],n,i,m,tmp,position;//输入在-20之间的数据个数cout<<"请输入数据的个数(最多不超过个):";cin>>n;while(n>20||n<1){cout<<"输入错误,请重新输入:";cin>>n;}//依次输入每个数据,并进行处理for(i=0;i<=n-1;i++){//输入第i+1个数据cout<<"请输入第"<<i+1<<"个数据:";cin>>tmp;position=i;//初始化插入的位置为i//查找该插入的位置for(m=i-1;m>=0;m--){if(a[m]>tmp){a[m+1]=a[m];position--;}elsebreak;}//将该数据插入到已排好序的数列中a[position]=tmp;//以下输出当前数列cout<<"目前的数据序列为:";for(m=0;m<=i;m++)cout<<a[m]<<" ";cout<<endl;}return 0;}//注:该题插入的实现和上一题插入的实现有些不同(但都可以实现同样目的),请自行比较。
● 运行结果(直接截取结果图)5. 求解一个32⨯阶矩阵与一个23⨯阶矩阵的乘积,并输出。
● 程序源代码(注意添加注释)●#include <iostream> ●using namespace std; ●int main() ●{ ●int a[2][3],b[3][2],c[2][2],i,j,m; ●//输入 ●//输入数组a ●for (i=0;i<=1;i++) ●for (j=0;j<=2;j++) ●{ ●cout<<"a["<<i<<"]["<<j<<"]="; ●cin>>a[i][j]; ●} ●//输入数组b ●for (i=0;i<=2;i++) ●for (j=0;j<=1;j++) ●{ ●cout<<"b["<<i<<"]["<<j<<"]="; ●cin>>b[i][j]; ●} ●//计算乘法 ●for (i=0;i<=1;i++) ●for (j=0;j<=1;j++) ●{ ●//计算c[i][j] ●c[i][j]=0; ●for (m=0;m<=2;m++) ●c[i][j]+=a[i][m]*b[m][j]; ●} ●//输出 ●//显示数组a ●cout<<"a="<<endl; ●for (i=0;i<=1;i++) ●{ ●for (j=0;j<=2;j++) ●cout<<a[i][j]<<'\t'; ●cout<<endl;●} ●//显示数组b ●cout<<"b="<<endl; ● for (i=0;i<=2;i++)●{●for(j=0;j<=1;j++)●cout<<b[i][j]<<'\t';●cout<<endl;●}●//显示运算结果●cout<<"运算结果为:"<<endl;●for(i=0;i<=1;i++)●{●for(j=0;j<=1;j++)●cout<<c[i][j]<<'\t';●cout<<endl;●}●return 0;●}●运行结果(直接截取结果图)6. 请用户输入一个2*2的矩阵,将其按行和按列复制的遍数,输出结果矩阵。
如矩阵1 23 4按行复制1遍,按列复制2遍后,结果矩阵为:1 2 1 2 1 23 4 3 4 3 41 2 1 2 1 23 4 3 4 3 4●程序源代码(注意添加注释)●#include<iostream>●using namespace std;●int main()●{●int a[2][2],b[20][20],i,j,repl,repr;●//输入数组a和复制的行列数●for(i=0;i<=1;i++)●for(j=0;j<=1;j++)●{●cout<<"a["<<i<<"]["<<j<<"]=";●cin>>a[i][j];●}●cout<<"请输入复制的行数和列数(不超过9):";●cin>>repl>>repr;●//实现复制●for(i=0;i<=repl;i++)●for(j=0;j<=repr;j++)●{●b[i*2+0][j*2+0]=a[0][0];●b[i*2+0][j*2+1]=a[0][1];●b[i*2+1][j*2+0]=a[1][0];●b[i*2+1][j*2+1]=a[1][1];●}●//输出●cout<<"结果为:"<<endl;●for(i=0;i<=repl*2+1;i++)●{●for(j=0;j<=repr*2+1;j++)●cout<<b[i][j]<<'\t';●cout<<endl;●}●return 0;●}●运行结果(直接截取结果图)三、实验中遇到的问题以及解决方法四、实验结论与体会1、结合上课内容,写出程序,并调试程序,要给出测试数据和实验结果。
2、添加适当注释,注意书写的层次结构。
3、整理上机步骤,总结经验和体会。