Linux及C考试题附答案_第1页
Linux及C考试题附答案_第2页
Linux及C考试题附答案_第3页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、华清远见嵌入式学院Linux及C考试题(A卷)I- 5 CBCDB6-10 DBADDII- 15 CCCAA16-20 CADDCD A21-23 DBA一、选择题(23题,每空2分,共46分)1. 常见的Linux发行版本有很多,下而不是Linux发行版本的是(C)。A Red Hat Linux B Ubuntu Linux C unix D红旗2. 下面不是对Linux操作系统特点描述的是(B )。A 良好的可移植性B稳定性低C多用户D多任务3. 嵌套创建目录的命令可以使用(C )。A mkdir -h B help mkdir C mkdir -p D man mkdir4. 假设目

2、录中存在若干文件(num衣示文件编号,18),使用以下(D )通配符可以挑选出其中的编号为1、2、3、5、6、7 的文件。A file_*txt B flie_?txt C filejl-7j.txt D file_八48txt5. 文件权限r-x-w-r-对应的八进制衣示形式为(B )A 0536B 0524C 0656D 05346. 目前流行的两种软件包管理机制,Debian使用(D )软件包。A zip B rpm C tar D deb7. 下述程序第二次的输出结果为(B )。int main(void)extern int a;int b=0:static int c;a+=3;o

3、ther();b+=3;other();int a=5;other()int b=3;static int c=2;a+=5: b+=5; c+=5;printfC%d,%d,%dnM,a,b,c);c=b;A 13,0.13B 18,8.13C 13,8.13D 1&08. C语言程序的三种基本程用是(A )。A 顺序结构,选择结构,循环结构B 递归结构,循环结构,转移结构C 嵌套结构,递归结构,顺序结构D 循环结构,转移结构,顺序结构9. 执行下面语句后的输出结果为(D )。int i = -1;if(i=0)printfC#*ir);i = 2;elseprintf(“%iT);A乱码

4、B %C %D有语法错误,不能正确执行10. 在C语言中,要求运算数必须是整型的运算符是(D)oA /B +C !=D %门下面的程序运行结果为(C )ochar *RetMenory(void)char p = hello world;return p;void Test(void)char *str = NULL;str = RetMemory();puts(str);A语法有错误,不能编译B hello worldC结果不可预知D hello wold+乱码12. 下述程序的输出结果是(C)oint main(void)int Y=1OO;while(Y-);printf(fcCY=%d

5、,Y);A Y=0B Y=1C Y=-l D Y=随机数13. 结构体DATA定义如下,则sizeof(struct DATA)的值为(C )。struct DATAfloat fl;int i;char c2;A 6B 8C 12D 1614. 以下程序的功能是将字符串s中所有的字符c删除,那么空白处缺少的语句为:(A)o#include int main(void)char s80 ; abd abd0int i, j ;s2 = s3 =gets(s);for (i = j = 0 ; s i != 0 ; i+ )if(si!=c)SH+1 = sil ;sj=W;puts (s);r

6、eturn 0 ;A s j+ =siB s +j = s i C s j = s i ; j+D s j = s i 15. 下面函数的功能是(A )。int fun (chai *x)char*y=x;while(*y+); return(y-x-l);A 求字符串的长度B 比较两个字符串的大小C 将字符串x复制到字符串yD 将字符串x连接到字符串y后面16. /* Address */unsigned short *a = (unsigned short *)0x800:unsigned short *b= a+1:b=?(C )D 0x804A 0x800B 0x801C 0x8021

7、7. 下面程序的功能是将已按升序排好序的两个字符串a和b中的字符,按升序归并到字符串c中,请为程疗: 中的空白处选择适当的语句。#include int main(void)char a = acegikm;char b = bdfhjln pq;char c80, *p;int i = 0z j= 0, k = 0;while( ai != /0/ & bj !=0r)if ( ai 6) ? puts(n 6) : puts( 6B = 621. 假设文件fileA的符号链接为fileB,那么删除fileA后,下面的描述正确的是(D )。AJ.fileB没有任何影响【B.因为fileB未被

