linux试题求大神帮解一下赶时间谢谢了

linux试题求大神帮解一下赶时间谢谢了,第1张

1. 用grep命令显示在文件a中所有包含每个字符串至少有5个连续小写字符的字符串的行。

cat a | grep -E "[a-z]{5,}"

2. $ find / -name "test.c" -type f -mtime +3 -user greek -exec rm {} \的含义。

找出并且删除根目录及其子目录下 所有文件名为test.c的普通的文本文件 ,且该文件的最后修改时间以当前时间为参照大于3天时间

3. 在一个程序崩溃时,它一般会在指定目录下生成一个core文件。如果没生成core文件,可能是什么原因?怎么解决?

答:用“ulimit -c”命令查看当前系统设置的core文件的大小门限值

一般情况是core文件的大小超过了这个值

执行 “ulimit -c unlimited”命令后, *** 作系统不在限制core文件大小,或者把unlimited 替换成一个适当的值。

4. 执行命令 ls –l 时,某行显示如下:

-rw-r--r-- 1 chris chris 207 jul 20 11:58 mydata

(1)用户chris对该文件具有什么权限?

答:chris对mydata文件具有读写的权限

(2)如何使任何用户都可以读写执行该文件?

答:chmod 777 mydata

5. 大学校门处要求来客登记,只有一张登记表,登记表同时只能由一个人使用,用P、V原语描述一个校外人员进入大学的过程。

三、程序填空题(每小题10分,共20分)1.阅读下面程序,请将其补充完整。

#define SHMDATASIZE 1000//共享内存大小,以字节为单位

void server(void)

{

union semun sunion

int semid, shmid

void *shmdata

char *buffer

semid=semget(_________________)//创建两个信号量

sunion.val=1

semctl(____________________)//设置信号量编号为0的值

sunion.val=0semctl(____________________)//设置信号量编号为1的值

shmid=shmget(____________________)

shmdata=shmat(___________________)

*(int *)shmdata=semid

buffer=shmdata+sizeof(int)

printf("Server is running with SHM id ** %d**\n", shmid)}

2.阅读下面程序,请将其补充完整。

#define BUFFERSIZE 1024

void locksem(int semid, int semnum)

{

struct sembuf sb

sb.sem_num=semnum

sb.sem_op=________//P *** 作

sb.sem_flg=SEM_UNDO

semop(_______________________)

}

void unlocksem(int semid, int semnum)

{

struct sembuf sb

sb.sem_num=semnum

sb.sem_op=________//V *** 作

sb.sem_flg=SEM_UNDO

semop(______________________)

}

void clientwrite(int semid, char *buffer){

locksem(semid, 0)

printf("Enter Message: ")

fgets(_______________)//从键盘输入一个字符串

unlocksem(semid, 1)

}

四、阅读程序题(共3小题,每小题10分,共30分)

1. 运行下面程序,最多运行多少个进程?画出进程家族树。

#include "stdio.h"

#include "sys/types.h"

#include "unistd.h"

int main()

{

pid_t pid1

pid_t pid2

pid1 = fork()

pid2 = fork()

}

答最多有4个进程

首先第一次调用fork 主进程会产生一个pid1的子进程

然后pid1和主进程会分别调用一次pid2 = fork()分别再产生一个子进程因此一共最多4个进程

2. 下面给出了一个SHELL程序,试对其行后有#(n)形式的语句进行解释,并说明程序完成的功能。

#!/bin/bash #(1)定义该shell脚本由哪中类型的shell解释器解析

dir=$1#(2)将shell程序的第一个命令行参数付给变量dir

if [ -d $dir ]#(3)判断dir的值是否是一个目录

then cd $dir #(4)如果dir是目录则进入该目录

for file in *

do

if [-f $file ]#(5)判断file是否为一个文件

then

cat $file #(6)打开文件,将文件内容输出到标准输出流中

echo “end of file $file”

fi

done

else

echo “bad directory name $dir”

fi

3. 阅读Makefile文件,回答以下问题:

