0" />
文档库 最新最全的文档下载
当前位置:文档库 › 《C语言程序设计》(江宝钏著)实验八答案

《C语言程序设计》(江宝钏著)实验八答案

《C语言程序设计》(江宝钏著)实验八答案
《C语言程序设计》(江宝钏著)实验八答案

江宝钏实验八

3.一般编程题

1.用指针法统计10个数中正数、负数和零的个数,并分别求正数的总和,负数的总

和。

#include

void main()

{

int a[10];

int i,*p,sum1,sum2,c1,c2,c3;

printf("输入10个整数:");

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

scanf("%d",&a[i]);

c1=c2=c3=0;sum1=sum2=0;

for(p=a;p<(a+10);p++)

{

if(*p<0){ sum1+=*p;c1++;}

if(*p==0){ c2++;}

if(*p>0) {sum2+=*p;c3++;}

}

printf("正数,负数的和:%d %d\n",sum2,sum1);

printf("正数、零、负数的个数:%d %d %d \n",c3,c2,c1);

4.较难编程题

1.输入一行字符,开始用一个指针指向这行字符的开头,并依次向后移,分别统计出

其中英文字母、空格、数字和其它字符的个数。

#include

#include

#define N 100

void main()

{

char *p;

char str[N];

int c1,c2,c3,c4,i;

printf("input a string:");

gets(str);

i=strlen(str);

c1=c2=c3=c4=0;

for(p=str;p

if(*p>='a'&&*p<='z'||*p>='A'&&*p<='Z') c1++;

if(*p==' ')

c2++;

if(*p>='0'&&*p<='9')

c3++;

else

c4++;

}

printf("字母个数:%d\n",c1);

printf("空格个数:%d\n",c2);

printf("数字个数:%d\n",c3);

printf("其他字符个数:%d",c4);

}

新版实验报告册答案(八上)

生物(八上)实验报告册答案 P___1 观察与思考:水螅的形态与捕食 思考与联想:不能可以感知和捕捉来自各个方向的猎物。 思考与联想:水螅用刺细胞捕食水蚤,在内胚层消化。 P___3 实验:观察蚯蚓 材料用具:糙纸放大镜 方法步骤: 1(1)前端有环带。背面颜色比腹面深。 13 (2)粗糙刚毛后方 2.肌肉的收缩。 3. 粘滑 讨论:1.蚯蚓的身体呈两侧对称,可分出前后、左右、背腹。 2. 使运动灵活、自如。 3. 支撑身体、辅助运动。 4. 因为蚯蚓靠湿润的体壁呼吸,如果蚯蚓体表干燥,蚯蚓将窒息死亡。 P___6 观察与思考:双壳类动物的特点 思考与联想:保护 思考与联想:足鳃入水管获取水中的食物颗粒,出水管排出食物残渣。 P___7 观察与思考:节肢动物的特点 思考与联想: 2. 蝗虫和七星瓢虫的形态结构比较相似,体表较硬;身体分节,不同体节有差异;触角和足 都分节;有翅。 3. 体表较硬身体分节,不同体节有差异有分节的足 P___9观察与思考:鲫鱼的外形与运动 思考与联想:是流线形有利于减少鱼在水中运动时的阻力有 体验与联想:抓过粘滑粘液 再观察:交替张合水从鱼口流入,从鳃盖后缘流出。 思考:呼吸鳃丝中有血管 扩大了与水的接触面积,鱼在水中呼吸。 思考与联想:入鳃的水含氧较多,出鳃的水二氧化碳较多 当鱼离开水时,鱼不能从空气中得到足够的氧而窒息死亡。

讨论: 1. 鱼体呈流线形,有利于克服在水中运动时的阻力。 2.不全面。鱼在游泳时,主要靠躯干部和尾鳍的摆动进行运动,其他鳍起协调作用。 P___11观察与思考:青蛙的外形与运动 思考与联想:绿色有利于青蛙的生存。 体验与联想:湿滑 青蛙的前肢短小,可支撑身体;。后肢发达,趾间有蹼,便于跳跃和划水。P___12观察与思考:多种多样的鸟 思考与联想: 思考: 鸟喙的特征与鸟的食性相适应。如,啄木鸟的喙强直,尖锐,适于啄食树干中的昆虫。 鸟足的特征与鸟的生活环境相适应。如,丹顶鹤的腿细长,适于在浅水中行走、觅食。 体表覆盖羽毛,有翼、喙等结构。 P___14 探究:鸟类适于飞行的形态结构特点 第一组假设:鸟的体型和翼适于飞行 第二组假设:鸟的肌肉和骨骼适于飞行 第三组假设:鸟的消化系统和循环系统适于飞行 第四组假设:鸟的呼吸和视觉适于飞行 第一组结论:流线型的体型和翼适于鸟的飞行 第二组结论:发达的胸肌和薄、轻的骨骼适于鸟的飞行 第三组结论:强大的消化能力和循环系统适于鸟的飞行 第四组结论:旺盛的呼吸和发达视觉适于鸟的飞行 P___17观察与思考:哺乳动物的牙齿 思考与联想: 都有门齿和臼齿狼有犬齿,兔没有 狼是肉食动物,犬齿尖锐撕咬猎物。兔是草食动物,门齿切断食物,臼齿磨碎食物。 提高了动物摄取食物的能力,增强了对食物的消化能力。

上机实验8 二维数组&字符数组--参考答案

上机实验八二维数组与字符数组—参考答案 一.目的要求 1.掌握二维数组的基本概念,如何定义二维数组,如何初始化二维数组。 2.掌握二维数组的基本操作:引用数组元素、行(列)求和,行(列)最大最小值,整个数组的输入输出等。 3.掌握与二维数组有关的算法,如找最大最小值(或位置)、矩阵转置等。 4.掌握字符串与字符数组的基本应用方法 5.掌握字符串有关的算法,如字符转换、查询、统计和进制转换等 二.实验内容 【实验题1】程序填空:输入一个4×4矩阵,求出主对角线上的元素之和sum1、副对角线上的元素之和sum2,并输出结果。 提示:每一行只有一个主对角线元素a[i][i](特征:i==j),也仅有一个副对角线元素a[i][n-i-1](特征:i+j==n-1,即j=n-1-i) 源程序: #include void main() { int i,j,sum1=0,sum2=0, a[4][4]; printf("Input a 4*4 matrix:\n"); for(i=0; i<4; i++) //输入矩阵元素 for( j=0; j<4; j++) scanf("%d", &a[i][j]); for(i=0; i<4; i++ ){ //计算sum1和sum2 sum1 +=a[i][i]; sum2 +=a[i][3-i]; } printf("sum1=%d, sum2=%d\n", sum1,sum2); //输出结果 } 运行程序,并输入数据: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 运行结果:sum1= 34, sum2= 34 【实验题2】程序填空:打印杨辉三角形前10行: 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 …………………… 算法提示:分析一个10行的杨辉三角,需要一个10×10的二维矩阵a,则: 1)杨辉三角为下三角矩阵,只需要求出第i行(i=0,1,2,…,9)前i+1个元素,即a[i][j]!=0 (j=0…i). 2)每行的第0列元素均为1,即a[i][0]=1; 3)每行的主对角线元素也均为1,即a[i][i]=1; 4)从第2行开始,每行夹在第0列元素与主对角线元素之间的元素a[i][j]( i=2,3,…,9, j=1,..,i-1 ) 等于其左上方元素a[i-1][j-1]与正上方元素a[i-1][j]之和,即a[i][j]=a[i-1][j-1]+a[i-1][j]; 5)输出该矩阵的下三角,即得出杨辉三角的前10行。

操作系统文件管理实验报告

操作系统实验报告实验名称:文件管理 专业班级:网络工程1301 学号: 姓名: 2015 年6 月16 日

实验一文件管理 一、实验目的 文件管理是操作系统的一个非常重要的组成部分。学生应独立用高级语言编写和调试一个简单的文件系统,模拟文件管理的工作过程。从而对各种文件操作命令的实质容和执行过程有比较深入的了解,掌握它们的实施方法,加深理解课堂上讲授过的知识。 二、预备知识 1.VS2010的使用 2.C#的学习 3.文件主目录与子目录的理解 三、实验容与步骤 用高级语言编写和调试一个简单的文件系统,模拟文件管理的工作过程。要求设计一个10 个用户的文件系统,每次用户可保存10 个文件,一次运行用户可以打开5 个文件。系统能够检查打入命令的正确性,出错时能显示出错原因。对文件必须设置保护措施,例如只能执行,允许读等。在每次打开文件时,根据本次打开的要求,在此设置保护级别,即有二级保护。文件的操作至少有Create、delete、open、close、read、write 等命令。 所编写的程序应采用二级文件目录,即设置主文件目录和用户文件目录。前者应包含文件主及它们的目录区指针;后者应给出每个文件占有的文件目录,即文件名,保护码,文件长度以及它们存放的位置等。另外为打开文件设置运行文件目录(AFD),在文件打开时应填入打开文件号,本次打开保护码和读写指针等。 程序流程图:

逻辑设计: 使用线性数组表表示MFD,泛型数组表示UFD,每个元素包括用户ID、保存的文件数、再使用线性表表示文件信息,每个元素包括文件名,文件属性(保护码),文件的状态等信息。 物理设计: //主目录 private FileUser[] mfd; //当前用户 private FileUser currentuser; ///

/// 文件 /// public class FileObject { public string filename; public int size=20; public int read=0; public int write = 0; public string author; } /// /// 文件系统用户 /// public class FileUser { public string username;

大学生C语言程序设计(第四版 谭洪强)实验8答案

实验八 函 数(二) 参考答案 /*1.(sy8-1.c ) 请编写函数 fun ,其功能是:计算并输出给定数组(长度为 9)中每相邻两个元素之平均值的平方根之和。 例如,给定数组中的 9 个元素依次为 12.0、34.0、4.0、23.0、34.0、45.0、18.0、3.0、11.0,输出应为:s=35.951014。 【解题思路】 在给出的参考程序中,由于函数要求的返回值为双精度型,所以先将变量 avg 、sum 定义为双精度型,初值为 0.0,然后通过 for 循环分别求出相邻两个元素的平均值放入变量 avg 中,再使用求平方根函数sqrt()对各平均值开方求和,最终结果输出到变量 sum 中并返回。 【参考答案】*/ double fun(double x[9]) { int i ; double avg=0.0,sum=0.0; //将变量avg 、sum 定义为双精度型,并给其赋初值为0.0 for (i=0;i< 8;i++) { avg=(x[i]+x[i+1])/2; //通过for 循环分别求出相邻两个元素的平均值放入变量avg 中 sum+=sqrt(avg); //使用求平方根函数sqrt()对各平均值开方求和,最终结果输出到变量 sum } return sum; /*返回计算结果*/ } 2.(sy8-2.c ) 编写函数fun ,实现矩阵(3行3列)的转置(即行列互换)。例如,输入下 面的矩阵:????? ??900800700600500 400300200 100,程序输出: ???? ? ??900600300800500200700400100。 【解题思路】 方阵转置,只需要将左下半三角元素和右上半三角元素对换即可。 【参考答案】 int fun(int array[3][3]) { int i,j,t ; for(i = 0 ; i < 3 ; i++) for(j = 0 ; j < i ; j++) {t=array[i][j]; array[i][j]=arrar[j][i]; array[j][i]=t ; } } 3.(sy8-3.c ) 请编写函数 fun ,函数的功能是:统计一行字符串中单词的个数作为函数值返回。一行字符串在主函数中输入,规定所有单词由小写字母组成,单词之间由若干个空格隔开,一行的开始没有空格。 【解题思路】I am a student! 在给出的参考程序中,若判断出当前字符为非空格,而它前面的字符是空格,则单词数累加 1;若当前字符为非空格,而其前面的字符也为非空格,则单词数不累加 1,程序细节可以参考程序的注释部分。 【参考答案1】 int fun( char s[])

进程管理实验报告文档

实验一进程管理 1.实验目的: (1)加深对进程概念的理解,明确进程和程序的区别; (2)进一步认识并发执行的实质; (3)分析进程争用资源的现象,学习解决进程互斥的方法; (4)了解Linux系统中进程通信的基本原理。 2.实验预备内容 (1)阅读Linux的源码文件,加深对进程管理概念的理解; (2)阅读Linux的fork()源码文件,分析进程的创建过程。 3.实验内容 (1)进程的创建: 编写一段程序,使用系统调用fork() 创建两个子进程。当此程序运行时,在系统中有一个父进程和两个子进程活动。让每一个进程在屏幕上显示一个字符:父进程显示字符“a”,子进程分别显示字符“b”和“c”。试观察记录屏幕上的显示结果,并分析原因。 源代码: #include <> #include <> #include #include <> main() {

int p1,p2; p1=fork(); ockf()函数是将文件区域用作信号量(监视锁),或控制对锁定进程的访问(强制模式记录锁定)。试图访问已锁定资源的其他进程将返回错误或进入休态,直到资源解除锁定为止。而上面三个进程,不存在要同时进入同一组共享变量的临界区域的现象,因此输出和原来相同。 (3) a) 编写一段程序,使其实现进程的软中断通信。 要求:使用系统调用fork() 创建两个子进程,再用系统调用signal() 让父进程捕捉键盘上来的中断信号(即按DEL键);当捕捉到中断信号后,父进程用系统调用Kill() 向两个子进程发出信号,子进程捕捉到信号后分别输出下列信息后终止: Child Process 1 is killed by Parent! Child Process 2 is killed by Parent! 父进程等待两个子进程终止后,输出如下的信息后终止: Parent Process is killed!

操作系统实验5文件系统:Linux文件管理

实验5 文件系统:Linux文件管理 1.实验目的 (1)掌握Linux提供的文件系统调用的使用方法; (2)熟悉文件和目录操作的系统调用用户接口; (3)了解操作系统文件系统的工作原理和工作方式。 2.实验内容 (1)利用Linux有关系统调用函数编写一个文件工具filetools,要求具有下列功能:*********** 0. 退出 1. 创建新文件 2. 写文件 3. 读文件 4. 复制文件 5. 修改文件权限 6. 查看文件权限 7. 创建子目录 8. 删除子目录 9. 改变当前目录到指定目录 10. 链接操作 *********** 代码: #include #include #include #include #include #include #include #include void menu(void); void openfile(void); void writefile(void); void readfile(void); void copyfile(void); void chmd(void); void ckqx(void); void cjml(void); void scml(void); void ggml(void); void ylj(void); int main() { int choose; int suliangjin=1;

menu(); scanf("%d",&choose); while(choose!=0) { switch(choose) { case 1:openfile();break; case 2:writefile();break; case 3:readfile();break; case 4:copyfile();break; case 5:chmd();break; case 6:ckqx();break; case 7:cjml();break; case 8:scml();break; case 9:ggml();break; case 10:ylj();break; } menu(); scanf("%d",&choose); } return 0; } void menu(void) { printf("文件系统\n"); printf("1.创建新文件\n"); printf("2.写文件\n"); printf("3.读文件\n"); printf("4.复制文件\n"); printf("5.修改文件权限\n"); printf("6.查看文件权限\n"); printf("7.创建子目录\n"); printf("8.删除子目录\n"); printf("9.改变目前目录到指定目录\n"); printf("10.链接操作\n"); printf("0.退出\n"); printf("请输入您的选择...\n"); } void openfile(void) { int fd; if((fd=open("/tmp/hello.c",O_CREAT|O_TRUNC|O_RDWR,0666))<0) perror("open");

答案 实验报告_实验8 函数(1)(学号_姓名)

实验报告_实验8 函数(1)(学号_姓名) 一、实验目的: 1、理解函数的功能 2、熟练掌握函数的定义、声明和调用方法; 二、实验内容 1、(基础题)根据海伦公式由三角形的三边长度a、b、c可以计算三角形面积,公式为:,其中:。请根据下列要求编写程序: (1)三角形面积的计算由函数triangle_area实现,函数原型为: double triangle_area(double a, double b, double c);当输入的a、b、c 值不能构成三角形时,返回0.0;(提示:构成三角形的三边条件:任意两边之和大于第三边,任意两边之差小于第三边。) (2)主函数的功能是输入三角形的三条边长,再调用triangle_area()得到面积,最后输出结果; (3)主函数在前,triangel_area()在后面定义。 程序代码: #include #include int main() { double triangle_area(double a,double b, double c);//函数声明 double x, y, z,area; printf("请输入三角形的三边长度: "); scanf("%lf%lf%lf",&x,&y,&z); area=triangle_area(x,y,z);

printf("三角形的面积=%.4lf\n\n",area); return 0; } double triangle_area(double a,double b, double c)//函数定义 { if ((a+b<=c)||(a+c<=b)||(b+c<=a))//不能构成三角形 return 0.0; double s,p; p=(a+b+c)/2.0; s=sqrt(p*(p-a)*(p-b)*(p-c)); return s; } 2、(基础题)定义一个求最大公约数函数int gcd(int x, int y),在主函数输入两个整数,然后调用gcd()输出这两个整数的最大公约数。提示:辗转相除法求最大公约数的原理: 先比较两个数的大小: (1)用较大数去除较小数,得到一个余数; (2)如果余数为0,则除数(较小数)就是最大公约数,结束运算; (3)如果余数不为0,则计算除数(较小数)和余数的最大公约数即可(舍去被 除数)。转向执行(1)。 程序运行结果如下图所示: 程序代码: #include

