Linux程序设计考试例题
- 格式:docx
- 大小:19.09 KB
- 文档页数:7
Linux复习题一、单项选择题1. Linux在确定文件名filename是否代表目录文件时,依据( C )。
A. 由程序员指定B. filename是否位于/etc目录中C. 该文件i结点中的类型信息D. filename中的扩展名2. . ls命令用于(A )。
A. 查看目录的内容B. 查看文本文件的内容C. 查看帮助D. 查看打印机3. rmdir命令可( B )。
A. 创建子目录B. 删除子目录C. 移动子目录D. 命名子目录4. cat命令可( B )。
A. 设置捕鼠器B. 查看子目录内容C. 查看文本文件内容D. 查看二进制文件5. stdin表示( C )。
A. 标注错误B. 标准输出C. 标准输入D. 标准打印6. cp命令用于( A )。
A. 拷贝文件B. 查询数据库C. 网络连接D. 执行命令7. 在创建Linux分区时,一定要创建(D )两个分区A. FAT/NTFSB. FAT/SWAPC. NTFS/SWAPD.SW AP/根分区8 .在Red Hat Linux 9中,系统默认的(A)用户对整个系统拥有完全的控制权。
A. rootB. guestC. administratorD.supervistor.9. 如果要列出一个目录下的所有文件需要使用命令行( C )。
A. ls –lB. lsC. ls –a(所有)D. ls –d10. 除非特别指定,cp假定要拷贝的文件在下面哪个目录下( D )A. 用户目录B. home目录C. root目录D. 当前目录11. 按下(A )键能终止当前运行的命令A. Ctrl-CB. Ctrl-FC. Ctrl-BD. Ctrl-D12. 用来分离目录名和文件名的字符是( B )A. dash (-)B. slash (/)C. period (.)D. asterisk(*)13.在下列分区中,Linux默认的分区是(B )A. FAT32B. EXT3 C FAT .D NTFS14.Linux文件权限一共10位长度,分成四段,第三段表示的内容是___C___ 。
嵌入式Linux应用程序设计(试题)1、嵌入式linux操作系统的特点(多选) ABCDEA、低廉性B、广泛性C、可移植性好D、良好的网络支持E、实时性好2、Linux的基本思想有两点:A、一切都是文件;B、每个软件都有确定的用途。
3、嵌入式Linux系统构成:嵌入式微处理器,外围硬件设备,嵌入式操作系统,用户应用程序。
4、硬盘分区一般分为:主分区,扩展分区,逻辑分区,交换分区5、主分区和扩展分区的最大的区别:CA、大小不一样B、挂载点不一样C、主分区的作用就是用来进行启动操作系统的,因此引导程序都应该存放在主分区上。
D、主分区在硬盘物理位置的最前面6、Linux分区类型默认的是:CA. vfatB. ext2/ext3C. swapD. dos7、如何从当前系统中卸载一个已装载的文件系统 AA. umount [挂载点目录]B. dismountC. mount –u [挂载点目录]D. 从 /etc/fstab 中删除这个文件系统项8、用户切换指令是: AA、suB、sudoC、useraddD、userdel9、查看当前系统中的进程指令 AA、psB、killC、catD、man10、下面杀死一个ID号为9号的进程的操作正确的是 CA、ps -efB、kill 9C、kill -9 9D、rm 911、使用重定向来把ls输出保存到文件test.txt中:AA、ls > test.txtB、ls < test.txtC、ls | test.txtD、ls | grep test.txt12、使用重定向来把test.txt文件中内容输出:BA、more > test.txtB、more < test.txtC、more | test.txtD、more | grep test.txt13、解压文件tar.tar.gz:CA、tar -zxvf tar.tar.gzB、tar -jxvf tar.tar.gzC、tar -cxvf tar.tar.gzD、tar -jvf tar.tar.gz14、把目录/aaa内文件及目录的压缩到文件tar.tar.gz:DA、tar -zxvf tar.tar.gz /aaaB、tar -jxvf tar.tar.gz /aaaC、tar -cxvf tar.tar.gz /aaaD、tar -cvf tar.tar.gz /aaa15、vi 有几种模式:三种模式16、vi中的操作指令::w 保存:q 退出:q! 强行退出:wq 保存退出:w [filename] 保存到filename文件中:set nu 显示行号,设定之后,会在每一行的前面显示对应行号:set nonu 取消行号显示17、Shell是:命令语言,命令解释程序及程序设计语言的统称。
Linux操作系统考试题库及答案一、单选题(每题2分,共20分)1. Linux系统中,哪个命令用于查看当前路径?A. pwdB. lsC. cdD. mkdir答案:A2. 在Linux中,如何查看当前登录用户信息?A. whoB. whoamiC. idD. users答案:A3. 以下哪个选项不是Linux文件系统的组成部分?A. 文件B. 目录C. 盘符D. 特殊文件答案:C4. Linux系统中,如何查看一个文件的内容而不编辑它?A. viB. catC. editD. touch答案:B5. 在Linux中,哪个命令用于改变文件权限?A. chmodB. chownC. chgrpD. chattr答案:A6. Linux系统中,如何查看系统运行时间和平均负载?A. uptimeB. topC. psD. free答案:A7. 在Linux中,如何查看磁盘使用情况?A. dfB. duC. lsD. pwd答案:A8. Linux系统中,哪个命令用于查找文件?A. findB. grepC. locateD. which答案:A9. 在Linux中,如何查看当前路径下所有文件和目录的详细信息?A. ls -lB. ls -aC. ls -RD. ls -d答案:A10. Linux系统中,如何创建一个名为“test”的目录?A. mkdir testB. make testC. create testD. new test答案:A二、多选题(每题3分,共15分)1. 在Linux中,哪些命令可以用来查看进程信息?(多选)A. psB. topC. killD. jobs答案:A, B2. 以下哪些选项是Linux系统中的文本编辑器?(多选)A. viB. nanoC. emacsD. gedit答案:A, B, C3. 在Linux中,哪些命令可以用来压缩文件?(多选)A. gzipB. tarC. zipD. bzip2答案:A, B, C, D4. 以下哪些选项是Linux系统中的网络配置工具?(多选)A. ifconfigB. ipC. netstatD. route答案:A, B, C, D5. 在Linux中,哪些命令可以用来管理服务?(多选)A. systemctlB. serviceC. chkconfigD. init答案:A, B, C三、判断题(每题2分,共10分)1. Linux系统中,使用“rm -rf”命令可以安全地删除文件和目录。
Linux考试试题100道(附答案)1、Linux系统中,用户文件描述符0 表示______。
A.标准输入设备文件描述符B.标准输出设备文件描述符B.管道文件描述符 D.标准错误输出设备文件描述符答案:A2、以长格式列目录时,若文件test的权限描述为:drwxrw-r–,则文件test的类型及文件主的权限是______。
A.目录文件、读写执行B.目录文件、读写C.普通文件、读写D.普通文件、读答案:A3、当字符串用单引号(’’)括起来时,SHELL将______。
A.解释引号内的特殊字符B.执行引号中的命令C.不解释引号内的特殊字符D.结束进程答案:C4、/etc/shadow文件中存放______。
A.用户账号基本信息B.用户口令的加密信息C.用户组信息D.文件系统信息答案:B5、若当前目录为/home,命令ls–l 将显示home 目录下的()。
A.所有文件B.所有隐含文件C.所有非隐含文件D.文件的具体信息答案:D6、为卸载一个软件包,应使用_____。
A.rpm -iB.rpm -eC.rpm -qD.rpm -V答案:B7、下面关于文件“/etc/sysconfig/network-scripts/ifcfg-eth0”的描述哪个是正确的?( )。
A.它是一个系统脚本文件B.它是可执行文件C.它存放本机的名字D.它指定本机eth0的IP地址答案:D8、如何快速切换到用户John的主目录下?( )A.cd @JohnB.cd #JohnC.cd &JohnD.cd ~John答案:D9、启动DNS服务的守护进程()A. httpd startB.httpd stopC. named startD. named stop答案:C10、Linux有三个查看文件的命令,若希望在查看文件内容过程中可以用光标上下移动来查看文件内容,应使用命令()A.cat B. more C. less D. menu答案:C11、在LINUX中,要查看文件内容,可使用()命令。
Linux考试试题及答案一、选择题1、在/etc/fstab 文件中指定的文件系统加载参数中,那个参数一般用于CD-ROM 等移动设备(D )A. defaultsB. swC. rw 和 roD. noauto2、Linux 文件权限一共 10 位长度,分成四段,第三段表示的内容是(C)A. 文件类型B. 文件所有者的权限C. 文件所有者所在组的权限D. 其他用户的权限3、在使用 mkdir 命令创建新的目录时,在其父目录不存在时先创建父目录的选项是(D)A. -mB. -dC. -fD. -p4、一台主机要实现通过局域网与另一个局域网通信,需要做的工作是(C)A. 配置域名服务器B. 定义一条本机指向所在网络的路由C. 定义一条本机指向所在网络网关的路由D. 定义一条本机指向目标网络网关的路由5.下列提法中,不属于 ifconfig 命令作用范围的是(D)A. 配置本地回环地址B. 配置网卡的 IP 地址C. 激活网络适配器D. 加载网卡到内核中6、下列关于链接描述,错误的是(B)A. 硬链接就是让链接文件的 i 节点号指向被链接文件的 i 节点B. 硬链接和符号连接都是产生一个新的 i 节点C. 链接分为硬链接和符号链接D. 硬连接不能链接目录文件7、下列文件中,包含了主机DNS 配置信息的文件是(C )A. /etc/host.confB. /etc/hostsC. /etc/resolv.confD. /etc/networks8、那个命令可以从文本文件的每一行中截取指定内容的数据(D)A.cpB.ddC.fmtD.cut9、Linux 有三个查看文件的命令,若希望在查看文件内容过程中可以用光标上下移动来查看文件内容,应使用(C)命令。
A.catB.moreC.lessD.menu10、对名为 fido 的文件用 chmod 551 fido 进行了修改,则它的许可权是(D)A.-rwxr-xr-xB.-rwxr--r--C.-r--r--r--D.-r-xr-x—x11、文件 exer1 的访问权限为 rw-r--r--,现要增加所有用户的执行权限和同组用户的写权限,下列命令正确的是(A)A.chmod a+x g+w exer1B.chmod 765 exer1C.chmod o+x exer1D.chmod g+w exer112、有关归档和压缩命令,下面描述正确的是(C)A.用 uncompress 命令解压缩由 compress 命令生成的后缀为.zip 的压缩文件B.unzip 命令和 gzip 命令可以解压缩相同类型的文件C.tar 归档且压缩的文件可以由 gzip 命令解压缩D.tar 命令归档后的文件也是一种压缩文件13、下列那一项不是进程和程序的区别(B)A.程序是一组有序的静态指令,进程是一次程序的执行过程B.程序只能在前台运行,而进程可以在前台或后台运行C.程序可以长期保存,进程是暂时的D.程序没有状态,而进程是有状态的14、下列关于/etc/fstab 文件描述,正确的是(D)A.fstab 文件只能描述属于 linux 的文件系统B.CD_ROM 和软盘必须是自动加载的C.fstab 文件中描述的文件系统不能被卸载D.启动时按 fstab 文件描述内容加载文件系统15、如果想配置一台匿名 ftp 服务器,应修改那个文件(C)A./etc/gatewayB./etc/ftpserversC./etc/ftpusersD./etc/inetd.conf16、关于进程调度命令,那一项是不正确的(B)A.当日晚 11 点执行 clear 命令,使用 at 命令:at 23:00 today clearB.每年 1 月 1 日早上 6 点执行 date 命令,使用 at 命令:at 6am Jan 1 dateC.每日晚 11 点执行 date 命令,crontab 文件中应为:0 23 * dateD.每小时执行一次 clear 命令,crontab 文件中应为:0 */1 * clear17、可以完成主机名与 IP 地址的正向解析和反向解析任务的命令是(A)A.nslookupB.arpC.ifconfigD.dnslook18、将光盘/dev/hdc 卸载的命令是(C)A.umount/dev/hdcB.unmount/dev/hdcC.umount/mnt/cdrom /dev/hdcD.unmount/mnt/cdrom /dev/hdc19、用 ftp进行文件传输时,有两种模式(C)E.Word 和 binaryF.txt 和 Word DocumentG.ASCII 和 binaryH.ASCII 和 Rich Text Format20、crontab 文件由六个域组成,每个域之间用空格分割,其排列如下(B)I.MIN HOUR DAY MONTH YEAR COMMANDJ.MIN HOUR DAY MONTH DAYOFWEEK COMMANDMAND HOUR DAY MONTH DAYOFWEEKMAND YEAR MONTH DAY HOUR MIN二、填空题1. 在Linux系统中,以文件方式访问设备。
linux试题及答案Linux是一种开源的类Unix操作系统,它以其稳定性、安全性和灵活性而广受欢迎。
Linux系统广泛应用于服务器、嵌入式系统和个人电脑。
以下是一些常见的Linux考试题目及其答案,供学习者参考。
题目1:Linux操作系统的主要特点是什么?答案:Linux操作系统的主要特点包括开源性、多用户多任务、良好的网络功能、丰富的软件资源、高度的可定制性、良好的安全性和稳定性。
题目2:请解释什么是Linux内核?答案:Linux内核是Linux操作系统的核心部分,负责管理系统资源,如CPU时间、内存、文件系统和外围设备。
它提供了操作系统的基本功能,如进程管理、文件系统管理、网络通信等。
题目3:如何在Linux系统中查看当前登录用户?答案:可以使用`who`命令来查看当前登录的用户。
此外,`w`命令可以显示当前登录的用户以及他们正在运行的进程。
题目4:请说明Linux系统中的文件权限是如何表示的?答案:Linux系统中的文件权限通常以10个字符表示,前三个字符表示所有者权限,中间三个表示所属组权限,最后四个表示其他用户权限。
权限字符包括:r(读)、w(写)、x(执行)和-(无权限)。
例如,`-rw-r--r--`表示所有者有读写权限,所属组和其他用户只有读权限。
题目5:如何使用命令行在Linux系统中创建一个新文件?答案:可以使用`touch`命令来创建一个新文件,例如`touchfilename`。
如果文件已存在,则`touch`命令会更新文件的访问和修改时间。
题目6:请解释Linux系统中的软链接和硬链接的区别。
答案:硬链接是指向文件inode的另一个目录项,它和原文件是同一个文件系统上的文件,删除原文件会导致硬链接失效。
软链接(符号链接)则类似于Windows中的快捷方式,它是一个指向原文件路径的文件,可以跨文件系统。
题目7:如何在Linux中查看系统运行的进程?答案:可以使用`ps`命令查看当前运行的进程,例如`ps aux`会显示所有用户的进程信息。
Linux操作系统考试题库及答案一、单项选择题1. Linux操作系统的创始人是()。
A. Bill GatesB. Linus TorvaldsC. Steve JobsD. Richard Stallman答案:B2. 在Linux系统中,查看当前路径的命令是()。
A. pwdB. lsC. cdD. mkdir答案:A3. 在Linux系统中,以下哪个命令用于查看文件内容?()A. catB. grepC. findD. touch答案:A4. 在Linux系统中,以下哪个命令用于创建目录?()A. touchB. mkdirC. rmdirD. rm答案:B5. 在Linux系统中,以下哪个命令用于删除文件?()A. mkdirB. rmdirC. rmD. touch答案:C6. 在Linux系统中,以下哪个命令用于查找文件?()A. grepB. findC. catD. ls答案:B7. 在Linux系统中,以下哪个命令用于查看当前登录用户?()A. whoB. userC. usersD. whoami答案:A8. 在Linux系统中,以下哪个命令用于查看系统运行时间和平均负载?()A. uptimeB. topC. psD. free答案:A9. 在Linux系统中,以下哪个命令用于查看磁盘空间使用情况?()A. dfB. duC. lsD. pwd答案:A10. 在Linux系统中,以下哪个命令用于查看网络配置?()A. ifconfigB. netstatC. routeD. all of the above答案:D二、多项选择题1. 在Linux系统中,以下哪些命令用于文本编辑?()A. viB. nanoC. emacsD. gedit答案:ABC2. 在Linux系统中,以下哪些命令用于文件权限管理?()A. chmodB. chownC. chgrpD. ls答案:ABC3. 在Linux系统中,以下哪些命令用于进程管理?()A. psB. topC. killD. free答案:ABC4. 在Linux系统中,以下哪些命令用于网络管理?()A. ifconfigB. netstatC. pingD. route答案:ABCD5. 在Linux系统中,以下哪些命令用于磁盘管理?()A. dfB. duC. fdiskD. mount答案:ABCD三、判断题1. Linux是一个开源的操作系统。
L i n u x题库及答案(共17页) -本页仅作为预览文档封面,使用时请删除本页-一、填空题1. 建立用户账号的命令是__useradd________。
2. 修改账号密码的命令是__passwd________。
3. 更改用户密码过期信息的命令是__chage________。
4. 创建一个新组的命令是___groupadd_______。
5. 用于在不注销的情况下切换到系统中的另一个用户的命令是___su_______。
6. 显示系统中进程信息的命令是_____ps__-aux_____。
7. 以树状方式表现进程的父子关系的命令是___pstree_________。
8. 显示当前系统正在执行的进程的相关信息的命令是___top_________。
9. 显示或者设置当前系统的主机名的命令是___hostname_________。
10. Linux 系统中使用最多的文件系统是_______ext3/4____________。
11. 列出磁盘分区信息的命令是___df_______。
12. 将设备挂载到挂载点处的命令是__mount________。
13. 检查文件系统的磁盘空间占用情况的命令是____du______。
14. 统计目录(或文件)所占磁盘空间大小的命令是__du________。
15. 为文件建立在其他路径中的访问方法(链接)的命令是__ln_______,链接有两种:___软链接______和___硬链接 ______。
改变文件或目录的读写和执行权限的命令是__chmod________。
17. 指定在创建文件或目录时预设权限掩码的命令是___umask_______。
18. 改变文件或目录所有权的命令是__chown________。
19. ACL 可以为某个文件单独设置该文件具体的某用户或组的权限。
需要掌握的命令也只有三个:__getfacl__、__setfacl__、__chacl__。
LINUX毕业考试试卷(笔试)姓名:班级:分数:一、填空题(每题1分共60分)1在linux系统中,以( 文件)方式访问设备。
2.卸载挂载点目录的命令正确的是:(umount )3在linux命令中,#find /etc –size -2500c –print 该命令行可以解释为(查找一个文件尺寸小于为2500bytes)4. 编辑器vi中退出并且保存的命令分别是: ( wq/x)5. Linux文件系统中每个文件用( -)来标识。
6. 在安装Linux系统中,使用(setup )程序对网络进行配置,该安装程序会一步步提示用户输入主机名、域名、域名服务器、IP地址、网关地址和子网掩码等必要信息。
7.某文件的权限为:drw-r--r--,该文件属性是( 文件夹) 。
8.安装Linux系统对硬盘分区时,必须有两种分区类型:( 主分区)和( 扩展分区)。
9.在linux系统中,ping 192.168.1.100命令行可以解释为(测试本机与主机192.168.1.100的连通性)10. 链接分为( 硬)和( 软)链接。
11. 唯一标识每一个用户的是( UID)和( 用户名)。
12. 在Linux系统中所有内容都被表示为文件,组织文件的各种方法称为( 文件管理)。
13. DHCP可以实现动态( ip)地址分配。
14. DNS实际上是分布在internet上的主机信息的数据库,其作用是实现(ip和域名)之间的转换。
15. vi编辑器具有两种工作模式:( 命令)和( 编辑)。
16. 可以用ls –al命令来观察文件的权限,每个文件的权限都用10位表示,并分为四段,其中第一段占( 1 )位,表示( 文件类型),第二段占3位,表示(拥有者)对该文件的权限。
17.(Ping)命令用于测试网络的连通性。
18.要显示png.tar文件的内容,应该使用的命令为:(# tar –tvf png.tar)。
19. 在使用ls命令时,用八进制形式显示非打印字符应使用参数( -q)。
例题1 程序A生成1个文件,其大小为1000字节,其内容为小写字母abcd...z的循环。
试编写该程序。
文件名t1.c#include <stdio.h>#include <stdlib.h>#include <fcntl.h>int main(){char x;int i;int fd=open("aa",O_CREAT|O_TRUNC|O_WRONLY,0666);if(fd<0){printf("open file error!\r\n");exit(0);};for(i=0;i<1000;i++){x='a'+(i%26);write(fd,&x,1);}close(fd);}例题2 读出一个文件a.txt的倒数第2个字节和倒数第1个字节,显示在屏幕上。
并且显示出当前时间。
文件名t2.c#include <stdio.h>#include <stdlib.h>#include <fcntl.h>#include <time.h>int main(){char x[2];int fd=open("a.txt",O_RDONLY);if(fd<0){printf("open file error!\r\n");exit(0);};lseek(fd,-3,SEEK_END);read(fd,x,2);printf("倒数第二和第一字节为%c %c\r\n",x[0],x[1]);close(fd);time_t t;time(&t);printf("当前时间:%s",asctime(localtime(&t)));}例题3 产生一个进程树父进程有3个子进程,这三个子进程分别有2个子进程。
每个进程退出前打印自己的进程id号文件名t3.c#include <stdio.h>#include <stdlib.h>#include <fcntl.h>int main(){int ret,i;for(i=0;i<3;i++){ret=fork();if(ret==0)break;}if(ret==0)for(i=0;i<2;i++){ret=fork();if(ret==0)break;}sleep(10);printf("thread %d is exiting now \r\n",getpid());}测试方法:在另一窗口#su#pstree -a例题4 编写两程序实现消息队列通信程序名t4snd.c#include <stdio.h>#include <stdlib.h>#include <fcntl.h>#include <string.h>#include <sys/msg.h>#include <sys/types.h>#include <sys/ipc.h>#include <sys/errno.h>struct msgbuf{long mtype;char ctext[100];};int main(){struct msgbuf buf;int msid;msid=msgget(0x1000,0666|IPC_CREAT);if(msid<0){printf("open failed\r\n");exit(0);};while(1){buf.mtype=getpid();scanf("%s",buf.ctext);while((msgsnd(msid,&buf,strlen(buf.ctext),0))<0){if(errno==EINTR)continue;return ;}if(strcmp(buf.ctext,"exit")==0)break;}return 0;}文件名t4rev.c#include <stdio.h>#include <stdlib.h>#include <fcntl.h>#include <string.h>#include <sys/msg.h>#include <sys/types.h>#include <sys/ipc.h>#include <sys/errno.h>struct msgbuf{long mtype;char ctext[100];};int main(){struct msgbuf buf;int msid,ret;msid=msgget(0x1000,0666|IPC_CREAT);if(msid<0){printf("open failed\r\n");exit(0);};while(1){memset(&buf,0,sizeof(buf));while((ret=msgrcv(msid,&buf,sizeof(buf.ctext),0,0))<0){if(errno==EINTR)continue;return ;}printf("%d %s\r\n",buf.mtype,buf.ctext);if(strcmp(buf.ctext,"exit")==0)break;}msgctl(msid,IPC_RMID,NULL);return 0;}测试方法首先运行t4snd, 输入三行字符串,最后一行必须是小写字母的exit#./t4sndHelloWorldexit则t4snd自动退出然后运行t4rev#./t4rev例题5 网络TCP的服务端文件名server.c#include <stdio.h>#include <stdlib.h>#include <string.h>#include <arpa/inet.h>#include <sys/types.h>#include <sys/socket.h>#include <unistd.h>#define PORT 82#define BUFSIZE 512char buf[BUFSIZE+1];int main(){//第1 步创建套接字int sockfd=socket(AF_INET,SOCK_STREAM,0);int opt=SO_REUSEADDR;setsockopt(sockfd,SOL_SOCKET,SO_REUSEADDR,&opt,sizeof(opt));//端口重用//第2 步设置地址结构体struct sockaddr_in saddr,caddr;saddr.sin_family=AF_INET;//使用internet 协议saddr.sin_port=htons(PORT);inet_aton("0.0.0.0",&saddr.sin_addr);//第3 步绑定bind(sockfd,(struct sockaddr*)&saddr,sizeof(saddr));//第4 步监听listen(sockfd,128);while(1){int len=sizeof(caddr);int new_fd=accept(sockfd,(struct sockaddr*)&caddr,&len); //第5 步接收int ret=fork();if(ret!=0)continue;while(1){int n=read(new_fd,buf,sizeof(buf));if(n==0){printf("%s:%d close\r\n",inet_ntoa(caddr.sin_addr),htons(caddr.sin_port));exit(0);}buf[n]=0;printf(" %s from %s:%d\r\n",buf,inet_ntoa(caddr.sin_addr),htons(caddr.sin_port));}}}例题6 SDL的简单动画在编写程序前,要确定2件事情:1 SDL环境安装了2 b.bmp文件和源文件和编译后的可执行文件位于同一路径下文件名mv.c#include <SDL/SDL.h>#include <stdlib.h>#include <stdio.h>#define X 800#define Y 600int main(){SDL_Surface *s;SDL_Surface *image;SDL_Rect dest,dest1;int x,y;if(SDL_Init(SDL_INIT_VIDEO)<0){printf("无法初始化SDL\r\n");exit(-1);};s=SDL_SetVideoMode(X,Y,16,SDL_SWSURFACE);if(s==NULL){printf("无法设置%d*%d的视频模式\r\n",X,Y);exit(-1);};image=SDL_LoadBMP("b.bmp");if(image==NULL){printf("无法加载图像%s\r\n");exit(0);};dest.x=0;dest.y=0;dest.w=image->w;dest.h=image->h;while(1){SDL_FillRect(s,&dest,0);dest.x=dest.x+2;//变化的x坐标dest.y=dest.y+3;//变化的y坐标if(dest.x>X||dest.y>Y)dest.x=dest.y=0;SDL_BlitSurface(image,NULL,s,&dest);/*对象目标快速转换*/SDL_UpdateRect(s,0,0,0,0);SDL_Delay(10);SDL_Event e;if(SDL_PollEvent(&e))switch(e.type){case SDL_QUIT:exit(0);break;}}return 0;}注意编译命令#gcc mv.c -o mv -lSDL#./mv如果这时候报错并且不是代码问题和b.bmp的问题,则可能是xwindow的问题,应该按照下面的方式解决问题:#exit$xhost +$./mv注意你这时候不是以root身份运行程序了!测试方法:然后编译,利用给你的client.c生产客户端。