free pascal 转学 C++注意事项(c++新手指南)01

       //前言:本人小学学过一点点free pascal(后文通常为fpc),现在是大一新生,应该是要学c++的,现已学了一丢丢,简单总结一下,主要是面对像我这类free pascal转C++的群体,因为网上貌似是没有相关专题的,自学起来挺麻烦的,就总结一下,主要是给自己看,当然刚入门C++的小伙伴也可以来看看,会有一些常见的错误,且看且了解吧。(不喜求轻喷,本就是整理给自己看的);

        编译系统方面,建议还是用visual studio(后文统称vs)。dev c++  的话把我给折磨坏了,有的版本连调试都调试不了,会有一些奇奇怪怪的bug。还有下vs的时候记得在修改里面选择:vs扩展开发、使用c++的桌面开发。时间会有点久,本人下了一个小时左右,请耐心等候。

        那么正文部分来了哦:

        1、C++首先要打头文件,这个是free pascal 没有的,主要是打了头文件之后就可以用一些系统自带的函数,会很舒服(像快排就不用手打了,直接用一个sort);不过相应的,要用一个包括sort函数的头文件(自己上网可查,不细说了);本人刚刚入门,常打的就是#include<iostream>,偶尔在字符串处理的时候用到#include<string>,具体的头文件等我学深一点之后会总结一篇出来。然后要打using 什么的反正有一大堆,这个网上很好找的,多打两次就背下来了;

        2、 变量定义篇:我们挨个来说一下:

free pacsalc++
整型a:longintint a
实型a:realfloat a(或者 double a(精度更高))
字符       a:charchar a
字符串a:stringstring a
大整数a:int64long long a
布尔a:booleanbool a
数组       a:array[1..10] of longint;int a[10];

     这些差不多已经够初学者用了,下面来细讲一些小细节;

  首先可以注意到我并没有写fpc里面的integer类型,在c++里貌似是没有对应一样的;

整形的话都一样的;

*细节一:

字符串需要注意一下:(a)、fpc中字符串从第一位开始,但是c++是从第零位开始记录的,举一个例子:字符串a="add",    fpc中a[1]="a",    但是c++中a[1]="d",  a[0]="a",所以在进行字符串处理的时候需要注意一下以前的习惯;   (b)、在对字符串a 进行赋值为“*”时,fpc中用的是单引号,即a:='*'; 而C++中用的则是双引号,即a="*";     (c)、fpc 中字符串好像最多是十几位,再大要用ansistring类型,c++中字符串好像可以很长很长,反正比fpc的长(上网查的,错了轻喷);

*细节二:

字符的话二者赋值时都是用单引号,没啥区别,但是(这可能只是个例,我的舍友喜欢这样打),c++常有人用 char a[8]来以一个全是字符的数组代替字符串,嗯,我不知道如何评价,反正就是有这么一种现象,个人还是认为能用字符串就没必要用全是字符的数组,毕竟字符串中有很多挺方便的函数;

细节三:

数组方面的话可以注意一下,c++是自带第0位的,比如我定义了一个数组a[10],那我是有a[0]的,那fpc的xdm就不要想当然把  fpc的a[1..10]  和   c++的a[10]画上等号,应该是a[0..10];

细节四:布尔的话就没什么好说的了,都差不多;

*细节五:写法上的差异。c++肯定跟简单,fpc都在几年前被noip 淘汰了。

c++中可以到处定义变量如

int main(){
  int a;
  cin>>a;
  int b;
  return 0;
}

就是说在主函数内我定义了两个变量,一个还是读入完之后才定义的,在fpc 中就报错了,但在c++中就没问题,这样会方便一些,不用统一写在上面;

*注意,定义在 int main里面的变量并不是全局变量,如上图中a,b都是局部变量,是只能在主函数(主程序)里用的变量,如果在子函数(子程序)里面调用 这里的a ,就会报错;

全局变量:

#include<iostream>
using namespace std;
int a,b;
void ss()
{
  b=a;
}
int main(){
    cin>>a;
    ss();
    cout<<b;
    return 0;
}

像这种子程序里面就可以直接用a,b了,因为他们是全局变量;

*细节六:c++中变量初始的值和fpc 不同的,fpc 中 数组a[1..10]每一位初始都是0,但是c++中a[10]则有的为0,有的很大很奇怪,以及类推说明使用c++时要注意初始化你的变量,不要想当然觉得我没给它赋过值,那它就一定是0或者false,当然关于数组初始化用的函数我还不太清楚,到时候统一整理一期和数组有关的函数大全;

不要问我为什么没有fpc的图,fpc 已经落到被这个网站抛弃了,在插入代码里面搜不到fpc 这种语言呜呜呜。本人已经在尽力回顾了,现在还是用军训中午的时间写的,如有不规范处本人立即道歉,之后还会继续跟新这个   free pascal 转学 C++注意事项(c++新手指南)系列,以后的话会随着自学的进度再写一些结题报告啊,或者是对算法的理解什么的。嗯,先就这么的,下一期应该是关于一些常用函数的fpc转c++的翻译吧,也可能不一定是,我尽量弄得有条理一点。嗯,就这样了,现在还能极限睡个半个钟午觉(笑哭);


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值