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

下载本文档

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

文档简介

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

2、 mkdir -p D man mkdir4. 假设目录中存在若干文件 file_num.txt ( num 表示文件编号, 18 ),使用以下 ( D )通配符可以挑选出其 中的编号为 1、2、3、5、6、7 的文件。A file_*.txtB flie_?.txtC file_1-7.txt D file_48.txt5.文件权限 r-x-w-r- 对应的八进制表示形式为 (C 0656A 0536B 0524)D 05346.7.目前流行的两种软件包管理机制,C( BA zip B rpm 下述程序第二次的输出结果为Debiantar)。使用(DD ) 软件包。 debint main(

3、void)externinta;int b=0; static int c;a+=3;other();b+=3; other();int a=5;other()1 / 10 int b=3;static int c=2;a+=5; b+=5; c+=5;printf(%d,%d,%dn,a,b,c); c=b;A 13,0,13 B 18,8,13 C 13,8,13 D 18,8,08. C 语言程序的三种基本程序是 ( A ) 。A 顺序结构,选择结构,循环结构B 递归结构,循环结构,转移结构C 嵌套结构,递归结构,顺序结构D 循环结构,转移结构,顺序结构9. 执行下面语句后的输出结果为

4、( D ) 。int i = -1;if (i =0)printf( “*n ”);i = 2;elseprintf( “%n ”);A 乱码 B % C % D 有语法错误,不能正确执行10. 在 C语言中,要求运算数必须是整型的运算符是 ( D ) 。A / B + C != D %11. 下面的程序运行结果为 ( C ) 。char *RetMenory(void)char p = “hello world ”; return p;void Test(void)char *str = NULL; str = RetMemory(); puts(str);C 结果不可预知D hello w

5、orld+ 乱码A 语法有错误,不能编译B hello world12. 下述程序的输出结果是 ( C )2 / 10int main(void)int Y=100;while(Y-); printf( “Y=%d ”,Y);A Y=0 B Y=1 C Y=-1 D Y= 随机数13. 结构体 DATA 定义如下,则 sizeof(struct DATA) 的值为 ( C ) struct DATAfloat f1;int i;char c2;A 6 B 8C 12D 1614. 以下程序的功能是将字符串 s中所有的字符 c 删除,那么空白处缺少的语句为:( A )#include int m

6、ain(void)char s80 ;abd abd0int i, j ;s2 = s3 = d gets(s) ;for ( i = j = 0 ; s i !=0 ; i+ )if ( s i != c ) Sj+ = si ;s j = 0 ;puts ( s ) ;return 0 ;A s j+ = s i B s +j = s i D s j = s i C s j = s i ; j+15. 下面函数的功能是 ( A ) int fun (char*x) char*y=x;3 / 10while(*y+); return(y-x-1);A 求字符串的长度B 比较两个字符串的大小C

7、 将字符串 x 复制到字符串 yD 将字符串 x 连接到字符串 y 后面16. /* Address */unsigned short *a = (unsigned short *)0x800;unsigned short *b= a+1;b = ? ( C )A 0x800 B 0x801 C 0x802 D 0x80417. 下面程序的功能是将已按升序排好序的两个字符串 中的空白处选择适当的语句。a和 b中的字符,按升序归并到字符串 c中,请为程序#include int main(void)char a = “acegikm char b = “bdfhjln pq char c80,

