文档库 最新最全的文档下载
当前位置:文档库 › c++实验题

c++实验题

c++实验题
c++实验题

实验五结构和类

实验目的

?学习结构的定义和使用

?学习使用结构构建链表式数据结构

?理解结构与指针的关系

?学习类的定义、实例化的方法

?学习使用构造函数和析构函数

?学习类成员访问控制的运用

?学习使用静态成员、内联成员函数

?学习堆对象的分配、使用与释放

?体会面向对象程序设计方法

实验内容

1. 用结构构建链表

设计一个单向链表。从标准输入读取若干整数,建立链表,每次读入的数放入链表结尾。当用户输入 0时,结束链表的建立工作。然后从前往后依次输出链表节点中的内容。每个节点包含两个值,一个是真正存放的整数值,另一个为指向链表中下一个节点的指针。链表中最后一个节点不指向任何节点,所以指针为空(NULL)。表头指针和表尾指针分别指向链表的头节点和尾节点。

[测试数据]

程序输出:Please input integers to build the link(0 TO END):

用户输入:3 4 5 6 7 8 9 0

程序输出:Link elements:3 4 5 6 7 8 9

[实现要求]

1.用链表存放输入的整数。链表节点空间动态申请。链表节点结构和链

表数据类型的参考定义为:

//定义链表节点类型

typedef struct node{

int elem;

struct node *next;

} Node;

//定义链表类型

typedef Node * Link;

2.在链表建立结束后,输出链表节点内容的同时释放节点空间。

3.处理申请不到空间的情况。

[实现提示]

1.因为每次插入节点是在链表尾,而输出链表是从链表头,所以可以用

两个指针记录链表。一个为头指针,一个为尾指针。

2.第一次插入节点时需要考虑链表为空的情况。

3.建立一个新节点的过程为: // 建立一个新的节点 Node * pNode = new

Node;

if (pNode == NULL) {

cout << "Memory insufficient!";

break;

}

pNode->elem = k;

pNode->next = NULL;

4.顺序遍历链表的过程为: Node *pNode = head;

while (pNode != NULL) {

访问pNode所指节点的内容;

pNode = pNode->Next;

}

5.将新节点加到链表中的过程为:

if (head == NULL)

head = tail = pNode;

else {

tail->next = pNode;

tail = pNode;

}

1.pNode->elem = k;

pNode->next = NULL;

2.顺序遍历链表的过程为:

Node *pNode = head;

while (pNode != NULL) {

访问pNode所指节点的内容;

pNode = pNode->Next;

}

3.将新节点加到链表中的过程为:

if (head == NULL)

head = tail = pNode;

else {

tail->next = pNode;

tail = pNode;

}

[思考问题]

1.如果是双向链表,程序要做那些改动?

2. 队列类

设计一个队列类,模拟实际生活的队列,队列中的元素服从先进先出的规则。每次有新的元素入列时,就放在队列尾。元素出列时,从队列头出。开始时队列为空。队列的示意图为:

[实现要求]

1.利用上一实验设计的链表结构存放队列类中的队列元素。也即队列元

素的空间是动态申请的。

2.在构造队列对象时,初始化该链表,在析构队列对象时,释放链表所

占的空间。

3.队列类用单独的文件”queue.cpp”实现,队列类的定义放在一个头

文件”queue.h”中,主文件名为main.cpp。

4.队列类中的元素为整数,并提供以下服务:

void put (int newVal); //在队尾加入一个新元素

int get ( ); //取出队头元素,并释放节点空间

int getCount(); //取队列中元素的个数

bool empty() ; //判断队列是否为空

bool是Visual C++定义的数据类型,它其实是一种整数类型。具有

bool类型的变量只有两种值:true或false。一个条件表达式返回

的值就是bool类型的。如表达式i!=0在i的值为0时返回false,

在不为0时返回true。

要求将函数empty()和getCount()定义为内联函数,另外两个定义为

非内联函数。数据成员全定义为私有成员或保护成员。

5.使用队列类的主程序为:

#include

#include "queue.h"

int main() {

Queue q;

int i;

//输出队列是否为空

cout << "Queue empty:";

if (q.empty())

cout << "Yes" << endl;

else

cout << "No" << endl;

//往队列中依次放入四个数

cout << endl << "4 elements enter queue" << endl;

for(i = 0; i < 4; i++)

q.put(i);

//输出队列是否为空

cout << "Queue empty:";

if (q.empty())

cout << "Yes" << endl;

else

cout << "No" << endl;

//取出两个数

cout << endl << "2 elements leave queue:";

cout << q.get() << " ";

cout << q.get() << " ";

//再放入两个数

cout << endl << "2 elements enter queue" << endl;

q.put(4);

q.put(5);

//按顺序输出剩下的队列成员

cout << "Elements left:" ;

int num = q.getCount();

for(i = 0; i < num; i++)

cout << q.get() << " ";

cout << endl;

return 0;

}

[实现提示]

1.队列中使用的链表定义为: //定义链表节点类型

typedef struct node{

int data;

struct node *next;

} QueueDataNode;

//定义链表类型

typedef QueueDataNode * QueueData;

队列类的私有数据成员定义如下:

int count; //队列元素个数

QueueData dataLinkHead, dataLinkTail;//队头、队尾指针

2.在队列中插入一个元素的程序如下:

void Queue::put (int newData)

{

//建立一个新的结点

QueueDataNode *pNew = new QueueDataNode;

if (pNew == NULL) { //判断是否申请到空间

cout << "Memory Insufficient!";

return;

}

pNew->data = newData; //为新节点填充内容

pNew->next = NULL;

//将新节点插入到链表中

if (dataLinkTail == NULL) //队列为空, 新结点成为第一个结点dataLinkHead = dataLinkTail = pNew;

else { //队列不空

dataLinkTail->next = pNew;

dataLinkTail = pNew;

}

count++;

}

1.静态成员

修改上一个实验得到的队列类,为其增加一个静态数据成员,可以记

录程序中产生的队列个数。

[实现要求]

1.提供静态成员函数getQueueNumber(),可以返回队列的个数,函数

原型为:

int getQueueNumber(void);

2.每当构建一个新的队列对象时,队列计数自动增1,而队列对象消亡

时,队列计数自动减1

3.下面是测试你设计的类的主程序:

#include

#include "queue.h"

void main() {

Queue q1,q2,q3;

Queue *q4,*q5;

cout << "Total Queues:" << Queue::getQueueNumber() << endl;

q4 = new Queue;

q5 = new Queue;

cout << "Total Queues:" << Queue::getQueueNumber() << endl;

delete q4;

cout << "Total Queues:" << Queue::getQueueNumber() << endl;

delete q5;

}

[实现提示]

在队列类的构造函数和析构函数中分别做计数值增减的操作。

