高級軟件工程師試題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是一個指向含有四個整型元素的一維數組       的指針。(   )

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM