C語言精選——選擇題Day42

第一題

1. 下面程序輸出的結果是()

#include <stdio.h>
int main () 
{int x;x = printf("I See, Sea in C");printf("x=%d" , x); 
}

A:2

B:隨機值

C:都不是

D:15

答案及解析 D

printf函數的返回值是int類型,返回的是打印出的字符的個數,并且printf遇到\0結束打印,所以題中共有15個字符,x就為15;

詳情可以看這里:printf返回值的定義與舉例-CSDN博客

第二題

2. 求函數返回值,輸入x=9999

int func(int x)
{int count = 0;while (x){count++;x = x&(x - 1);}return count;
}

A:8

B:9

C:10

D:12

答案及解析 A

本題有一個位運算的公式,x & (x - 1)可以消除最右側的1,使其變為0;所以這個while循環的作用就是看x有多少個1的;

9999的二進制位:10011100001111

一共有8個1,所以返回的就是8

第三題

3. 下面程序的1,2,3處表達式的值為()

int main()
{int n = 1;++n;n++; // 1--n; // 2++n; // 3return 0;
}

A:2 2 3

B:2 2 2

C:2 3 2

D:2 1 1

答案及解析 A

本題考查的是前置++和后置++ 的區別;

前置++,返回的是++之后的值,后置++返回的是++之前的值;--也是;

別忘了1處上面有個++n;

所以1處:表達式的值為2,但是n = 3;

2處:表達式的值為2,n = 2;

3處:表達式的值為3,n = 3;

在C++中的運算符重載就很好地可以看出,前置++和后置++的區別;前置++返回的就是++之后的值,而后置++,是將這個數拷貝了一份返回去,但是這個數自身已經增加1了;

    A& operator++(){*this += 1;return *this;}A operator++(int){A copy = *this;*this += 1;return copy;}

第四題

4. 有如下代碼段:

char x[ ]="abcdefg";
char y[ ]={'a','b','c','d','e','f','g'};

則正確的敘述為()

A:數組 x 和數組 y 等價

B:strlen(x) > strlen(y)

C:strlen(y) >= strlen(x)

D:sizeof(y) > sizeof(x)

答案及解析 C

A:錯誤,x是一個字符串,而y是一個字符數組,字符串和字符數組的區別就是末尾有沒有隱藏的\0,字符串末尾一定是有一個隱藏的\0,但是字符數組的\0的具體位置是隨機的;

B錯C對:因為strlen函數是求字符串長度的,其中只有遇到\0才會停止計算,然后返回\0之前的字符個數,上面也說了,y這個字符數組的\0的位置是不確定的,所以可能在末尾,也可能在更之后,所以strlen(y) >= strlen(x)的;

D:錯誤,x的大,這個是計算占用多少內存的,x有個隱藏的\0也是申請空間了的;

第五題

5. 有以下定義和語句,則 *( p[0] + 1) 所代表的數組元素是()

int?a[3][2]?=?{1,?2,?3,?4,?5,?6},?*p[3];
p[0]?=?a[1];

A:a[ 0 ][ 1 ]

B:a[ 1 ][ 0 ]

C:a[ 1 ][ 1 ]

D:a[ 1 ][ 2 ]

答案及解析 C?

首先,int *p[ 3 ]是一個指針數組,因為[ ]的優先級高,所以會先形成數組,然后每個元素的類型是int*;其次p [ 0 ]存的是a[ 1 ]的地址,a[ 1 ]代表的是這個二維數組第二行的首元素地址;因為a[ 1 ][ 2 ]相當于的就是第二行這個一維數組,a[ 1 ]就是這個一維數組的數組名,數組名代表首元素地址,也就是a[ 1 ][ 0 ]的地址;

p[ 0 ] <==> a[ 1 ] <==> &a[ 1 ][ 0 ]

p[ 0 ] + 1 <==> &a [ 1 ][ 0 ] + 1 <==> &a[ 1 ][ 1 ]

*(p[ 0 ] + 1)? <== > a[ 1 ][ 1 ]

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/212156.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/212156.shtml
英文地址,請注明出處:http://en.pswp.cn/news/212156.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【Python/Java/C++三種語言】20天拿下華為OD筆試之【位運算】2023B-出錯的或電路【歐弟算法】全網注釋最詳細分類最全的華為OD真題

