日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

【Code】浅谈Pascal转C++

發布時間:2024/8/1 c/c++ 53 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Code】浅谈Pascal转C++ 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Pascal轉C++

  • 引入
  • 準備和比較
  • 簡單的轉換
  • 頭文件
  • 輸入輸出
  • 注釋
  • 變量
    • 變量的類型
    • 變量的定義
    • 全局變量和局部變量
    • 作用域
  • 常量
  • 賦值語句
  • if條件判斷語句
  • 循環語句
    • for循環
    • while循環
  • 函數
    • 數學函數(自帶函數)
    • 排序函數
    • 自定義函數
  • 關于字符,ASCII碼的問題
  • 字符串
    • 字符數組
    • string類型
  • 雜項

引入

中國計算機學會于2016年11月1日發布了《CCF關于NOI系列賽事程序設計語言變更的公告》,內容如下:

根據國際信息學奧林匹克競賽(IOI)的相關決議并考慮到我國目前程序設計語言的具體情況,CCF決定:1.2020年開始,除NOIP以外的NOI系列其他賽事(包括冬令營、CTSC、APIO、NOI)將不再支持Pascal語言和C語言;2.從2022年開始,NOIP競賽也將不再支持Pascal語言。即從NOIP2022開始,NOI系列的所有賽事將全部取消Pascal語言。在無新增程序設計語言的情況下,NOI系列賽事自NOIP2022開始將僅支持C++語言。 此通知。中國計算機學會2016年11月1日

所以很多Pascal選手開始轉C++。

準備和比較

1.C++更復雜,更難學,但是功能更強大。

2.你學過Pascal以后,學C++比較簡單。(C轉C++更加簡單)

3.C++版本之間的差異很大,很容易編譯錯誤。
建議大家使用Dev-cpp 5.6.1 ,是gcc/g++ 4.8.1 。
最接近比賽的版本。
比賽的版本是4.8.4(比賽的版本詳情)。

千萬不要使用Dev-cpp 5.9.x 或 5.11.x(很多大佬因此爆零)。

4.C++代碼的后綴名 .cpp
cpp=C Plus Plus=C++

簡單的轉換

1.C++都是由一個個函數組成的。

2.C++ 大括號 { 和 } 代替 begin 和 end 。

3.函數和變量的類型是寫在前面的,int就是longint類型。

4.每句話結尾都是分號,如果遇到某些括號(大括號、函數的參數表里面的小括號等)的時候,分號省略。

5.主程序最后一句是

return 0;

最好加上,有一定的好處。

頭文件

一般建議初學者使用C++萬能頭文件

#include <bits/stdc++.h>

C++萬能頭文件幾乎包含了所有頭文件。

輸入輸出

輸入語句

輸入語句 cin>>變量1>>變量2>>變量3;

輸出語句

cout<<變量1<<變量2<<...; cout<<"hello world" << endl; //endl是換行

cin和cout在<iostream>頭文件中,還需要標準命名空間using namespace std;

場寬:

cout<<setw(5)<<a;

保留幾位小數:

cout<<fixed<<setprecision(3)<<a;

函數在<iomanip>頭文件中。

其他輸入輸出語句有scanf()和printf()等,一般不建議初學者學習,等到熟練了必須掌握

a+b代碼:

#include <bits/stdc++.h> using namespace std;int main() {int a,b;cin >> a >> b;cout << a+b << endl;return 0; }

注釋

注釋
在 C++ 代碼中,注釋有兩種寫法:

1 行內注釋
以 // 開頭,行內位于其后的內容全部為注釋。

//這里添加注釋

2 注釋塊
以 /* 開頭, */ 結尾,中間的內容全部為注釋,可以跨行。

/* 這里添加注釋1 這里添加注釋2 */

注釋對程序運行沒有影響,可以用來解釋程序的意思。

在工程開發中,注釋可以便于日后維護、他人閱讀。

在 OI 中,很少有人寫許多注釋,但注釋可以便于在寫代碼的時候理清思路,或者便于日后復習。而且,如果要寫題解、教程的話,適量的注釋可以便于讀者閱讀,理解代碼的意圖。

變量

變量的類型

整數:
int (longint/int32)
long long (int64)
unsigned int (dword)
unsigned long long (qword)

小數:
float (real)
double (double)

字符:
char (char)

布爾類型:
bool (boolean)

