【C語言強化訓練16天】--從基礎到進階的蛻變之旅:Day7

🔥個人主頁:@草莓熊Lotso

🎬作者簡介:C++研發方向學習者

📖個人專欄:?《C語言》?《數據結構與算法》《C語言刷題集》《Leetcode刷題指南》

??人生格言:生活是默默的堅持,毅力是永久的享受。

前言:我們距離學習完C語言已經很久了,在數據結構學完后,博主準備通過這16天的強化訓練和大家一起回顧C語言的知識,今天依舊是五道選擇和兩道編程題,希望大家能有所收獲。


目錄

選擇題:

編程題:

1.圖片整理

2.尋找數組的中心下標


選擇題:

1、以下對C語言函數的有關描述中,正確的有【多選】( )

A: 在C語言中,一個函數一般由兩個部分組成,它們是函數首部和函數體

B: 函數的實參和形參可以是相同的名字

C: 在main()中定義的變量都可以在其它被調函數中直接使用

D: 在C程序中,函數調用不能出現在表達式語句中

答案解析:

正確答案:AB

主函數中定義的局部變量只在主函數中有效,因為主函數也是一個函數,它與其他函數是平行關系,C錯誤;當函數有返回值時,可以出現在表達式中,D錯誤

2、在C語言中,以下正確的說法是( )

A: 實參和與其對應的形參各占用獨立的存儲單元

B: 實參和與其對應的形參共占用一個存儲單元

C: 只有當實參和與其對應的形參同名時才共占用存儲單元

D: 形參是虛擬的,不占用存儲單元

答案解析:

正確答案:A

在調用函數的時候,真實傳遞給函數的是實參,函數定義部分函數名后的參數是形參。形參和實參的名字是可以相同的,在函數調用的時候,形參是實參的一份臨時拷貝,分別占用不同的內存空間,所以A正確,B錯誤,及時形參和實參的名字相同,也是占用不同的內存空間,所以B錯誤;函數如果不被調用時,函數的形參是形式上存在的,但是函數在被調用的時候,形參是要分配內存空間的,所以D錯誤。

3、在上下文及頭文件均正常的情況下,下列代碼的輸出是( )(注: print 已經聲明過)
A: suiene B: neius C: run-time error D: suieneG

int main()
{char str[] = "Geneius";print(str);return 0;
}
print(char* s)
{if (*s){print(++s);printf("%c", *s);}
}

答案解析:

正確答案:A

代碼實現了遞歸倒序打印字符串的功能,但是++s使得s的值發生了變化,回不到'G'的位置上,故而沒有打印'G

4、對于函數 void f(int x); ,下面調用正確的是( )

A: int y=f(9); B: f(9); C: f(f(9)); D: x=f();

答案解析:
正確答案:B
函數f是沒有返回值的,不能給int類型變量賦值,故A錯誤,同時需要一個整型參數,C中f(9)不能作為f的參數,也是錯的,D 選項沒有傳參,也不能接收返回值也是錯誤的。

5、給定 fun 函數如下,那么 fun(10) 的輸出結果是( )
A: 0 B: 10 C: 55 D: 3628800

int fun(int x)
{return (x==1) ? 1 : (x + fun(x-1));
}

答案解析:

正確答案:C

代碼是一個遞歸函數,計算x+(x-1)+(x-2)+...+2+1即等差數列的和


編程題:

1.圖片整理

題目鏈接:圖片整理_牛客題霸_牛客網

題目描述:

題目示例:

代碼演示:

#include <stdio.h>
#include<stdlib.h>
#include<string.h>int cmp(const void*p1,const void*p2)
{return *(char*)p1-*(char*)p2;
}
int main() {char s[1001];scanf("%s",s);qsort(s,strlen(s),sizeof(char),cmp);printf("%s",s);return 0;
}

題目解析:

  • 這道題考察的其實就是字符排序,每個 ascii 字符在內存都有一個對應的 ascii 值,通過內存中數據的存儲進行排序就行,這里直接用的qsort。

2.尋找數組的中心下標

題目鏈接:724. 尋找數組的中心下標 - 力扣(LeetCode)

題目描述:

題目示例:

代碼演示:

int pivotIndex(int* nums, int numsSize) {int total = 0;for (int i = 0; i < numsSize; ++i) {total += nums[i];}int sum = 0;for (int i = 0; i < numsSize; ++i) {if (2 * sum + nums[i] == total) {return i;}sum += nums[i];}return -1;
}

題目解析:

  • 先算數組總和?total,再遍歷數組,用?sum?累加左側元素,當?2 * sum + nums[i] == total?時,i?就是中心下標,否則返回?-1?,通過一次遍歷找中心下標,時間復雜度?O(n)?,空間復雜度?O(1)?