[思考问题]

1.在什么地方初始化类的静态数据成员?

2.非静态成员函数能否访问静态数据成员?

有机化学实验思考题答案

1、蒸馏有何应用?恒沸混合物能否用蒸馏法分离? 2、在蒸馏装置中,把温度计水银球插至液面上或温度计水银球上端在蒸馏头侧管下限的水平线以上或以下,是否正确?为什么? 3、蒸馏前加入沸石有何作用?如果蒸馏前忘记加沸石,能否立即将沸石加至将近沸腾的液体中?当重新进行蒸馏时,用过的沸石能否继续使用? 1、答:蒸馏过程主要应用如下: (1)分离沸点有显著区别(相差30℃以上)的液体混合物。 (2)常量法测定沸点及判断液体的纯度。 (3)除去液体中所夹杂的不挥发性的物质。 (4)回收溶剂或因浓缩溶液的需要而蒸出部分的溶剂。 恒沸混合物不能用蒸馏法分离。 2、答:都不正确。温度计水银球上端应与蒸馏头侧管的下限在同一水平线上,以保证在蒸馏时水银球完全被蒸气所包围,处于气液共存状态,才能准确测得沸点。 3、答:蒸馏前加入沸石的作用是引入气化中心,防止液体过热暴沸,使沸腾保持平稳。如果蒸馏前忘记加沸石,决不能立即将沸石加至将近沸腾的液体中,因为这样往往会引起剧烈的暴沸泛液,也容易发生着火等事故。应该待液体冷却至其沸点以下,再加入沸石为妥。当重新进行蒸馏时,用过的沸石因排出部分气体,冷却后孔隙吸附了液体,因而可能失效,不能继续使用,应加入新的沸石。 1、测定熔点时,若遇下列情况将产生什么结果? (1)熔点管壁太厚。

(2)熔点管不洁净。 (3)样品未完全干燥或含有杂质。 (4)样品研得不细或装得不紧密。 (5)加热太快。 2、为什么要求熔点的数据要有两个以上的重复?要达到此要求,操作上须注意些什么? 3、两个样品,分别测定它们的熔点和将它们按任何比例混合后测定的熔点都是一样的,这说明什么? 1、答:结果分别如下: (1)熔点管壁太厚,将导致所测熔点偏高。 (2)熔点管不洁净,将导致所测熔点偏低,熔程变宽。 (3)样品未完全干燥或含有杂质,将导致所测熔点偏低,熔程变宽。 (4)样品研得不细或装得不紧密,将导致所测熔点偏高,熔程变宽。 (5)加热太快,将导致熔点偏高。 2、答:为了减少误差。要达到此要求,不可将已测样品冷却固化后再作第二次测定。每次应更换新的样品管,重新测定。 3、答:这说明两个样品是同一化合物。 1、重结晶一般包括哪几个步骤?各步骤的主要目的是什么?

江苏大学大一c语言期末复习题汇总

选择题1.下列字符序列中,不可用作C语言标识符的是()。 A.abc123 B.C._123_ D._ok 2.请选出可用作C语言用户标识符的一组标识符()。 A.void B.a3_b3 C.For D.2a define _123 -abc DO WORD IF Case sizeof 3.不属于C语言关键字的是()。 A.int B.break C.while D.character 4.以下不能定义为用户标示符的是()。 A.scanf B.Void C._3com_ D.int 5.C语言程序的基本单位是()。 A.程序行B.语句C.函数D.字符 6.以下说法中正确的是()。 A.C语言程序总是从第一个定义的函数开始执行 B.在C语言程序中,要调用的函数必须在main( )函数中定义 C.C语言程序总是从main( )函数开始执行 D.C语言程序中的main( )函数必须放在程序的开始部分 7.以下选项中,合法的用户标识符是()。 A.long B._2abc C.3dmax D. 8.已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用八进制表示 的字符常量’\101’是()。 A.字符A B.字符a C.字符c D.非法的常量 9.以下选项中,正确的字符常量是()。 A.”F”B.’\\’’C.’W’D.’’ 10.下列变量定义中合法的是 A.short _a=; B.double b=1+; C.long do=0xfdaL; D.float 2_and=1-e-3; 11.为了避免嵌套的if-else语句的二义性,C语言规定else总是与()组成配对关系。 A.缩排位置相同的if B.在其之前未配对的if C.在其之前未配对的最近的if D.同一行上的if 12.下列运算符中优先级最高的是()。 A.< B.&& C.+ D.!= 13.判断char型变量s是否为小写字母的正确表达式是()。 A.’a’ <= s<=’z’B.(s>=’a’) & (s<=’z’) C.(s>=’a’) && (s<=’z’) D.(’a’<=s) and (’z’>=s)

哈工大C语言实验题

Q308.(10分)第5章实验2:体型判断。 医务工作者经广泛的调查和统计分析,根据身高与体重因素给出了以下按“体指数”进行体型判断的方法。体指数计算公式是: t = w /(h*h) 其中:t是体指数;w是体重,其单位为千克;h是身高,其单位为米。根据给定的体指数t计算公式,可判断你的体重属于何种类型: 当t<18 时,为低体重; 当18≤t<25 时,为正常体重; 当25≤t<27 时,为超重体重; 当t≥27 时,为肥胖。 ****输入提示信息格式:"Please enter h,w:\n" ****输入数据格式要求:"%f,%f"(先读入身高,再读入体重,身高以米读入,体重以千克读入) ****输出数据格式要求: 当t<18 时,输出:"Lower weight!\n" 当18≤t<25 时,输出:"Standard weight!\n"

当25≤t<27 时,输出:"Higher weight!\n" 当t≥27 时,输出:"Too fat!\n" #include #include main() { float t,w,h; printf("Please enter h,w:\n"); scanf("%f,%f",&h,&w); t = w/(h*h); if(t<18) printf("Lower weight!\n"); else if(t>=18&&t<25) printf("Standard weight!\n"); else if(t>=25&&t<27) printf("Higher weight!\n");

实验思考题

