千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機構(gòu)

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  技術(shù)干貨  > 物聯(lián)網(wǎng)筆試題:C語言筆試題(一)

物聯(lián)網(wǎng)筆試題:C語言筆試題(一)

來源:千鋒教育
發(fā)布人:wjy
時間: 2022-06-07 14:32:00 1654583520

  1、下面的程序可以從0....n-1中隨機等概率的輸出m個不重復的的數(shù)。這里我們假設(shè)n遠大于m。

ningth(int n,int m){

 srand((unsigned int)time(0));

 for(int i=;i<n;i++){

  if(?){

   count<<i<<endl;

   (?);

  }

 }}

  A.rand()%(n-i)<=m;m--;

  B.rand()%(n-i)<m;m--;< p="">

  C.rand()%(n-i)>=m;m++;

  D.rand()%(n-i)>m;m++;

 

  2、有以下程序

#include <stdio.h>mian(){

 int a[]={2,4,6,8},*p=a,i;

 for(i=0;i<4;i++)

 a[i]=*p++;

 printf("%d\n",a[2]);}

  程序的輸出結(jié)果是()

  A.2  

  B.8  

  C.4  

  D.6

 

  3、【多選題】關(guān)于淺復制和深復制的說法,下列說法正確的是()

  A.淺層復制:只復制指向?qū)ο蟮闹羔?,而不復制引用對象本?/p>

  B.深層復制:復制引用對象本身

  C.如果是淺復制,修改一個對象可能會影響另外一個對象

  D.如果是深拷貝,修改一個對象不會影響到另外一個對象

 

  4、以下代碼最后一次打印結(jié)果是()

void fun(int iinputnum){

 static int icount=1;

 icount=icount+iinputnum;

 printf("\n icount=%d"icount+iinputnum);}for(i=1;i<3;i++)

 fun(i);

  A.icount=3

  B.icount=6

  C.icount=4

  D.icount=20

 

  5、下列程序執(zhí)行后的輸出結(jié)果是()

void main()

{

 char x=0xFFFF;

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

}

  A.-32767

  B.FFFE

  C.-1

  D.-32768

 

  6、C++中構(gòu)造函數(shù)和析構(gòu)函數(shù)可以拋出異常嗎?

  A.都不行

  B.都可以

  C.只有構(gòu)造函數(shù)可以

  D.只有析構(gòu)函數(shù)可以

 

  7、【多選題】兩個線程并發(fā)執(zhí)行以下代碼,假設(shè)a是全局變量,那么以下輸出()哪個是可能的

int a=1;

