C语言课程设计
以下程序已在win-tc和tc20下运行通过,已加详细注释(本人所写)。
/ 数据安全实用程序,加密解密简单程序 /
#include<stdioh>
#include<stdlibh>
#include<conioh>
int flag;
char encrypt(char ch,int key)/加密函数,把字符循环移位/
{
if(ch>='a' && ch<='z') / 如果是小写字母 /
{
ch=(ch-'a'+key%26)%26+'a'; / 字母向后移key%26个位置,超过字母z则再从a开始向后移动 /
}
else if(ch>='A' && ch<='Z') / 如果是大写字母 /
{
ch=(ch-'A'+key%26)%26+'A'; / 字母向后移key%26个位置,超过字母Z则再从A开始向后移动 /
}
return ch;
}
char decrypt(char ch,int key)/解密函数,把字符循环移位/
{
if(ch>='a' && ch<='z') / 如果是小写字母 /
{
ch=(ch-'a'+26-key%26)%26+'a'; / 字母向后移26-key%26个位置,超过字母z则再从a开始向后移动 /
}
else if(ch>='A' && ch<='Z') / 如果是大写字母 /
{
ch=(ch-'A'+26-key%26)%26+'A'; / 字母向后移26-key%26个位置,超过字母Z则再从A开始向后移动 /
}
return ch;
}
void menu()/菜单,1加密,2解密,3显示文本文件内容/
{
clrscr();
printf("\n=======================================================");
printf("\n1Encrypt the text file"); / 加密文件 /
printf("\n2Decrypt the text file"); / 解密文件 /
printf("\n3Display text file contents");/ 显示加密或解密或未加密或解密的文件 /
printf("\n4Quit\n");
printf("=========================================================\n");
printf("Please select a item:"); / 选择一个菜单 /
}
void logo()/显示程序信息/
{
printf("\nwelcome to encrypt program \n ");
return;
}
void encrypt_decrypt_File(char infile,int key, char outfile) / 加密或解密函数 /
{
FILE in,out;
char ch;
clrscr(); / 清屏 /
if((in=fopen(infile,"r"))==NULL) / 打开欲加密或解密的文件/
{
printf("Can not open the infile!\n"); / 如果打开文件失败或文件不存在打印打开失败信息 /
printf("Press any key to exit!\n");
getch(); / 并等待任一按键然后退出程序 /
exit(0);
}
if((out=fopen(outfile,"w"))==NULL) / 打开文件保存加密或解密后的内容/
{
printf("Can not open the outfile!\n"); / 如果打开文件失败或文件不存在打印打开失败信息 /
printf("Press any key to exit!\n"); / 并等待任一按键然后退出程序 /
fclose(in); / 关闭输入文件 /
getch(); / 等待按键,按任一键退出程序 /
exit(0);
}
ch=fgetc(in); /从文本文件中读入字符/
while(ch!=EOF)/加密或解密/
{
/如果是英文字符,则进行加密或解密,否则,不进行加密或解密处理/
if((ch>='a' && ch<='z' ) || (ch>='A' && ch<='Z'))
{ if(flag==1)
fputc(encrypt(ch,key),out);
if(flag==2)
fputc(decrypt(ch,key),out);
}
else
fputc(ch,out);
ch=fgetc(in);
}
/关闭输入及输出文件/
fclose(in);
fclose(out);
}
void displayFile(char infile) /将文本文件的内容显示在屏幕上/
{
FILE fp;
char string[81];
if((fp=fopen(infile,"r"))==NULL) / 以只读方式打开文本文件 /
{
printf("cann't open file");exit(0); / 如果文件不存在或打开失败打印无法打开信息并退出程序 /
}
while(fgets(string,81,fp)!=NULL)
fputs(string,stdout); /把所取字符串送到屏幕显示/
fclose(fp); / 关闭文件 /
}
int main()
{
int i,n;
char ch0,ch1;
char infile[40],outfile[40];
textbackground(LIGHTGRAY); /设置背景颜色为浅灰色/
textcolor(BLACK); /设置文字颜色为黑色/
clrscr();/清除屏幕显示/
logo(); /显示程序信息/
sleep(2); / 延时2秒 /
menu(); /显示屏幕菜单/
ch0=getche();/等待用户从键盘输入,并把输入显示在屏幕上/
while(ch0!='4')
{
clrscr();
if(ch0=='1') /选择加密功能/
{
flag=1;
printf("\nPlease input the infile to be encrypted:"); / 输入要加密的文件名 /
scanf("%s",infile); / 该文件要和本程序放在同一个目录下 /
printf("Please input the encrypt key:");
scanf("%d",&n);/输入加密密码/
printf("Please input the outfile:"); /输入存放加密内容的文件名/
scanf("%s",outfile); / 该文件可以自动创建 /
encrypt_decrypt_File(infile,n,outfile);
printf("\nEncrypt is over!\n");/ 加密成功 /
sleep(1); / 延时1秒 /
}
else if(ch0=='2') /选择解密功能/
{
flag=2;
printf("\nPlease input the infile to be decrypted:"); / 输入要解密的文件名 /
scanf("%s",infile); / 该文件要和本程序放在同一个目录下 /
printf("Please input the decrypt key:");
scanf("%d",&n);/输入解密密码,加密和解密密码应相同/
printf("Please input the outfile:"); /输入存放解密内容的文件名/
scanf("%s",outfile); / 该文件可以自动创建 /
encrypt_decrypt_File(infile,n,outfile);
printf("\nDecrypt is over!\n");
sleep(1); / 延时1秒 /
}
else if(ch0=='3') /选择显示文本文件功能/
{
printf("\nPlease input the infile to be displayed:"); / 输入要显示的文件名 /
scanf("%s",infile);
displayFile(infile);/ 显示文件 /
getch();
}
else
{ /不合法输入/
printf("\nplease input a valid number(1-4)\n");
sleep(1); / 延时1秒 /
}
menu();/显示程序菜单/
ch0=getche(); /等待用户下一次的功能选择/
}
system("cls");/清除屏幕/
logo(); /显示程序信息/
printf("\nGood Bye!\n");
sleep(2);/ 延时2秒 /
system("pause"); / 暂停,按任一键退出程序 /
return 0;
}
这是一个二维数组的结构化函数,我把你那边的n的值改为50,表示最多能输入50个人的家谱信息
#include<stdioh>
struct people
{
char name[10];
char fathername[10];
};
void main()
{
struct people family[50];
int i,row=0;
char c;
for(i=0;i<50;i++)
{
printf("请输入第%d个人的姓名:",i+1);
gets(family[i]name);
printf("请输入第%d个人父亲的姓名:",i+1);
gets(family[i]fathername);
printf("是否继续(y/n):");
scanf(" %c",&c);
if(c=='n'||c=='N')
break;
}
row=i+1;
printf("儿子姓名\t父亲姓名\n");
for(i=0;i<row;i++)
{
printf("%s\t%s\n",family[i]name,family[i]fathername);
}
}
就这么简单,看看是不是这样的,上面的row是你实际输入用户数量的行数,每输完一组用户的信息,都会提示是否继续,选y继续循环,n退出循环row=i+1
发展过程:
1965年时,贝尔实验室(Bell Labs)加入一项由奇异电子(General Electric)和麻省理工学院(MIT)合作的计画;该计画要建立一套多使用者、多任务、多层次(multi-user、multi-processor、multi-level)的MULTICS操作系统。直到1969年,因MULTICS计画的工作进度太慢,该计画就被停了下来。当时,Ken Thompson(后被称为Unix之父)已经有一个称为「星际旅行」的程序在GE-635的机器上跑,但是反应非常的慢,正巧也被他发现了一部被闲置的PDP-7(Digital的主机),Ken Thompson和Dernis Ritchie就将「星际旅行」的程序移植到PDP-7上。而这部PDP-7就此在整个计算机历史上留下了芳名。
MULTICS 其实是"MULTiplexed Information and Computing System"的缩写,在1970年时,那部PDP-7却只能支持两个使用者,当时,Brian Kernighan 就开玩笑地戏称他们的系统其实是:"UNiplexed Information and Computing System",缩写为"UNICS",后来,大家取其谐音,就称其为"Unix"了。1970年可称为是Unix元年。
1971年,他们申请了一部PDP-11/20,申请的名义是:要发展文书处理系统。该提案被获采纳,他们也发展出了一套文书处理系统 — 就是现在Unix操作系统里面文书处理系统(nroff/troff)的前身。有趣的是,没有多久,贝尔实验室的专利部门真的采用了这套系统作为他们处理文件的工具,而贝尔实验室的专利部门也就顺理成章地成为Unix的第一个正式使用者。当时,那部PDP-11/20只有05MB磁盘空间。而描述这整个系统的文件被标示为:"First Edition",版本日期是1970年11月。从此以后,Unix的版本就以系统文件的版别来称呼
UNIX家谱
UNIX的历史开始于1969年ken Thompson,Dennis Ritchie(即著名的K&G,C语言的发明人)与一群人在一部PDP-7上进行的一些工作,后来这个系统变成了UNIX。它主要的几个版本为:
V1(1971):第一版的UNIX,以PDP-11/20的汇编语言写成。包括文件系统,fork、roff、ed等软件。
V4(1973):以C语言从头写过,这使得UNIX修改容易,可以在几个月内移植到新的硬件平台上。最初C语言是为UNIX设计的,所以C与UNIX间有紧密的关系。
V6(1975):第一个在贝尔实验室外(尤其是大学中)广为流传的UNIX版本。这也是UNIX分支的起点与广受欢迎的开始。1xBSD (PDP-II)就是由这个版本衍生出来的。
V7(1979):在许多UNIX玩家的心目中,这是“最后一个真正的UNIX,”这个版本包括一个完整的K&RC编译器,Bourne shell。V7移植到VAX机器后称为32V。
目前开发UNIX(System V)的公司是Unix System Laboratories (USL)。USL本为AT&T所有,1993年初被Novell收购。Novell于1993年末将UNIX这个注册商标转让给X/Open组织。
目前为止,UNIX有两大流派:那就是AT&T发布的UNIX操作系统System V与美国加州大学伯克利分校发布的UNIX版BSD(Berkeley Software Distribution)。SVR4是两大流派融合后的产物。1991年底,与System V针锋相对的开放软件基金会(Open Software Foundation)推出了OSF/1。
现在几种主要的UNIX版本:
AIX:IBM的UNIX,是根据SVR2(最近已经出到SVR32)以及一部分BSD延伸而来,加上各种硬件的支持。具备特有的系统管理(SMIT)。
386BSD:Jolitz从Net/2 software移植过来的。支持Posix,32位。
FreeBSD:1x从386BSD 01而来,FreeBSD 2x版是用44BSD lite改写。
HP-UX(HP):旧系统是从S III(SVRx)发展面来,现在是由SVR2(42BSD)发展而来,目前是10x版。
Linux(x86):遵从POSIX,SYSV及BSD的扩展,这一点从上页表中即可看出。
OSF/1(DEC):DEC对OSF/1的移植。
SCO UNIX(x86):SVR32,目前影响较大的PC UNIX。
SunOS(680x0,Sparc,i386):根据43BSD,包含许多来自System V的东西。Sun的主要成果在于:NFS,OpenLook GUI标准,现演变为Solaris 。
Ultrix(DEC):根据42BSD再加上许多43BSD的东西。
Xenix(x86):Intel硬件平台上的UNIX,以SVR2为基础,由微软推出。在中国使用较广泛。
网络方面的应用:
1、网络和系统管理
现在所有UNIX系统的网络和系统管理都有重大扩充;它包括了基于新的NT(以及Novell NetWare)的网络代理,用于OpenView企业管理解决方案,支持Windows NT作为OpenView网络节点管理器。
2、高安全性
Presidium数据保安策略把集中式的安全管理与端到端(从膝上/桌面系统到企业级服务器)结合起来。例如惠普公司的Presidium授权服务器支持Windows操作系统和桌面型HP-UX;又支持Windows NT和服务器的HP-UX。
3、通信
OpenMail是UNIX系统的电子通信系统,是为适应异构环境和巨大的用户群设计的。OpenMail可以安装到许多操作系统上,不仅包括不同版本的UNIX操作系统,也包括Windows NT。
4、可连接性
在可连接性领域中各UNIX厂商都特别专注于文件/打印的集成。NOS(网络操作系统)支持与NetWare和NT共存。
5、Internet
从1996年11月惠普公司宣布了扩展的国际互连网计划开始,各UNIX公司就陆续推出了关于网络的全局解决方案,为大大小小的组织对于他们控制跨越Microsoft Windows NT和UNIX的网络业务提供了崭新的帮助和业务支持。
6、数据安全性
随着越来越多的组织中的信息技术体系框架成为他们具有战略意义的一部分,他们对解决数据安全问题的严重性变得日益迫切。无论是内部的还是外部的蓄意入侵,没有什么不同。UNIX系统提供了许多数据保安特性,可以给计算机信息机构和管理信息系统的主管们对他们的系统有一种安全感。
7、可管理性
随着系统越来越复杂,无论从系统自身的规模或者与不同的供应商的平台集成,以及系统运行的应用程序对企业来说变得从未有过的苛刻,系统管理的重要性与日俱增。HP-UX支持的系统管理手段是按既易于管理单个服务器,又方便管理复杂的联网的系统设计的;既要提高操作人员的生产力又要降低业主的总开销。
8、系统管理器
UNIX的核心系统配置和管理是由(SAM)系统管理器来实施的。SAM使系统管理员既可采用直觉的图形用户界面,也可采用基于浏览器的界面(它引导管理员在给定的任务里做出种种选择),对全部重要的管理功能执行操作。SAM是为一些相当复杂的核心系统管理任务而设计的,如给系统增加和配置硬盘时,可以简化为若干简短的步骤,从而显著提高了系统管理的效率。SAM能够简便地指导对海量存储器的管理,显示硬盘和文件系统的体系结构,以及磁盘阵列内的卷和组。除了具有高可用性的解决方案,SAM还能够强化对单一系统,镜象设备,以及集群映像的管理。SAM还支持大型企业的系统管理,在这种企业里有多个系统管理员各事其职共同维护系统环境。SAM可以由首席系统管理员(超级用户)为其他非超级用户的管理员生成特定的任务子集,让他们各自实施自己的管理责任。通过减少要求具备超级用户管理能力的系统管理员人数,改善系统的安全性。
9、Ignite/UX
Ignite/UX采用推和拉两种方法自动地对操作系统软件作跨越网络的配置。用户可以把这种建立在快速配备原理上的系统初始配置,跨越网络同时复制给多个系统。这种能力能够取得显著节省系统管理员时间的效果,因此节约了资金。Ignite/UX也具有获得系统配置参数的能力,用作系统规划和快速恢复。
10、进程资源管理器
进程资源管理器可以为系统管理提供额外的灵活性。它可以根据业务的优先级,让管理员动态地把可用的CPU周期和内存的最少百分比分配给指定的用户群和一些进程。据此,一些要求苛刻的应用程序就有保障在一个共享的系统上,取得其要求的处理资源。
UNIX并不能很好地作为PC机的文件服务器,这是因为UNIX提供的文件共享方式涉及到不支持任何Windows或Macintosh操作系统的NFS或DFS。虽然可以通过第三方应用程序,NFS和DFS客户端也可以被加在PC机上,但价格昂贵。和NetWare或NT相比安装和维护UNIX系统比较困难。 绝大多数中小型企业只是在有特定应用需求时才能选择UNIX。UNIX经常与其它NOS一起使用,如NetWare和Windows NT。在企业网络中文件和打印服务由NetWare或Windows NT管理。而UNIX服务器负责提供Web服务和数据库服务,建造小型网络时,在与文件服务器相同环境中运行应用程序服务器,避免附加的系统管理费用,从而给企业带来利益。
具体操作,就不细述。借此科普一下。(看明白了,就知道Linux,有的版本就太简单化了)
UNIX 与 Linux 之间的关系是一个很有意思的话题。在目前主流的服务器端操作系统中,UNIX 诞生于 20 世纪 60 年代末,Windows 诞生于 20 世纪 80 年代中期,Linux 诞生于 20 世纪 90 年代初,可以说 UNIX 是操作系统中的"老大哥",后来的 Windows 和 Linux 都参考了 UNIX。
现代的 Windows 系统已经朝着“图形界面”的方向发展了,和 UNIX 系统有了巨大的差异,从表面上甚至看不出两者的关联。
一、Unix 的那些往事
Unix
UNIX操作系统(尤尼斯),是一个强大的多用户、多任务操作系统,支持多种处理器架构,按照操作系统的分类,属于分时操作系统,最早由KenThompson、Dennis Ritchie和Douglas McIlroy于1969年在AT&T的贝尔实验室开发。它的商标权由国际开放标准组织所拥有,只有符合单一UNIX规范的UNIX系统才能使用UNIX这个名称,否则只能称为类UNIX(UNIX-like)。
Unix在开发的过程中,没有任何的奖励制度和管理,一开始在AT&T公司出现。20世纪70年代,AT&T公司开始注意到Unix所带来的商业价值。保护Unix,并让其成为一种商业机密。从1979年Unix的版本V7开始,Unix的许可证开始禁止大学使用Unix的源码,包括在授课中学习。
Unix家谱
到了1980年,有两个最主要的Unix的版本线,一个是Berkeley的BSD UNIX,另一个是AT&T的Unix,竞争最终引发了Unix的战争。1982年,Joy创建了Sun Microsystems公司并提供了工作站–Sun-1,运行SunOS(Solaris以之后的十年出现)。而AT&T则在随后的几年中发布了Unix System V的第一版,一个具有强大影响力的操作系统,最终造就了IBM的AIX和HP的HP-UX。
标准
Unix 操作系统因其开放性、可移植性、多用户多任务以及稳定性等特点,加上本身强大的网络通讯功能,被广泛的应用在各主要行业中 [3] 。UNIX用户协会最早从20世纪80年代开始标准化工作,1984年颁布了试用标准。后来IEEE为此制定了POSIX标准(即IEEE1003标准)国际标准名称为ISO/IEC9945它通过一组最小的功能定义了在UNIX操作系统和应用程序之间兼容的语言接口。POSIX是由Richard Stallman 应IEEE的要求而提议的一个易于记忆的名称,含义是Portable OPerating System Interface(可移植操作系统接口) ,而X表明其API的传承。
UNIX特性
UNIX系统是一个多用户,多任务的分时操作系统。
UNIX的系统结构可分为三部分:操作系统内核(是UNIX系统核心管理和控制中心,在系统启动或常驻内存),系统调用(供程序开发者开发应用程序时调用系统组件,包括进程管理,文件管理,设备状态等),应用程序(包括各种开发工具,编译器,网络通讯处理程序等,所有应用程序都在Shell的管理和控制下为用户服务)。
UNIX系统大部分是由C语言编写的,这使得系统易读,易修改,易移植。
UNIX提供了丰富的,精心挑选的系统调用,整个系统的实现十分紧凑,简洁。
UNIX提供了功能强大的可编程的Shell语言(外壳语言)作为用户界面具有简洁,高效的特点。
UNIX系统采用树状目录结构,具有良好的安全性,保密性和可维护性。
UNIX系统采用进程对换(Swapping)的内存管理机制和请求调页的存储方式,实现了虚拟内存管理,大大提高了内存的使用效率。
UNIX系统提供多种通信机制,如:管道通信,软中断通信,消息通信,共享存储器通信,信号灯通信。
二、Linux 的那些往事
Linux 内核最初是由李纳斯•托瓦兹(Linus Torvalds)在赫尔辛基大学读书时出于个人爱好而编写的,当时他觉得教学用的迷你版 UNIX 操作系统 Minix 太难用了,于是决定自己开发一个操作系统。第 1 版本于 1991 年 9 月发布,当时仅有 10,000 行代码。
李纳斯•托瓦兹
李纳斯•托瓦兹没有保留 Linux 源代码的版权,公开了代码,并邀请他人一起完善 Linux。与 Windows 及其他有专利权的操作系统不同,Linux 开放源代码,任何人都可以免费使用它。
据估计,现在只有 2% 的 Linux 核心代码是由李纳斯•托瓦兹自己编写的,虽然他仍然拥有 Linux 内核(操作系统的核心部分),并且保留了选择新代码和需要合并的新方法的最终裁定权。现在大家所使用的 Linux,我更倾向于说是由李纳斯•托瓦兹和后来陆续加入的众多 Linux 好者共同开发完成的。
李纳斯•托瓦兹无疑是这个世界上最伟大的程序员之一,何况,他还搞出了全世界最大的程序员交友社区 GitHub (开源代码库及版本控制系统)。
关于 Linux Logo 的由来是一个很有意思的话题,它是一只企鹅。
为什么选择企鹅,而不是选择狮子、老虎或者小白兔?有人说因为李纳斯•托瓦兹是芬兰人,所以选择企鹅,有人说因为其他动物图案都被用光了,李纳斯•托瓦兹只好选择企鹅。
我更愿意相信以下说法,企鹅是南极洲的标志性动物,根据国际公约,南极洲为全人类共同所有,不属于世界上的任何国家,可国家都无权将南极洲纳入其版图。Linux 选择企鹅图案作为 Logo,其含义是:开放源代码的 Linux 为全人类共同所有,可公司无权将其私有。
三、UNIX与Linux的亲密关系
二者的关系,不是大哥和小弟,"UNIX 是 Linux 的父亲"这个说法更怡当。之所以要介绍它们的关系,是因为要告诉读者,在学习的时候,其实 Linux 与 UNIX 有很多的共通之处,简单地说,如果你已经熟练掌握了 Linux,那么再上手使用 UNIX 会非常容易。
二者也有两个大的区别:
UNIX 系统大多是与硬件配套的,也就是说,大多数 UNIX 系统如 AIX、HP-UX 等是无法安装在 x86 服务器和个人计算机上的,而 Linux 则可以运行在多种硬件平台上;
UNIX 是商业软件,而 Linux 是开源软件,是免费、公开源代码的。
Linux 受至旷大计算机爱好者的喜爱,主要原因也有两个:它属于开源软件,用户不用支付可费用就可以获得它和它的源代码,并且可以根据自己的需要对它进行必要的修改,无偿使用,无约束地继续传播;
它具有 UNIX 的全部功能,任何使用 UNIX 操作系统或想要学习 UNIX 操作系统的人都可以从 Linux 中获益。
开源软件是不同于商业软件的一种模式,从字面上理解,就是开放源代码,大家不用担心里面会搞什么猫腻,这会带来软件的革新和安全。另外,开源其实并不等同于免费,而是一种新的软件盈利模式。目前很多软件都是开源软件,对计算机行业与互联网影响深远。开源软件本身的模式、概念比较晦涩,这套《Linux教程》旨在指导读者应用 Linux,大家简要理解即可。
近年来,Linux 已经青出于蓝而胜于蓝,以超常的速度发展,从一个丑小鸭变成了一个拥有庞大用户群的真正优秀的、值得信赖的操作系统。历史的车轮让 Linux 成为 UNIX 最优秀的传承者。
Linux 和 UNIX 的关系/区别
Linux 是一个类似 Unix 的操作系统,Unix 要早于 Linux,Linux 的初衷就是要替代 UNIX,并在功能和用户体验上进行优化,所以 Linux 模仿了 UNIX(但并没有抄袭 UNIX 的源码),使得 Linux 在外观和交互上与 UNIX 非常类似。说模仿可能会被人喷,你也可以说微创新或者改进。相比于 UNIX,Linux 最大的创新是开源免费,这是它能够蓬勃发展的最重要原因;而目前的 UNIX 大部分都是收费的,小公司和个人都难以承受。正是由于 Linux 和 UNIX 有着千丝万缕的联系,所以人们把 Linux 叫做“类UNIX系统”,下节我们将会着重讲解。UNIX/Linux系统结构
UNIX/Linux 系统可以粗糙地抽象为 3 个层次(所谓粗糙,就是不够细致、精准,但是便于初学者抓住重点理解),如图 3 所示。底层是 UNIX/Linux 操作系统,即系统内核(Kernel);中间层是 Shell 层,即命令解释层;高层则是应用层。1) 内核层
内核层是 UNIX/Linux 系统的核心和基础,它直接附着在硬件平台之上,控制和管理系统内各种资源(硬件资源和软件资源),有效地组织进程的运行,从而扩展硬件的功能,提高资源的利用效率,为用户提供方便、高效、安全、可靠的应用环境。2) Shell层
Shell 层是与用户直接交互的界面。用户可以在提示符下输入命令行,由 Shell 解释执行并输出相应结果或者有关信息,所以我们也把 Shell 称作命令解释器,利用系统提供的丰富命令可以快捷而简便地完成许多工作。3) 应用层
应用层提供基于 X Window 协议的图形环境。X Window 协议定义了一个系统所必须具备的功能(就如同 TCP/IP 是一个协议,定义软件所应具备的功能),可系统能满足此协议及符合 X 协会其他的规范,便可称为 X Window。现在大多数的 UNIX 系统上(包括 Solaris、HP-UX、AIX 等)都可以运行 CDE (Common Desktop Environment,通用桌面环境,是运行于 UNIX 的商业桌面环境)的用户界面;而在 Linux 上广泛应用的有 Gnome(见图)、KDE 等。X Window 与微软的 Windows 图形环境有很大的区别:UNIX/Linux 系统与 X Window 没有必然捆绑的关系,也就是说,UNIX/Linux 可以安装 X Window,也可以不安装;而微软的 Windows 图形环境与内核捆绑密切。
UNIX/Linux 系统不依赖图形环境,依然可以通过命令行完成 100% 的功能,而且因为不使用图形环境还会节省大量的系统资源。
作为服务器部署,绝大多数 Linux 并不安装或并不启用图形环境。是低极语言,最低的就是二进制代码的指令的,跟汇编是亲戚。要说最高的,恐怕没有。
而且,就算你编程所有语言全学精通了,也只是个程序员,再往上走还有软件的设计师等。还有高级的系统分析师等。
实验,即科学实验,英文名称scientific experiment,是人们为实现预定目的,在人工控制条件下,通过干预和控制科研对象而观察和探索科研对象有关规律和机制的一种研究方法。它是人类获得知识、检验知识的一种实践形式。
科学实验之所以受到人们的重视,之所以能比自然观察优越,这是和科学实验本身的特点密切相关的。
一,科学实验的特点
1,纯化条件
科学实验具有纯化观察对象的条件的作用。
自然界的对象和现象是处在错综复杂的普遍联系中的,其内部又包含着各种各样的因素。因此,任何一个具体的对象,都是多祥性的统一。这种情况带来了认识上的困难,因为对象的某些特性或者是被掩盖了起来,或者受到其他因素的干扰,以致对象的某些特性,或者是人们不容易认识清楚,或者是通常情况下根本就不能察觉到。而在科学实验中,人们则可以利用各种实验手段,对研究对象进行各种的人工
变革和控制,使其摆脱各种偶然因素的干扰,这样被研究对象的特性就能以纯粹的本来面目而暴露出来。人们就能获得被研究对象在自然状态下难以被观察到的特性。
例如,肉汤腐败这个常见的现象究竟是什么原因引起的?巴斯德认为煮沸的肉汤后来又变质,这是由于空气中的微生物进入肉汤造成的结果。但是,在自然的条件下,肉汤总要接触空气,而空气中又必然会有无数尘埃,尘埃上则携着微生物。所以在自然条件下,要使空气中的微生物不进入肉汤里是不可能的。于是,巴斯德就求助于实验的纯化作用。他设计了一种曲颈瓶,把肉汤注入瓶内并加热杀菌。由于瓶子是曲颈的,它使外界空气中的尘埃很不容易进入瓶内。结果肉汤并不腐败。这就是通过一定的实验手段,排除了空气中的微生物对肉汤的作用,观察到了肉汤在比较纯粹的状态下是不会腐败的。
2,强化条件
科学实验具有强化观察对象的条件的作用。
在科学实验中,人们可以利用各种实验手段,创造出在地球表面的自然状态下无法出现的或几乎无法出现的特殊条件,如超高温、超高压、超低温、超真空等等。在这种强化了的特殊条件下,人们遇到了许多前所未知的在自然状态中不不能或不易遇到的新现象,使人们发现了许多具有重大意义的新事实。
例如,人们能通过一定实验手段,造成接近绝对零度的超低温,从而使我们能把几乎所有的气体液化。在这种超低温下,人们也能发现某些材料具有特殊优良的导电性能,即具有无电阻、抗磁等超导态特性。
3,可重复性
科学实验具有可重复的性质。
在自然条件下发生的现象,往往是一去不复返的,因此无法对其反复地观察。在科学实验中,人们可以通过一定实验手段使被观察对象重复出现,这样,既有利于人们长期进行观察研究,又有利于人们进行反复比较观察,对以往的实验结果加以核对。
例如,英国化学家普利斯特列在1774 年用聚光镜加热汞的氧化物而分解出一种气体,它比空气的助燃性要强好多倍。普利斯特列把这种气体称之为失燃气体。当普利斯特列把这个消息告诉法国科学家拉瓦锡后,拉瓦锡马上动手重复了这个实验,使他终于发现加热氧化汞而分解出来的能助燃的气体不是别的而是氧气。
正是由于科学实验具有这些特点,因此科学实验越来越广泛地被应用,并且在现代科学中占有越来越重要的地位。在现代科学中,人们需要解决的研究课题日益复杂,日益多样,使得科学实验的形式也不断丰富和多样。
学汉语?很好啊!我是在校学生,但最爱中国文学,朋友都说我汉语最棒了,呵呵。我的英语也可以说不错啦(在网上跟老外聊天练出来的)
另外,我的爷爷奶奶都是跟着他们的父母从朝鲜移民来的(祖上好像还是什么李氏王朝的官员,好像在全州,后来被贬到中朝边境的什么山,嘻嘻,可惜文革时家谱被烧了),老乡哦只不过妈妈是正宗的中国人
不多说了,****:betty_lxy@hotmailcom
C语言课程设计
本文2023-09-21 22:38:12发表“资讯”栏目。
本文链接:https://www.lezaizhuan.com/article/3132.html