C語言好題解析(三)

目錄

  • 選擇題一
  • 選擇題二
  • 選擇題三
  • 選擇題四
  • 編程題一
  • 編程題二

選擇題一

以下程序段的輸出結果是()
#include<stdio.h>
int main()
{
char s[] = "\\123456\123456\t";
printf("%d\n", strlen(s));
return 0;
}
A: 12      B: 13      C: 16     D: 以上都不對

【答案】 A
【分析】這道題涉及到轉義字符,\是一種轉義字符,而\就是以(第一個\)修飾(第二個\)使(第二個\)不表示轉義的意思(這里有點繞)
因此\ \為一個字符,而123456則為6個字符。
對后面的\123456\t來說,\123表示一個字符(\ddd:ddd是表示一個1-3位的八進制數字),而456則表示3個字符,\t表示一個字符。
接下來就是strlen的含義,strlen是計算字符串的長度,直到遇見\0才會停止,因此經過前面的分析,strlen(s)=1+6+1+3+1=12
加粗樣式

選擇題二

若有以下程序,則運行后的輸出結果是()
#include <stdio.h>
#define N 2
#define M N + 1
#define NUM (M + 1) * M / 2
int main()
{
printf("%d\n", NUM);
return 0;
}
A: 4       B: 8       C: 9      D: 6

【答案】 B
【分析】這道題就是替換變量,根據上面的定義我們知道
N=2
M=N+1
NUM=(M+1)*M/2
將等式帶入第三表達式即可得出結果。
值得注意的是許多人算出的結果為6,因為他們在算時NUM=(2+1+1)(2+1)/2=6事實上這道題我也是這樣算的
但是實際上正確的算法為:
NUM=(2+1+1) *2+1/2=8.5
這是因為(M+1)*M的第二個M并沒有()因此在計算時不能擅自添加()

最后的8則是因為%d為int的打印方式,所以將小數點后的5省略了
在這里插入圖片描述

選擇題三

如下函數的 f(1) 的值為( )
int f(int n)
{
static int i = 1;
if(n >= 5)
return n;
n = n + i;
i++;
return f(n);
}
A: 5      B: 6       C: 7       D: 8

【答案】C
【分析】這道題是遞歸類型的題 ,n>=5為限制條件,但需要注意的是static修飾的i
千萬不用以為int i=1,i就一直為1了,static修飾使它可以保留以前變化的值,因此i是一直在增加的
詳細的過程如圖:
在這里插入圖片描述
在這里插入圖片描述

選擇題四

下面3段程序代碼的效果一樣嗎( )

int b;
(1)const int *a = &b;
(2)int const *a = &b;
(3)int *const a = &b;
A: (2)=(3)  B: (1)=(2)  C: 都不一樣  D: 都一樣

【答案】 B
【分析】我們需要了解const的含義,只要了解了含義就可以做這道題
const是修飾他后面的變量使它的地址或者數值無法改變。
比如:
(1)中const修飾的是a,就說明a無法改變,因為a是表示的地址,所以a所表示的地址無法改變,但是a的值是可以改變的。
(2)中const修飾的仍是*a(和int無關)
(3)const修飾的是a,也就說明a所代表的數值無法改變,但a的地址是可以改變。

編程題一

驗證尼科徹斯定理

任何一個整數 m 的立方都可以寫成 m 個連續奇數之和
例如
1^3=1
2^3=3+5
3^3=7+9+11
4^3=13+15+17+19
輸入一個正整數 m(m≤100) 
將 m 的立方寫成 m 個連續奇數之和的形式輸出。
注意:本題含有多組輸入數據。
輸入描述:輸入一個int整數
輸出描述:輸出分解后的string
示例:
輸入:6
輸出:31+33+35+37+39+41

【題目分析】
我們需要用n將m的立方表示出來,然后由連續奇數之和可以設第一個奇數a1=x,然后由等差數列的求和公式可以算出Sm=m*x+(m-1)2,
即可得出關系式m^3=m
x+2 * (m-1) * m
即x=m * m- m+1
因為x為第一項,為了求出x的具體值我們需要用到for循環

【代碼】

int main()
{int m = 0;scanf("%d", &m);int n = m * m * m;int x = m * m - m + 1;for (int i = 1; i <= m; i++){if (i == m)printf("%d", x);else{printf("%d+", x);x += 2;}}return 0;
}

編程題二