void foo(){

 ++a;

 printf("%d",a);

}

  A.3 2

  B.2 3

  C.3 3

  D.2 2

 

  答案區(qū):

  1、答案:B

  2、答案:D

  解析:*p++ 先取指針p指向的值(數(shù)組第一個元素2),再將指針p自增1 (*p)++ 先去指針p指向的值(數(shù)組第一個元素2),再將該值自增1(數(shù)組第一個元素變?yōu)?) *++p 先將指針p自增1(此時指向數(shù)組第二個元素), 操作再取出該值 ++*p 先取指針p指向的值(數(shù)組第一個元素2),再將該值自增1(數(shù)組第一個元素變?yōu)?)

  3、答案:ABCD

  4、答案:B

  這是考察static靜態(tài)局部變量的用法。 靜態(tài)局部變量的特點: 1.該變量在全局數(shù)據(jù)區(qū)分配內(nèi)存; 2.靜態(tài)局部變量在程序執(zhí)行到該對象的聲明處時被首次初始化,即以后的函數(shù)調(diào)用 不再進行初始化; 3.靜態(tài)局部變量一般在聲明處初始化,如果沒有顯式初始化,會被程序自動初始化為0。fun(1)時 icount初始化為1,之后不再初始化,執(zhí)行第一條語句 icount=2; 打印出來是3; fun(2)時 icount=2+2=4,打印的結(jié)果是4+2=6.

  5、答案:C

  6、答案:C

  析構(gòu)函數(shù)不能拋出異常,處理析構(gòu)函數(shù)異常的正確方式是將異常封裝在析構(gòu)函數(shù)內(nèi)部,而不是拋出異常,如下代碼所示。 ~ClassName(){ try{ do_something(); } catch{ //... } } 原因如下:C++異常處理模型有責任處理那些因為出現(xiàn)異常而失效的對象,處理方式是調(diào)用這些失效對象的析構(gòu)函數(shù),釋放掉它們占用的資源。如果析構(gòu)函數(shù)再拋出異常,則會陷入無盡遞歸嵌套之中,因此這是不被允許的。

  7、答案:ABCD

  假設(shè)線程x和y同時執(zhí)行,x和y可隨時被搶占,a的初始值為1 A:3, 2 y先執(zhí)行++a,a為2; y再執(zhí)行printf,a入棧,在打印到終端之前切換到x x執(zhí)行++a,a為3; x執(zhí)行printf,輸出3;再切換到y(tǒng) y執(zhí)行打印,輸出2 B:2 3 x先執(zhí)行++a,a為2; x再執(zhí)行printf,輸出2;切換到y(tǒng) y執(zhí)行++a,a為3; y執(zhí)行printf,輸出3; C:3 3 x先執(zhí)行++a,a為2;切換到y(tǒng) y執(zhí)行++a,a為3; y執(zhí)行printf,輸出3;切換到x x執(zhí)行printf,輸出3 D:2 2 類似C, 執(zhí)行++a操作但沒有寫回到內(nèi)存 這里關(guān)鍵有兩點: (1)兩個線程可隨時被搶占 (2)++a和printf不是原子指令,可隨時被打斷;特別注意函數(shù)printf,a作為參數(shù)壓棧后,a再變化則不會影響輸出(printf實際打印的是壓棧的參數(shù),是值拷貝的棧變量)

tags:
聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強師集結(jié),手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內(nèi)將與您1V1溝通
免費領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學 138****2860 剛剛成功領(lǐng)取
王同學 131****2015 剛剛成功領(lǐng)取
張同學 133****4652 剛剛成功領(lǐng)取
李同學 135****8607 剛剛成功領(lǐng)取
楊同學 132****5667 剛剛成功領(lǐng)取
岳同學 134****6652 剛剛成功領(lǐng)取
梁同學 157****2950 剛剛成功領(lǐng)取
劉同學 189****1015 剛剛成功領(lǐng)取
張同學 155****4678 剛剛成功領(lǐng)取
鄒同學 139****2907 剛剛成功領(lǐng)取
董同學 138****2867 剛剛成功領(lǐng)取
周同學 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
抖音小店怎么做代銷

抖音已經(jīng)成為了一個非常受歡迎的短視頻應(yīng)用程序,在其中許多用戶都精心打造了自己的小店,用于銷售各種各樣的商品,獲取額外的收入。然而,要想...詳情>>

2023-10-08 15:28:41
怎樣開抖音小店帶貨賺錢

隨著直播帶貨的火熱,越來越多的人開始嘗試通過抖音小店來開展帶貨業(yè)務(wù)。抖音小店是抖音直播帶貨的配套,可以讓用戶在購買直播中產(chǎn)品時就實現(xiàn)購...詳情>>

2023-10-08 15:06:36
能不能幫我打開抖音小店店鋪呢怎么弄

抖音小店是近年來非?;鸨囊粋€網(wǎng)絡(luò)業(yè)務(wù),也是提供了很多商業(yè)機會的平臺。對于一個創(chuàng)業(yè)者而言,開設(shè)抖音小店是一個不錯的選擇。但是,許多小店...詳情>>

2023-10-08 15:01:21
藍v抖音小店怎么開通店鋪

藍v抖音小店是一個非常熱門的電商平臺,它可以讓賣家在抖音上開設(shè)自己的店鋪,從而出售自己的商品。隨著抖音的不斷發(fā)展壯大,越來越多的賣家希...詳情>>

2023-10-08 14:51:53
抖音小店怎么更改類目名稱

抖音小店是現(xiàn)在非?;馃岬囊环N網(wǎng)店形態(tài),許多小生意也從中獲得了收益。但是隨著經(jīng)營時間的增長,小店也需要對自己的類目名稱進行更改,因為這可...詳情>>

2023-10-08 14:46:50