高级软件工程师试题B

Posted qianrushi1

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了高级软件工程师试题B相关的知识,希望对你有一定的参考价值。

一、          单选题(每题1分,共70分)

 

  1. 以下哪个表述不正确___D___。

A.ARM是一个公司的名称

B.ARM是对一类微处理器的通称 

C.ARM是一种技术的名字

D.ARM是一款芯片的名称

 

  1. ( D ) 命令是在vi编辑器中执行保存退出。

A  :q

B  ZZ

C  :q!

D  :wq

  1. GCC的正确编译流程为 ( A ) 。

A 预处理-编译-汇编-链接    

B 预处理-编译-链接-汇编    

C 预处理-链接-编译-汇编    

D 编译-预处理-汇编-链接

 

 

  1. 下列命令中,删除文件的命令是:___D___。

A. ls

B. mkdir

C. tail

D. rm

 

  1. 嵌入式处理器指令的执行周期不包括__A____。

A.启动

B.取指令

C.指令译码

D.执行指令

 

  1. 将系统启动代码读入内存是___C___的主要职责。

A.内存管理

B.VFS

C.Boot Loader

D.虚拟内存

 

  1. 下列不属于嵌入设计处理器本身带有的基本接口是___C___。

A.串口

B.并口

C.PCIE

D.AD/DA

 

  1. 下列选项中,描述错误的是__D__。

A.arch为体系结构相关的代码

B.block为块设备的通用函数

C.crypto只能用于加密和散列算法

D.ipc进程件通信代码

 

  1. SRAM与DRAM相比,优点是___A___。

       A.SRAM比DRAM快

       B.DRAM与SRAM耗电多

       C.SRAM比DRAM存储密度高

       D.以上都是

 

  1. 预处理后的文件后缀名为___D___。
  2. .c
  3. .C
  4. .M
  5. .i

 

  1. 下列哪条指令把寄存器R0、R1的值相加后存到R2中:__C____。

A.AND R0, R1, R2

B.SUB R0, R1, R2

C.ADD R2, R1, R0

D.AND R1, R2, R0

 

  1. 下面描述不属于Bootloader的第二阶段的是:___A___。
    1. 硬件设备初始化
    2. 初始化本阶段要使用到的硬件设备
    3. 检测系统内存映射
    4. 为内核设置启动参数

 

  1. 下面关于UBOOT有点描述错误的是:___D___。
    1. 开发源码
    2. 仅支持Linux操作系统
    3. 支持多个处理器系列
    4. 较高的可靠性和稳定性

 

  1. 对于“ls –l|more”操作,命令解释程序运行进程ls和more使用了以下哪种通信方式___A___。

 

  1. 管道
  2. 消息队列
  3. 套接字
  4. 信号

 

  1. 下列关于Linux根文件目录,描述错误的是___C___。
  2. /bin目录下存放一般用户可以使用的基本命令
  3. /sbin目录下存放系统命令
  4. /dev目录下存放设备文件
  5. /etc目录下存放各种配置文件

 

 

16、指令“LDMIA R0!, R1, R2, R3, R4”的寻址方式为(  C  )。

              A. 立即寻址                                           B. 寄存器间接寻址

              C. 多寄存器寻址                                    D. 堆栈寻址

       17、下列不属于RISC计算机特点的是( C )。

              A. 流水线每周期前进一步。     B. 更多通用寄存器。

              C. 指令长度不固定,执行需要多个周期。 

              D. 独立的Load和Store指令完成数据在寄存器和外部存储器之间的传输。

       18、USB接口移动硬盘最合适的传输类型为(  B )。

           A. 控制传输             B. 批量传输             C. 中断传输             D. 等时传输

       19、在嵌入式系统设计中,嵌入式处理器选型是在进行( C  )时完成。

              A. 需求分析             B. 系统集成              C. 体系结构设计     D. 软硬件设计

       20、无符号二进制数左移一位,则数值(  A  )。

              A. 增大一倍               B. 减小一倍                C. 增大10倍              D. 不变

21、登陆系统后首先进入下列哪一个目录?(  D    )

      A./home

      B.root的主目录

      C./root

      D.用户自己的主目录

22、用”rm -i”,系统会提示什么来让你确认  ( B  )

      A.命令行的每个选项

      B.是否真的删除

      C.是否有写的权限

      D.文件的位置

