c++基礎學習(04)--(函數、數字、數組、字符串)

文章目錄

  • 目錄
    • 1.函數
    • 2.數字
    • 3.字符串
    • 4.數組

目錄

1.函數

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

#include <iostream>
#include <limits>using namespace std;void swap(int *x , int *y);int main(){int a = 100 , b=200;cout<<"交換前:"<<"a is :"<<a<<"\t"<<"b is :"<<b<<endl;swap(&a , &b);cout<<"交換后:"<<"a is :"<<a<<"\t"<<"b is :"<<b<<endl;return 0;
}void swap(int *x , int *y){int temp = 0;temp = *y;*y = *x;*x = temp;
}

在這里插入圖片描述

在這里插入圖片描述

#include <iostream>
using namespace std;// 函數聲明
void swap(int &x, int &y);int main ()
{// 局部變量聲明int a = 100;int b = 200;cout << "交換前,a 的值:" << a << endl;cout << "交換前,b 的值:" << b << endl;/* 調用函數來交換值 */swap(a, b);cout << "交換后,a 的值:" << a << endl;cout << "交換后,b 的值:" << b << endl;return 0;
}
// 函數定義
void swap(int &x, int &y)
{int temp;temp = x; /* 保存地址 x 的值 */x = y;    /* 把 y 賦值給 x */y = temp; /* 把 x 賦值給 y  */return;
}

在這里插入圖片描述

總結
函數傳遞形式參數時,指針調用,引用調用,是分別把參數的(地址、引用)復制給形式參數,該(地址、引用)用于訪問調用中要用到的實際參數,修改形式參數會影響實際參數。
在這里插入圖片描述

#include <iostream>
using namespace std;int sum(int a, int b=20)
{int result;result = a + b;return (result);
}int main ()
{// 局部變量聲明int a = 100;int b = 200;int result;// 調用函數來添加值result = sum(a, b);cout << "Total value is :" << result << endl;// 再次調用函數result = sum(a);cout << "Total value is :" << result << endl;return 0;
}

運行結果:
Total value is :300
Total value is :120

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

2.數字

通常,當我們需要用到數字時,我們會使用原始的數據類型,如 int、short、long、float 和 double 等等。這些用于數字的數據類型,其可能的值和數值范圍,我們已經在 C++ 數據類型一章中討論過。
在這里插入圖片描述

#include <iostream>
#include <cmath>
using namespace std;int main ()
{// 數字定義short  s = 10;int    i = -1000;long   l = 100000;float  f = 230.47;double d = 200.374;// 數學運算cout << "sin(d) :" << sin(d) << endl;cout << "abs(i)  :" << abs(i) << endl;cout << "floor(d) :" << floor(d) << endl;cout << "sqrt(f) :" << sqrt(f) << endl;cout << "pow( d, 2) :" << pow(d, 2) << endl;return 0;
}

運行結果:
sin(d) :-0.634939
abs(i) :1000
floor(d) :200
sqrt(f) :15.1812
pow( d, 2 ) :40149.7

在這里插入圖片描述

#include <iostream>
#include <ctime>
#include <cstdlib>using namespace std;int main ()
{int i,j;// 設置種子srand( (unsigned)time( NULL ) );/* 生成 10 個隨機數 */for( i = 0; i < 10; i++ ){// 生成實際的隨機數j= rand();cout <<"隨機數: " << j << endl;}return 0;
}

運行結果:
隨機數: 1748144778
隨機數: 630873888
隨機數: 2134540646
隨機數: 219404170
隨機數: 902129458
隨機數: 920445370
隨機數: 1319072661
隨機數: 257938873
隨機數: 1256201101
隨機數: 580322989
在這里插入圖片描述

#include <stdlib.h>
#include <stdio.h>
#include <time.h> /*用到了time函數,所以要有這個頭文件*/
#define MAX 10int main( void)
{int number[MAX] = {0};int i;srand((unsigned) time(NULL)); /*播種子*/for(i = 0; i < MAX; i++){number[i] = rand() % 100; /*產生100以內的隨機整數*/printf("%d ", number[i]);}printf("\n");return 0;
}

運行結果:
30 9 83 1 67 61 72 64 88 97

3.字符串

在這里插入圖片描述
在這里插入圖片描述

#include <iostream>
#include <cstring>using namespace std;int main ()
{char str1[11] = "Hello";char str2[11] = "World";char str3[11];int  len ;// 復制 str1 到 str3strcpy( str3, str1);cout << "strcpy( str3, str1) : " << str3 << endl;// 連接 str1 和 str2strcat( str1, str2);cout << "strcat( str1, str2): " << str1 << endl;// 連接后,str1 的總長度len = strlen(str1);cout << "strlen(str1) : " << len << endl;return 0;
}

strcpy( str3, str1) : Hello
strcat( str1, str2): HelloWorld
strlen(str1) : 10