实验一 1.以水做介质所测得的λ~Re 关系能否适用于其它流体? 如何应用 可以用于牛顿流体的类比,牛顿流体的本构关系一致。应该是类似平行的曲线,但雷诺数本身并不是十分准确,建议取中间段曲线,不要用两边端数据。雷诺数本身只与速度,粘度和管径一次相关,不同流体的粘度可以查表. 2在不同设备上( 包括不同管径) ,不同水温下测定的λ~Re 数据能否关联同一条曲线? .一次改变一个变量,是可以关联出曲线的,一次改变多个变量时不可以的。 3流体流动阻力测定实验中,如何检验测试系统内的空气是否已经被排除干净? 将阀2、3、4、5、6打开,观察管路出口的水是否均匀流出,如果出口处水流均匀且没有突突声,则空气已排尽。 4对装置作排气工作时,是否一定要关闭流程尾部的流量调节阀 看你要测定的是什么啊,不关闭就会产生一定的背压力,对前面而言就是有一定的阻力啊 5如果测压口,孔边缘有毛刺或安装不垂直,对静压的测量有何影响? 没有影响.静压是流体内部分子运动造成的.表现的形式是流体的位能.是上液面 和下液面的垂直高度差.只要静压一定.高度差就一定.如果用弹簧压力表测量压 力是一样的.所以没有影响. 实验二 1测定离心泵特性曲线的意义有哪些? 2.试从所测实验数据分析离心泵在启动时为什么要关闭出口阀门? 3.启动离心泵之前为什么要引水灌泵?如果灌泵后依然启动不起来,你认为可能的原因是什么? 4.为什么用泵的出口阀门调节流量?这种方法有什么优缺点?是否还有其他方法调节流量? 5.泵启动后,出口阀如果不开,压力表和真空表读数如何变化?为什么? 6.正常工作的离心泵,在其进口管路上安装阀门是否合理?为什么? 7.试分析,用清水泵输送密度为1200Kg/m^3的盐水,在相同流量下你认为泵的压力是否变化?轴功率是否变化? 1、特性曲线主要是用于选泵使用,不同曲线会极大影响泵的效率,泵并联运行也需要性能曲线,合理配备水泵的台数。 2、关闭阀门的原因从试验数据上分析:开阀门意味着扬程极小,这意味着电机功率极大,会烧坏电机。 3、离心泵不灌水很难排掉泵内的空气,导致泵空转而不能排水;泵不启动可能是电路问题或是泵本身已损坏,即使电机的三相电接反了,泵也会启动的。 4、用出口阀门调解流量而不用崩前阀门调解流量保证泵内始终充满水,用泵前阀门调节过度时会造成泵内出现负压,使叶轮氧化,腐蚀泵。还有的调节方式就是增加变频装置,很好用的。 5、泵启动后,出口阀门不开,压力表读数会逐渐上升,达到一定值后将不会再上升。因为转速一定后,流量一定,则压力一定。 6、合理,主要就是检修,否则可以不用阀门。 7、泵的压力和轴功率均随密度而增大:因为H=△P/ρg,H不随ρ变化,则△

(完整版)分析化学实验思考题答案

分析化学实验思考题答案

实验二滴定分析基本操作练习 1.HCl和NaOH标准溶液能否用直接配制法配制?为什么? 由于NaOH固体易吸收空气中的CO2和水分,浓HCl的浓度不确定,固配制HCl和NaOH 标准溶液时不能用直接法。 2.配制酸碱标准溶液时,为什么用量筒量取HCl,用台秤称取NaOH(S)、而不用吸量管和分析天平? 因吸量管用于标准量取需不同体积的量器,分析天平是用于准确称取一定量的精密衡量仪器。而HCl的浓度不定, NaOH易吸收CO2和水分,所以只需要用量筒量取,用台秤称取NaOH即可。 3.标准溶液装入滴定管之前,为什么要用该溶液润洗滴定管2~3次?而锥形瓶是否也需用该溶液润洗或烘干,为什么? 为了避免装入后的标准溶液被稀释,所以应用该标准溶液润洗滴管2~3次。而锥形瓶中有水也不会影响被测物质量的变化,所以锥形瓶不需先用标准溶液润洗或烘干。 4.滴定至临近终点时加入半滴的操作是怎样进行的? 加入半滴的操作是:将酸式滴定管的旋塞稍稍转动或碱式滴定管的乳胶管稍微松动,使半滴溶液悬于管口,将锥形瓶内壁与管口接触,使液滴流出,并用洗瓶以纯水冲下。 实验三 NaOH和HCl标准溶液的标定 1.如何计算称取基准物邻苯二甲酸氢钾或Na2CO3的质量范围?称得太多或太少对标定有何影响? 在滴定分析中,为了减少滴定管的读数误差,一般消耗标准溶液的体积应在20—25ml 之间,称取基准物的大约质量应由下式求得: 如果基准物质称得太多,所配制的标准溶液较浓,则由一滴或半滴过量所造成的误差就较大。称取基准物质的量也不能太少,因为每一份基准物质都要经过二次称量,如果每次有±0.1mg的误差,则每份就可能有±0.2mg的误差。因此,称取基准物质的量不应少于0.2000g,这样才能使称量的相对误差大于1‰。 2.溶解基准物质时加入20~30ml水,是用量筒量取,还是用移液管移取?为什么?因为这时所加的水只是溶解基准物质,而不会影响基准物质的量。因此加入的水不需要非常准确。所以可以用量筒量取。 3.如果基准物未烘干,将使标准溶液浓度的标定结果偏高还是偏低? 如果基准物质未烘干,将使标准溶液浓度的标定结果偏高。 4.用NaOH标准溶液标定HCl溶液浓度时,以酚酞作指示剂,用NaOH滴定HCl,若NaOH 溶液因贮存不当吸收了CO2,问对测定结果有何影响? 用NaOH标准溶液标定HCl溶液浓度时,以酚酞作为指示剂,用NaOH滴定HCl,若NaOH 溶液因贮存不当吸收了CO2,而形成Na2CO3,使NaOH溶液浓度降低,在滴定过程中虽然其中的Na2CO3按一定量的关系与HCl定量反应,但终点酚酞变色时还有一部分NaHCO3末反应,所以使测定结果偏高。 实验四铵盐中氮含量的测定(甲醛法)

物理化学实验思考题答案(精心整理)

物理化学实验思考题答案(精心整理) 实验1 1.不能,因为溶液随着温度的上升溶剂会减少,溶液浓度下降,蒸气压随之改变。 2.温度越高,液体蒸发越快,蒸气压变化大,导致误差愈大。 实验3 实验5 T----X图 1蒸馏器中收集气相冷凝液的袋状部的大小对结果有何影响 答:若冷凝管下方的凹形贮槽体积过大,则会贮存过多的气相冷凝液,其贮量超过了热相平衡原理所对应的气相量,其组成不再对应平衡的气相组成,因此必然对相图的绘制产生影响。 2若蒸馏时仪器保温条件欠佳,在气相到达平衡气体收集小槽之前,沸点较高的组分会发生部分冷凝,则T—x图将怎么变化 答:若有冷凝,则气相部分中沸点较高的组分含量偏低,相对来说沸点较低的组分含量偏高了,则T不变,x的组成向左或向右移(视具体情况而定) 3在双液系的气-液平衡相图实验中,所用的蒸馏器尚有那些缺点如何改进 答:蒸馏器收集气相、液相的球大小没有设计好,应根据实验所用溶液量来设计球的规格;温度计与电热丝靠的太近,可以把装液相的球设计小一点,使温度计稍微短一点也能浸到液体中,增大与电热丝的距离;橡胶管与环境交换热量太快,可以在橡胶管外面包一圈泡沫,减少热量的散发。 4本实验的误差主要来源有哪些 答:组成测量:(1)工作曲线;(2)过热现象、分馏效应;(3)取样量。