23、除非特别指定,cp假定要拷贝的文件在下面哪个目录下( B  )

      A.home目录

      B.当前目录

      C.root目录

      D.用户目录

24、Linux的创始人是芬兰Helsinki大学的学生,他是谁(  B )

      A.Andrew Tanenbaum

      B.Linus Torvalds

      C.Bill Gates

      D.Richard Stallman

25、假如你得到一个运行命令被拒绝的信息,你可以用哪个命令去修改它的权限使之可以正常运行( B  )

      A.path=

      B.chmod

      C.chgrp

      D.chown

 26、显示用户的主目录的命令是什么( A  )

      A.echo $HOME

      B.echo $USERDIR

      C.echo $ECHO

      D.echo $ENV

27、用来分离目录名和文件名的字符是什么( A  )

      A.反斜杠 (/)

      B.点号 (.)

      C.减号 (-)

      D.星号 (*) 

28、确定myfile的文件类型的命令是什么( C  )

      A.type myfile

      B.type -q myfile

      C.file myfile

      D.whatis myfile

29、按_____键能中止当前运行的命令( B  )

      A.Ctrl-D

      B.Ctrl-C

      C.Ctrl-B

      D.Ctrl-F

30、哪个符号加在命令后面可以在后台执行程序(    B     )

      A.@                         B.&

      C.#                             D.*

31、通过shell执行一个命令,必须先敲入一个__B___

      A. 参数

      B.命令

      C.操作符

      D.终端ID号

32、当登录Linux时,一个具有唯一进程ID号的shell将被调用,这个ID是什么?(  A )

      A.PID                                       B.UID

      C.NID                                      D.CID

33、想查找system-config-network所在的目录,通过什么命令可以实现?B

      A.whereis system-config-network

      B.which system-config-network
      C.look system-config-network

      D.show system-config-network

34、通过下面哪个命令可以打印显示当前工作的目录(B)

      A.cd                               B.pwd

      C.ls                                 D.ls -l

35、本机有两块硬盘,分别放置在IDE1和IDE2的主盘上,其中挂在IDE2上的主盘有三个主分区,在Linux下IDE2上的主盘第二个主分区的名称为:C

      A.hda2

      B.hdb2

      C.hdc2

      D.hdd2

 

36一个C程序的执行是从(  A ) 

 A.本程序的main函数开始,到main函数结束

B.本程序文件的第一个函数开始,到本程序文件的最后一个函数结束

C.本程序的main函数开始,到本程序文件的最后一个函数结束

D.本程序文件的第一个函数开始,到本程序main函数结束

37在一个单链表中,若要删除由指针q所指结点的后继,则(D)

A.p= q->next; p->next= q->next    B.p = q->next; p->next =p 

C.p= q->next; q->next= p->next    D.q->next= q->next->next; q->next=q

38下列四组选项中,均不是C语言关键字的选项是( A )  

A.define    B.getc    C.include   D.while

 IF           char       scanf        go

type          printf       case        pow

39C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符( C ) 

 A.必须为字母               B.必须为下划线

      C.必须为字母或下划线         D.可以是字母,数字和下划线中任一种字符

40下面四个选项中,均是不合法的浮点数的选项是  B

A)  160.    B)  123     C)一.18    D)一e3

      0.12        2e4.2     123e4          .234

     e3        .e5        0.0           1e3     

41栈结构通常采用的两种存储结构是(  A  )

  A、线性存储结构和链表存储结构   B、散列方式和索引方式  

  C、量表存储结构和数组                  D、线性存储结构和非线性存储结构

42一个向量第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的地址是(   B   )

 A、110   B、108    C、100     D、120

43若有代数式3ae/bc,则不正确的C语言表达式是( C  ) 

 A. a/b/c*e*3      B.3*a*e/b/c

 C.3*a*e/b*c       D.a*e/c/b*3

44以下不正确的叙述是( D )  

A.在C程序中,逗号运算符的优先级最低

B.在C程序中,APH和aph是两个不同的变量

C.若a和b类型相同,在执行了赋值表达式a=b后b中的值将放人a中,而b中的值不变。

D.当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值。

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

A. /   B. ++  c. !=   D.%

46若有定义:int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是 ( A)   

A.2·500000  B.2.7500OO  c. 3.500000  D. 0.000000。