在這里插入圖片描述

#include <iostream>
#include <string>using namespace std;int main ()
{string str1 = "Hello";string str2 = "World";string str3;int  len ;// 復制 str1 到 str3str3 = str1;cout << "str3 : " << str3 << endl;// 連接 str1 和 str2str3 = str1 + str2;cout << "str1 + str2 : " << str3 << endl;// 連接后,str3 的總長度len = str3.size();cout << "str3.size() :  " << len << endl;return 0;
}

str3 : Hello
str1 + str2 : HelloWorld
str3.size() : 10
在這里插入圖片描述
在這里插入圖片描述

4.數組

在這里插入圖片描述
在這里插入圖片描述

#include <iostream>
using namespace std;#include <iomanip>
using std::setw;int main ()
{int n[ 10 ]; // n 是一個包含 10 個整數的數組// 初始化數組元素          for ( int i = 0; i < 10; i++ ){n[ i ] = i + 100; // 設置元素 i 為 i + 100}cout << "Element" << setw( 13 ) << "Value" << endl;// 輸出數組中每個元素的值                     for ( int j = 0; j < 10; j++ ){cout << setw( 7 )<< j << setw( 13 ) << n[ j ] << endl;}return 0;
}

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述


#include <iostream>
using namespace std;int main ()
{// 帶有 5 個元素的雙精度浮點型數組double balance[5] = {1000.0, 2.0, 3.4, 17.0, 50.0};double *p;p = balance;// 輸出數組中每個元素的值cout << "使用指針的數組值 " << endl; for ( int i = 0; i < 5; i++ ){cout << "*(p + " << i << ") : ";cout << *(p + i) << endl;}cout << "使用 balance 作為地址的數組值 " << endl;for ( int i = 0; i < 5; i++ ){cout << "*(balance + " << i << ") : ";cout << *(balance + i) << endl;}return 0;
}

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

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

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

相關文章

【精品計劃0】藍橋杯 摔手機

原題描述&#xff1a; x星球的居民脾氣不太好&#xff0c;但好在他們生氣的時候唯一的異常舉動是&#xff1a;摔手機。 各大廠商也就紛紛推出各種耐摔型手機。x星球的質監局規定了手機必須經過耐摔測試&#xff0c;并且評定出一個耐摔指數來&#xff0c;之后才允許上市流通。 …

數據結構課上筆記15

圖的存儲 多重鏈表&#xff1a;完全模擬圖的樣子&#xff0c;每個節點內的指針都指向該指向的節點。 節點結構內指針數為度 缺點&#xff1a;浪費空間、不容易操作 數組表示法&#xff08;鄰接矩陣表示法&#xff09; 可用兩個數組存儲。其中一個 一維數組存儲數據元素&#…

c++基礎學習(05)--(指針,引用)

文章目錄目錄1.指針2.引用目錄 1.指針 #include <iostream>using namespace std;int main () {int var1;char var2[10];cout << "var1 變量的地址&#xff1a; ";cout << &var1 << endl;cout << "var2 變量的地址&#xff…

由旅行商問題認識何為狀態壓縮

動態規劃 動態規劃(dynamic programming)是運籌學的一個分支&#xff0c;是求解決策過程(decision process)最優化的數學方法。20世紀50年代初美國數學家R.E.Bellman等人在研究多階段決策過程(multistep decision process)的優化問題時&#xff0c;提出了著名的最優化原理(pri…

c++基礎學習(06)--(時間,輸入輸出,數據結構)

文章目錄目錄1.時間2.輸入輸出數據結構目錄 1.時間 當前日期和時間 下面的實例獲取當前系統的日期和時間&#xff0c;包括本地時間和協調世界時&#xff08;UTC&#xff09;。 #include <iostream> #include <ctime>using namespace std;int main( ) {// 基于當前…

Abstract Self-Balancing Binary Search Tree

二叉搜索樹 二叉查找樹&#xff08;Binary Search Tree&#xff09;&#xff0c;&#xff08;又&#xff1a;二叉搜索樹&#xff0c;二叉排序樹&#xff09;它或者是一棵空樹&#xff0c;或者是具有下列性質的二叉樹&#xff1a; 若它的左子樹不空&#xff0c;則左子樹上所有結…

AVL Tree

前言 希望讀者 了解二叉搜索樹 了解左旋右旋基本操作 https://blog.csdn.net/hebtu666/article/details/84992363 直觀感受直接到文章底部&#xff0c;有正確的調整策略動畫&#xff0c;自行操作。 二叉搜索樹 二叉查找樹&#xff08;Binary Search Tree&#xff09;&a…

c++基礎學習(07)--(類)

文章目錄目錄類與對象1.類成員函數2.類訪問修飾符3.構造函數與析構函數4.拷貝構造函數5. 友元函數6.內聯函數7.this指針8.指向類的指針9.類的靜態成員目錄 類與對象 #include <iostream>using namespace std;class Box {public:double length; // 長度double breadth;…