8、删除,所以fileA会被系统自动重新建立CJ.fileB会随fileA的删除而被系统自动删除D .fileB仍存在,但是属于无效文件22. 以下程用的运行结果为(B)void sub(int xz int y, int *z)*z = y - x ;int main(void)int a,b,c;sub(10, 5, &a);sub(7, a, &b);sub(a, b, &c);printf( v%4d/%4d, %4dn/za,b,c);A 5,2,3B -5, -12, -7C -5, -12, -17D 5, -2, -723、一位法官在审理一起盗窃案中,对涉及到的四名嫌疑犯甲.乙、丙

9、、丁进行了审问。四人供述如下: 甲说:“罪犯在乙、丙、丁三人之中。”乙说:“我没有做案,是丙偷的/丙说:“在甲和丁中间有一人是罪犯。”丁说:乙说的是事实。”经过充分的调查,证实这四人中有两人说了真话,另外两人说的是假话。 那么,请你对此案进行裁决,确认谁是罪犯?( A )A、乙和丁是盗窃犯B、乙和丙是盗窃犯C、乙是盗窃犯D、甲和丁是盗窃犯二、填空题(每空2分,共14分)1. 对文件file创建-个符号链接link( ln-s )2. 若有以下定义和语句,则邛0引用的是a数组元素中的(a0). *(pl+l)引用的是a数组元素中的(a3)。int *p3, a6z i;for( i = 0; i

10、 3; i+) pi = &a2*i;3. 若有以下输入(代衣回车换行符),则下面程序的运行结果为(7)。1, 2int main (void)int a 4 = 1,2,3,4,5,67,8,9,10,11,12;int (*p)4, i, j;P = a;scanf(、d,%d:&i,&j);printf(u%dnz/, *(*(p+i)+j);return 0;4. shell脚本的本质是(shell命令的有序集合)。5. 将历史纪录追加到文件内(history )6. make丄程管理器抿据( 时间戳)来自动发现更新过的文件从而减少编译的工作量。三、简答题(2题,每题5分,共10分)1

11、、下面findmax函数将计算数组中的最大元素及其下标值,请编写该函数。#include void find max (int s( , int t, int *k )int main (void)int a10 = l2, 23, 34,45,56, 67, 78, 89, 11,22, k;find max (a, 10. &k );printf (最大元素为:其下标值为:dn: ak, k );return 0;2、现在有个简单的匸程项目,由main.c fun.c和fun.h三个文件组成其中main.c中包含主函数和fun.h 的头文件,fun.c中为功能函数的实现,fun.h中为fu

12、n.c中功能函数的声明。请写个makefile实现这几个文 件的编译。$(CC)=gcctest:fun.o main.o$(CC) fun.o main.o -o test$(CC) -c $() -o $main.o:main.cgcc -c main.c -o main.o四. 编程题(每题10分,共30分)1.编写个shell脚本完成如下功能:1. 在家目录下创建文件夹filer2. 遍历当前文件夹下的文件,如果是普通文件则放入创建的filer中3. 打印出放入filer文件夹中的文件数目# !/bin/bashmkdir “filernum=0、ls、for $doif test -

13、f $filethencp $file /filernum=expr $num + 1、doneecho Snum2打印杨辉三角形前10行。(提示:立义数组a1010)11 11 2113 3114 6411510105 1int main()intij, a1010=0;for (i=0; i10; i+)ai0=l;for(j=l;j=i;j+)aiU = aMj-l + aM|j;for (i=0; i10: i卄)for (j=0; j=i;j+)printf( , ai(j);primf( “n);3创建个结构体数组,数组名为student,成员包含学号,姓名,成绩(数据类型自己设定。写个程 序,要求可以循环的从终端输入学生信息。完成输入后自动打印岀所输入的学生信息,打印结果按学生成 绩从低到高打印。Struct StudentInt num;Char name64;Int salary;studentN;Sort(struct Student * p,int n)Int i,j;Struct student tmp;For(i = 0;i n -l;i+)For(j = 0;j pj + 1.salary)tmp = pj + 1;Pj + i = pD;Pj = tmp;Int main()

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论