文章目錄 題目描述與示例題目描述輸入描述輸出描述示例一輸入輸出說明 示例二輸入輸出說明 解題思路代碼PythonJavaC時空復雜度 華為OD算法/大廠面試高頻題算法練習沖刺訓練 題目描述與示例 題目描述 某生產門電路的廠商發現某一批次的或門電路不穩定&#xff0c;具體現象為計…

基于SpringBoot+Vue的學校在線學習系統

開發環境 IDEA JDK1.8 MySQL8.0Node 系統簡介 本系統擁有管理員&#xff0c;教師&#xff0c;學生三種身份登錄&#xff0c;管理員登錄可以查看所有信息&#xff0c;教師登錄可以發布作業&#xff0c;查看試卷&#xff0c;回答問題等&#xff0c;學校登錄可以查看作業&…

【矩陣論】Chapter 6—矩陣分解知識點總結復習(附Python實現)

文章目錄 1 滿秩分解&#xff08;Full-Rank Factorization&#xff09;2 三角分解&#xff08;Triangular Factorization&#xff09;3 正交三角分解&#xff08;QR Factorization&#xff09;4 奇異值分解&#xff08;SVD&#xff09; 1 滿秩分解&#xff08;Full-Rank Factor…

react.js源碼二

三、調度Scheduler scheduling(調度)是fiber reconciliation的一個過程&#xff0c;主要決定應該在何時做什么?在stack reconciler中&#xff0c;reconciliation是“一氣呵成”&#xff0c;對于函數來說&#xff0c;這沒什么問題&#xff0c;因為我們只想要函數的運行結果&…

什么是CDN?用了CDN一定會更快嗎?

文章目錄 前言CDN是什么?CDN的工作原理為什么要加個CNAME那么麻煩&#xff1f;怎么知道哪個服務器IP里調用方最近&#xff1f; 回源是什么回源是什么&#xff1f;那還有哪些情況會發生回源呢&#xff1f; 怎么判斷是否發生回源用了CDN一定比不用的更快嗎&#xff1f;什么情況下…

光伏電站全貌

光伏電站 簡介 每一篇文章開篇我都會寫一個內容簡介&#xff0c;一來梳理自己的寫作思路&#xff0c;二來方便讀者整體了解文章寫作意圖和脈絡。本篇是新能源方面的開篇之作&#xff0c;我選取了介紹光伏電站基礎知識&#xff0c;首先我們要了解光伏電站基礎分類&#xff0c;然…

PHP基礎 - 運算符

算術運算符 運算符描述實例+加法$x = 2 + 2; echo $x;-減法$x = 5 - 3; echo $x;*乘法$x = 4 * 3; echo $x;/除法$x = 10 / 2; echo $x;%取余$x = 15 % 4; echo $x;++自增$x = 5; $x++; echo $x;--自減$x = 5; $x--; echo $x;算術運算符的使用場景: 1)加法運算符 +:用于將兩…

Copilot的11個新功能,你不能錯過!

我的新書《Android App開發入門與實戰》已于2020年8月由人民郵電出版社出版&#xff0c;歡迎購買。點擊進入詳情 文章目錄 1. PowerPoint2. Excel3. One Note4. Word5. 必應聊天現在變為Copilot6. GPT-4為Copilot聊天提供動力7. Microsoft Teams8. Outlook9. Copilot Studio10.…

磁盤存儲器

目錄 1.1 磁盤存儲器1.2 磁盤的性能指標1.3 磁盤存儲器(續)1.4 磁盤陣列 \quad \quad \quad 左南右北為0 左北右南為1 \quad \quad 1.1 磁盤存儲器 \quad 磁盤的驅動器 \quad 磁盤的控制器 \quad 主機每次對磁盤進行讀和寫操作都是以扇區為單位的 現在比較流行的是SATA標準 \…

【kafka實踐】12|如何實現exactly once

前面的章節中我們聊到如何避免保證消息丟失&#xff0c;沒有印象的同學可以再看看&#xff0c;本節我們將展開如何實現kafka的一次精確。 首先我們需要明白兩個概念“冪等”和“事物” 冪等 “冪等”這個詞原是數學領域中的概念&#xff0c;指的是某些操作或函數能夠被執行多…