八年级生物实验探究及答案

八年级生物实验探究及答 案 Prepared on 21 November 2021

生物实验探究 班级:姓名: 1.仔细观察蝗虫的胸部和腹部。可以在左右两侧找到排列很整齐的一行小孔,这就是气门。气门与蝗虫体内的气管连通着,气门是气体进入蝗虫身体的门户,依据给的实验材料,设计一个实验,证明气门是蝗虫气体进入的门户。提出问题: 做出假设:。 材料用具:(1)两只活蝗虫;(2)两只试管;(3)清水;(4)玻璃条;(5)细线。实验步骤:(1) (2) ; (3) 实验预期结果: 实验结论:。 讨论:选择两只大小、生活状况相同的蝗虫,目的是 2.设计探究实验 背景知识:蚯蚓生活在潮湿、疏松、富含有机物的土壤中。它的身体由许多体节构成,体表湿润并且有许多粗糙的刚毛。蚯蚓依靠肌肉和刚毛运动。 请你设计一个实验来探究: 蚯蚓在什么样的物体表面爬得快 (1)我提出的问题是: (2)我的假设是: (3)实验方案设计:将个体粗壮的活蚯蚓放在粗糙纸上,观察它的运动;将个体粗壮的活蚯蚓放在玻璃板上,观察它的运动;重复上述实验3-5次。 (4)预测结果:。 (5)得出结论:。 3.某同学想探究土壤湿度对蚯蚓生活的影响,未完成,请你接着做它。 (1)你认为他可在的环境中才能找到试验用的蚯蚓。 (2)按照科学实验的要求,他必须设计对照,才更具有说服力。 在这个实验中是变量,要控制好。 (3)你作出的假设是:。 (4)请你设计一个实验来探究土壤湿度对蚯蚓的影响:(只写出具体操作步骤即可) 。

