c高级第一天作业

北京凝思软件股份有限公司笔试题(研发工程师)

姓名: 学校: 专业:通信工程 阅卷人: 得分:     

一、单项选择题(每题5分,共25分)

     1、下列程序段的输出结果是( A )

  #include <stdio.h>

  void main()

  {

         int a = 6, b = 4;

         a += a - b;

   b *= a = a + b;

        printf("%d, %d\n", a%2, b);

  }

 A: 6, 48 B: 4, 32 C: 0, 48 D: 6, 32

     2、在Ubuntu操作系统中,我刚刚执行了 " dpkg -i text_1.2.3-4_all.deb " 命令安装了一个名为text的软件包,现在要将其卸载干净,应该执行以下哪条命令( D )

 A: rm -rf text*

 B: rpm -e text

 C: yum remove text

 D: dpkg -P text

     3、改变文件所有者的命令为( c )

 A: chmod B:chcon C:chown D:chgrp

     4、你使用命令 " vim /etc/ssh/sshd_config " 查看该文件的内容,你不小心改动了一些内容,为了防止系统出问题,你不想保存所修改的内容,你应该如何操作( A )

 A:在末行模式下,键入 " q! "

 B:在命令行模式下,键入 " q! "

 C:在可视模式下,键入 " q! "

 D:在编辑模式下,按下ESC键后,键入 " :wq! "

     5、在bash中,在一条命令后加入 " 1>&2 " 意味着( )

 A:标准错误输出重定向到标准输入 B:标准输出重定向到标准错误输出

 C:标准输入重定向到标准错误输出 D:标准输出重定向到标准输入

二、填空题(每题5分,共25分)

     1、下列程序段的输出结果是__ _____________________

  #!/bin/bash

  var="Welcome to Linux OS"

  echo ${var:11:5}

解压 text.tar.gz 文件,需要执行命令:tar -zxvf text.ter.gz

     3、bash中, " $? " 代表什么:_获取上一句命令是否正确执行的结果_

   4、修改全局环境变量,应该修改什么文件:_ _____________________________________

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

     1、简述C语言中使用 < > 和 “ ” 引用头文件的区别。

1引用的头文件不同

#include< >引用的是编译器的类库路径里面的头文件。

#include“ ”引用的是你程序目录的相对路径中的头文件。

2、用法不同

#include< >用来包含标准头文件(例如stdio.h或stdlib.h).

#include“ ”用来包含非标准头文件。

3、调用文件的顺序不同

#include< >编译程序会先到标准函数库中调用文件。

#include“ ”编译程序会先从当前目录中调用文件。

     2、简述队列和栈的区别。

四、程序设计(每题10分,共30分)

     1、使用C语言编写一段程序,实现从1开始以每秒累加1的方式向终端打印数字,写到100后停止。要求代码格式规范,输出结果清晰易懂。 提示:sleep(1)

#include <stdio.h>

#include <unistd.h>

int main() {

    for (int i = 1; i <= 100; ++i) {

        printf("%d\n", i);

        sleep(1);

    }

    return 0;

}

 

     2、现有一 /tmp/test 目录,其中存放了许多压缩包,共tar.gz和zip两种格式。编写一个shell脚本,遍历该目录下的所有压缩包,将每个压缩包中包含的文件信息单独输出到各自以压缩包名称命名、后缀为 .log 的文件中,最后将生成的所有文件汇总打包成一个名为 compress.tar.gz 的压缩包。

使用C语言或者shell,编写一个程序,提取字符串 " Depends: libc6 (>= 2.2.5), libncurses5 (>= 6), libtinfo5 (>= 6) " 中的libc6、libncurses5、libtinfo5。

#include <stdio.h>

#include <string.h>

int main() {

    char input[] = "Depends: libc6 (>= 2.2.5), libncurses5 (>= 6), libtinfo5 (>= 6)";

    char *token = strtok(input, " ");

    

    while (token != NULL) {

        if (strcmp(token, "libc6") == 0 || strcmp(token, "libncurses5") == 0 || strcmp(token, "libtinfo5") == 0) {

            printf("%s\n", token);

        }

        token = strtok(NULL, " ");

    }

    return 0;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值