温度测量:(1)加热速度;(2)温度计校正。 5.试推导沸点校正公式: 实验12蔗糖水解速率常数的测定 1蔗糖的转化速率常数k 与哪些因素有关 答:温度、催化剂浓度。 2在测量蔗糖转化速率常数的,选用长的旋光管好还是短的旋光管好 答:选用较长的旋光管好。根据公式〔α〕=α×1000/Lc ,在其它条件不变情况下,L 越长,α越大,则α的相对测量误差越小。 3如何根据蔗糖、葡萄糖和果糟的比旋光度计算α0和α∞ 答:α0=〔α蔗糖〕D t ℃L[蔗糖]0/100 α∞=〔α葡萄糖〕D t ℃L[葡萄糖]∞/100+〔α果糖〕D t ℃L[果糖]∞/100 式中:[α蔗糖]D t ℃,[α葡萄糖]D t ℃,[α果糖]D t ℃ 分别表示用钠黄光作光源在t ℃时蔗糖、葡萄糖和果糖的比旋光度,L(用dm 表示)为旋光管的长度,[蔗糖]0为反应液中蔗糖的初始浓度,[葡萄糖]∞和[果糖]∞表示葡萄糖和果糖在反应完成时的浓度。 设t =20℃ L=2 dm [蔗糖]0=10g/100mL 则: α0=×2×10/100=° α∞=×2×10/100×()=-° 4、试分析本实验误差来源怎样减少实验误差 答:温度、光源波长须恒定、蔗糖溶液要现用现配。 1、实验中,为什么用蒸馏水来校正旋光仪的零点在蔗糖转化反应过程中,所测的旋光度αt 是否需要零 点校正为什么 答:(1)因水是溶剂且为非旋光性物质。 (2)不需,因作lg(αt-α∞)~t 图,不作零点校正,对计算反应速度常数无影响。 2、蔗糖溶液为什么可粗略配制 答:因该反应为(准)一级反应,而一级反应的速率常数、半衰期与起始浓度无关,只需测得dC/dt 即可。 实验17电导的测定及应用 1、本实验为何要测水的电导率 () ℃果糖℃葡萄糖〕α〕〔α蔗糖t D t D 0[100]L[21+=

实验思考题参考答案

实验思考题参考答案 实验Fe(OH)3胶体的制备、破坏、分离 1.常压过滤时滤纸为什么要撕去一角?答:使滤纸紧贴玻璃漏斗,有利于排出滤纸与玻璃漏斗之间气泡,形成液柱。 2.抽滤时剪好的滤纸润湿后略大于布氏漏斗的内径、或剪的不圆周边凸出部分贴在布氏漏斗内壁上,对抽滤有何影响?为什么?答:会造成漏虑。滤纸大于布氏漏斗内径会造成滤纸折叠,不能紧贴布氏漏斗。 3.抽滤时,转移溶液之前为什么要先稍微抽气,而不能在转移溶液以后才开始 抽气?答:使滤纸紧贴布氏漏斗,以免造成漏虑。 4. 沉淀物未能铺满布氏漏斗底部、滤饼出现裂缝、沉淀层疏松不实,对抽干效果有什么影响?为什么?如何使沉淀抽得更干爽?答:固液分离效果不好;漏气使压差变小;用药勺铺平、压实沉淀物再抽滤。 由胆矾精制五水硫酸铜 1.结晶与重结晶分离提纯物质的根据是什么?如果被提纯物质是NaCl 而不是CuSO4·5H2O,实验操作上有何区别? 答:根据物质溶解度随温度变化不同。NaCl 的溶解度随温度变化很小不能用重结晶的办法提纯,要用化学方法除杂提纯。 2.结晶与重结晶有何联系和区别?实验操作上有何不同?为什么? 答:均是利用溶解度随温度变化提纯物质;结晶浓缩度较高(过饱和溶液),重结晶浓缩度较低(饱和溶液),且可以进行多次重结晶。结晶一般浓缩到过饱和溶液,有晶膜或晶体析出,冷却结晶;重结晶是在近沸状态下形成饱和溶液,冷却结晶,不允许浓缩。

3.水浴浓缩速度较慢,开始时可以搅拌加速蒸发,但临近结晶时能否这样做? 答:搅拌为了加快水分蒸发;对于利用晶膜形成控制浓缩程度,在邻近结晶时不能搅拌。否则无法形成晶膜。 4.如果室温较低,你准备采用什么措施使热过滤能顺利进行?答:预热漏斗、 分批过滤、保温未过滤溶液。 5.浓缩和重结晶过程为何要加入少量H2SO4?答:防止防止Fe3+水解。 粗盐提纯 1.为什么说重结晶法不能提纯得到符合药用要求的氯化钠?为什么蒸发浓缩时 氯化钠溶液不能蒸干? 答:NaCl 的溶解度随温度变化很小不能用重结晶的办法提纯,药用氯化钠不仅要达到纯度要求,还要符合药用要求。不能浓缩至干NaCl 溶液,是为了除去KCl。 2.用化学法除去SO42-、Mg2+ 、Ca2+的先后顺序是否可以倒置过来?为什么? 答:不能,除杂要求为除去杂质引入的离子必须在后续的除杂过程中除去,先除去Mg2+ 、Ca2+后除SO42-,无法除去Ba2+。 3.用什么方法可以除去粗盐中不溶性杂质和可溶性杂质?依据是什么? 答:不溶性杂质用过滤方法;可溶性杂质用化学方法除杂。依据:溶度积。 醋酸解离度和电离常数测定 1.不同浓度的HAc 溶液的溶解度α是否相同?为什么?用测定数据说明弱电解质解离度随浓度变化的关系。 答:不同,因K a,θ AH 。c↑,α↓。 c 2.测定不同浓度的HAc 溶液的pH 值时,为什么按由稀到浓的顺序?答:平衡块,减小由于润洗不到位而带来的误差。

C语言实验题

实验四选择结构程序设计 1、编写程序输入三个数,按由小到大的顺序输出。 #include main() ( int a,b,c,t; printf("请输入三个整数:”); scanf("%d%d%d”,&a,&b,&c); if(a>=b) ( t=a; a=b; b=t; } if(a>=c) ( t=a; a=c; c=t; } if(b>=c) ( t=b; b=c; c=t; } printf("%d,%d,%d\n”,a,b,c); } 2、为优待顾客,商店对购物额为1000元以上(含1000元,下同)者,八折优惠;500元以上,1000元以下者,九折优惠; 200元以上,500元以下者,九五折优惠; 200元以下者,九七折优惠;100元以下者不优惠。 由键盘输入一个购货款额,计算应收的款额。 (1) if语句: #include main() ( float m,pay; printf("请输入金额:\n"); scanf("%f",&m); if(m>=1000) pay=m*0、8; else if(m>=500) pay=m*0、9;

else if(m>=200) pay=m*0、95; else if(m>=100) pay=m*0、97; else pay=m; printf("%f\n",pay); } (2) swicth 语句: #include main() { float m,pay; printf("请输入金额:\n"); scanf("%f",&m); switch ((int)m/100) { case 0: pay=m;break; case 1: pay=m*0、97;break; case 2: case 3: case 4: pay=m*0、95;break; case 5: case 6: case 7: case 8: case 9: pay=m*0、9;break; default:pay=m*0、8; } printf("%f",pay); } 实验五循环结构程序设计 1、求1+2+3+、、、、、、+n的与,其中n的值有键盘输入。要求分别使用for,while,与do while 语句实现。 (1)for 语句: #include main() { int i,n,sum; printf("请输入n的值:"); scanf("%d",&n); i=0; for(sum=0;i<=n;i++) (