(5)实施计划。 4.菜青虫是生活在十字花科蔬菜菜叶上的一种深绿色的小肉虫,它是菜粉蝶的幼虫。 十字花科植物的花一般由四片花瓣组成,并且这四片花瓣呈十字形排列,大白菜、卷心菜、油菜等都属于十字花科的蔬菜。 (1)提出问题:; (2)作出假设:; (3)设计实验,完成实验 ◆培养菜青虫:寻找菜青虫卵,找到后将卵隔离饲养 ◆制取汁液: ◆用汁液涂滤纸: ◆观察现象: (4)检验假设,得出结论。 (5)讨论和完善计划 ◆从卵开始进行隔离饲养的目的:。 ◆对菜青虫卵隔离饲养的方法:人工条件下饲养菜青虫,隔离卵并不困难。但要饲养成活,还是有些难度的。 首先,要尽可能为菜青虫创造一个接近自然生存环境的饲养条件,目 的:。其次,饲养的数量也不宜过少,目 的:。 ◆可以选择含特殊挥发性油的植物叶片,如薄荷叶、芹菜叶等。看看菜青虫是否喜欢。叶片最好不要带毛或刺 等,。 ◆实验用的叶片和滤纸等应当一样大:这样做的目的也 是。 ◆滤纸的颜色要和菜叶的一样。选择一样的色彩也是为了。 ◆最好是事先饿饲一段时间,在菜青虫有较高食欲时做这项探究。可以将滤纸和菜叶放在同一水平线上,使菜青虫离滤纸和菜叶同样距离(距离不要太远)。放开菜青虫,看看它会取食什么东西。 ◆对照实验要在同样的时间和地点来做:这 样。 5.一个群体中的动物个体向其他个体发出某种信息,接受信息的个体产生某种行为反应,这种现象叫做通讯。 (1)提出问题: (2)作出假设: (3)设计实验,完成实验。 在设计实验时,在离蚁穴较远的地方放的一些食物中,应既有肉食又有植食。因为蚂蚁的种类很多,食性也不尽相同,有的为肉食性,有的为植食性,有的则为杂食性。在饲养蚂蚁时也需注意它的食性,蚂蚁生长繁殖的适宜温度