47循环队列用数组A[0,m-1]存放其元素值,已知其头尾指针分别是front和rear,则当前队列中的元素个数是(  A  )

     A、(rear-front+m)%m      B、rear-front+1  

     C、rear-front-1             D、rear-front

48向一个栈顶指针为Top的链栈中插入一个s所指结点时,其操作步骤是(D )

A.Top->next=s            B.s->next= Top->next; Top->next=s

C.s->next= Top; Top =s     D.s->next= Top; Top = Top->next

49若x ,y均定义为int型,z定义为double型,以下不合法的scanf函数调用语句是( D  )

A.  scanf(" %d%lx,%le",&x,&y,&z);

B.  scanf("%2d * %d%lf"&x,&y,&z ); 

C.  scanf("%x %* d%o",&x,&y);

D.  scanf("%x%o%6.2f",&x,&y,&z);  

       50以下说法正确的是(  D   ) 

A.输入项可以为一实型常量,如scanf("%f",3.5);

B.只有格式控制,没有输入项,也能进行正确输入,如scanf("a=%d,b=%d");

C.当输入一个实型数据时,格式控制部分应规定小数点后的位数,

如scanf("%4.2f",&f);

D.当输入数据时,必须指明变量的地址,如scanf("%f",&f);

51根据下面的程序及数据的输入方式和输出形式,程序中输入语句的正确形式应该为(  C )

      main()

char  ch1  ,ch2  ,ch3;

 输入语句

printf("%c%c%c",ch1,ch2,ch3);

 输入形式:  A B C

 输出形式:  A B

 A.  scanf("%c%c%c",&ch1,&ch2,&ch3);

 B.  scanf("%c,%c,%c", &ch1,&ch2, &ch3);

 C.  scanf("%c %c %c",&ch1,&ch2,&ch3);

 D.  scanf("%c%c",&ch1,&ch2,&ch3);

52下关于运算符优先顺序的描述中正确的是(   C    )      

A.关系运算符< 算术运算符< 赋值运算符< 逻辑与运算符

B.逻辑 运算符< 关系运算符< 算术运算符< 赋值运算符

C.赋值运算符< 逻辑与运算符< 关系运算符< 算术运算符

D.算术运算符< 关系运算符< 赋值运算符< 逻辑与运算符  

53判断char型变量c1是否为小写字母 正确表达式为(  D    )

           A.‘ a‘ <=cl<=‘ z‘    B.  (cl> = a)&&(cl<=z)

           C.(‘ a‘ >=cl)||(‘ z‘ < = cl)  D.(c1>=‘a‘)&&(cl<=‘z‘)

54执行以下语句后a的值为(   C   ) 

int a,b,c;

a= b= c= 1;

++a||++b&&++c   

A.错误    B.  0      C.  2  D.  1

55下列运算符中优先级最低的是(  A    )

A.?:   B.&&     c.+     D.  !=

56以下程序的运行结果是(   C   ) 

          main()   

           int m=5;

           if(m++> 5)  printf(" %d\n",m);

            e1se     printf("%d\n",m- - );

       

     A.4    B.5   C.6    D.7

57以下程序的输出结果是(  C   )  

#include <stdio.h>

main()

    int  a=100,x =10,y=20,okl=5,ok2=0;

        if(x<y)

        if(y!=10)

    if(!okl)  a=1;

     else

        if(ok2)  a=10;

        a=-1;

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

 

       A.  1      B.  0    C.-1    D.值不确定

58设有程序段(   C  ) 

     int  k=10;

       while  (k=0)  k= k—1;

     则下面描述中正确的是

A.  while循环执行10次      B.循环是无限循环

C.循环体语句一次也不执行   D.循环体语句执行一次

59下面程序的运行结果是      (   B  ) 

           #include  <stdio. h>

         main()    

           int i;

for(i=1;i<=5;i++)

     switch(i%5)

case  0:printf("* ");break;

     case  1  :printf("#");break;

     default  :printf("\n");

       case  2  :printf("&");

          

         A.#&&&*  B. #&   C.  #    D.#&

            &           &

            &           &*

60下面程序段(   D  )   

      for  (t=1;  t<=100;t++)

       scanf("%d",&x);

            if(x<0)  continue;

           printf("%3d",t);

     A. 当x<0时整个循环结束

     B. x>=0时什么也不输出

     C. printf函数永远也不执行

     D.最多允许输出100个非负整数