8、*p;int i = 0, j= 0, k = 0;while( ai != 0 & bj != 0 )if ( ai 6) ? puts( 6) : puts( 6B = 621. 假设文件 fileA 的符号链接为 fileB ,那么删除 fileA 后,下面的描述正确的是( D )。A.fileB 没有任何影响B . 因为 fileB 未被删除,所以 fileA 会被系统自动重新建立C .fileB 会随 fileA 的删除而被系统自动删除D .fileB 仍存在,但是属于无效文件22. 以下程序的运行结果为 ( B )void sub(int x, int y, int *z)*z =

9、 y x ;int main(void)int a,b,c ;sub(10, 5, &a) ;sub(7, a, &b) ;sub(a, b, &c) ;printf(“ %4d,% %4d4,dn ”,a,b,c);A 5, 2, 3 B -5, -12, -7 C -5, -12, -17 D 5, -2, -723、一位法官在审理一起盗窃案中,对涉及到的四名嫌疑犯甲、乙、丙、丁进行了审问。四人供述如下: 甲说:“罪犯在乙、丙、丁三人之中。 ”乙说:“我没有做案,是丙偷的。 ”5 / 10丙说:“在甲和丁中间有一人是罪犯。丁说:“乙说的是事实。 ”经过充分的调查,证实这四人中有两人说了真话

10、,另外两人说的是假话。 那么,请你对此案进行裁决,确认谁是罪犯? ( A )A 、乙和丁是盗窃犯C 、乙是盗窃犯B 、乙和丙是盗窃犯D 、甲和丁是盗窃犯二、填空题 (每空 2 分,共 14 分 )1. 对文件 file 创建一个符号链接 link ( ln s file link ) 。2. 若有以下定义和语句,则 *p0 引用的是 a 数组元素中的 ( a0) ,*(p1+1) 引用的是 a 数组元素中的 ( a3)。int *p3, a6, i;for( i = 0; i 3; i+) pi = &a2*i;3. 若有以下输入( 代表回车换行符) ,则下面程序的运行结果为 ( 7)。1 ,

11、 2int main(void)int a34 = 1,2,3,4,5,6,7,8, 9,10,11,12;int (*p)4, i, j;p = a;scanf( “%d,%d ”,&i,&j);printf( “%dn ”, *(*(p+i)+j);return 0;4. shell 脚本的本质是 ( shell 命令的有序集合 ) 。5. 将历史纪录追加到文件 file.txt 内( history file.txt) 。6. make 工程管理器根据 ( 时间戳 )来自动发现更新过的文件从而减少编译的工作量。三、简答题 (2 题,每题 5 分,共 10 分 )1、下面 findmax

12、函数将计算数组中的最大元素及其下标值,请编写该函数。#include void findmax ( int s , int t, int *k )6 / 10int main (void)int a10 = 12, 23, 34, 45, 56, 67, 78, 89, 11, 22, k;findmax ( a, 10, &k );printf ( “最大元素为: %d, 其下标值为: %dn ”, ak, k ); return 0;中包含主函数和 fun.h makefile 实现这几个文2 、现在有一个简单的工程项目,由 main.c fun.c 和 fun.h 三个文件组成。其中 m

13、ain. 的头文件, fun.c 中为功能函数的实现, fun.h 中为 fun.c 中功能函数的声明 。请写一个 件的编译。$(CC)=gcctest:fun.o main.o$(CC) fun.o main.o -o test*.o:*.c$(CC) c $() o $main.o:main.cgcc -c main.c -o main.o四、编程题 ( 每题 10 分,共 30 分 )1. 编写一个 shell 脚本完成如下功能filer 中1.在家目录下创建文件夹 filer2. 遍历当前文件夹下的文件,如果是普通文件则放入创建的3. 打印出放入 filer 文件夹中的文件数目# !/

14、bin/bash mkdir /filernum=0filelist=lsfor file in $filelistdoif test -f $filethencp $file /filer num=expr $num + 1 fi7 / 10done echo $numa1010 )2. 打印杨辉三角形前 10 行。(提示:定义数组1111211331146411510105 1int main()int i , j, a1010 = 0;for ( i=0; i10; i+)ai0 = 1;for ( j=1; j=i; j+)aij = ai-1j-1 + ai-1j;for ( i=0

15、; i10; i+)for ( j=0; j=i; j+)printf( “4d”, aij);printf( “ n” );8 / 10写一个程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 -1;i+)For(j = 0;j pj + 1.salary)tmp = pj + 1;Pj + 1 = pj;Pj = tmp;Int main()Int i

温馨提示

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

评论

0/150

提交评论