实验五 文件管理

课程名称:操作系统 课程类型:必修 实验项目名称:文件管理 实验题目:设计一个多用户的文件系统 一、实验目的 随着社会信息量的极大增长,要求计算机处理的信息与日俱增,涉及到社会生活的各个方面。因此,文件管理是操作系统的一个非常重要的组成部分。学生应独立用高级语言编写和调试一个简单的文件系统,模拟文件管理的工作过程。从而对各种文件操作命令的实质内容和执行过程有比较深入的了解,掌握它们的实施方法,加深理解课堂上讲授过的知识。 二、实验要求及实验环境 用高级语言编写和调试一个简单的文件系统,模拟文件管理的工作过程。要求设计一个10 个用户的文件系统,每次用户可保存10 个文件,一次运行用户可以打开5 个文件。系统能够检查打入命令的正确性,出错时能显示出错原因。对文件必须设置保护措施,例如只能执行,允许读等。在每次打开文件时,根据本次打开的要求,在此设置保护级别,即有二级保护。文件的操作至少有Create、delete、open、close、read、write 等命令。所编写的程序应采用二级文件目录,即设置主文件目录和用户文件目录。前者应包含文件主及它们的目录区指针;后者应给出每个文件占有的文件目录,即文件名,保护码,文件长度以及它们存放的位置等。另外为打开文件设置运行文件目录(AFD),在文件打开时应填入打开文件号,本次打开保护码和读写指针等。 三、设计思想(本程序中的用到的所有数据类型的定义,主程序的流程图及各程序模块之间的调用关系) 1.程序流程图

