C++ Primer Plus第十七章復習題

1、iostream文件在C++I/O中扮演這種角色?

答:?iostream文件定義了用于管理輸入和輸出的類、常量和操縱符,這些對象管理用于處理I/O的流和緩沖區。該文件還創建了一些標準對象(cin、cout、cerr和 clog以及對應的寬字符對象),用于處理與每個程序相連的標準輸入和輸出流。

2、為什么鍵入數字作為輸入要求程序進行轉換?

答:鍵盤輸入生成一系列字符。輸入121將生成3個字符,每個字符都由一個1字節的二進制碼表示。要將這個值存儲為int類型,則必須將這3個字符轉換為121值的二進制表示。

3、標準輸入與標準錯誤之間有什么區別?

答:在默認情況下,標準輸出和標準錯誤都將輸出發送給標準輸出設備(通常為顯示器)。然而,如果要求操作系統將輸出重定向到文件,則標準輸出將與文件(而不是顯示器)相連,但標準錯誤仍與顯示器相連。

4、為什么在不為每個類型提供明確指示的情況下,cout仍能夠顯示不同的C++類型?

答:

ostream類為每種C++基本類型定義了一個operator<<()函數的版本。編譯器將下面的表達式:
cout<< spot
解釋為:
cout.operator<< (spot)
這樣,它便能夠將該方法調用與具有相同參數類型的函數原型匹配。

5、輸出方法 定義的哪一特征讓您能夠拼接輸出?

答:

可以將返回ostream &類型的輸出方法拼接。這樣,通過一個對象調用方法時,將返回該對象。然后,返回對象將可以調用序列中的下一個方法。

6、編寫一個程序,要求用戶輸入一個整數,然后以十進制,八進制和十六進制顯示該整數。在寬度為15個字符的字段中顯示每種形式,并將它們顯示在同一行上,同時使用C++數基前綴。

答:

#include <iostream>
#include <iomanip>
int main()
{
using namespace std;cout << "Enter an integer:";int n;cin >> n;cout << setw(15) << "base ten" << setw (15) <<"base sixteen" << setw (15)<< "base eight" << "\n" ;cout.setf (ios::showbase);cout << setw(15)<< n << hex << setw (15)<< n << oct << setw(15) << n << "\n";return 0;
}

7、編寫一個程序,請求用戶輸入下面的信息,并按下面的格式顯示它們。

Enter your name :Billy Gruff
Enter your hourly wages : 12
Enter nhumber of hours worked: 7.5
First format:Billy Gruff: $ 12.00:  7.5
Second format: 
Billy Gruff              : $12.00  :7.5

答:

#include <iostream>
#include <iomanip>
int main ()
{using namespace std;char name [20] ;float hourly;float hours;cout<< "Enter your name: ";cin.get (name,20).get();cout << "Enter your hourly wages: ";cin >> hourly;cout << "Enter number of hours worked: ";cin >> hours;cout.setf(ios::showpoint);cout.setf (ios::fixed, ios:: floatfield);cout.setf (ios : :right,ios: :adjustfield);// or cout<< showpoint<c fixed <c right;cout << "First format : \n" ;cout << setw(30)<< name << ":$" << setprecision(2)<< setw(10)<< hourly << ":" <<          setprecision (1)<< setw(5)<< hours << " \n" ;cout << "Second format : \n" ;cout.setf(ios: :left, ios: :adjustfield);cout <c setw (30)<< name<< ":$"<< setprecision(2) << setw(10)<< hourly << ":" << setprecision (1)<<setw(5)<< hours << "\n";return 0;
}

8、對于下面的程序,如果輸入

I see a q<Enter>
I see a q<Enter>

?將打印什么內容?

程序:

#include <iostream>
int main()
{using namespace std;char ch;int ct1 = 0;cin >> ch;while(ch != 'q'){ct1++;cin >> ch;}int ct2 = 0;cin.get(ch);while(ch != 'q'){ct2++;cin.get(ch);}cout << "ct1 = " << ct1 << "; ct2 =: << ct2 << "\n";return 0;}

答:

ct1 = 5;ct2 = 9
該程序的前半部分忽略空格和換行符,而后半部分沒有。注意,程序的后半部分從第一個q后面的換行符開始讀取,將換行符計算在內。

9、下面的兩條語句都讀取并丟棄行尾之前的所有字符(包括行尾)。這兩條語句的行為在哪些方面不同?

while(cin.get() != '\n')continue;
cin.ignore(80.'\n');

答:
如果輸入行超過80個字符,ignore()將不能正常工作。在這種情況下,它將跳過前80個字符。

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

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

相關文章

【論文筆記】| 微調LLM晶體生成

【論文筆記】| 微調LLM晶體生成 Fine-Tuned Language Models Generate Stable Inorganic Materials as Text NYU, ICLR 2024 Theme&#xff1a;Material Generation Main work&#xff1a; 微調大型語言模型以生成穩定的材料 可靠性&#xff1a;在樣本結構中&#xff0c;90% …

如何修改WordPress網站的域名

我的網站用的是Hostease的虛擬主機&#xff0c;但是域名是之前在其他平臺買的&#xff0c;而且已經快到期了&#xff0c;因為主機和域名在不同的平臺上&#xff0c;管理不太方便&#xff0c;所以我又在Hostease重新注冊了一個域名&#xff0c;然后把網站換成了新的域名&#xf…

(Java企業 / 公司項目)配置Linux網絡-導入虛擬機

公司給了我一個IP地址 &#xff0c;提供了一個虛擬機或者自己搭建虛擬機&#xff0c;還有提供登錄的賬號密碼 可以查看我之前的文章 VMware Workstation Pro 17虛擬機超級詳細搭建&#xff08;含redis&#xff0c;nacos&#xff0c;docker, rabbitmq&#xff0c;sentinel&…

Oracle數據庫中的PCTUSED解析

PCTUSED是Oracle數據庫中與數據塊空間管理相關的另一個參數&#xff0c;它與PCTFREE共同作用于表空間的段管理。PCTUSED定義了一個數據塊中空閑空間的比例&#xff0c;低于這個比例時&#xff0c;塊被視為“足夠空閑”&#xff0c;可以再次用于插入新的數據行。其主要作用是提高…

3D透視圖模型轉模型變形?---模大獅模型網

3D建模是數字藝術和設計領域中的重要技術&#xff0c;它可以為我們帶來豐富多彩的視覺體驗和創意表達。在本文中&#xff0c;我們將探討一個引人注目的話題&#xff1a;3D透視圖中模型轉換是否會導致變形?通過深入探討這個問題&#xff0c;我們希望能夠幫助您更好地理解在3D建…

GitHub的原理及應用詳解(四)

本系列文章簡介&#xff1a; GitHub是一個基于Git版本控制系統的代碼托管平臺&#xff0c;為開發者提供了一個方便的協作和版本管理的工具。它廣泛應用于軟件開發項目中&#xff0c;包括但不限于代碼托管、協作開發、版本控制、錯誤追蹤、持續集成等方面。 GitHub的原理可以簡單…

【C++風云錄】數字邏輯設計優化:電子設計自動化與集成電路

集成電路設計&#xff1a;打開知識的大門 前言 本文將詳細介紹關于數字芯片設計&#xff0c;電子設計格式解析&#xff0c;集成電路設計工具&#xff0c;硬件描述語言分析&#xff0c;電路驗證以及電路優化六個主題的深入研究與實踐。每一部分都包含了主題的概述&#xff0c;…

如何通過軟件SPI讀寫W25Q64

STM32F1之SPI通信軟件SPI代碼編寫-CSDN博客 目錄 1. W25Qxx系列簡介 2. W25Q64硬件電路 3. W25Q64框圖 4. Flash操作注意事項 5. 代碼編寫 5.1 初始化 5.2 W25Q64讀取ID號 5.3 W25Q64寫使能 5.4 W25Q64等待忙 5.5 W25Q64頁編程 5.6 W25Q64扇區擦除&#x…

WebRTC | 網絡傳輸協議 RTP 和 RTCP

WebRTC | 網絡傳輸協議 RTP 和 RTCP WebRTC | 網絡傳輸協議 RTP 和 RTCP如何選擇 TCP 與 UDPRTP概述工作機制報文結構RTP 的使用RTP 拓展頭RTP 中的填充數據翻譯器和混合器同步控制報文大小wireshark 抓取 RTP 報文 RTCP概述工作機制分組類型報文結構WebRTC 的反饋報文RTPFBPSF…

深入淺出遞歸算法

文章目錄 遞歸思想遞歸的題目1.漢諾塔問題問題分析代碼展示 2.合并兩個有序鏈表問題分析代碼展示 3.反轉鏈表問題分析代碼展示 4.兩兩交換 鏈表中的節點問題分析代碼展示 總結 遞歸思想 遞歸就是將一個很大的問題拆分成子問題&#xff0c;然后再將子問題繼續拆分&#xff0c;拆…

經典正則表達式實例

1、由26個字母組成的字符串 ^[A-Za-z]$2、 由26個字母和數字組成的字符串 ^[A-Za-z0-9]$3、整數形式的字符串 ^-?\d$4、正整數形式的字符串 ^[0-9]*[1-9][0-9]*$5、中國境內郵政編碼,6位 [1-9\d{5}6、匹配中文字符 [\u4e00-\u9fa5]7、國內電話號碼,010-6872**** \d{3}-…

【linux-IMX6ULL-字符設備驅動簡單框架實驗】

目錄 1. 字符設備驅動簡介1.1 重要函數1.2 簡單框架代碼流程1.3 linux中關于驅動的重要命令 2. 字符設備驅動簡單框架編寫2.1 添加LICENSE信息2.2 驅動模塊的入口與出口2.3 入口和出口函數的編寫2.4 設備操作結構體定義2.4.1 結構體函數內容填充 3. 應用程序簡介&#xff1a;4.…

Design to code(2)

【碎碎念】從七點到十一點&#xff0c;累計用時4個小時完成的代碼翻譯Σ(&#xffe3;。&#xffe3;ノ)ノ DCDS圖 順序圖&#xff08;支付過程&#xff09; 交互圖&#xff08;訂單&#xff09; 我的代碼 Payment public class Payment { //定義支付訂單金額 private…

static的了解

【關鍵字】static 使用總結_c static關鍵字-CSDN博客 本文來自上面的文章&#xff0c;這里用于學習&#xff0c;謝謝大佬的分享&#xff01;&#xff01;&#xff01; 非原創&#xff01;&#xff01;&#xff01; 1.一個項目中創建main.cpp和demo.cpp &#xff08;1&#…

FL Studio2025中文最新版本專業編曲軟件有哪些新功能?

FL Studio 21&#xff0c;也被音樂制作愛好者親切地稱為“水果編曲軟件”&#xff0c;是比利時的Image-Line公司研發的一款完整的音樂制作環境或數字音頻工作站&#xff08;DAW&#xff09;。自從1990年代推出以來&#xff0c;FL Studio 以其直觀的用戶界面、豐富的插件支持和強…

Rust分割字符串的常見操作方法

在Rust編程語言中&#xff0c;分割字符串是一個常見的操作&#xff0c;可以通過多種方式實現。以下是一些常用的方法&#xff1a; 使用split方法&#xff1a; split方法可以按照指定的字符或字符序列來分割字符串。它返回一個迭代器&#xff0c;可以迭代分割后的字符串片段。 l…

玩機社區 - 2024年最美社區源碼開源

玩機社區 - 2024年最美社區源碼開源 教程源碼文檔都內置到壓縮包了 https://pan.baidu.com/s/1xwcscTne-JMbmKEntiuAuA?pwd78oi

邏輯分析儀 - 采樣率/采樣深度

采樣深度&#xff08;Sampling Depth&#xff09; 采樣深度指的是邏輯分析儀在一次捕獲過程中可以記錄的最大樣本數量。簡單來說&#xff0c;采樣深度越大&#xff0c;邏輯分析儀可以記錄的數據量就越多。這對于分析長時間的信號變化或復雜的信號序列非常重要。 采樣率&#…

2024年5月23日 (周四) 葉子游戲新聞

《Unclogged》Steam頁面上線 馬桶主題恐怖逃脫解謎Brody制作并發行&#xff0c;一款奇葩創意馬桶主題恐怖逃脫解謎新游《Unclogged》Steam頁面上線&#xff0c;本作暫不支持中文。 Meta人工智能主管楊立昆 大語言模型不會達到人類智能水平IT之家今日&#xff08;5月23日&#x…

QEMU啟動Linux內核

在QEMU環境下啟動linux內核命令如下&#xff1a; QEMU_AUDIO_DRVnone qemu-system-arm -m 256M -nographic -M versatilepb -kernel /home/yukeyang/myfile/linux-6.6.30/arch/arm/boot/zImage -append "consolettyAMA0 rdinit/bin/sh" -dtb arch/arm/boot/dts/arm/…