字符串:
string (string)

無類型
void (?)

變量的定義

int a,b; char ch='c'; double f; int a[100]; char mat[50][50];

數組:
int a[100];
//表示定義了a[0]-a[99] 都是int類型
二維數組 int a[100][100];
//定義了a[0][0]-a[99][99]

初始化:

int a[5]={1,2,3,4,5};

全局變量和局部變量

在函數里面的都是局部變量,在函數外面的是全局變量。
函數包括主函數main()。

作用域

作用域是變量可以發揮作用的代碼塊。
變量分為全局變量和局部變量,意義已經在上面講解。
全局變量的作用域是整個文件,全局變量一旦聲明,在整個程序中都是可用的。
C++可以在任何地方定義變量,變量的作用域只有它的下面。

常量

常量是固定值,在程序執行期間不會改變。
常量的值在定義后不能被修改。聲明時加一個 const 關鍵字即可。

int const N=105;

const int N=105;

賦值語句

a=b; ( a:=b )

i++ 或 ++i ( inc(i) )

i+=a ( inc(i,a) )

i-- 或 i-- ( dec(i) )

i-=a ( inc(i,a) )

if條件判斷語句

格式1:

if (條件) 語句; if (條件) {語句1語句2...... }

格式2:

if (條件) 語句1;else 語句2; if (條件) {...... } else {...... }

布爾運算符:

and 是 &&
or 是 ||
not 是 !

比較運算符:

> 大于 >= 大于等于 < 小于 <= 小于等于 == 等于 != 不等于

循環語句

for循環

格式:

for (初始操作; 循環的條件; 變化) {語句1;語句2; }

步驟:

Created with Rapha?l 2.2.0初始操作判斷循環條件是否成立?語句1語句2結束yesno

舉例:
求1+2+……+100

int s=0; for(int i=1; i<=100; i++) s+=i;

while循環

while:

while(條件) {語句1;語句2; }

do while :

do {語句1;語句2; } while(條件)

函數

數學函數(自帶函數)

abs() 整數的絕對值
fabs() 小數的絕對值
ceil() 上取整
floor() 下取整

均在<cmath>或<math.h>頭文件中。

排序函數

對a[1]到a[n]進行從小到大排序

sort(a+1,a+n+1);

a+1就是a[1]的內存地址,結尾必須多1。

如果a[0]-a[n-1]排序:

sort(a,a+n);

sort()是快速排序,在<algorithm>頭文件中。

自定義函數

初學者一般建議寫在main函數的上面。

類型 函數名(參數表) {...return 答案; }

舉例:

int plus(int a,int b) {int ans;ans=a+b;return ans; }

無類型函數:

void 函數名(參數表) { //void就是空,無類型=.....不需要return }

關于字符,ASCII碼的問題

ASCII碼表:https://blog.csdn.net/Ljnoit/article/details/102649314

int a; char x='A'; a=x; //a就是65了 x=66; //x就是'B'

c++可以強制轉換:

(類型)變量 cout<<(int)x<<endl;

字符串

字符數組

一個一維的字符數組,可以看成是一個字符串
比如: char s[105];

讀入一個字符串 cin>>s;

注意: cin讀入的時候是從一個可見字符讀到另一個可見字符

空格和回車不讀

如果用 gets(s) 讀入一整行

輸出字符

cout<<s; puts(s); //他會換行

字符是單引號 字符串是雙引號

字符串有結尾符
如果s讀入的是abc
那么s[0]=‘a’
s[1]=‘b’
s[2]=‘c’
s[3]=’\0’;

'\0’表示空字符(不是空格)

1.求長度 strlen

int x=strlen(s); //只計算從s[0]到\0有幾個字母

2.賦值

strcpy(s1,s2); //把s2 賦值給s1

3.連接運算

strcat(s1,s2); //把s2接到s1的后面

4.比較大小

strcmp(s1,s2)

返回值是大于0,說明字典序s1>s2
等于0 ,說明s1=s2
結果小于0 ,說明字典序s1<s2

其他函數都自己寫。

string類型

(一般不用的,因為太慢)

雜項

C++中 0就是假,非零就是真。

恭喜您轉型升級成功!

深談Pascal轉C++:https://blog.csdn.net/Ljnoit/article/details/104960875

總結

以上是生活随笔為你收集整理的【Code】浅谈Pascal转C++的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。