2.逻辑设计 使用线性表表示UFD,每个元素包括用户ID、保存的文件数、再使用线性表表示文件信息,每个元素包括文件名,文件属性(保护码),文件的状态等信息。该结构需支持以下操作:在尾部插入,查找,修改,在任意位置删除。3、物理设计 char UserName[SizeOfUser][SizeOfUserName];//用户ID long User;//当前用户标志 struct InfoOfFile { char Name[SizeOfFileName];//文件名 bool safe[3];//Read,Write,Execute long status;//ready,open; }UFD[SizeOfUser][SizeOfFile];

实验8部分答案

SQL数据查询语句: 1: (选择表中的若干列) 求全体学生的学号、姓名、性别和年龄。 2: (不选择重复行) 求选修了课程的学生学号。 3: (选择表中的所有列) 求全体学生的详细信息。 4: (使用表达式) 求全体学生的学号、姓名和出生年份。 5: (使用列的别名) 求学生的学号和出生年份,显示时使用别名“学号”和“出生年份”。 6: (比较大小条件) 求年龄大于19岁的学生的姓名和年龄。 7: (比较大小条件) 求注册B1班或注册B2班年龄大于18岁的学生的姓名、班级号和年龄。 8: (确定范围条件) 求年龄在19岁与22岁(含20岁和22岁)之间的学生的学号和年龄。 9: (确定范围条件) 求年龄不在19岁与22岁之间的学生的学号和年龄。 10:(确定集合条件) 求在下列各班的学生信息:注册B1班、注册B2班。 11:(确定集合条件) 求不是注册B1班、注册B2班的学生信息。 12:(匹配查询) 求姓名是以“李”打头的学生。 13:(匹配查询) 求姓名中含有“志”的学生。

14:(匹配查询) 求姓名长度至少是三个汉字且倒数第三个汉字必须是“马”的学生。 15:(匹配查询) 求选修课程JC001或JC003,成绩在80至90之间,学号为2007xxx的学生的学号、课程号和成绩。 16:(涉及空值查询) 求缺少学习成绩的学生的学号和课程号。 17:(控制行的显示顺序) 求选修JC003课程或JC004课程的学生 的学号、课程号和分数。 18:(组函数) 求学生总人数。 19:(组函数) 求选修了课程的学生人数。 20:(组函数) 求注册B1班学生的平均年龄。 21:(组函数) 求选修了课程JC001的最高、最低与平均成绩以及 课程的名称。 22:(分组查询) 求各门课程的平均成绩与总成绩。 23:(分组查询) 求各班级的人数和平均年龄。 24:(分组查询) 输入以下查询语句并执行,观察出现的其结果并 分析其原因。 SELECT SNAME,SDEPT,COUNT(*)FROM STUDENT WHERE SDEPT=’CS’GROUP BY SDEPT; 25:(分组查询) 分析以下语句为什么会出现错误。并给出正确的 查询语句。