二、多选题(10每题330分)

1、下面代码行的空格符合规范的是( AC     )

A.*pApple = ‘a

B. flag =! BIsEmpty

C. p = &cMem

D. i ++

2 、设已有定义:float x;,则以下对指针变量p进行定义且赋初值的语句中不正确的是:(   ABC   )。

A、float *p=1024;                             B、int   *p=(float)x;

C、float p=&x;                                 D、float *p=&x;

3、 设变量x,y均已正确定义并赋值,以下if语句中,在编译时能产生正确信息的是(    ABD   )。

    A、if(x++);

B、if(x>y&&y!=0);

C、if(x>0)x--   else y++;

D、if(y<0);   else x++;

4、以下for循环的执行次序是(   A  )

for (x=0, y=0; (y=123)&&x<4; x++)

A  执行3次  

B. 循环次数不定    

C. 执行4次   

D. 是无限次循环

5、代码文件由(    ABD    )组成

A.定义文件开头处的版权和版本声明

B. API函数的调用示例

C.全局变量的声明

D.程序的实现体(包括数据和代码)

      6、若用数组名作为函数调用时的实参,则实际上传递给形参的是(  C )

      A.数组中全部元素的值         

      B.数组的第一个元素的值

      C.数组的首地址              

      D.   数组元素的个数

      7、下面程序的输出结果是

#include <stdio.h>

int x,y ;

   f( )

   int y, a = 25 , b=10;

     x =a + b; y = a - b;

     return;

     main()

   

      int a =9 , b =5;

      x = a+b; y = a-b;

     f();

     printf("d%,d%\n",x,y);

 

     A. 14,4   B. 35,15    C.35,4    D. 14,15

      8、下列选项中正确的语句组是(   CD    )

A.char s[8]; s="Beijing"; B.char *s; s="Beijing";

             C.char s[8]="BeijingT"; D.char *s; s="Beijing";

9、若有定义:int *p[3];,则以下叙述中正确的是(   AD  )
A.定义了一个可指向一维数组的指针变量p
B.定义了一个指针数组p,该数组含有三个元素,每个元素都是基类型为int的指针
C.定义了一个名为*p的整型数组,该数组含有三个int类型元素
D.定义了一个可指向一维数组的指针变量p,所指一维数组应具有三个int类型元素

10、下面程序的输出结果是( C )

int x =1;

 f()

 static int i = 2; int x = 10;

  x+=++i;

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

 main()

 

  int i;

  for (i=1;i<4;i++) ++x; f();

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

 A. 13,17,22,4   B.13,14,15,15     C.13,14,15,4     D.无答案

三、判断题10每题110

44用do-while语句构成的循环,当while后的表达式的值为零时结束循环。(  )

45、结构体和共同体可以相互欠套,都可以做为函数的参数使用。(    )

46、在C语言里允许两个同类型的结构体之间相互赋值,也可以将一组常量赋给结构体。(    )

47、在C语言里只能对外部或静态的数组进行初始化。(  )

48、在C语言里,一个共同体不是同时存放多个成员变量的,而是存放其中的一个值,但是不确定是那个值。(    )

49、%-20s的作用是告诉系统按照字符串的形式输出,占20列,向右对齐。(    )

50、赋值表达式是一种表达式,它可以出现在任何允许表达式出现的地方,而赋值语句则不能。(   )

51、continue语句的作用是跳过循环本中剩余的语句而强行执行下一次循环。continue语句只用在for、while、do-while等循环体中,常与if条件语句一起使用,用来加速循环。(    )

52、在C语言里数组的下标都是取整数,如果是小数将不会做处理。(  )

53、若有定义:int   (*p)[4],则p是一个指向含有四个整型元素的一维数组       的指针。(   )

 

以上是关于高级软件工程师试题B的主要内容,如果未能解决你的问题,请参考以下文章

软件测试工程师笔试题带答案

JAVA软件工程师笔试试题

2.2 华为-软件工程师-7.21笔试题

如何评测一个软件工程师的计算机网络知识水平与网络编程技能水平?

成为高级软件测试工程师,必看的19条建议!

成为高级软件测试工程师,必看的19条建议!