C語言刷題訓練【第11天】

大家好,我是紀寧。
今天是C語言筆試刷題訓練的第11天,加油!

文章目錄

  • 1、聲明以下變量,則表達式: ch/i + (f*d – i) 的結果類型為( )
  • 2、關于代碼的說法正確的是( )
  • 3、已知有如下各變量的類型說明,則以下不符合C語言語法的表達式是( )
  • 4、下面函數的輸出結果是( )
  • 5、如下代碼的輸出結果是( )
  • 最大連續 1 的個數
  • 完全數計算(完數)

1、聲明以下變量,則表達式: ch/i + (f*d – i) 的結果類型為( )

char ch;
int i;
float f;
double d;

A: char B: int C: float D: double

基本數據類型的等級從低到高如下:char int long float double運算的時候是從低轉到高的,表達式的類型會自動提升或者轉
換為參與表達式求值的最上級類型,所以選D

2、關于代碼的說法正確的是( )

#include <stdio.h>
int main()
{int x = -1;unsigned int y = 2;if (x > y){printf("x is greater");}else{printf("y is greater");}return 0;
}

A: x is greater B: y is greater C: 依賴實現 D: 隨機

x是有符號數-1,內存中是全1,當有符號的x和無符號數進行比較時,x會隱式類型轉換被當做無符號數,是一個很大的數,
這時就選擇A

3、已知有如下各變量的類型說明,則以下不符合C語言語法的表達式是( )

int k, a, b;
unsigned int w = 5;
double x = 1.42;

A: x%3 B: w+=-20 C: k=(a=200,b=300) D: a+=a-=a=9

取余操作兩邊必須是整數,所以選A

4、下面函數的輸出結果是( )

void func()
{
int k = 1^(1 << 31 >> 31);printf("%d\n", k);
}

A: 0 B: -1 C: -2 D: 1

(1 << 31 );左移31位,并在右側填充0,得到0x80000000,即符號位為1,其他為0,即-2147483648
int k = 1^(1 << 31 >> 31);注意,這里在右移的時候,符號位保持為1,右移后填充1,結果為0xFFFFFFFF,即-1,
0x00000001^0xFFFFFFFF,即0xFFFFFFFE(-2),所以選D
在這里插入圖片描述

5、如下代碼的輸出結果是( )

#include <stdio.h>
int main()
{int i = 1;sizeof(i++);printf("%d\n", i);return 0;
}

A: 1 B: 4 C: 2 D: 8

一般表達式的運算是在運行時執行的,而sizeof是一個編譯階段就執行的運算符,在其內的任何運算都不執行,只推測出其中
表達式結果的類型求其大小,故前后i的值不變,所以選A=

最大連續 1 的個數

給定一個二進制數組 nums , 計算其中最大連續 1 的個數。
在這里插入圖片描述

int findMaxConsecutiveOnes(int* nums, int numsSize){int max=0,count=0;max=count;int*p=nums;while(numsSize--){if(*p==1){count++;p++;}else if(*p==0){count=0;p++;}if(count>max)max=count;}return max;
}

這道題思路比較簡單,統計連續1的個數,遇到0時表示連續中斷,判斷如果當前的統計數大于之前最大的則替換,然后繼續下一個位置開始的統計即可。要注意最后一個數組元素的判斷,很容易會將最后一個數組元素略過。
在這里插入圖片描述

完全數計算(完數)

完全數(Perfect number),又稱完美數或完備數,是一些特殊的自然數。
它所有的真因子(即除了自身以外的約數)的和(即因子函數),恰好等于它本身。
例如:28,它有約數1、2、4、7、14、28,除去它本身28外,其余5個數相加,1+2+4+7+14=28。
輸入n,請輸出n以內(含n)完全數的個數。

輸入描述:輸入一個數字n

輸出描述:輸出不超過n的完全數的個數
在這里插入圖片描述

#include<math.h>
#include <stdio.h>
int main(){int n = 0, count = 0, ret = 1;scanf("%d", &n);do{for (int i = 2; i <=sqrt(n); i++){if (n % i == 0){ret += i;if(i!=n/i)ret += n / i;}}if (ret == n)count++;ret = 1;} while (--n);printf("%d", count-1);
}