linux 实验报告 文件系统与文件管理

学生课程实验报告书课程:《linux网络操作系统》 级系 专业班 学号: 姓名: 指导教师:

一、实验项目:用户与组群管理 二、实验日期: 三、实验原理: 1.熟悉Linux下常用的操作指令。 2.加深对文件,目录,文件系统等概念的理解。 3.掌握Linux文件系统的目录结构。 4.掌握有关Linux文件系统操作的常用命令。 5.了解有关文件安全方面的知识。 四、实验仪器: PC机 Redhat网络操作系统 五、实验步骤(纸张不够写可另外加纸并应装订): 进入虚拟机,并在此平台上练习文件管理有关命令.一般在[root @ localhost xxxx]$ 提示符下键入有关命令。 1.浏览文件系统 〈1〉运行pwd命令,确定你当前的工作目录。 〈2〉利用以下命令显示当前工作目录的内容:(理解各字段彻底意义。) 〈3〉运行以下命令:(反馈信息中.代表本身目录,..代表其父目录;选项a可以显示隐藏文件;选项i 可以显示文件的I节点号) ls –ai 〈4〉使用mkdir命令建立一个子目录subdir,并用ls查看当前目录。 〈5〉使用带-d选项的ls命令,你只能看到有关子目录的信息(.表示本身目录)。

〈6〉使用cd命令,将工作目录改到根目录(/)上。 ①用相对路径将工作目录改到根目录。 ②用绝对路径将工作目录改到根目录。 〈7〉使用ls命令列出根目录的内容,再分别列出各子目录的内容,体会各目录作用及访问权限。 〈8〉使用ls-l命令列出/dev的内容。 Ls –l /dev 列出/dev目录的内容,文件太多显示多屏,各行第一个字符为b的表示块特别文件;各行第一个字符为c的表示字符特别文件。 〈9〉使用不带参数的命令cd,然后用pwd命令确定你当前的工作目录是什麽。 〈10〉使用命令cd ../..,你将工作目录移到什麽地方? 2.查看你的文件 〈1〉利用cd命令,将工作目录改到你的主目录上。 〈2〉将工作目录改到你的子目录subdir,然后运行命令: date > file1 将当前日期和时间存放到新建文件file1中。 Ls –l 反馈信息中有新文件 file1。请注意并记下文件长度为:

实验文件管理二