等差數列 2,5,8,11,14, … 。(從 2 開始的 3 為公差的等差數列),求等差數列前 n 項和

注意:本題有多組輸入
輸入描述:輸入一個正整數 n 。
輸出描述:輸出一個相加后的整數
示例:
輸入:2 輸入:275
輸出:7 輸出:113575
說明:2+5=7 說明:2+5+...+821+824=113575

【題目分析】
這道題和上一題的解法類似,但是是求的Sn
因此需要設一個sum(即Sn),還有x通過式子sum+=x,x+=3再加上循環即可解決問題

【代碼】

#include<stdio.h>
int main()
{int n, x = 2, sum = 0;scanf("%d", &n);for (int i = 1; i <= n; i++){sum += x;x += 3;}printf("%d", sum);return 0;
}

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

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

相關文章

Lnton羚通關于【PyTorch】教程:torchvision 目標檢測微調

torchvision 目標檢測微調 本教程將使用Penn-Fudan Database for Pedestrian Detection and Segmentation 微調 預訓練的Mask R-CNN 模型。 它包含 170 張圖片&#xff0c;345 個行人實例。 定義數據集 用于訓練目標檢測、實例分割和人物關鍵點檢測的參考腳本允許輕松支持添加…

前端-輪詢

一、輪詢定義 輪詢是指在一定的時間間隔內&#xff0c;定時向服務器發送請求&#xff0c;獲取最新數據的過程。輪詢通常用于從服務器獲取實時更新的數據。 二、輪詢和長輪詢區別 輪詢是在固定的時間間隔內向服務器發送請求&#xff0c;即使服務器沒有數據更新也會繼續發送請求…

暴力模擬入門+簡單:零件組裝、塔子的簽到題、塔子哥考試、平均像素值、換座位

暴力模擬入門 P1038 小紅書-2022.9.23-零件組裝 #include <bits/stdc.h> #include <cstdint> using namespace std;typedef long long LL; const int N 100001; int num[4]; LL d; vector<vector<LL>> v(4, vector<LL>(N));int main() {for(in…

解決Pycharm的Settings中Project不見了也無法選擇Python Interpreter的方法

目錄 一、問題如下二、解決方法 一、問題如下 突然打開項目沒有python解釋器&#xff0c;也無法重新配置python Interpreter&#xff0c;而且整個文件夾是黃色高亮的形式&#xff0c;如下顯示&#xff0c;而且重新安裝了pycharm也沒用甚至說打開File–>Setting–>Projec…

日常BUG——普通頁面跳轉tabbar頁面報錯

&#x1f61c;作 者&#xff1a;是江迪呀??本文關鍵詞&#xff1a;日常BUG、BUG、問題分析??每日 一言 &#xff1a;存在錯誤說明你在進步&#xff01; 一、問題描述 微信小程序頁面跳轉的時候出現下面的問題&#xff1a; wx.redirectTo({url: /pages/index/i…

Linux學習之基本指令二

-----緊接上文 在了解cat指令之前&#xff0c;我們首先要了解到Linux下一切皆文件&#xff0c;在學習c語言時我們就已經了解到了 對文件輸入以及讀入的操作&#xff08;向顯示器打印&#xff0c;從鍵盤讀取數據&#xff09;&#xff0c;對于Linux下文件的操作&#xff0c;也是…

算法與數據結構(二十三)動態規劃設計:最長遞增子序列

注&#xff1a;此文只在個人總結 labuladong 動態規劃框架&#xff0c;僅限于學習交流&#xff0c;版權歸原作者所有&#xff1b; 也許有讀者看了前文 動態規劃詳解&#xff0c;學會了動態規劃的套路&#xff1a;找到了問題的「狀態」&#xff0c;明確了 dp 數組/函數的含義&a…

js簡介以及在html中的2種使用方式(hello world)

簡介 javascript &#xff1a;是一個跨平臺的腳本語言&#xff1b;是一種輕量級的編程語言。 JavaScript 是 Web 的編程語言。所有現代的 HTML 頁面都使用 JavaScript。 HTML&#xff1a; 結構 css&#xff1a; 表現 JS&#xff1a; 行為 HTMLCSS 只能稱之為靜態網頁&#xff0…

Rust交叉編譯簡述 —— Arm

使用系統&#xff1a;WSL2 —— Kali(Microsoft Store) 命令列表 rustup target list # 當前官方支持的構建目標架構列表 rustup target add aarch64-unknown-linux-gnu # 添加目標架構sudo apt-get install gcc-13-aarch64-linux-gnu gcc-13-aarch64-linux-gnu # 下載目標工具…

