Linux及C考试题附答案Word下载.docx

上传人:b****2 文档编号:5331005 上传时间:2023-05-05 格式:DOCX 页数:14 大小:19.74KB
下载 相关 举报
Linux及C考试题附答案Word下载.docx_第1页
第1页 / 共14页
Linux及C考试题附答案Word下载.docx_第2页
第2页 / 共14页
Linux及C考试题附答案Word下载.docx_第3页
第3页 / 共14页
Linux及C考试题附答案Word下载.docx_第4页
第4页 / 共14页
Linux及C考试题附答案Word下载.docx_第5页
第5页 / 共14页
Linux及C考试题附答案Word下载.docx_第6页
第6页 / 共14页
Linux及C考试题附答案Word下载.docx_第7页
第7页 / 共14页
Linux及C考试题附答案Word下载.docx_第8页
第8页 / 共14页
Linux及C考试题附答案Word下载.docx_第9页
第9页 / 共14页
Linux及C考试题附答案Word下载.docx_第10页
第10页 / 共14页
Linux及C考试题附答案Word下载.docx_第11页
第11页 / 共14页
Linux及C考试题附答案Word下载.docx_第12页
第12页 / 共14页
Linux及C考试题附答案Word下载.docx_第13页
第13页 / 共14页
Linux及C考试题附答案Word下载.docx_第14页
第14页 / 共14页
亲,该文档总共14页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

Linux及C考试题附答案Word下载.docx

《Linux及C考试题附答案Word下载.docx》由会员分享,可在线阅读,更多相关《Linux及C考试题附答案Word下载.docx(14页珍藏版)》请在冰点文库上搜索。

Linux及C考试题附答案Word下载.docx

other();

b+=3;

int 

a=5;

other() 

int 

b=3;

static 

c=2;

a+=5;

b+=5;

c+=5;

printf("

%d,%d,%d\n"

a,b,c);

c=b;

}

[A]13,0,13[B]18,8,13[C]13,8,13[D]18,8,0

8.C语言程序的三种基本程序是(A)。

[A]顺序结构,选择结构,循环结构

[B]递归结构,循环结构,转移结构

[C]嵌套结构,递归结构,顺序结构

[D]循环结构,转移结构,顺序结构

9.执行下面语句后的输出结果为(D)。

inti=-1;

if(i<

=0)

{}

printf(“****\n”);

i=2;

else

printf(“%%%%\n”);

[A]乱码[B]%%[C]%%%%[D]有语法错误,不能正确执行

10.在C语言中,要求运算数必须是整型的运算符是(D)。

[A]/[B]++[C]!

=[D]%

11.下面的程序运行结果为(C)。

char*RetMenory(void)

{

charp[]=“helloworld”;

returnp;

voidTest(void)

char*str=NULL;

str=RetMemory();

puts(str);

[A]语法有错误,不能编译[B]helloworld[C]结果不可预知[D]helloworld+乱码

12.下述程序的输出结果是(C)。

intmain(void)

{

intY=100;

while(Y--);

printf(“Y=%d”,Y);

}

[A]Y=0[B]Y=1[C]Y=-1[D]Y=随机数

13.结构体DATA定义如下,则sizeof(structDATA)的值为(C)。

structDATA

floatf1;

inti;

charc2;

};

[A]6[B]8[C]12[D]16

14.以下程序的功能是将字符串s中所有的字符c删除,那么空白处缺少的语句为:

(A)。

#include<

>

{

chars[80] 

;

abdabd\0

inti,j 

s[2]=s[3]=‘d’

gets(s) 

for(i=j=0 

s[i] 

!

=‘\0’ 

i++)

if(s[i] 

=‘c’)

S[j++]=s[i];

}

s[j]=‘\0’ 

puts(s) 

return0 

[A]s[j++]=s[i][B]s[++j]=s[i]

[C]s[j]=s[i];

j++[D]s[j]=s[i]

15.下面函数的功能是(A)。

intfun(char*x)

char*y=x;

while(*y++);

return(y-x-1);

[A]求字符串的长度

[B]比较两个字符串的大小

[C]将字符串x复制到字符串y

[D]将字符串x连接到字符串y后面

16./*Address*/

unsignedshort*a=(unsignedshort*)0x800;

unsignedshort*b=a+1;

b=(C)

[A]0x800[B]0x801[C]0x802[D]0x804

17.下面程序的功能是将已按升序排好序的两个字符串a和b中的字符,按升序归并到字符串c中,请为程序中的空白处选择适当的语句。

#include<

intmain(void)

{

chara[]=“acegikm”;

charb[]=“bdfhjlnpq”;

charc[80],*p;

inti=0,j=0,k=0;

while(a[i]!

=’\0’&

&

b[j]!

=‘\0’)

{

if(a[i]<

b[j]){(①)}A

else{(②)}D

k++;

}

c[k]=‘\0’;

if(③)p=b+j;

D

elsep=a+i;

strcat(c,p);

puts(c);

①[A]c[k]=a[i];

i++;

[B]c[k]=b[j];

[C]c[k]=a[i];

j++;

[D]c[k]=a[j];

②[A]c[k]=a[i];

[D]c[k]=b[j];

③[A]a[i]=‘\0’[B]a[i]!

=‘\0’

[C]b[j]=‘\0’[D]b[j]!

18.若要将当前目录中的文件压缩成则实现的命令为(C)。

[A]tar-cvf[B]tar-cjftar-czf[D]tar-cxf

19.在一个C源程序文件中,若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使用的存储类别是(D)。

[A]extern[B]register[C]auto[D]static

20.下面的代码输出是(A)

void 

foo(void) 

  unsigned 

int 

6;

-20;

  (a+b 

6) 

puts("

6"

) 

:

<

);

}

    [A]>