实验六:文件系统 、目的要求 1用高级语言编写与调试一个简单的文件系统,模拟文件管理的工作过程。从而对各种文件操作命令的实质内容与执行过程有比较深入的了解。 2、要求设计一个n个用户的文件系统,每次用户可保存m个文件,用户在一次运行中只能打开一个文件,对文件必须设置保护措施,且至少有Create、delete、open、close、read、write 等命令。 二、例题: ①设计一个10个用户的文件系统,每次用户可保存10个文件,一次运行用户可以打开5个文件。 ②程序采用二级文件目录(即设置主目录[MFD])与用户文件目录(UEDK 另外, 为打开文件设置了运行文件目录(AFD。 ③为了便于实现,对文件的读写作了简化,在执行读写命令时,只需改读写指针,并不进行实际的读写操作。 ④算法与框图: a、因系统小,文件目录的检索使用了简单的线性搜索。 b、文件保护简单使用了三位保护码:允许读写执行、对应位为1,对应位为0,则表示不允许读写、执行。 c、程序中使用的主要设计结构如下: I、主文件目录与用户文件目录(MFD UFD) U、打开文件目录(AFD)即运行文件目录) U F D 文件名 保护码 文件长度 文件名

三、调度算法的流程图 四、文件管理源程序 #includevstdio、h> #include #includevmalloc、h> #include typedef struct ufd { char [10];/* 文件名*/ char procode[8];/* 属性*/ int length;/* 文件长度*/ struct ufd *nextfile;/* 指向下一个文件*/ }UFD;

大学数学数学实验(第二版)第7,8章部分习题答案

一、实验内容 P206第六题 function f=wuyan2(c) y=[3.9 5.3 7.2 9.6 12.9 17.1 23.2 31.41 38.6 50.2 62.9 76.0 92.0 106.5 123.2 131.7 150.7 179.3 204.0 226.5 251.4 281.4] t=[0 10 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 190 200 210] f=y-c(1)/(1+c(1)/3.9-1)*exp^(-c(2)*t) c0=[1 1] c=lsqnonlin('wuyan2',c0) P206第七题 function f=wuyan1(c) q=[0.4518 0.4862 0.5295 0.5934 0.7171 0.8964 1.0202 1.1963 1.4928 1.6909 1.8548 2.1618 2.6638 3.4634 4.6759 5.8478 6.7885 7.4463 7.8345 8.2068 8.9468 9.7315 10.5172 11.7390 13.6876 ]; k=[0.0911 0.0961 0.1230 0.1430 0.1860 0.2543 0.3121 0.3792 0.4754 0.4410 0.4517 0.5595 0.8080 1.3072 1.7042 2.0019 2.2914 2.4941 2.8406 2.9855 3.2918 3.7214 4.3500 5.5567 7.0477]; l=[4.2361 4.3725 4.5295 4.6436 4.8179 4.9873 5.1282 5.2783 5.4334 5.5329 6.4749 6.5491 6.6152 6.6808 6.7455 6.8065 6.8950 6.9820 7.0637 7.1394 7.2085 7.3025 7.3470 7.4432 7.5200]; f=q-c(1)*k.^c(2).*l.^c(3) c0=[1 1 1] c=lsqnonlin('wuyan1',c0) c = 0.4091 0.6401 1.1446 a=0.4091 α=0.6401 β=1.1446 P239第五题 c=[-20 -30]; A=[1 2;5 4]; b=[20 70]; v1=[0 0]; [x,f,ef,out,lag]=linprog(c,A,b,[],[],v1) z=-f x = 10.0000 5.0000

文件系统与文件管理

学生课程实验报告书课程:《Linux操作系统》 级系 专业班 学号: 姓名: 指导教师: 2012—2013学年第 2 学期

一、实验项目:文件系统与文件管理 二、实验日期:2011年11月21日 三、实验原理: 掌握文件系统的挂载与卸载;磁盘配额管理;文件的权限修改;文件的归档与压缩; 四、实验仪器: PC机 Redhat网络操作系统 五、实验步骤(纸张不够写可另外加纸并应装订): 1.对/文件系统实施用户级配额管理,对普通用户hellen与jerry进行配额 管理,磁盘空间软配额为300M,硬配额为350M,文件数量配额为:软配额12个,硬配额为15个。写出配额的具体步骤,并测试用户级配额是否成功。 答案:首先,创建hellen和jerry两个用户,配额步骤如下: 1)使用任何文本编辑工具编辑/etc/fstab文件,对“LABEL=/”所在行进行修改,增加命令选项usrquota。 2)重启电脑或者输入mount –o remount / 重新挂载/ 3)利用quotacheck命令创建https://www.wendangku.net/doc/9e10407532.html,er文件。 #touch https://www.wendangku.net/doc/9e10407532.html,er #quotacheck –mc /home

4)edquota hellen ,编辑hellen用户的bolck的软配额为300M,硬配额为350M,inodes的软配额为12个,硬配额为15个,修改内容如下: block soft hard inodes soft hard 0 307200 358400 0 12 15 5)将同样的配额设定复制给jerry用户 # edquota -p hellen jerry 6)启动配额管理 #quotaon –avu 之后,对配额进行测试,发现当拷贝文档个数大于12个或者文件大小超过300M的时候,终端进行警告提示,当文件个数大于15个或者文件大小超过350M的时候,不能往/写入任何内容。 2.在桌面环境下,选中有个文件或文件夹进行相应权限的修改。 3.用chmod命令分别用数字模式和功能模式修改/root/install.log文件属性。 答案:功能模式下修改权限 1)增加同组用户写入:chmod g+w /root/install.log 2)增加其他用户写入:chmod o+w /root/install.log 3)增加文件所有者写入:chmod u+w /root/install.log 4)增加同组用户读:chmod g+r /root/install.log 5)增加其他用户读:chmod o+r /root/install.log 6)增加文件所有者读:chmod u+r /root/install.log

实验八溶液表面张力测定问答题答案(学习资料)

实验八溶液表面张力测定问答题答案 1、实验时,为什么毛细管口应处于刚好接触溶液表面的位置? 如插入一定深度将对实验带来什么影响? 答案:减少测量?P max 误差,因为?P max 是气泡内外的压力差,在气泡形成的过程中,由于表面张力的作用,凹液面产生一个指向液面外的附加压力△P , K =ΔP r γ=ΔP 2 m ax m ax ,如果插入一定深度,P 外还要考虑插入这段深度的静压力,使得?P max 的绝对值变大,表面张力也变大。 2、最大气泡法测定表面张力时为什么要读最大压力差? 答案:最大气泡法测定表面张力时要读最大压力差。因为随着气泡的形成,曲率半径逐渐由大变小又变大,当曲率半径等于毛细管半径时,气泡呈半球形,气泡曲率半径最小,△P 最大。 这时的表面张力为: K =ΔP r γ=ΔP 2 m ax m ax 式中的K 为仪器常数,可用已知表面张力的标准物质测得。 ?P max 由压力计读出。 3、实验中为什么要测定水的?P m ax ? 答案:当曲率半径等于毛细管半径时的表面张力为: K =ΔP r γ=ΔP 2 m ax m ax 式中的K 为仪器常数,可用已知表面张力的标准物质测得,这种标准物质就是水。 4、对测量所用毛细管有什么要求? 答案:毛细管一定要清洗干净,管口平齐。 5、在毛细管口所形成的气泡什么时候其半径最小? 答案:测量时?P m ax 最大 6、如何用镜象法从σ—C 等温线上作不同浓度的切线求T c γ??? ????或Z ? 如图所示,经过切点a 作平行于横坐标的直线,交纵坐标