往期回顧:

【C語言強化訓練16天】--從基礎到進階的蛻變之旅:Day4

【C語言強化訓練16天】--從基礎到進階的蛻變之旅:Day5

【C語言強化訓練16天】--從基礎到進階的蛻變之旅:Day6

結語:本篇博客就到此結束了,C 語言的精髓在于對細節的掌控和對底層的理解,這需要持續實踐。愿你帶著這份訓練中獲得的思維與習慣,在編程路上走得更穩、更遠。如果文章對你有幫助的話,歡迎評論,點贊,收藏加關注,感謝大家的支持。

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

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

相關文章

污水處理行業的 “智能革命”:邊緣計算網關如何重塑傳統運維模式?

污水處理行業的 “智能革命”&#xff1a;邊緣計算網關如何重塑傳統運維模式&#xff1f;在污水處理這一關乎生態環境與可持續發展的關鍵領域&#xff0c;藍蜂網關正憑借其先進技術與強大功能&#xff0c;發揮著無可替代的重要作用。作為工業級物聯網解決方案的核心組件&#x…

ASP.NET Core 中的多租戶 SaaS 應用程序

介紹隨著軟件即服務 (SaaS) 持續主導技術領域&#xff0c;構建能夠高效地從單一代碼庫服務于多位客戶&#xff08;租戶&#xff09;的應用程序變得至關重要。ASP.NET Core 憑借其模塊化和可擴展的架構&#xff0c;是實現多租戶 SaaS 應用程序的強大框架。本文將指導您了解構建多…

JUC之CompletableFuture【中】

文章目錄四、CompletableFuture基本使用4.1 默認線程池、無返回值4.2 默認線程池、有返回值4.3 自定義線程池、有返回值4.4 CompletableFuture 獲取結果五、對結果進行處理5.1 方法說明5.2 示例5.3 thenApply vs thenApplyAsync5.3.1 核心區別: 執行線程不同5.3.2 thenApply: 同…

環境變量不生效?

目錄 添加環境變量 解決不生效 不生效場景 解決辦法 大家都知道Windows系統對于開發者來說并不友好&#xff0c;尤其是新手&#xff0c;當然這是相比于linux和MacOS相比&#xff0c;因為開發工具、項目腳本等環境配置要為復雜&#xff0c;注意事項也更多一些。而這篇文章將…

小迪安全v2023學習筆記(六十六講)—— Java安全SQL注入SSTISPELXXE

文章目錄前記WEB攻防——第六十六天Java安全&SPEL表達式&SSTI模板注入&XXE&JDBC&MyBatis注入環境搭建Hello-Java-SecJavaSecJava安全 - SQL注入-JDBC&MyBatisJDBC注入原理語句拼接預編譯的錯誤使用JdbcTemplate正則過濾MyBatis注入原理Like注入Order B…

把 AI 變成「圖書館管理員」——基于檢索增強的離線圖書語音導航小盒子

標簽&#xff1a;檢索增強、語音導航、離線 LLM、RAG、ESP32-S3、低功耗、TTS、BLE ---- 1. 背景&#xff1a;讀者找不到書的痛苦 高校圖書館每天 5000 人次&#xff0c;高頻問題&#xff1a; ? “《深度學習》在哪個書架&#xff1f;” ? “有沒有類似《三體》的科幻&…

架構思維:在AI時代為產品“減負”的終極武器——用結構化智慧破解數字化復雜困局

摘要 數字化產品的復雜度飆升已成為企業發展的核心瓶頸。本文基于架構思維的本質&#xff08;元素、連接、演進&#xff09;&#xff0c;結合5A架構體系&#xff08;業務/信息/應用/技術/治理架構&#xff09;&#xff0c;系統闡述如何通過分而治之、共性沉淀、AI賦能三大策略降…

黎陽之光:以數字之力,筑牢流域防洪“智慧防線”

當洪水來襲&#xff0c;每一分精準的預報、每一次及時的預警、每一輪科學的預演、每一套完善的預案&#xff0c;都可能關系到江河安瀾與萬家平安。在水利現代化建設的浪潮中&#xff0c;黎陽之光憑借數字孿生、視頻孿生等核心技術&#xff0c;打造流域防洪“四預”管理平臺&…

transformer模型初理解

模型介紹 在 Transformer 之前&#xff0c;主流的序列模型是 **RNN&#xff08;循環神經網絡&#xff09;** 工作方式類似「逐字閱讀」&#xff1a;處理序列時&#xff0c;必須從第一個詞開始&#xff0c;一個接一個往后算&#xff08;比如翻譯時&#xff0c;先看 “我”&#…

驅動開發系列66 - glCompileShader實現 - GLSL中添加內置函數