這道題的關鍵在于完全數的判斷:完全數指的是一個數字的所有約數的和和自身相等。我們只需要從 1 開始將這個數的約數相加求和即可。
約數就是能夠被數字整除,而這里簡化的一個思路是數字能夠被整除,則除數和結果就都是約數,這種思路下,只需要從1計算到平方根即可。
比如:數字 8 , 能夠整除 2 ,結果是 4 ,則除數 2 和結果 4 都是約數,而這兩個只需要一次計算判斷即可。需要注意的是 4,9,25… 這種,除數和結果相同的情況,則除數或者結果只相加一次就夠了。
而這段代碼其實是將1也算進去了,所以最后總數減1。
在這里插入圖片描述

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

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

相關文章

使用 Visual Studio GoogleTest編寫 C/C++ 單元測試——入門篇

入門教程 Visual Studio 新建 GoogleTest項目&#xff0c;一路選默認參數 pch.h #pragma once#include "gtest/gtest.h"int add(int a, int b);pch.cpp #include "pch.h"int add(int a, int b) {return a b; }test.cpp #include "pch.h"TES…

【廣州華銳視點】AR電力職業技能培訓系統讓技能學習更“智慧”

隨著科技的發展&#xff0c;教育方式也在不斷地進步和創新。其中&#xff0c;增強現實(AR)技術的出現&#xff0c;為教育領域帶來了全新的可能。AR電力職業技能培訓系統就是這種創新教學方法的完美實踐&#xff0c;它將虛擬與現實相結合&#xff0c;為學生提供了一個沉浸式的學…

【數據庫】Sql Server可視化工具SSMS條件和SQL窗格以及版本信息

2023年&#xff0c;第34周&#xff0c;第1篇文章。給自己一個目標&#xff0c;然后堅持總會有收貨&#xff0c;不信你試試&#xff01; SQL SERVER 官方本身就有數據庫可視化管理工具SSMS&#xff0c;所以大部分都會使用SSMS。以前版本是直接捆綁&#xff0c; 安裝完成就自帶有…

Python多線程與線程池(python線程池ThreadPoolExecutor)concurrent.futures高級別異步執行封裝

文章目錄 Python多線程與線程池一、Python多線程1.1 線程簡介1.2 Python中的多線程1.3 GIL限制 二、線程池2.1 Python中的線程池 三、代碼分析四、參考資料 Python多線程與線程池 一、Python多線程 在進行復雜的計算或處理大量數據時&#xff0c;可以通過創建多個線程來同時執…

Sentinel規則持久化

首先 Sentinel 控制臺通過 API 將規則推送至客戶端并更新到內存中&#xff0c;接著注冊的寫數據源會將新的規則保存到本地的文件中。 示例代碼&#xff1a; 1.編寫處理類 //規則持久化 public class FilePersistence implements InitFunc {Value("spring.application:n…

云原生k8s---資源限制、探針

目錄 一&#xff1a;資源限制 1、資源限制原因 2、Pod 和 容器 的資源請求和限制 3、CPU 資源單位 4、內存 資源單位 5、事例 &#xff08;1&#xff09;事例一 &#xff08;2&#xff09;事例二 二&#xff1a;重啟策略 1、重啟策略模式 2、事例 三&#xff1a;探針…

Win10提醒事項如何打開?電腦上如何添加日程提醒?

有不少上班族表示自己在日常辦公時&#xff0c;經常會忘記一些重要的事情&#xff0c;例如領導安排給自己的任務、會議安排、項目截止日期等。為了避免自己忘記工作事項&#xff0c;很多人都想要在電腦上設置提醒事項或添加日程提醒。那么Win10提醒事項如何打開呢&#xff1f;P…

Golang 中的 archive/zip 包詳解(一):實現 ZIP 壓縮與解壓

Golang 中的 archive/zip 包用于處理 ZIP 格式的壓縮文件&#xff0c;提供了一系列用于創建、讀取和解壓縮 ZIP 格式文件的函數和類型&#xff0c;使用起來非常方便。 實現壓縮功能 1、首先需要創建一個 zip 文件。 zip 文件也是一個文件&#xff0c;首先需要創建一個基礎的…

[Leetcode] [Tutorial] 多維動態規劃(未完待續)

文章目錄 62. 不同路徑Solution 62. 不同路徑 一個機器人位于一個 m ? * ? n 網格的左上角 &#xff08;起始點在下圖中標記為 “Start” &#xff09;。 機器人每次只能向下或者向右移動一步。機器人試圖達到網格的右下角。 問總共有多少條不同的路徑&#xff1f; 示例…