(1) 此Makefile文件的主要功能是什么?

编译f1.c f2.c f3.c三个文件,最终生成动态链接库libmys.so

(2) 此Makefile文件包含多少个规则?它们分别是什么?

包含4个规则

第一个 “TGT = $(patsubst %.c, %.o, $(SRC))”

将$(SRC)目录下的所有以.c为后缀的文件替换成.o结尾,且存入TGT变量中

第二个 “%.o : %.c

cc -c $<”

用cc命令依次将三个源文件编译成目标文件

第三个

libmys.so : $(TGT)

cc -shared -o $@ $(TGT)

用上一步生成的3个中间文件生成动态链接库libmys.so

第四个

clean:

rm -f $(TGT)

执行 make clean 后 会删除所有的中间文件即.o文件

(3) 使用此Makefile文件可以生成目标文件f2.o吗?为什么?

答:可以,因为该makefile的逻辑是先生成所有的.o文件,然后再生成动态链接库。

all : libmys.so

SRC = f1.c f2.c f3.c

TGT = $(patsubst %.c, %.o, $(SRC))

%.o : %.c

cc -c $<

libmys.so : $(TGT)

cc -shared -o $@ $(TGT)

clean:

rm -f $(TGT)

编程题没做,楼主一、见谅,有时间做了补充下答案

程序刚开始运行时,一个进程(父进程) A, 第一次 fork 后,产生子进程 B

此时,

A 中的 pid1 = B的pid

B 中的 pid1 = 0

然后 A B 分别进行第二次 fork, 分别产生 Ac Bc 两个子进程,此时

A 中的 pid1 = B的pid, pid2 = Ac 的pid

Ac 中的 pid1 = B 的pid, pid2 = 0

B 中的 pid1 = 0, pid2 = Bc 的pid

Bc 中的 pid1 = 0, pid2 = 0

所以只有 Bc 进程会打印 printf(“A:my pid is:%d\n”,getpid())

只有Ac 会打印 printf(“B:my pid is:%d\n”,getpid())

全国青少年信息学奥林匹克联赛(National Olympiad in Informatics in Provinces,简称NOIP)自1995年至2020年已举办25次。每年由中国计算机学会统一组织。 NOIP在同一时间、不同地点以各省市为单位由特派员组织。全国统一大纲、统一试卷。初、高中或其

他中等专业学校的学生可报名参加联赛。联赛分初赛和复赛两个阶段。初赛考察通用和实用的计算机科学知识,以笔试形式进行。复赛为程序设计,须在计算机上调试完成。参加初赛者须达到一定分数线后才有资格参加复赛。联赛分普及组和提高组两个组别,难度不同,分别面向初中和高中阶段的学生。

考试内容

.计算机的基本组成;

.计算机 *** 作系统使用(Windows,Linux等);

.计算机工作的基本原理;

.计算机程序设计的基本方法;

.至少一门高级程序设计语言(非图形化)(Pascal(2022年将被全部取消 [4] )/C(2022年将被部分取消)/C++等);

.程序设计中常用的数据结构(指针、多维数组、单链表及循环链表、二叉树等)。

普及的重点是根据中学生的特点,培养学生学习计算机的兴趣,使得他们对信息技术的一些本质和核心的东西有更多的了解,提高他们创造性地运用程序设计知识解决实际问题的能力。

对学生的能力培养注重

.想象力与创造力;

.对问题的理解和分析能力;

.数学能力和逻辑思维能力;

.对客观问题和主观思维的口头和书面表达能力;

.人文精神。包括与人的沟通和理解能力,团队精神与合作能力,恒心和毅力,审美能力等。考试流程

初试

初试全部为笔试,满分100分。试题由四部分组成:

1、选择题:共20题,每题1.5分,共30分。每题有4个备选答案。试题内容包括计算机基本组成与原理、计算机基本 *** 作、信息科技与人类社会发展的关系等等。(普及组为20道单选题,提高组为15道单选题和5道不定项选择题,不定项选择题与答案完全一致才得分,多选或少选均不得分)