有机实验思考题答案

?第二部分基本操作 实验一常压蒸馏和沸点的测定 1、在有机化学实验中经常使用的玻璃冷凝管有哪些?它们各用在什么地方? 答:学生实验中经常使用的冷凝管有:直形冷凝管,球形冷凝管,空气冷凝管及刺形分馏柱等。直形冷凝管一般用于沸点低于140℃的液体有机化合物的沸点测定和蒸馏操作中;沸点大于140℃的有机化合物的蒸馏可用空气冷凝管。球形冷凝管一般用于回流反应即有机化合物的合成装置中(因其冷凝面积较大,冷凝效果较好);刺形分馏柱用于精馏操作中,即用于沸点差别不太大的液体混合物的分离操作中。 2、蒸馏的原理是什么?写出蒸馏装置中仪器的名称。 答:纯的液态物质在一定的压力下具有确定的沸点,不同的物质具有的不同的沸点。蒸馏操作就是利用不同物质的沸点差异对液态混合物进行分离和纯化。把一个液体化合物加热,其蒸汽压升高,当与外界大气压相等时,液体沸腾为蒸汽,再通过冷凝使蒸汽变为液体的过程。蒸馏适用于沸点相差30℃以上的混合物的分离。如果组分沸点差异不大,就需要采用分馏操作对液体混合物进行分离和纯化。蒸馏装置主要由圆底烧瓶、蒸馏头、温度计、直形冷凝管、尾接管(又叫接液管)和接受瓶组成。 3、纯净化合物的沸点是固定的,所以具有恒定沸点的液体就一定是纯净物,对不对,为什么? 答:在一定压力下,纯净化合物的饿沸点是固定的。但是,具有恒定沸点的液体就不一定是纯净物。因为两个或两个以上的化合物形成的共沸混合物也具有一定的沸点。 4、冷凝管通水方向是由下而上,反过来行吗?为什么? 答:冷凝管通水是由下而上,反过来不行。因为这样冷凝管不能充满水,由此可能带来两个后果:其一,气体的冷凝效果不好。其二,冷凝管的内管可能炸裂。 5、蒸馏时加热的快慢,对实验结果有何影响?为什么? 答:蒸馏时加热过猛,火焰太大,易造成蒸馏瓶局部过热现象,使实验数据不准确,而且馏份纯度也不高。加热太慢,蒸气达不到支口处,不仅蒸馏进行得太慢,而且因温度计水银球不能被蒸气包围或瞬间蒸气中断,使得温度计的读数不规则,读数偏低。 6、有机实验中,玻璃仪器为什么不能直接用火焰加热?有哪些间接加热方式?应用范围如何? 答:因为直接用火焰加热,温度变化剧烈且加热不均匀,易造成玻璃仪器损坏;同时,由于局部过热,还可能引起有机物的分解,缩合,氧化等副反应发生。 间接加热方式和应用范围如下:在石棉网上加热,但加热仍很不均匀。水浴加热,被加热物质温度只能达到80℃以下,需加热至100℃时,可用沸水浴或水蒸气加热。电热套空气浴加热,对沸点高于80℃的液体原则上都可使用。油浴加热,温度一般在100~250℃之间,可达到的最高温度取决于所用油的种类,如甘油适用于100-150℃;透明石蜡油可加热至220℃,硅油或真空泵油再250℃时仍很稳定。砂浴加热,可达到数百度以上。熔融盐加热,等量的KNO3和NaNO3在218℃熔化,在700℃以下稳定,含有40%NaNO2,7% NaNO3和53%KNO3的混合物,在142℃熔化,使用范围为150-500℃。 7、蒸馏时为什么蒸馏烧瓶中所盛液体的量既不应超过其容积的2/3,也不应少于1/3? 答:如果装入液体量过多,当加热到沸腾时,液体可能冲出或飞沫被蒸气带走,混入馏出液中。如果装入液体量太少,在蒸馏结束时,相对地也会有较多的液体残留在瓶内蒸不出来。 8、蒸馏时,如果馏出液易受潮分解,可以在接受器上连接一个,以防止的侵入。 答:干燥管;空气中的水分。 9、在进行蒸馏操作时应注意什么问题? 答:应注意:(1)漏斗下口在蒸馏支管的下方;(2)液体中要加入沸石,防止暴沸;(3)加热前,检查实验准备是否完成,并控制蒸馏速度为1~2 滴/秒。 10、什么叫沸点?液体的沸点和大气压有什么关系?文献里记载的某物质的沸点是否即为

化工实验思考题答案

化工基础实验思考题答案 实验一流体流动过程中的能量变化 1、实验为什么要使高位水槽的水保持溢流? 答:保持溢流可使流体稳定流动,便于读数,同时伯努利方程只在流体稳定流动时才适用。 2、操作本实验装置应主意什么? 答:1)开启电源之前,向泵中灌水 2)高位水槽水箱的水要保持溢流 3)赶尽玻璃管中气泡 4)读数时多取几组值,取平均值 实验二流体流动形态的观察与测定 1、在实验中测定的雷诺数与流动形态的关系如何?如果出现理论与实际的偏差,请分析理由 答:1)层流时,理论与实际符合 2)过渡流测量值与理论值稍有偏差 偏差分析:(1)孔板流量计的影响 (2)未能连续保持溢流 (3)示踪管未在管中心 (4)示踪剂流速与水的流速不一致 2、本实验中的主意事项有那些? 答:(1)保持溢流 (2)玻璃管不宜过长 (3)示踪管在中心