github以及上傳代碼處理

最近在github上傳代碼的時候出現了&#xff1a; /video_parser# git push -u origin main Username for https://github.com: gtnyxxx Password for https://gtny2010github.com: remote: Support for password authentication was removed on August 13, 2021. remote: Plea…

ROS局部路徑規劃器插件teb_local_planner流程梳理(上)

在我之前的文章《ROS導航包Navigation中的 Movebase節點路徑規劃相關流程梳理》中已經介紹過Move_base節點調用局部路徑規劃器插件的接口函數是computeVelocityCommands&#xff0c;接下來&#xff0c;我們就從這個函數入手梳理一下teb_local_planner功能包的工作流程。 ☆注&a…

推薦一個繪圖平臺(可替代Visio)

不廢話&#xff0c;簡易記網址&#xff1a; draw.io 網站會重定向到&#xff1a;https://app.diagrams.net/

編程語言中的++和--運算符介紹

編程語言中的和--運算符介紹 和--是編程語言&#xff08;C/C、JavaScript、Java&#xff09;中的自增&#xff08;加一&#xff09;和自減&#xff08;減一&#xff09;運算符。它們可以應用于變量&#xff0c;并且具有前綴和后綴兩種形式。 前綴形式&#xff1a; variable&…

Databend 開源周報第 106 期

Databend 是一款現代云數倉。專為彈性和高效設計&#xff0c;為您的大規模分析需求保駕護航。自由且開源。即刻體驗云服務&#xff1a;https://app.databend.cn 。 Whats On In Databend 探索 Databend 本周新進展&#xff0c;遇到更貼近你心意的 Databend 。 數據脫敏 Data…

云原生 AI 工程化實踐之 FasterTransformer 加速 LLM 推理

作者&#xff1a;顏廷帥&#xff08;瀚廷&#xff09; 01 背景 OpenAI 在 3 月 15 日發布了備受矚目的 GPT4&#xff0c;它在司法考試和程序編程領域的驚人表現讓大家對大語言模型的熱情達到了頂點。人們紛紛議論我們是否已經跨入通用人工智能的時代。與此同時&#xff0c;基…

ISBN號碼(NOIP2008 普及組第一題)

ISBN號碼 說明 每一本正式出版的圖書都有一個ISBN號碼與之對應&#xff0c;ISBN碼包括9位數字、1位識別碼和3位分隔符&#xff0c;其規定格式如“x-xxx-xxxxx-x”&#xff0c;其中符號“-”就是分隔符&#xff08;鍵盤上的減號&#xff09;&#xff0c;最后一位是識別碼&#x…

CCF C3 走進百度:大模型與可持續生態發展

2023年8月10日&#xff0c;由CCF CTO Club發起的第22期C活動在百度北京總部進行&#xff0c;以“AI大語言模型技術與生態發展”主題&#xff0c;50余位企業界、學界專家、研究人員就此進行深入探討。 CCF C走進百度 本次活動&#xff0c;CCF秘書長唐衛清與百度集團副總裁、深…

如何保證數據傳輸的安全?

要確保數據傳輸的安全&#xff0c;您可以采取以下措施&#xff1a; 使用加密協議&#xff1a;使用安全的傳輸協議&#xff0c;如HTTPS(HTTP over SSL/TLS)或其他安全協議&#xff0c;以保護數據在傳輸過程中的安全性。加密協議可以有效防止數據被竊聽或篡改。 強化身份驗證&…

3種獲取OpenStreetMap數據的方法【OSM】

OpenStreetMap 是每個人都可以編輯的世界地圖。 這意味著你可以糾正錯誤、添加新地點&#xff0c;甚至自己為地圖做出貢獻&#xff01; 這是一個社區驅動的項目&#xff0c;擁有數百萬注冊用戶。 這是一個社區驅動的項目&#xff0c;旨在在開放許可下向每個人提供所有地理數據。…

【云計算原理及實戰】初識云計算

該學習筆記取自《云計算原理及實戰》一書&#xff0c;關于具體描述可以查閱原本書籍。 云計算被視為“革命性的計算模型”&#xff0c;因為它通過互聯網自由流通使超級計算能力成為可能。 2006年8月&#xff0c;在圣何塞舉辦的SES&#xff08;捜索引擎戰略&#xff09;大會上&a…