基于SpringBoot 2+Layui實現的管理后臺系統源碼+數據庫+安裝使用說明

springboot-plus 一個基于SpringBoot 2 的管理后臺系統,包含了用戶管理&#xff0c;組織機構管理&#xff0c;角色管理&#xff0c;功能點管理&#xff0c;菜單管理&#xff0c;權限分配&#xff0c;數據權限分配&#xff0c;代碼生成等功能 相比其他開源的后臺系統&#xff0…

vue 實現返回頂部功能-指定盒子滾動區域

vue 實現返回頂部功能-指定盒子滾動區域 html代碼css代碼返回頂部顯示/隱藏返回標志 html代碼 <a-icontype"vertical-align-top"class"top"name"back-top"click"backTop"v-if"btnFlag"/>css代碼 .top {height: 35px;…

令牌桶算法理解學習(限流算法)

令牌桶算法是網絡流量整形&#xff08;Traffic Shaping&#xff09;和速率限制&#xff08;Rate Limiting&#xff09;中最常使用的一種算法。典型情況下&#xff0c;令牌桶算法用來控制發送到網絡上的數據的數目&#xff0c;并允許突發數據的發送。 用簡單的話語來說就是限制…

Vscode中配置SSH

方法&#xff1a; 本地生成秘鑰&#xff0c;并將生成的秘鑰保存在服務器上 步驟&#xff1a; 一、用戶端生成秘鑰 1、在cmd中輸入ssh-keygen -t rsa&#xff0c;一直點回車即可 2、打開生成的秘鑰文件&#xff08;位置&#xff1a;C:\Users\用戶名\.ssh\id_rsa.pub&#x…

【Java】BigInteger用法

前言 在Java中&#xff0c;由于沒有long long類型。如果需要使用比long類型更大的整數數據時&#xff0c;就可以使用BigInteger類&#xff0c;它支持任意精度的整數。 創建BigInteger類型數據 Test public void test1() {Scanner scan new Scanner(System.in);//1.控制臺讀…

leetcode做題筆記2048. 下一個更大的數值平衡數

如果整數 x 滿足&#xff1a;對于每個數位 d &#xff0c;這個數位 恰好 在 x 中出現 d 次。那么整數 x 就是一個 數值平衡數 。 給你一個整數 n &#xff0c;請你返回 嚴格大于 n 的 最小數值平衡數 。 示例 1&#xff1a; 輸入&#xff1a;n 1 輸出&#xff1a;22 解釋&a…

Linux中的SNAT與DNAT實踐

Linux中的SNAT與DNAT實踐 1、SNAT的介紹1.1&#xff0c;SNAT概述1.2&#xff0c;SNAT源地址轉換過程1.3&#xff0c;SNAT轉換 2、DNAT的介紹2.1&#xff0c;DNAT概述2.2&#xff0c;DNAT轉換前提條件2.3&#xff0c;DNAT的轉換 3、防火墻規則的備份和還原4、tcpdump抓包工具的運…

騰訊再推互動微短劇,游戲的風吹向了短劇

當你看劇時不再擁有上帝視角&#xff0c;處在女主的位置上&#xff0c;你又會做出什么樣的選擇&#xff1f; 騰訊最新上線的短劇《摩玉玄奇2》在原版之外還推出了互動版&#xff0c;就給出了這樣一個新玩法。 《摩玉玄奇2》原版是普通的后宮職場微短劇&#xff0c;互動版則是…

虛擬機VMware安裝centos以及配置網絡

目錄 1、CentOS7的下載2、CentOS7的配置3、CentOS7的安裝4、CentOS7的網絡配置 4.1、自動獲取IP4.2、固定獲取IP 5、XShell連接CentO 準備工作&#xff1a;提前下載和安裝好VMware。VMware的安裝可以參考這一篇文章&#xff1a;VMware15的下載及安裝教程。 1、CentOS7的下載 …

qt 字符串操作

在 QT 中&#xff0c;你可以使用QString類來操作字符串。QString是一個模板類&#xff0c;它可以存儲不同字符集的字符串&#xff0c;并且提供了許多用于操作字符串的方法。 以下是一些常見的操作字符串的方法&#xff1a; append()方法&#xff1a;將一個字符串附加到QString的…