一&#xff1a;概述 本文介紹如何為 GLSL 語言中增加一個內置函數&#xff0c;以https://registry.khronos.org/OpenGL/extensions/ARB/ARB_shader_texture_image_samples.txt擴展為例&#xff0c;介紹下添加textureSamples內置函數的過程。

指針的應用學習日記

Git常見的命令&#xff1a;%h 簡化哈希 %an 作者名字 %ar 修訂日期(距今) %ad修訂日期 %s提交說明指針簡介指針(Pointer)是C語言的一個重要知識點&#xff0c;其使用靈活、功能強大&#xff0c;是C語言的靈魂。 指針與底層硬件聯系緊密&#xff0c;使用指針可操作數據的地址&am…

KMM跨平臺叛逃實錄:SwiftUI與Compose Multiplatform共享ViewModel的混合開發框架(代碼復用率85%)

KMM跨平臺叛逃實錄&#xff1a;SwiftUI與Compose Multiplatform共享ViewModel的混合開發框架&#xff08;代碼復用率85%&#xff09;一、架構革命&#xff1a;跨平臺統一狀態管理1.1 核心架構設計1.2 技術矩陣對比二、KMM共享ViewModel實現2.1 基礎狀態管理2.2 ViewModel核心架…

關于Android webview協議混淆

背景&#xff1a;android中引入的html頁面是http請求(web服務僅開放了80端口)&#xff0c;但html頁面引用的后端接口是https請求&#xff0c;則發生android中html頁面請求接口異常<請求無法發送到后端服務(status0)>。瀏覽器出于安全考慮&#xff0c;要求&#xff1a; 同…

Android Jetpack | Lifecycle

一.前言 本篇主線包含三點&#xff0c;Lifecycle的作用、簡單使用、核心原理&#xff08;包含核心類與源碼主線分析&#xff09;&#xff1b; 二.作用 官方文檔生命周期感知型組件可執行操作來響應另一個組件&#xff08;如 Activity 和 Fragment&#xff09;的生命周期狀態…

單片機編程架構

沒有最好的程序架構。 只要在項目中實現產品功能并穩定工作&#xff0c;且能在團隊內統一應用管理就是最優的程序架構。 一、單片機運行模型&#xff1a; 1.能分配時間的裸機代碼 2.FreeRTOS操作系統 代碼分層框架&#xff1a; 1.與板關聯的底層 2.《驅動底層的驅動層》《中間層…

114. 二叉樹展開為鏈表

題目&#xff1a;給你二叉樹的根結點 root &#xff0c;請你將它展開為一個單鏈表&#xff1a; 展開后的單鏈表應該同樣使用 TreeNode &#xff0c;其中 right 子指針指向鏈表中下一個結點&#xff0c;而左子指針始終為 null 。展開后的單鏈表應該與二叉樹 先序遍歷 順序相同。…

【Langchain系列三】GraphGPT——LangChain+NebulaGraph+llm構建智能圖數據庫問答系統

Langchain二次開發專欄 【Langchain系列一】常用大模型的key獲取與連接方式 【Langchain系列二】LangChain+Prompt +LLM智能問答入門 【Langchain系列三】GraphGPT——LangChain+NebulaGraph+llm構建智能圖數據庫問答系統 【Langchain系列四】RAG——基于非結構化數據庫的智能問…

【GNSS定位原理及算法雜記6】??????PPP(精密單點定位)原理,RTK/PPK/PPP區別討論

PPP 技術詳解&#xff1a;原理、流程與 RTK/PPK 對比 在高精度 GNSS 定位技術體系中&#xff0c;除了 RTK 和 PPK 以外&#xff0c;還有一類無需基站即可實現分米到厘米級定位的方法 —— PPP&#xff08;Precise Point Positioning&#xff0c;精密單點定位&#xff09;。它以…

LeetCode 837.新 21 點:動態規劃+滑動窗口

【LetMeFly】837.新 21 點&#xff1a;動態規劃滑動窗口 力扣題目鏈接&#xff1a;https://leetcode.cn/problems/new-21-game/ 愛麗絲參與一個大致基于紙牌游戲 “21點” 規則的游戲&#xff0c;描述如下&#xff1a; 愛麗絲以 0 分開始&#xff0c;并在她的得分少于 k 分時…

Codeforces 盒裝蘋果

題目來源&#xff1a;問題 - 2107B - Codeforces 這道題其實只需要判斷兩個要點&#xff0c;首先判斷一下最大值-1后與最小值的差值是否>k&#xff0c;這里有個小細節&#xff0c;當有多個最大值時&#xff0c;可以先將一個最大值-1后再排序&#xff0c;判斷新數組最大值與最…