一、简单的程序设计

一、基本结构:

#include<iostream>

using namespace std;

int main(){

cout<<"HELLO"<<endl;

return 0;

}

基本结构很简单,下面做一个输入输出的例子:

例题:输入球的半径,分别计算球的表面积和体积,并输出

(球表面积s=4*PI*r^2,体积V=4/3*PI*r^3)

#include <iostream>

using namespace std;

int main()
{
   float r,s,v,t;
    float PI=3.14;
    cin>>r;
    t=PI*r*r;
    s=4*t;
    v=t*r*4/3;
    cout << "表面积="<<s << endl;
    cout << "体积="<<v << endl;
    return 0;
}
这种就是最最简单的,输入一次就结束。有输入有输出的小程序,与C非常相近
二、输入输出容易出错的地方

1.cin输入是会跳过空格,tab,backspace,enter的,所以输入如果想取到所有的字符,要用cin.get(ch),但是如果前面有输入的话,很有可能取到前面输入结束的回车。

2.给字符数组输入字符串应该用cin.getline(str,lenth),但是同样,前面有输入会读入回车,形成空串

3.用<iostream.h>这个旧头文件的时候键盘输入数字如果以0开头,会以为你输入的是八进制的数,0x被看做16进制,用<iostream>的话,0开头的数比如01就被当成1用了,需要再单独制定进制不然就是10进制。

例子:

#include <iostream>

using namespace std;

int main()
{
   char a[20];
   int i;
   cin>>a[0]>>a[1]>>a[2]>>a[3]>>a[4]>>a[5]>>a[6]>>a[7]>>a[8]>>a[9];
   a[10]='\0';
   cout<<"刚刚保存的是:"<<a<<endl;
   cout<<"再输入一次"<<endl;
   cin.get(a[0]);cin.get(a[1]);cin.get(a[2]);cin.get(a[3]);cin.get(a[4]);
   cin.get(a[5]);cin.get(a[6]);cin.get(a[7]);cin.get(a[8]);cin.get(a[9]);
   cin.get(a[10]);cin.get(a[11]);cin.get(a[12]);cin.get(a[13]);
   a[14]='\0';
   cout<<"刚刚保存的是:"<<a<<endl;
    return 0;
}



可以运行一下发现第一次输出空格全无,第二次输出却只从回车开始,中间有空格

这里a[0]里存的是上一次输入结束的那个回车。a[14]是这次输入的回车。

试试getline的错误吸收

#include <iostream>

using namespace std;

int main()
{
   char a[20],b[20];
   int i;
   cin>>i;
   cout<<"i输入结束,i是"<<i<<endl;
  cout<<"用cin.getline吸收字符"<<endl;
   cin.getline(a,18);
    cin.getline(b,18);
   cout<<a<<endl;
     cout<<"a输出结束"<<endl;
     cout<<b<<endl;
     cout<<"b输出结束"<<endl;
    return 0;
}




这里getline取得a是回车,b才是对应的字符串。



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值