輕松學習C++:基本語法解析

基本語法解析

  • 引言
  • 基本語法
    • 變量和數據類型
    • 運算符
    • 控制結構
    • 函數
  • 示例代碼:計算圓的面積

引言

C++是一種功能強大的通用編程語言,由Bjarne Stroustrup于1979年創建。它在C語言的基礎上進行了擴展,支持面向對象編程、泛型編程和過程式編程。C++以其高性能和靈活性著稱,廣泛應用于系統軟件、游戲開發、嵌入式系統等領域。本文將為您介紹C++的基本語法,并通過實例帶你感受它的魅力。


基本語法

變量和數據類型

變量是C++中存儲數據的容器,需在使用前聲明其數據類型。常見的數據類型包括:

  • 整型(int:存儲整數,如42
  • 浮點型(float, double:存儲小數,double精度高于float,如3.14
  • 字符型(char:存儲單個字符,如'A'
  • 布爾型(bool:存儲邏輯值truefalse

示例:

int age = 25;
float height = 1.75;
char grade = 'A';
bool isStudent = true;

運算符

運算符用于執行計算或比較操作,主要包括:

  • 算術運算符+(加)、-(減)、*(乘)、/(除)。
  • 關系運算符==(等于)、!=(不等于)、>(大于)、<(小于)。
  • 邏輯運算符&&(與)、||(或)、!(非)。
  • 位運算符&(按位與)、|(按位或)等。

示例:

int a = 10, b = 5;
int sum = a + b;      // sum = 15
bool isEqual = (a == b); // isEqual = false

控制結構

控制結構決定程序的執行流程:

  • 條件語句

    • if-else:根據條件執行不同代碼塊。
    • switch:處理多分支選擇。
  • 循環語句

    • for:適用于已知循環次數的場景。
    • while:條件為真時持續循環。
    • do-while:至少執行一次循環體。

示例(打印1到5):

for (int i = 1; i <= 5; i++) {std::cout << i << " ";
}
// 輸出:1 2 3 4 5

函數

函數是一段可重用的代碼塊,通常包含返回類型、函數名、參數和函數體。
示例(計算兩數之和):

int add(int x, int y) {return x + y;
}
int main() {int result = add(3, 4); // result = 7std::cout << "Sum: " << result << std::endl;return 0;
}

示例代碼:計算圓的面積

以下是一個完整的C++程序,展示輸入半徑并計算圓面積的過程:

#include <iostream>
#define PI 3.14159int main() {double radius;std::cout << "請輸入圓的半徑:";std::cin >> radius;double area = PI * radius * radius;std::cout << "圓的面積是:" << area << std::endl;return 0;
}

運行結果
在這里插入圖片描述

代碼說明

  • #include <iostream>:引入輸入輸出流。
  • #define PI 3.14159:定義圓周率常量。
  • std::cinstd::cout:處理用戶輸入和輸出。
  • 計算公式:面積 = π × 半徑2。

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

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

相關文章

Python Pandas讀取Excel表格中數據并根據時間字段篩選數據

&#x1f91f;致敬讀者 &#x1f7e9;感謝閱讀&#x1f7e6;笑口常開&#x1f7ea;生日快樂?早點睡覺 &#x1f4d8;博主相關 &#x1f7e7;博主信息&#x1f7e8;博客首頁&#x1f7eb;專欄推薦&#x1f7e5;活動信息 文章目錄Python Pandas讀取Excel表格中數據并根據時間…

CS231n-2017 Lecture3線性分類器、最優化筆記

圖片向量與標簽得分向量&#xff1a;上節講到&#xff0c;圖片可以被展開成一個向量&#xff0c;對于這個向量&#xff0c;假設它有D維&#xff0c;那么它就是D維空間的一個點&#xff0c;又假設我們的標簽集合總共有K種&#xff0c;我們可以定義一個K維標簽得分向量&#xff0…

windows wsl ubuntu 如何安裝 open-jdk8

安裝步驟 jdk dhd:~$ java -version Command java not found, but can be installed with: sudo apt install openjdk-11-jre-headless # version 11.0.20.11-0ubuntu1~22.04, or sudo apt install default-jre # version 2:1.11-72build2 sudo apt install op…

Javascript進程和線程通信

JavaScript 中的進程通信&#xff08;IPC&#xff09;和線程通信是實現高性能、高并發應用的核心技術&#xff0c;尤其在處理 CPU 密集型任務或跨環境數據交互時至關重要。以下從底層機制到應用場景的詳解&#xff1a;&#x1f9e9; ??一、進程通信&#xff08;Inter-Process…

堆堆堆,咕咕咕

1.找TopK問題要找到最前面的k個元素void swap(int *a,int *b) {int temp*a;*a*b;*btemp; } //向下調整最小堆 void minheapify(int arr[],int n,int index) {int left2*index1;int right2*index2;int smallestindex;if(left<n&&arr[left]<arr[smallest]) smalles…

n8n教程分享,從Github讀取.md文檔內容

從上一篇我們了解到了如何安裝 n8n 那么這節課我們嘗試從github的個人倉庫獲取某個文件的內容 目標如下 content/business/1.how-to-use-money.mdx 總流程圖 流程詳解 第1步&#xff1a;申請 GitHub Personal Access Token (Classic) 在gitrhub 個人 設置選項 申請 GitHub P…

分布式ID與冪等性面試題整理

分布式ID與冪等性面試題整理 文章目錄分布式ID與冪等性面試題整理一、分布式ID1. 為什么需要分布式ID&#xff1f;2. 分布式ID的核心要求3. 常見分布式ID方案(1) UUID(2) 數據庫自增(3) Redis自增(4) 雪花算法(Snowflake)(5) 美團Leaf/百度UidGenerator4. 雪花算法詳解二、冪等…

node.js學習筆記1

目錄 Node.js是什么 Node.js下載與安裝 Buffer緩沖區 一些計算機硬件基礎 程序運行的基本流程 Node.js是什么 node.js是一個JavaScript運行環境&#xff0c;或者說&#xff0c;node.js是一個可以運行JavaScript的軟件。 可以用于開發服務端、桌面端、工具類應用。 服務器…

游戲開發日志

我來為您逐行詳細講解這個 ViewMgr.cs 文件。這是一個Unity游戲中的視野管理系統&#xff0c;用于優化游戲性能。## 文件結構概覽這個文件主要包含以下幾個部分&#xff1a; 1. 數據結構和接口定義 2. 視野管理器 ViewMgr 類 3. 工具類 ViewTools讓我逐行為您講解&#xff1a;#…

使用 PlanetScope 衛星圖像繪制水質參數:以莫干湖為例

1.數據采集 我使用ArcGIS Pro 中的Planet Imagery插件下載了 2023 年 6 月 25 日的安卡拉莫干湖衛星圖像。 圖 1&#xff1a;使用 Planet 插件下載衛星圖像 圖 2&#xff1a;下載圖像的日期和傳感器選擇 我查閱的研究中指出&#xff0c;使用無降水時期的衛星圖像對于水質測定…

Docker部署前后端分離項目——多項目共享環境部署

目錄 一、簡介 二、文件目錄結構 三、前端部署流程&#xff08;多nginx&#xff09; 3.1 前端打包 3.2 編寫部署文件——項目1&#xff08;consult-system&#xff09; 3.3 編寫部署文件——項目2&#xff08;person-system&#xff09; 3.4 前端部署至linux服務器 3.5…

學習筆記(39):結合生活案例,介紹 10 種常見模型

學習筆記(39):結合生活案例&#xff0c;介紹 10 種常見模型線性回歸只是機器學習的 “冰山一角”&#xff01;根據不同的任務場景&#xff08;分類、回歸、聚類等&#xff09;&#xff0c;還有許多強大的模型可以選擇。下面我用最通俗易懂的語言&#xff0c;結合生活案例&#…

BabyAGI 是一個用于自構建自主代理的實驗框架

這個最新的 BabyAGI 是一個用于自構建自主代理的實驗框架 核心是一個新的函數框架 &#xff08;functionz&#xff09;&#xff0c;用于存儲、管理和執行數據庫中的函數。它提供了一個基于圖形的結構&#xff0c;用于跟蹤導入、依賴函數和身份驗證密鑰&#xff0c;并具有自動加…

商業秘密視域下計算機軟件的多重保護困境

作者&#xff1a;邱戈龍、柯堅豪重慶商業秘密律師廣東長昊律師事務所引言&#xff1a;計算機軟件保護的復雜性 在商業秘密保護的宏大版圖中&#xff0c;計算機軟件因其技術密集性和創新性占據著特殊地位。軟件的真正價值不僅在于其代碼本身&#xff0c;更在于其背后的流程、邏…

深入理解 Spring Boot 自動配置原理

Spring Boot 之所以能“開箱即用”&#xff0c;其核心就在于 自動配置機制&#xff08;Auto Configuration&#xff09;。本文將深入剖析 Spring Boot 自動配置的工作原理&#xff0c;從注解入手&#xff0c;再到底層的源碼機制&#xff0c;揭開 Spring Boot 背后的“魔法”。 …

Ubuntu18.04開機啟動執行腳本

#!/bin/bash # 運行 .NET Core 應用程序 dotnet /home/bruce/atg/SmartConsole.dll &# 打開瀏覽器 firefox 給文件權限sudo chmod 777 start.sh運行gnome-session-properties打開系統自帶的一個啟動程序

c語言進階 字符函數和字符串函數

字符函數和字符串函數字符函數和字符串函數1. strlenstrlen 函數詳解模擬實現1.計數器方式2.不能創建臨時變量計數器&#xff08;遞歸&#xff09;3.指針-指針的方式2. strcpystrcpy 函數詳解模擬實現3. strcatstrcat 函數詳解模擬實現4. strcmpstrcmp 函數詳解模擬實現5. strn…

(LeetCode 每日一題) 1233. 刪除子文件夾 (排序)

題目&#xff1a;1233. 刪除子文件夾 思路&#xff1a;排序&#xff0c;時間復雜度0(L*nlogn)。 文件夾a的子文件b&#xff0c;b字符串字典序列一定是大于a的&#xff0c;所以直接將字符串數組folder升序排序。每次只需判斷當前字符串&#xff0c;是否是父文件夾數組v最后一個…

集成算法學習bagging,boosting,stacking

baggibg(rf隨機森林) adaboostibg 用來展示 Project Jupyter | Home 展示源碼 Eclipse IDE | The Eclipse Foundation Eclipse 下載 |Eclipse 基金會 教程8-Adaboost決策邊界效果_嗶哩嗶哩_bilibili (23 封私信) 圖解機器學習神器&#xff1a;Scikit-Learn - 知乎 Baggi…

HOOPS SDK賦能PLM:打造全生命周期3D數據管理與協作能力

在制造業和工業領域&#xff0c;產品全生命周期管理&#xff08;PLM&#xff09; 已成為驅動企業數字化轉型、提升創新力與運營效率的核心引擎。一個高效的PLM平臺不僅需要管理海量的設計數據&#xff0c;還必須在設計、制造、供應鏈、銷售和服務等多個環節之間無縫流轉信息&am…