日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

7-25日牛客网刷题 未知点、错题 集合

發布時間:2025/3/19 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 7-25日牛客网刷题 未知点、错题 集合 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.在C++11標準的語法中,auto被定義為自動推斷變量的類型。

例如:

auto?x=5.2;?//這里的x被auto推斷為double類型

?

2.注意點:

C語言中最簡單的數據類型包括:整型、實型、字符型

實型,也稱浮點型

C語言中布爾型是使用0,1表示,不存在布爾類型

另外一個可惱的是C語言不存在string類型,是char數組,\0結束

?

3.

c++中,聲明const int i,是在哪個階段做到 i只可讀的?

編譯

解析:

在c++中 const修飾的變量是常量,分配在全局區的常量區,

而我們的全局區代碼區?編譯完 就已經確定,

只有棧區堆區才是運行分配的。?

?

4.

錯題:

?

unsigned?int k =?20;

while (k >=?0)

--k;

?

死循環

解析:

k是無符號整數,永遠都>=0

?

5.

枚舉類型

枚舉類型,指一個被命名的整型常數集合(int型)

把枚舉類型名看做是一個命名空間,命名空間內部的成員變量的使用相當于類成員使用規則

即類定義 ? class A{int a; float b;};

枚舉類型定義: ?enum a{x,y=8,z}; ?

枚舉類型共享存儲空間,即sizeof(a) = 4

第一個值未賦值,則默認為0,后面一個值未賦值默認為前一個值加1

則上述定義中, ?a::x的值是0 ? a::y的值是8, ? a::z的值是9

?

union數據類型的大小計算方法是

union的長度取決于其中的長度最大的那個成員變量的長度

即union中成員變量是重疊擺放的,其開始地址相同

其實union(共用體)的各個成員是以同一個地址開始存放的,每一個時刻只可以存儲一個成員,這樣就要求它在分配內存單元時候要滿足兩點:???
? 1.一般而言,共用體類型實際占用存儲空間為其最長的成員所占的存儲空間;???
? 2.若是該最長的存儲空間對其他成員的元類型(如果是數組,取其類型的數據長度,例int?? a[5]為4)不滿足整除關系,該最大空間自動延伸;?

?

結構體的總大小為結構體最寬基本類型成員大小的整數倍

?

6.

有關main函數,

void main()

{

?cout<<1<<endl;

main();

}

會一直輸出1,遞歸調用直至棧溢出

所以用戶可以調用main()函數

?

7.


下列情況中,不會調用拷貝構造函數的是(B)

A:用一個對象去初始化同一個類的另一個新對象時

B:將類的一個對象賦值給該類的另一個對象時

C:函數的形參對象,調用函數進行形參和實參結合時

D:函數的返回值是類的對象,函數執行返回調用時

解析:

?class Base{};
Base w1;???? //構造函數
Base w2(w1);?? //拷貝構造函數
w1 = w2;???? //賦值運算符
Base w3 = w1; //拷貝構造函數?

?

8.

main()

{ ? int ?a[3][2]={0},(*ptr)[2],i,j;

??? for(i=0;i<2;i++)

??? { ? ptr=a+i;

??? ? ? scanf("%d",ptr);

??? ? ? ptr++;//ptr++第三次的時候無法進行 因為ptr是指針數組 大小只有2

??? }

??? for(i=0;i<3;i++)

??? {

??? ? ? for(j=0;j<2;j++)

??? ? ? ? ?printf("%2d",a[i][j]);

??? ? ? printf("\n");

??? }

}

運行時輸入:1 ?2 ?3<回車>,則輸出結果為:

1 0

2 0

0 0

?

9.

注意:

C程序實現的算法可以沒有輸入但必須要有輸出

?

10.

注意:

如果要實現一個多線程(非MFC)程序, 選擇多線程CRT, 創建線程的時候應該用CreateThread還是_beginthreadex()?

選擇:_beginthreadex()

解析:

_beginthreadex()比較于 CreateThread()有更高的線程安全性不會造成多個線程共用同一個全局變量的情況

?

11.

有關循環隊列

判空:Q.rear==Q.front;

約定為頭指針指向尾指針;

隊列滿:(Q.rear+1)%MAXQSIZE==Q.front;

尾指針下一個位置是頭指針;

循環隊列插入元素是(rear+1)%MAXQSIZE;

循環隊列刪除元素是(front+1)%MAXQSIZE;

front比rear“小”, front=20,rear=15,說明隊列中有效數據個數是 15 + (m - 20) ?= ?m - 5個

例:假設有MAXQSIZE=60(0~59)的一個數組,存儲一個滿循環隊列Q

    隊列為空時,初始化Q.front=Q.rear=0

    隊列為滿時:Q.front=0,Q.rear=59

ps:這里我們可以探討為什么要對MAXQSIZE取余求模,詳如下:

    如果不取余:Q.rear+1=59+1=60,數組中最大下標為59而無60顯然不取余是不對的

    取余后:(Q.rear+1)%MAXQSIZE=(59+1)%60=60%60=0,而Q.front= 0,因此可以構成判斷。

?

?

12.

文本加密的方法:

RSA

RC4

DES

?

13.

TCP協議建立連接的兩方,如果一方突然發生故障(比如斷電)斷開了連接

1.TCP連接不能?自動查別 斷連的現象

2.TCP中keepalive機制是默認不打開的

打開后會定時向連接對方發送ACK包(linux下默認是7200s 即2小時發生一次發送一次握手信息),如果在發送ACK包后對方不回應才能檢測道對方的斷開信息

3.可以自己實現”心跳檢測”的方法來確定對方是不是已經斷開連接

Heartbeat機制是客戶端每個一段時間向服務器發送數據包,來通知服務端該客戶端保持連接

?

?

?

總結

以上是生活随笔為你收集整理的7-25日牛客网刷题 未知点、错题 集合的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。