输入输出

§ 输出语句

C++ 使用 cout 输出语句进行输出操作,基础语法如下:

cout << 内容 << 内容 << 内容;

当有多个内容需要输出时,使用 << 流向符连接它们。
其中输出的内容可以是:"文本"表达式(数学算式)变量\(^1\)存储的值转义字符(特殊意义符号)

  1. 如果是文本内容,比如一句话,可以是中文也可以是英文,"你好"、"Hello" 等。在这里要注意的是,文本内容写了什么,程序便会一模一样地输出它们,包括标点符号。需要注意的是一定要在双引号里面编写文本内容

    cout << "Hello world";
    cout << "你好!";
    cout << "我会算 1 + 1 = 2";
    
  2. 如果是一个表达式,那么在输出的时候,会先把这个表达式的结果计算出来,随后输出对应的值。

    cout << 100 + 300;      // 输出的结果为:400
    
  3. 如果需要输出的是某个变量存储的值,只需要写上它的变量名即可,例如有一个整数变量 a,输出方式如下:

    int a = 5;
    cout << a;  		// 输出的结果为:5
    
  4. 转义字符(特殊意义符号)
    比如输出的内容要分成好几行,但是你会发现,无论怎么修改源代码的布局,都不能换行,这是因为 C++ 的换行需要自己控制输出的,可以用 '\n'"\n" 作为一个内容,也可以使用 C++ 特殊符号 endl 作为一个内容。它们的作用都是换一行。

    cout << "你好\n" << "C++";
    /*
    输出内容如下:
    你好
    C++
    */
    
    cout << "你好" << "\n" << '\n' << "Hello!";
    /*
    输出内容如下:
    你好
    
    Hello!
    */
    
    cout << "你" << endl << "好~";
    /*
    输出内容如下:
    你
    好
    */
    

    附:

    其他常见转移字符 作用
    \\ 代表一个反斜杠字符 \
    \' 代表一个单引号字符 '
    \" 代表一个双引号字符 "
    \? 代表一个问号字符 ?
    \\0 代表一个空字符
    \ddd 1~3 位八进制数
    \xhh 十六进制数

变量\(^1\):是存储数据的一种,详细参阅请点击该文章-数据存储与符号

§ 输出格式

很多时候,需要设置输出内容的格式,比如钟表时间 08:05,早晨八点零五分,时与分都需要用零填充至两位数,又或者说需要保留多少多少位小数。

  1. 用空格填空至 \(n\) 位宽度,仅对后一个整数类型有效

    cout << setw(2) << 6;	// 用下划线代替空格,输出的内容为:_6
    cout << setw(5) << 6;	// 用下划线代替空格,输出的内容为:____6
    

    代码 setw(n) 的含义是 set width(设置宽度),如果数字不足 n 位,则高位用空格填充

  2. 用指定字符填充至 \(n\) 位宽度,仅对后一个整数类型有效

    cout << setw(2) << setfill('0') << 6;   // 输出的内容为:06
    cout << setw(3) << setfill('*') << 5;   // 输出的内容为:**5
    

    代码 setfill() 的含义是 set fill(设置填充符号),这里填充符号需要用单引号引起来(因为单个字符),如果数字不足 n 位,那么高位会用设置的填充符号进行填充。

  3. 保留 \(n\) 位小数,会对后续所有小数类型结果造成影响

    cout << fixed << setprecision(2) << 6.6 << "  " << 5.0;   // 输出的内容为:6.60  5.00
    

§ 输入格式

C++ 使用 cin 输入语句进行输入操作,基础语法如下:

cin >> 变量 >> 变量 >> 变量;

当有多个数据需要输入时,使用 >> 流向符连接它们。
其中需要注意,输入只能将数据输入到变量中cin 会根据要保存到下一个变量的类型,智能地接收这一类型数据,如果发现类型不匹配,则会发生意想不到的事情。

int a, b, c;
cin >> a >> b >> c;	// 依次将三个整数输入到变量 a,变量 b,变量 c 中
posted @ 2024-07-04 14:00  guanglong  阅读(60)  评论(0)    收藏  举报