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

//这两天军训难得有空,就简单更新一下吧。非常抱歉上一篇文字太挤了,第一次写请见谅。

一、读入和输出

c++        fpc
读入cin>>a;  或者  scanf("%d",&a);readln(a);
输出cout<<a; 或者 printf("%d",&a);writeln(a);

        无非就是写法上的不同。但是c++这两种常用的也有区别(我说是常用,因为好像还有别的方法,不过对于我这一类初学者一时半会还用不到,所以就没介绍了——其实就是懒得查)

        相信很直观的可以看出用 cin,cout  要简洁很多,很方便记,确实如此,那为什么还要介绍后者呢?

        ————因为在读入输出很多很多数据的时候(我上次做了一个题是一百万),用cin,cout光是读入就会超时了,这不就寄了吗,主程序还没开始就结束了。

        而使用scanf 和printf 就不会超时,这是有原理的,具体原理可以自己查(好像和什么地址有关系),我们新手记住结论就可以了;

        注意到用  scanf  和  printf  的时候有个"%d"。

        其实吧,如果a 是 int 类型,那么就是这个,如果a 是 long long ,那么是  "%ld" ,如果是 浮点型 ,又不一样,具体的自己上网查吧,我也只是刚入门,言多必失。 

         如果要读入  :  n   m   两个数,且中间有空格的那种:

int n,m;
scanf("%d %d",n,m);

        如果是  n , m   用逗号隔开,那么就应该是这样

int n,m;
scanf("%d,%m",n,m);

        printf就以此类推了,一样的。

        这边建议是养成用scanf,printf的好习惯,不要跟我一样程序超时了才知道用scanf,printf 的好。

        ps:在vs 里面可能用scanf会爆错,说这个东西不安全,你把  scanf  打成 scanf_s  就好了(printf 就不会爆错);

二、赋值

        同样是把 b 的值赋值给a,fpc  中 是 a:=b; 而c++中是  a=b;

三、运算、逻辑符号

        加—— +           减——  -             乘—— *           除—— /

以上 c++和fpc 都用的是一样的;

      !!!! 等号 (A 等于 B)

c++: a==b;(注意到上文可知 "=" 在c++中是起到赋值的作用,正真的“等于”应该是“==”

fpc:    a=b;

        取余运算和 取商 ( a / b =c......d    ——取余得到 d , 取商得到 c)

对于 a / b 这一运算

取余取商
fpcc:=a mod bd:=a div b
c++c=a % bd=a / b

        没错,你没有看错,c++里面就是 “a/b”  ,  因为它比较高级,如果有小数而d又是整数类型的变量的话,它会自动帮你舍掉小数部分,就等于是取了商。

        或 和 与

fpc(条件一) or (条件二)(条件一)and(条件二
c++(条件一 || 条件二)(条件一  && 条件二)

         自行类比一下即可,注意c++中只用了一个括号

四、 if 语句

        fpc : if (a) then b

        c++:if(a) {

                b;

        }

        (ps:  a:条件,b:指令)

        如果是要用否则:

        fpc 就不说了,c++是可以用“三目运算符”来当else来用的,但是C++可也以用else,格式如下:

if (条件){
    指令1;
} 
else {
    指令2;
}

五、循环的格式:

        c++相比较于 fpc 就只有 while 和 for ,但是 do while 可以当repeat 用:

//先循环后判断
do{                        repeat
    巴拉巴拉巴拉;                巴拉巴拉巴拉
} while (退出条件)        until (退出条件)

//满足条件就循环
while (循环条件){            while (循环条件) do begin
    巴拉......                    巴拉......
}                            end;

//for 循环
for (i=1;i<=n;i++){            for i:=1 to n do begin
}                              end;  

左边是c++,右边是 fpc;

!!!注意,c++那些循环里面的小括号一个都不能少,这是我用无数次错误总结出来的经验,不要不要偷懒,少了就会报错!

        !!!!PS:就先到这里了,函数什么的放下一期吧,现在先接着上一期补充一下c++中关于一些变量的很坑爹的地方以及如何避免被坑的方法:

1、

        关于数组:开在  int main()  中的数组属于局部变量,是占用 栈 的空间,而vs里面把这个空间设置的很小,这样的话你开一个有 十万 个元素的数组,它就说你栈溢出了(通俗点就是空间溢出的意思),

        这时可以选择把数组放到int main 外,这样它就是全局变量了。

        全局变量用的是静态储存区里空间,你只需要知道这个空间很大很大就行了,所以当你要开很大的数组的时候,就开成全局的变量。(个人理解)

2、

        关于字符串。带空格字符串的读入:   

string a;
getline(cin,a);

不过要加一个  #include<string> 的头文件。

嗯,就这么多了,明天晚上可能会更点别的,看它晚会让不让带手机吧(滑稽)。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值