【electron】electron項目創建的方式:

文章目錄 【1】npm init quick-start/electron&#xff08;推薦&#xff09;【2】 克隆倉庫&#xff0c;快速啟動【3】 通過腳手架搭建項目【4】 手動創建項目 【Electron官網】https://www.electronjs.org/zh/docs/latest/api/app 【1】npm init quick-start/electron&#xf…

Excelize Go語言操作 Office Excel文檔基礎庫

Excelize 是 Go 語言編寫的用于操作 Office Excel 文檔基礎庫&#xff0c;基于 ECMA-376&#xff0c;ISO/IEC 29500 國際標準。可以使用它來讀取、寫入由 Microsoft Excel? 2007 及以上版本創建的電子表格文檔。支持 XLAM / XLSM / XLSX / XLTM / XLTX 等多種文檔格式&#xf…

微信小程序實現左滑刪除

一、效果 二、代碼 實現思路使用的是官方提供的 movable-area&#xff1a;注意點&#xff0c;需要設置其高度&#xff0c;否則會出現列表內容重疊的現象。由于movable-view需要向右移動&#xff0c;左滑的時候給刪除控件展示的空間&#xff0c;故 movable-area 需要左移 left:…

Android Gradle Plug-in(AGP ) 的對應關系

AGP 和 Gradle 版本的對應關系 Android Gradle 插件版本說明 | Android 開發者 | Android Developers 插件版本所需的最低 Gradle 版本8.18.08.08.07.47.57.37.47.27.3.37.17.27.07.04.2.06.7.1 舊版 插件版本所需的 Gradle 版本4.1.06.54.0.06.1.13.6.0 - 3.6.45.6.4…

sqlloader學習筆記

INFILE的用法 1&#xff09;模糊導入多個數據的文件。 可以在文件名中使用通配符。 星號 &#xff08;*&#xff09; 表示復數字符&#xff0c;問號 &#xff08;&#xff1f;&#xff09; 表示單個字符。 INFILE emp*.dat INFILE m?emp.dat 2&#xff09;如果不需要導入數據…

jQuery EasyUI datagrid 無記錄時,增加“暫無數據“提示

我們只需要在onLoadSuccess中添加如下代碼&#xff1a; if (data.total 0) {var body $(this).data().datagrid.dc.body2;body.find(table tbody).append(<tr><td width" body.width() " style"height: 35px; text-align: center;"><h…

C語言學習之封裝自定義函數,實現atoi函數功能

實例要求&#xff1a;atoi函數的功能是把字符串轉成整型數值并輸出&#xff1b;把字符串"123456"轉換成數值123456 &#xff0c;并返回數值&#xff1b;函數名&#xff1a; int myatoi(char *str);實例分析&#xff1a; 1.自定義的封裝函數類型是整型&#xff0c;…

在阿里云Linux服務器上部署MySQL數據庫流程

阿里云百科分享在阿里云Linux服務器上部署MySQL數據庫流程&#xff0c;MySQL是一個關系型數據庫管理系統&#xff0c;常用于LAMP和LNMP等網站場景中。本教程介紹如何在Linux系統ECS實例上安裝、配置以及遠程訪問MySQL數據庫。 目錄 背景信息 Alibaba Cloud Linux 2/3、CentO…

上傳excel文件

文件上傳&#xff0c;其實就是用el-upload組件來實現上傳&#xff0c;只是換了樣式&#xff0c;和圖片上傳一樣 <el-form-item label"選擇文件"><el-input placeholder"請選擇文件" v-model"form.file" disabled style"width: 45…

java 使用log4j顯示到界面和文件 并格式化

1.下載log4j jar包https://dlcdn.apache.org/logging/log4j/2.20.0/apache-log4j-2.20.0-bin.zip 2. 我只要到核心包 &#xff0c;看需要 sources是源碼包&#xff0c;可以看到說明。在IDEA里先加入class jar后&#xff0c;再雙擊這個class jar包或或右鍵選Navigate ,Add ,…

android.system.ErrnoException: open failed: EPERM (Operation not permitted)

android 10(Q)開始增加了沙盒機制&#xff0c;不能直接把文件保存到/sdcard目錄下&#xff0c;只能保存到APP專屬目錄下&#xff1b;AndroidManifest.xml在標簽下增加屬性【android:requestLegacyExternalStorage“true”】可以暫時保存到/sdcard路徑下&#xff0c;但是Android…