【大總結1】數據結構與傳統算法總結

由于時間和水平有限&#xff0c;肯定有錯誤或者寫得不好的地方 歡迎在文章下評論指出。 涉及語言&#xff1a; py3&#xff1a;注重算法本身的知識 c/c&#xff1a;實現基礎數據結構和算法 java&#xff1a;實現較復雜數據結構 一、概述 c語言知識體系 算法體系參考 課上筆…

c++基礎學習(08)--(繼承、重載、多態、虛函數)

文章目錄目錄1.繼承2.重載3.多態 && 虛函數目錄 1.繼承 #include <iostream>using namespace std;// 基類 class Shape {public:void setWidth(int w){width w;}void setHeight(int h){height h;}protected:int width;int height; };// 派生類 class Rectang…

圖的應用

1. 圖的應用總覽 在數據結構中圖的應用很廣泛&#xff0c;本文主要從以下四個方面介紹&#xff1a; ①最小生成樹&#xff1a;給定一個無向網絡&#xff0c;在該網的所有生成樹中&#xff0c;使得各邊權數之和最小的那棵生成樹稱為該網的最小生成樹&#xff0c;也叫最小代價…

c++基礎學習(09)--(數據抽象、數據封裝、接口)

文章目錄目錄1.數據抽象2.數據封裝3.抽象接口類目錄 1.數據抽象 數據抽象&#xff1a;就是把它當做黑箱子使用&#xff0c;內部實現與外部接口分開 C類實現數據抽象&#xff0c;如sort()函數&#xff0c;ostream的cout對象 #include <iostream> using namespace std…

吃豆人游戲開發

這個文章怎么突然這么多人看啊。請大家多關注我其他文章啊 html&#xff1a; <html> <head> <meta charset"utf8"> <title>html5 pacman吃豆人游戲代碼</title><style>body{background-color: #292929}*{padding:0;margin:0;}.w…

c++基礎學習(10)--(文件、流、異常處理、動態內存、命名空間)

文章目錄目錄1.文件和流2.異常處理3.動態內存4.命名空間目錄 1.文件和流 注意 文件打開方式中的in和out都是相對于內存&#xff08;計算機&#xff09;而言的&#xff0c;計算機讀取文件&#xff0c;是將數據從磁盤中的文件讀入到內存中&#xff0c;所以用的是in #include &…

數據結構和算法(02)---字符串(c++)

文章目錄目錄一.c風格的字符串與操作函數1.c風格字符串2.c風格字符串處理函數二.c中的字符串與操作函數1.c中的string類2.string類的基本操作3.string類的操作匯總目錄 數據結構&#xff1a; 邏輯結構&#xff1a;數組&#xff0c;棧&#xff0c;隊列&#xff0c;字符串&#x…

如何學習數據結構和算法——大佬文章匯總

第一篇 第二篇、 作者&#xff1a;左程云 我分別說一下國內和國外的行情。 國內的話&#xff0c;一般來講&#xff0c;工資高的公司在面試時算法和數據結構題目的比重較大&#xff0c;工資一般的公司比重較小。當然同樣公司的不同崗位&#xff0c;要求也會不同&#xff0c;…

c++基礎學習(13)--(STL、標準庫)

文章目錄目錄1. STL教程2.標準庫3.有用的資源目錄 1. STL教程 #include <iostream> #include <vector> using namespace std;int main() {// 創建一個向量存儲 intvector<int> vec; int i;// 顯示 vec 的原始大小cout << "vector size " &…

哈夫曼實現文件壓縮解壓縮(c語言)

寫一個對文件進行壓縮和解壓縮的程序&#xff0c;功能如下&#xff1a; ① 可以對純英文文檔實現壓縮和解壓&#xff1b; ② 較好的界面程序運行的說明。 介紹哈夫曼&#xff1a; 效率最高的判別樹即為哈夫曼樹 在計算機數據處理中&#xff0c;霍夫曼編碼使用變長編碼表對源…

c++基礎學習(11)--(模板、預處理器、信號處理)

文章目錄目錄1.模板2.預處理器3.信號處理目錄 1.模板 模板是泛型編程的基礎&#xff0c;泛型編程&#xff1a;以一種獨立于任何特定類型的方式 #include <iostream> #include <string>using namespace std;template <typename T> inline T const& Max…

java 面向對象必懂概述

&#xff08;這是大體框架&#xff0c;以后部分知識細寫&#xff09; 1 抽象過程 所有編程語言都提供抽象機制。可以認為&#xff0c;人們能解決的問題的復雜性直接取決于抽象的類型和質量。 類型&#xff1a;指的是所抽象的是什么。 匯編語言是對底層機器語言的輕微抽象…