于b 点。用镜象法求作切线。 以Z 表示切线和平行线在纵坐标上截距间的距离,显然Z 的长度等于 T c c γ??? ????, 即 T Z c c γ???=- ???? 7、答案:表面张力为什么必须在恒温槽中进行测定? 答案:因为表面张力与温度有关,温度升高,表面张力下降。 8、如果气泡逸出的很快,或几个气泡一齐出,对实验结果有何影响? 答案:如果气泡逸出的很快,或几个气泡一齐出,即气泡形成时间太短,则吸附平衡就来不及在气泡表面建立起来,测得的表面张力也不能反映该浓度之真正的表面张力值。 9、根据什么来控制滴液漏斗的放液速度?对本实验有何影响? 答案:要求气泡从毛细管缓慢逸出,通过控制滴液漏斗的放液速度调节逸出气泡每分钟10个左右。若形成时间太短,则吸附平衡就来不及在气泡表面建立起来,测得的表面张力也不能反映该浓度之真正的表面张力值。 10、测定正丁醇溶液的表面张力时,浓度为什么要按低到高的顺序依次测定? 答案:溶液的表面张力与浓度有关,浓度按低到高的顺序依次测定,可减少由测量瓶清洗不够干净引起的误差。 11、温度变化对表面张力有何影响,为什么? 答案:温度升高,表面张力下降。表面张力与温度有关, 12、测定时如何读取微压力计的压差? 答案:测量时读取微压计上的最大压力。 13、对同一试样进行测定时,每次脱出气泡一个或连串两个所读结果是否相同,为什么? 答案:不同;每次脱出一个气泡结果才准确。如果气泡逸出的很快,或几个气泡一齐出,即气泡形成时间太短,则吸附平衡就来不及在气泡表面建立起来,测得的表面张力也不能反映该浓度之真正的表面张力值。

实验八,文件管理

实验八文件管理 一、实验目的: 用高级语言编写和调试一个简单的文件系统,模拟文件管理的工作过程。从而对各种文件操作命令的实质内容和执行过程有比较深入的了解。 二、实验要求: 要求设计一个 n个用户的文件系统,每次用户可保存m个文件,用户在一次运行中只能打开一个文件,对文件必须设置保护措施,且至少有Create、delete、open、close、read、write等命令。 三、实验内容: 设计一个10个用户的文件系统,每次用户可保存10个文件,一次运行用户可以打开5个文件。 程序采用二级文件目录(即设置主目录[MFD])和用户文件目录(UED)。另外,为打开文件设置了运行文件目录(AFD)。 为了便于实现,对文件的读写作了简化,在执行读写命令时,只需改读写指针,并不进行实际的读写操作算法与框图。因系统小,文件目录的检索使用了简单的线性搜索。 文件保护简单使用了三位保护码:允许读写执行、对应位为1,对应位为0,则表示不允许读写、执行。 四、运行结果:

五、心得体会: 通过这次试验我学会了如何创建一个用户,已经在此用户下保存多个文件,同时也学会了如何为文件设置保护措施,只允许单个用户访问。这些综合性的知识都在本实验中得到了很好的运用,因此我对文件的管理也得到了一定的锻炼。 六、附录: #include #include #include #include struct user {char name[10]; }user[10]; int in=0; struct link { struct file { char name[10];

实验八数组应用一答案

实验八数组应用(一)答案 一、实验目的 1. 掌握一维数组的定义和使用; 2. 了解二维数组的定义和使用。 二、实验学时数 2学时 三、实验步骤 (一)阅读程序 1.#include main() { int a[]={1,2,3,4,5},i,j,s=0; j = 1; for ( i = 4 ; i>=0 ; i--) { s = s+ a[i] * j ; j = j * 10 ; } printf(" s= %d \n" , s ); 2. #include main() { int k ; int a[3][3] = {9,8,7,6,5,4,3,2,1} ; for (k =0;k < 3;k++ ) printf("%d \n",a[k][2-k]); }

3. main() { int i , j ,x =0 ,y = 0 , m ; int a[3][3] = { 1, -2 , 0 , 4 , -5 , 6 , 2 , 4 }; m = a [0][0] ; for (i=0 ;i < 3 ;i++) for (j = 0 ; j<3 ; j++ ) if ( a[ i] [ j ] >m ) { m = a[ i ][ j ] ; x = i ; y = j ; } printf(“ ( % d , % d ) = % d \n“ , x , y,m ); (二)完成程序 要求:依据题目要求,分析已给出的语句,填写空白。但是不要增行或删行,改动程序的结构。 1.下面程序的功能是将十进制整数转换成二进制,请在_______上填写正确内容。 #include main() { int k=0,n,j,num[16]={0}; printf("输入要转换的十进制数\n"); scanf("%d",&n); printf ("%d转换为二进制数:\n",n); do { num[k]=_n%2_; n=n/2;k++; } while(n!=0); for(k=15;k>=0;k--) printf("%d",num[k]);

相关文档
相关文档 最新文档