实验三节流式流量计性能测定实验 1、你的实验结果可以得到什么结论? 答:流速较大或较小时,流量系数C并不稳定,所以性能并不很好 2、实验中为什么适用倒置U型管? 答:倒置的U形管作压差计,采用空气作指示液,无需重新装入指示液,使用方便 实验四连续流动反应器实验流程图 1、测定停留时间分布函数的方法有哪几种?本实验采用的是哪种方法? 答:脉冲法、阶跃法、周期示踪法和随机输入示踪法。本实验采用脉冲示踪法。 2、模型参数与实验中反应釜的个数有何不同,为什么? 答:模型参数N的数值可检验理想流动反应器和度量非理想流动反应器的返混程度。当实验测得模型参数N值与实际反应器的釜数相近时,则该反应器达到了理想的全混流模型。若实际反应器的流动状况偏离了理想流动模型,则可用多级全混流模型来模拟其返混情况,用其模型参数N值来定量表征返混程度。 3、实验中可测得反应器出口示踪剂浓度和时间的关系曲线图,此曲线下的面积有何意义? 答:一定时间内示踪剂的总浓度。 4、在多釜串联实验中,为什么要在流体流量和转速稳定一段时间后才能开始实验? 答:为使三个反应釜均能达到平衡。 实验五换热器传热系数的测定 1、实验误差主要来源那几个方面? 答:1)读数不稳定

大学C语言期末考试习题集(带详解答案)

一、单项选择题 1.(A)是构成C语言程序的基本单位。 A、函数 B、过程 C、子程序 D、子例程 2.C语言程序从 C开始执行。 A) 程序中第一条可执行语句 B) 程序中第一个函数 C) 程序中的main函数 D) 包含文件中的第一个函数 3、以下说法中正确的是(C)。 A、C语言程序总是从第一个定义的函数开始执行 B、在C语言程序中,要调用的函数必须在main( )函数中定义 C、C语言程序总是从main( )函数开始执行 D、C语言程序中的main( )函数必须放在程序的开始部分 4.下列关于C语言的说法错误的是(B)。 A) C程序的工作过程是编辑、编译、连接、运行 B) C语言不区分大小写。 C) C程序的三种基本结构是顺序、选择、循环 D) C程序从main函数开始执行 5.下列正确的标识符是(C)。 A.-a1 B.a[i] C.a2_i D.int t 5~8题为相同类型题 考点:标识符的命名规则 (1)只能由字母、数字、下划线构成 (2)数字不能作为标识符的开头 (3)关键字不能作为标识符 选项A中的“-”,选项B中“[”与“]”不满足(1);选项D中的int为关键字,不满足(3) 6.下列C语言用户标识符中合法的是( B)。 A)3ax B)x C)case D)-e2 E)union 选项A中的标识符以数字开头不满足(2);选项C,E均为为关键字,不满足(3);选项D中的“-”不满足(1); 7.下列四组选项中,正确的C语言标识符是(C)。 A) %x B) a+b C) a123 D) 123 选项A中的“%”,选项B中“+”不满足(1);选项D中的标识符以数字开头不满足(2) 8、下列四组字符串中都可以用作C语言程序中的标识符的是(A)。 A、print _3d db8 aBc B、I\am one_half start$it 3pai

c语言实验习题

1.数据类型 a.输入一个小数点后有多位数字的小数,实现将其保留三位小数,并输出;(3.14159 → 3.142,10.123456 →10.123) b.输入一个4位整数,求其得各位数字的平方和;(1234 →1+4+9+16=30).

c.定义字符型变量ch,写出六种给ch赋值字符’A’的代码; d.编写程序输出26组大小写字母;(AaBbCc……….XxYyZz) e.定义浮点型变量f1、f2,为f1赋值10的-30次,为f2赋值10的30次 f.定义一个单精度浮点型变量f和一个双精度浮点型变量d,为f和d都赋值 3.14159265358979323846264338327950288,输出f和d得值,要求保留20位小数,观 察输出结果; g.输入华氏温度求摄氏温度。转换公式为c=5/9(f-32),输出结果取两位小数。