6[B]<

6

21.假设文件fileA的符号链接为fileB,那么删除fileA后,下面的描述正确的是(D)。

[A].fileB没有任何影响

[B].因为fileB未被删除,所以fileA会被系统自动重新建立

[C].fileB会随fileA的删除而被系统自动删除

[D].fileB仍存在,但是属于无效文件

22.以下程序的运行结果为(B)

voidsub(intx,inty,int*z)

*z=y–x 

inta,b,c 

sub(10,5,&

a) 

sub(7,a,&

b) 

sub(a,b,&

c) 

printf(“%4d,%4d, 

%4d\n”,a,b,c);

[A]5,2,3[B]-5,-12,-7[C]-5,-12,-17[D]5,-2,-7

23、一位法官在审理一起盗窃案中,对涉及到的四名嫌疑犯甲、乙、丙、丁进行了审问。

四人供述如下:

  甲说:

“罪犯在乙、丙、丁三人之中。

  乙说:

“我没有做案,是丙偷的。

  丙说:

“在甲和丁中间有一人是罪犯。

丁说:

“乙说的是事实。

  经过充分的调查,证实这四人中有两人说了真话,另外两人说的是假话。

那么,请你对此案进行裁决,确认谁是罪犯(A)

[A]、乙和丁是盗窃犯[B]、乙和丙是盗窃犯

[C]、乙是盗窃犯[D]、甲和丁是盗窃犯

二、填空题(每空2分,共14分)

1.对文件file创建一个符号链接link(ln–sfilelink)。

2.若有以下定义和语句,则*p[0]引用的是a数组元素中的(a[0]),*(p[1]+1)引用的是a数组元素中的(a[3])。

int*p[3],a[6],i;

for(i=0;

i<

3;

i++)p[i]=&

a[2*i];

3.若有以下输入(<

CR>

代表回车换行符),则下面程序的运行结果为(7)。

1,2<

inta[3][4]={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(“%d\n”,*(*(p+i)+j));

return0;

4.shell脚本的本质是(shell命令的有序集合)。

5.将历史纪录追加到文件内(history>

)。

6.make工程管理器根据(时间戳)来自动发现更新过的文件从而减少编译的工作量。

三、简答题(2题,每题5分,共10分)

1、下面findmax函数将计算数组中的最大元素及其下标值,请编写该函数。

#include<

voidfindmax(ints[],intt,int*k)

{

intmain(void)

inta[10]={12,23,34,45,56,67,78,89,11,22},k;

findmax(a,10,&

k);

printf(“最大元素为:

%d,其下标值为:

%d\n”,a[k],k);

2、现在有一个简单的工程项目,由和三个文件组成。

其中中包含主函数和的头文件,中为功能函数的实现,中为中功能函数的声明。

请写一个makefile实现这几个文件的编译。

$(CC)=gcc

test:

$(CC)-otest

*.o:

*.c

$(CC)–c$(<

)–o$@

gcc-c-o

四、编程题(每题10分,共30分)

1.编写一个shell脚本完成如下功能:

1.在家目录下创建文件夹filer

2.遍历当前文件夹下的文件,如果是普通文件则放入创建的filer中

3.打印出放入filer文件夹中的文件数目

#!

/bin/bash

mkdir~/filer

num=0

filelist=`ls`

forfilein$filelist

do

iftest-f$file

then

cp$file~/filer

num=`expr$num+1`

fi

done

echo$num

2.打印杨辉三角形前10行。

(提示:

定义数组a[10][10])

1

11

121

1331

14641

15101051

intmain()

inti,j,a[10][10]={0};

for(i=0;

i<

10;

i++)

a[i][0]=1;

for(j=1;

j<

=i;

j++)

a[i][j]=a[i-1][j-1]+a[i-1][j];

for(j=0;

printf(“4d”,a[i][j]);

printf(“\n”);

3.创建一个结构体数组,数组名为student,成员包含学号,姓名,成绩(数据类型自己设定)。

写一个程序,要求可以循环的从终端输入学生信息。

完成输入后自动打印出所输入的学生信息,打印结果按学生成绩从低到高打印。

StructStudent{

Intnum;

Charname[64];

Intsalary;

}student[N];

Sort(structStudent*p,intn)

Inti,j;

Structstudenttmp;

For(i=0;

i<

n-1;

i++)

For(j=0;

j<

n-i-1;

j++)

If(p[j].salary>

p[j+1].salary)

tmp=p[j+1];

P[j+1]=p[j];

P[j]=tmp;

Intmain()

Inti=0,j;

While((scanf(“%d%s%d”,student[i].name,student[i].name,student[i].salary))==3)

if(i<

N)

i++;

else

{Puts(“listfull”);

Sort(student,i);

for(j=0;

i;

j++)

Printf(“num:

%d\nname:

%s\n,salary:

%d\n”,student[j].num,student[j].name,student[j].salary);

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 语文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2