2、问题求解题:共2题,每题5分,共10分。试题给出一个叙述较为简单的问题,要求学生对问题进行分析,找到一个合适的算法,并推算出问题的解。答案以字符串方式给出,考生给出的答案与标准答案的字符串相同,则得分;否则不得分。

3、程序阅读理解题:共4题,每题8分,共32分。题目给出一段程序(没有关于程序功能的说明),有时也会给出程序的输入,要求考生通过阅读理解该段程序给出程序的输出。输出以字符串的形式给出,如果与标准答案一致则得分,否则不得分。

4、程序完善题:共2题,第一题14分,共5空;第二题14分,共5空。两题共28分。题目给出一段关于程序功能的文字说明,然后给出一段程序代码,在代码中略去了若干个语句并在这些位置给出空格,要求考生根据程序的功能说明和代码的上下文,填出被略去的语句。填对则得分,否则不得分。

(2009年普及组试题为第一题5空,每空3分,第二题前三空每空3分,后两空每空2分)

2010:3道问题求解题:每题5分;程序阅读理解题:每题7分;程序完善题:第1空,2分;其余2.5分。

2012:程序完善题:第一第二空2分,其余3分。

*复试

复试的题型和形式向全国信息学奥赛(NOI)靠拢,全部为上机编程题,但难度略低。复试为决出竞赛成绩的最后一个环节。题目难度有易有难,既考虑普及面,又考虑选拔的梯度要求。每一道试题包括:题目、问题描述、样例说明(输入、输出及必要的说明)、数据范围(数据限制条件)。测试时,测试程序为每道题提供了10~20组测试数据,考生程序每答对一组得5~10分;累计分即为该道题的得分。其中普及组题目包括4道题,每题100分,共计400分;从2011年开始,提高组由一试改为两试,分由两天进行。每天竞赛试题由原来的4题改为3题。所有进入复赛的提高组选手均参加一试和二试,选手最终成绩由一试与二试成绩算术相加而得,即满分为600分。

从2016年开始,每年NOIP复赛普及组、提高组都将各有两题从NOI题库中选出。题面可能会变化,解法保持不变。

自2017年来,由于参赛人数增多,NOIP复赛规模的规则进行了调整,包括:每个省赛区可以设立多于两个的复赛考点(但必须在同一个城市),初赛进入复赛的比例和规模由各省赛区自行决定,在条件许可的情况下,鼓励更多选手参赛。同时复赛获奖比例将基本保持不变,全国一等奖获奖比例约为复赛参赛选手的20%。

奖项级别

获得全国青少年信息学奥林匹克联赛(NOIP)一等奖的应届高中毕业生,均具有保送进入高校就读的资格。部分地区一等奖获奖选手还享有高考加分优惠,具体情况视省招办政策而定。获奖选手可申请参加高校自主招生和保送生考试,经高校测试通过,可享受高考降分优惠或直接保送录取。

NOIP中成绩优秀的非高三选手,可以作为省代表队成员参加全国决赛(NOI)及夏令营比赛(部分省市代表队人员须经过选拔赛决出)。

NOIP获奖选手同样具有保送资格,并且成绩优秀的选手能够当场获得高校点招,免试进入名牌大学。夏令营作为全国决赛的扩大赛,本身不具有保送资格,但如果选手之前已获得NOIP一等奖,则同样可以参与现场保送。

参赛地点

NOIP在同一时间、不同地点以各省市为单位由特派员组织

竞赛报名资格

参加者可为初高中学生或其他中等专业学校的青少年。

报名时间

初赛是十月的第2个或第3个星期六下午14:30-16:30在考试开始后一个小时可提前交卷,但最好不要提前交卷(普及,提高)

复赛是十一月的第2个星期六下午14:30-18:00(普及组)

十一月的第2个星期六上午8:30-12:00,星期日上午8:30-12:00(共2天,提高组)

竞赛如何报名

学生通过官网注册报名


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12189551.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存