最新Linux及C考试题附答案Word格式文档下载.docx
《最新Linux及C考试题附答案Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《最新Linux及C考试题附答案Word格式文档下载.docx(12页珍藏版)》请在冰豆网上搜索。
}
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<
stdio.h>
{
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.若要将当前目录中的myfile.txt文件压缩成myfile.txt.tar.gz,则实现的命令为(C)。
[A]tar-cvfmyfile.txtmyfile.txt.tar.gz[B]tar-cjfmyfile.txtmyfile.txt.tar.gz
[C]tar-czfmyfile.txt.tar.gzmyfile.txt[D]tar-cxfmyfile.txt.tar.gzmyfile.txt
19.在一个C源程序文件中,若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使用的存储类别是(D)。
[A]extern[B]register[C]auto[D]static
20.下面的代码输出是(A)
void
foo(void)
{
unsigned
int
a
=
6;
b
-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.将历史纪录追加到文件file.txt内(history>
file.txt)。
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、现在有一个简单的工程项目,由main.cfun.c和fun.h三个文件组成。
其中main.c中包含主函数和fun.h的头文件,fun.c中为功能函数的实现,fun.h中为fun.c中功能函数的声明。
请写一个makefile实现这几个文件的编译。
$(CC)=gcc
test:
fun.omain.o
$(CC)fun.omain.o-otest
*.o:
*.c
$(CC)–c$(<
)–o$@
main.o:
main.c
gcc-cmain.c-omain.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;
精明的商家不失时机地打出“自己的饰品自己做”、“DIY(DoItYourself)饰品、真我个性”的广告,推出“自制饰品”服务,吸引了不少喜欢标新立异、走在潮流前端的年轻女孩,成为上海的时尚消费市场。
其市场现状特点具体表现为:
While((scanf(“%d%s%d”,student[i].name,student[i].name,student[i].salary))==3)
可见“体验化消费”广受大学生的欢迎、喜欢,这是我们创业项目是否成功的关键,必须引起足够的注意。
if(i<
N)
3.www。
oh/ov。
com/teach/student/shougong/{
i++;
秘诀:
好市口+个性经营}
else
二、大学生DIY手工艺制品消费分析{Puts(“listfull”);
(五)DIY手工艺品的“价格弹性化”Sort(student,i);
for(j=0;
i;
j++)
据介绍,经常光顾“碧芝”的都是些希望得到世界上“独一无二”饰品的年轻人,他们在琳琅满目的货架上挑选,然后亲手串连,他们就是偏爱这种DIY的方式,完全自助。
大学生购买力有限,即决定了要求商品能价廉物美,但更注重的还是在购买过程中对精神文化爱好的追求,满足心理需求。
Printf(“num:
%d\nname:
%s\n,salary:
%d\n”,student[j].num,student[j].name,student[j].salary);
众上所述,我们认为:
我们的创意小屋计划或许虽然会有很多的挑战和困难,但我们会吸取和借鉴“漂亮女生”和“碧芝”的成功经验,在产品的质量和创意上多下工夫,使自己的产品能领导潮流,领导时尚。
在它们还没有打入学校这个市场时,我们要巩固我们的学生市场,制作一些吸引学生,又有使学生能接受的价格,勇敢的面对它们的挑战,使自己立于不败之地。