2.分支结构 a.输入三角形得三个边的边长,以此判断能否组成三角形,是什么形状的三角形;(等边 三角形、等腰三角形、直角三角形、等腰直角三角形、一般三角形) b.输入一个年份值,判断是否为闰年; c.输入a、b、c三个整型变量,分别使用if语句和条件运算符求出三个数的最大值和最小 值; d.输入任意实数,求出其所对应的函数值(调用数学函数库)。 z=e的x次幂(x>10) z=log(x+3) (x>-3) z=sin(x)/((cos(x)+4) e.输入一个成绩,输出此成绩对应的级别;(优、良、中、及格、不及格),要求分别使用 if语句和switch语句; f.判断一个字符是否为字母或者数字; g.使用条件运算符实现让c等于a、b中较大的,d等于a、b中较小的,e等于a的绝对 值。 h.读入一元二次方程的三个系数,a,b,c,求出各种情况下方程的根,无解或输入数据不正 确输出提示信息

综合分析实验思考题答案

1 四氯化三铅组成的测定 思考题: 1、能否加其他酸如硫酸或盐酸使四氧化三铅分解?为甚么? 答:不可以。盐酸会与四氧化三铅反应,盐酸被四氧化三铅中的二氧化铅氧化成氯气。硫酸会与二价铅离子反应生成硫酸铅沉淀,与二氧化铅分离不出来。故盐酸和硫酸均不可以(不能。用硝酸分解四氧化三铅中的二价铅与硝酸反应生成易溶于水的硝酸铅,从而使二价铅和二氧化铅分离。若使用硫酸或者盐酸的话,生成的硫酸铅和氯化铅均难溶于水,不利于二价铅和二氧化铅的分离) 2、二氧化铅氧化碘离子需要在酸性介质中进行,能否加硝酸或盐酸以代替醋酸?为什么?答:醋酸作为缓冲溶液调节溶液的PH值,使溶液环境保持PH=5~6。若用强酸代替,随着反应的进行,溶液的PH值变化大,不利于二氧化铅氧化碘离子这一反应。另外硝酸会氧化碘离子变为碘单质,影响硫代硫酸钠的滴定量。而四氧化三铅中的二氧化铅氧化盐酸,消耗二氧化铅的量。 (不能。硝酸具有强氧化性,也会将碘离子氧化为碘单质,使实验结果偏大;盐酸中的Cl- 具有还原性,易被强氧化剂二氧化铅氧化,消耗一定量的二氧化铅,使实验结果偏小。) 操作题: 1、氧化铅的含量测定中开始加入二甲酚橙指示剂与六亚甲基思胺时,溶液的颜色发生什么变化?当用EDTA滴定时,溶液的颜色又发生什么变化? 答:加入二甲酚橙指示剂后溶液从黄色变为橙色。加入六亚甲基思胺时溶液由橙色变为紫红色。用EDTA滴定时,溶液由紫红色变为亮黄色。 3、在二氧化铅含量测定中,为什么要加入0.8g 固体碘化钾?溶液有什么变化?答:加入0.8g 固体碘化钾是要使二氧化铅全部被还原与溶解。此时溶液呈透明棕色。 4、在二氧化铅含量测定中,为什么不一开始加入 1mL 2% 淀粉液,而是到硫代硫酸钠滴定溶液至淡黄色才加入? 答:淀粉与碘单质络合生成蓝色物质。若一开始就加入淀粉溶液,淀粉则会络合较多的碘单质,则硫代硫酸钠与碘单质反应的量就少。到溶液至淡黄色才加入淀粉溶液,此时的碘单质几乎和硫代硫酸钠反应完全,使得碘单质与淀粉反应量较少,减少误差。 (淀粉对碘单质有吸附、包裹作用,使滴定终点拖后,造成实验误差) 一种钴(Ⅲ)配合物的制备思考题: 1、将氯化钴加入氯化铵与浓氨水的混合溶液中,可发生什么反应,生成何种配合物? 答:发生络合反应,生成氯化六氨合钴(Ⅱ) Co2+ + NH3 +Cl- -- [Co(NH3)5 Cl]+ / [Co(NH3)6]2+ / [Co(NH3)5H2O]2+2、上述实验中加入过氧化氢起何作用,如不用过氧化氢还可以用那些物质,用这些物质有什么不好?上述实验加浓盐酸的作用是什么? 答:过氧化氢起氧化作用。如不用过氧化氢可以用高锰酸钾溶液,或者重铬酸钾,但是用这些氧化剂会引入杂质,高锰酸钾会引入二价锰离子,重铬酸钾会引入铬离子。而过氧化氢过量时,微热即可分解为氧气和水,没有引入杂质。 (①过氧化氢起氧化作用;②可用硝酸、重铬酸钾、高氯酸钾;用这些物质会引入杂质离子,不利于配合物组分分拆。) 浓盐酸的作用:确保制备的配合物没有水作为配体,另外,盐酸可以抑制产品溶解,提高产品的产率

大学物理实验思考题答案

实验一:用三线摆测物体的转动惯量 1. 是否可以测摆动一次的时间作周期值?为什么? 答:不可以。因为一次测量随机误差较大,多次测量可减少随机误差。 2. 将一半径小于下圆盘半径的圆盘,放在下圆盘上,并使中心一致,讨论此时三线摆的周期和空载时的周期相比是增大、减小还是不一定?说明理由。 答:当两个圆盘的质量为均匀分布时,与空载时比较,摆动周期将会减小。因为此时若把两盘看成为一个半径等于原下盘的圆盘时,其转动惯量I0小于质量与此相等的同直径的圆盘,根据公式(3-1-5),摆动周期T0将会减小。 3. 三线摆在摆动中受空气阻尼,振幅越来越小,它的周期是否会变化?对测量结果影响大吗?为什么? 答:周期减小,对测量结果影响不大,因为本实验测量的时间比较短。 [实验二] 金属丝弹性模量的测量 1. 光杠杆有什么优点,怎样提高光杠杆测量的灵敏度? 答:优点是:可以测量微小长度变化量。提高放大倍数即适当地增大标尺距离D或适当地减小光杠杆前后脚的垂直距离b,可以提高灵敏度,因为光杠杆的放大倍数为2D/b。 2. 何谓视差,怎样判断与消除视差? 答:眼睛对着目镜上、下移动,若望远镜十字叉丝的水平线与标尺的刻度有相对位移,这种现象叫视差,细调调焦手轮可消除视差。 3. 为什么要用逐差法处理实验数据? 答:逐差法是实验数据处理的一种基本方法,实质就是充分利用实验所得的数据,减少随机误差,具有对数据取平均的效果。因为对有些实验数据,若简单的取各次测量的平均值,中间各测量值将全部消掉,只剩始末两个读数,实际等于单次测量。为了保持多次测量的优越性,一般对这种自变量等间隔变化的情况,常把数据分成两组,两组逐次求差再算这个差的平均值。 [实验三]

(完整版)化工原理实验思考题答案..

实验1 单项流动阻力测定 (1)启动离心泵前,为什么必须关闭泵的出口阀门? 答:由离心泵特性曲线知,流量为零时,轴功率最小,电动机负荷最小,不会过载烧毁线圈。 (2)作离心泵特性曲线测定时,先要把泵体灌满水以防止气缚现象发生,而阻力实验对泵灌 水却无要求,为什么? 答:阻力实验水箱中的水位远高于离心泵,由于静压强较大使水泵泵体始终充满水,所以不需 要灌水。 (3)流量为零时,U 形管两支管液位水平吗?为什么? 答:水平,当u=0时 柏努利方程就变成流体静力学基本方程: 21212211,,Z Z p p g p Z g P Z ==+=+时当ρρ (4)怎样排除管路系统中的空气?如何检验系统内的空气已经被排除干净? 答:启动离心泵用大流量水循环把残留在系统内的空气带走。关闭出口阀后,打开U 形管顶部 的阀门,利用空气压强使U 形管两支管水往下降,当两支管液柱水平,证明系统中空气已被排除干净。 (5)为什么本实验数据须在双对数坐标纸上标绘? 答:因为对数可以把乘、除变成加、减,用对数坐标既可以把大数变成小数,又可以把小数扩 大取值范围,使坐标点更为集中清晰,作出来的图一目了然。 (6)你在本实验中掌握了哪些测试流量、压强的方法?它们各有什么特点? 答:测流量用转子流量计、测压强用U 形管压差计,差压变送器。转子流量计,随流量的大小, 转子可以上、下浮动。U 形管压差计结构简单,使用方便、经济。差压变送器,将压差转换成直流电流,直流电流由毫安表读得,再由已知的压差~电流回归式算出相应的压差,可测大流量下的压强差。 (7)读转子流量计时应注意什么?为什么? 答:读时,眼睛平视转子最大端面处的流量刻度。如果仰视或俯视,则刻度不准,流量就全有 误差。 (8)两个转子能同时开启吗?为什么? 答:不能同时开启。因为大流量会把U 形管压差计中的指示液冲走。 (9)开启阀门要逆时针旋转、关闭阀门要顺时针旋转,为什么工厂操作会形成这种习惯? 答:顺时针旋转方便顺手,工厂遇到紧急情况时,要在最短的时间,迅速关闭阀门,久而久之 就形成习惯。当然阀门制造商也满足客户的要求,阀门制做成顺关逆开。 (10)使用直流数字电压表时应注意些什么? 答:使用前先通电预热15分钟,另外,调好零点(旧设备),新设备,不需要调零点。如果有 波动,取平均值。 (11)假设将本实验中的工作介质水换为理想流体,各测压点的压强有何变化?为什么? 答:压强相等,理想流体u=0,磨擦阻力F=0,没有能量消耗,当然不存在压强差。 ,22222221 11g u g p Z g u g P Z ++=++ρρ ∵d 1=d 2 ∴u 1=u 2 又∵z 1=z 2(水平管) ∴P 1=P 2 (12)离心泵送液能力,为什么可以通过出口阀调节改变?往复泵的送液能力是否也可采用 同样的调节方法?为什么? 答:离心泵送液能力可以通过调节出口阀开度来改变管路特性曲线,从而使工作点改变。往复泵是正往移泵流量与扬程无关。若把出口堵死,泵内压强会急剧升高,造成泵体,管路和电机的损

实验思考题答案

实验一燃烧热的测定 1.在本实验中,哪些是系统?哪些是环境?系统和环境间有无热交换?这些热交换对实验结果有何影响?如何校正? 提示:盛水桶内部物质及空间为系统,除盛水桶内部物质及空间的热量计其余部分为环境,系统和环境之间有热交换,热交换的存在会影响燃烧热测定的准确值,可通过雷诺校正曲线校正来减小其影响。 2.固体样品为什么要压成片状?萘和苯甲酸的用量是如何确定的? 提示:压成片状有利于样品充分燃烧;萘和苯甲酸的用量太少测定误差较大,量太多不能充分燃烧,可根据氧弹的体积和内部氧的压力确定来样品的最大用量。 3.试分析样品燃不着、燃不尽的原因有哪些? 提示:压片太紧、燃烧丝陷入药片内会造成燃不着;压片太松、氧气不足会造成燃不尽。 4.试分析测量中影响实验结果的主要因素有哪些?本实验成功的关键因素是什么? 提示:能否保证样品充分燃烧、系统和环境间的热交换是影响本实验结果的主要因素。本实验成功的关键:药品的量合适,压片松紧合适,雷诺温度校正。 5.使用氧气钢瓶和氧气减压器时要注意哪些事项? 提示:阅读《物理化学实验》教材P217-220 实验二凝固点降低法测定相对分子质量 1.什么原因可能造成过冷太甚?若过冷太甚,所测溶液凝固点偏低还是偏高?由此所得萘的相对分子质量偏低还是偏高?说明原因。 答:寒剂温度过低会造成过冷太甚。若过冷太甚,则所测溶液凝固点偏低。根据公式和可知由于溶液凝固点偏低,?T f偏大,由此所得萘的相对分子质量偏低。 2.寒剂温度过高或过低有什么不好? 答:寒剂温度过高一方面不会出现过冷现象,也就不能产生大量细小晶体析出的这个实验现象,会导致实验失败,另一方面会使实验的整个时间延长,不利于实验的顺利完成;而寒剂温度过低则会造成过冷太甚,影响萘的相对分子质量的测定,具体见思考题1答案。 3.加入溶剂中的溶质量应如何确定?加入量过多或过少将会有何影响? 答:溶质的加入量应该根据它在溶剂中的溶解度来确定,因为凝固点降低是稀溶液的依数性,所以应当保证溶质的量既能使溶液的凝固点降低值不是太小,容易测定,又要保证是稀溶液这个前提。如果加入量过多,一方面会导致凝固点下降过多,不利于溶液凝固点的测定,另一方面有可能超出了稀溶液的范围而不具有依数性。过少则会使凝固点下降不明显,也不易测定并且实验误差增大。

江苏大学大一c语言期末复习题汇总

选择题 1.下列字符序列中,不可用作C语言标识符的是()。 A.abc123 B.no.1 C._123_ D._ok 2.请选出可用作C语言用户标识符的一组标识符()。 A.void B.a3_b3 C.For D.2a define _123 -abc DO WORD IF Case sizeof 3.不属于C语言关键字的是()。 A.int B.break C.while D.character 4.以下不能定义为用户标示符的是()。 A.scanf B.V oid C._3com_ D.int 5.C语言程序的基本单位是()。 A.程序行B.语句C.函数D.字符 6.以下说法中正确的是()。 A.C语言程序总是从第一个定义的函数开始执行 B.在C语言程序中,要调用的函数必须在main( )函数中定义 C.C语言程序总是从main( )函数开始执行 D.C语言程序中的main( )函数必须放在程序的开始部分 7.以下选项中,合法的用户标识符是()。 A.long B._2abc C.3dmax D.A.dat 8.已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用八进制表示 的字符常量’\101’是()。 A.字符A B.字符a C.字符c D.非法的常量 9.以下选项中,正确的字符常量是()。 A.”F”B.’\\’’C.’W’D.’’ 10.下列变量定义中合法的是 A.short _a=1-.le-1; B.double b=1+5e2.5; C.long do=0xfdaL; D.float 2_and=1-e-3; 11.为了避免嵌套的if-else语句的二义性,C语言规定else总是与()组成配对关系。 A.缩排位置相同的if B.在其之前未配对的if C.在其之前未配对的最近的if D.同一行上的if 12.下列运算符中优先级最高的是()。 A.< B.&& C.+ D.!= 13.判断char型变量s是否为小写字母的正确表达式是()。 A.’a’ <= s<=’z’B.(s>=’a’) & (s<=’z’) C.(s>=’a’) && (s<=’z’) D.(’a’<=s) and (’z’>=s) 14.已知x=45, y=’a’, z=0; 则表达式(x>=z && y<’z’ || !y)的值是()。 A.0 B.语法错 C.1 D.“假”

C语言课后实验设计题目及答案

C语言实验题目及答案 1、实验项目一 C程序的编辑、编译、连接和运行 题目:编写程序,要求屏幕上显示如下信息: *********************** This is a C program . *********************** 程序: #include void main() { printf(“***********************\n”); printf(“This is a C programn .\n”); printf(“***********************\n”); } 实验项目二数据类型、运算符、表达式 题目 (1)程序填空:输入1 个实数x,计算并输出其平方根(保留1 位小数)。 填空 1.double x,root; 2.root=sqrt(x); (2)输入一个大写英文字母,输出相应的小写字母。 填空 1.ch=ch+32; 1、#include "stdafx.h" #include "stdio.h" #include "math.h" int main(int argc, char* argv[]) { printf("This is a Cprogram\n"); return 0;

} 2、#include "stdafx.h" #include "stdio.h" #include "math.h" int main(int argc, char* argv[]) { double x; printf("x="); scanf("%lf",&x); printf("%lf\n",sqrt(x)); return 0; }

相关文档