軟件水平考試模擬練習題及解析

時(shí)間:2022-07-02 04:25:08 考試 我要投稿
  • 相關(guān)推薦

軟件水平考試模擬練習題及解析

  設函數的功能是交換X和y的值,且通過(guò)正確調用返回交換結果。不能正確執行此功能的函數是( )

軟件水平考試模擬練習題及解析

 、 funa(int *x, int *y)

  {

  int * p;

  * p=*x; *x=*y; *y=*p;

  }

 、 funb(int x, int y)

  {

  int t;

  t=x;x=y;y=t;

  }

 、 func(int *x, int *y)

  {

  int p;

  p=*x; *x=*y; * y=p;

  }

 、躥und( int *x,int *y)

  {

  *x=*x+ *y;*y=*x- *y;*x= *x- *y;

  }

  【解】設計實(shí)現交換兩個(gè)變量值的函數。希望函數調用能改變調用環(huán)境中的變量,方法之一是讓函數設置指針類(lèi)型的形參,實(shí)參傳送給形參的是希望交換值的兩個(gè)變量的指針。函數的兩個(gè)形參得到這兩個(gè)變量的指針后,函數就能通過(guò)形參間接引用要交換值的變量,或引用它們的值,或改變它們的值。從而實(shí)現從函數傳回信息存于調用環(huán)境的變量中。以上所述是設計交換變量值函數的一般原則,具體編寫(xiě)函數時(shí)還需注意對上述原則的正確應用。

  對于函數funa,該函數的定義滿(mǎn)足設置指針形參,并通過(guò)指針形參間接引用環(huán)境變量的要求。但是在函數體中定義了指針變量p,并在p宋明確設定它所指向的變量下,代碼*p=* x企圖將值存入它所指的變量中,這是初學(xué)者經(jīng)常出現的一種嚴重的錯誤。該函數因有錯,不能實(shí)現交換變量值的功能。

  對于函數funb,該函數不定義指針形參,函數體也沒(méi)有可用的指針間接引用調用環(huán)境中的變量,所以該函數也不能實(shí)現交換變量值的功能。

  對于函數func,該函數正確定義了指針形參,函數體也正確通過(guò)指針形參間接引用環(huán)境中的變量,并正確定義了自己的局部變量。該函數能實(shí)現交換變量值的功能。

  對于函數fund,該函數也正確定義指針形參和函數體通過(guò)形參間接引用環(huán)境變量。特別要指出的是,該函數是利用*x和*y的;日值與新值之間的關(guān)系實(shí)現問(wèn)題要求的。其中第一個(gè)賦值使。x存有原來(lái)未交換之前的*x與*y之和;第二個(gè)賦值從這個(gè)和中減去原來(lái)的*y,并將差賦給*y,使*y的值是交換之前的*x的值;第三個(gè)賦值再次從和中減去新的*y,即減去交換之前的*x,這個(gè)差就是交換之前的*y,并將差賦給*x。經(jīng)以上三個(gè)賦值,實(shí)現兩變量之間的值交換。所以不能正確執行交換變量值的函數是funa和funb,即正確選擇是①②。

【軟件水平考試模擬練習題及解析】相關(guān)文章:

日語(yǔ)考試模擬習題及答案解析匯總07-03

學(xué)業(yè)水平模擬考試語(yǔ)文試卷07-04

計算機軟件水平考試的簡(jiǎn)介07-02

初中學(xué)業(yè)水平考試07-03

最新 普通話(huà)水平測試練習題07-04

稅務(wù)代理實(shí)務(wù)的模擬練習題07-02

2011年銀行從業(yè)資格證考試《個(gè)人理財》模擬試題及答案解析07-02

市場(chǎng)營(yíng)銷(xiāo)學(xué)模擬練習題07-03

2014年銀行從業(yè)資格證考試《個(gè)人理財》模擬試題及答案解析207-02

初中學(xué)業(yè)水平考試方案06-29

99久久精品免费看国产一区二区三区|baoyu135国产精品t|40分钟97精品国产最大网站|久久综合丝袜日本网|欧美videosdesexo肥婆