欢迎光临散文网 会员登陆 & 注册

【C++语法】C++快速入门笔记(1,2,3)之从一个程序说起

2023-04-04 20:35 作者:皓月花园英雄  | 我要投稿

C语言版本

#include <stdio.h>
#include <stdlib.h>
int main()
{
    int i;
    int sum = 0;
    char ch;
    
    printf("请输入一串整数和任意数目的空格: ");
    printf("\n");
    
    while (scanf("%d", &i) == 1)
    {
        sum += i;
        while ((ch=getchar()) == ' ')  //屏蔽空格
            ;
        if (ch == '\n')
        {
            break;
        }
        ungetc(ch, stdin);  //将变量ch中存放的字符返回给stdin输入流
    }
    printf("结果是: %d", sum);
    printf("\n");
    //system("pause");  
}

C++版本

#include <iostream>
using namespace std;
int main()
{
    int sum = 0;
    
    cout << "请输入一串整数和任意数目的空格: " << endl;;
    int i;
    while (cin >> i)
    {
        sum += i;
        while (cin.peek() == ' ')  //屏蔽空格
        {
            cin.get();
        }
        if (cin.peek() == '\n')
        {
            break;
        }
    }
    cout << "结果是: " << sum << endl;  
}

1、使用了流对象cin, ">>"最初定义为右移操作符,对所有内建的数据类型都进行了重载,所以它可以从输入流对象提取出int,float,double型数据,也可以提取字符串等数据.

2、cin  cout对象的多个方法

cin.ignore(n, ch);     忽略前n个字符
cin.getline(str, n, ch);     从输入流从接收n个字符到str变量中,只能读取一行的内容
cin.peek();      取得输入流中的第一个字符进行其他操作如比较,但是不影响输入流中的数据。
cin.get();     从输入流中读取一个字符,输入流的数据被取走。
cin.gcount();     获取一个字符变量中包括空白字符的个数
cin.read(buf, 20);     读取前20个字符到buf中, 不限定行数直到到达结束标志为止。
cout.precision(n);    设置精度为n    
cout.width();         将显示当前的字段宽度,默认为0,默认是右对齐的方式,就是说如果当前数据宽度不够n那么剩余的位置就要在左端用空格补全。
cout.fill(ch);       用ch来替代原有的填充字符

观察发现两个程序的不同之处:

c和c++事实上在声明变量时有点不同,c++允许我们在程序的任意位置声明变量.这大大提高了大型c++程序的可读性,因为这样我们就可以在实际需要使用变量的时候才来声明他们.

【C++语法】C++快速入门笔记(1,2,3)之从一个程序说起的评论 (共 条)

分享到微博请遵守国家法律