尧图精选

详解C++中赋值和输入输出语句的用法

🕒 发布时间:2026/10/2 10:15:59 📁 来源:尧图网络
C赋值语句讲解C的赋值语句具有其他高级语言的赋值语句的功能。但不同的是C中的赋值号““是一个运算符可以写成1abcd;而在其他大多数语言中赋值号不是运算符上面的写法是不合法的。关于赋值表达式与赋值语句的概念。在C中赋值表达式可以包括在其他表达式之中例如1if((ab)0) couta0endl;按语法规定if后面的( )内是一个条件。现在在x的位置上换上一个赋值表达式“ab“其作用是先进行赋值运算(将b的值赋给a)然后判断a是否大于0如大于0执行couta0endl;。在if语句中的“ab“不是赋值语句而是赋值表达式这样写是合法的。不能写成1if((ab;)0) couta0endl;因为在if的条件中不能包含赋值语句。C把赋值语句和赋值表达式区别开来增加了表达式的种类能实现其他语言中难以实现的功能。C输入cout与输出cin输入和输出并不是C语言中的正式组成成分。C和C本身都没有为输入和输出提供专门的语句结构。输入输出不是由C本身定义的而是在编译系统提供的I/O库中定义的。C的输出和输入是用“流”(stream)的方式实现的。有关流对象cin、cout和流运算符的定义等信息是存放在C的输入输出流库中的因此如果在程序中使用cin、cout和流运算符就必须使用预处理命令把头文件stream包含到本文件中1#include iostream尽管cin和cout不是C本身提供的语句但是在不致混淆的情况下为了叙述方便常常把由cin和流提取运算符“”实现输入的语句称为输入语句或cin语句把由cout和流插入运算符“”实现输出的语句称为输出语句或cout语句。根据C的语法凡是能实现某种操作而且最后以分号结束的都是语句。输入流与输出流的基本操作cout语句的一般格式为1cout表达式1表达式2……表达式n;cin语句的一般格式为1cin变量1变量2……变量n;在定义流对象时系统会在内存中开辟一段缓冲区用来暂存输入输出流的数据。在执行cout语句时先把插入的数据顺序存放在输出缓冲区中直到输出缓冲区满或遇到cout语句中的endl(或\nendsflush)为止此时将缓冲区中已有的数据一起输出并清空缓冲区。输出流中的数据在系统默认的设备(一般为显示器)输出。一个cout语句可以分写成若干行。如1coutThis is a simple C program.endl;可以写成1234coutThis is //注意行末尾无分号a C program.endl;//语句最后有分号也可写成多个cout语句即1234coutThis is ;//语句末尾有分号cout a C ;cout program.;coutendl;以上3种情况的输出均为1This is a simple C program.注意不能用一个插入运算符“”插入多个输出项如12coutabc;//错误不能一次插入多项coutabc;//正确这是一个表达式作为一项在用cout输出时用户不必通知计算机按何种类型输出系统会自动判别输出数据的类型使输出的数据按相应的类型输出。如已定义a为int型b为float型c为char型则1couta b cendl;会以下面的形式输出14 345.789 a与cout类似一个cin语句可以分写成若干行。如1cinabcd;可以写成1234cina//注意行末尾无分号b//这样写可能看起来清晰些cd;也可以写成1234cina;cinb;cinc;cind;以上3种情况均可以从键盘输入11 2 3 4 ↙也可以分多行输入数据1231↙2 3↙4↙在用cin输入时系统也会根据变量的类型从输入流中提取相应长度的字节。如有1234charc1, c2;inta;floatb;cinc1c2ab;如果输入11234 56.78↙注意 34后面应该有空格以便和56.78分隔开。也可以按下面格式输入11 2 34 56.78↙ (在1和2之间有空格)不能用cin语句把空格字符和回车换行符作为字符输入给字符变量它们将被跳过。如果想将空格字符或回车换行符(或任何其他键盘上的字符)输入给字符变量可以使用getchar函数。在组织输入流数据时要仔细分析cin语句中变量的类型按照相应的格式输入否则容易出错。在输入流与输出流中使用控制符上面介绍的是使用cout和cin时的默认格式。但有时人们在输入输出时有一些特殊的要求如在输出实数时规定字段宽度只保留两位小数数据向左或向右对齐等。C提供了在输入输出流中使用的控制符(有的书中称为操纵符)见表3.1。需要注意的是 如果使用了控制符在程序单位的开头除了要加iostream头文件外还要加iomanip头文件。举例 输出双精度数1doublea123.456789012345;// 对a赋初值1) couta; 输出 123.4562) coutsetprecision(9)a; 输出 123.4567893) coutsetprecision(6); 恢复默认格式(精度为6)4) cout setiosflags(ios∷fixed); 输出 123.4567895) coutsetiosflags(ios∷fixed)setprecision(8)a; 输出 123.456789016) coutsetiosflags(ios∷scientific)a; 输出 1.234568e027) coutsetiosflags(ios∷scientific)setprecision(4)a; 输出 1.2346e02下面是整数输出的例子1intb123456;// 对b赋初值1) coutb; 输出 1234562) couthexb; 输出 1e2403) coutsetiosflags(ios∷uppercase)b; 输出 1E2404) coutsetw(10)bb; 输出 1234561234565) coutsetfill(*)setw(10)b; 输出 **** 1234566) coutsetiosflags(ios∷showpos)b; 输出 123456如果在多个cout语句中使用相同的setw(n)并使用setiosflags(ios::right)可以实现各行数据右对齐如果指定相同的精度可以实现上下小数点对齐。【例】各行小数点对齐。123456789101112#include iostream#include iomanipusingnamespacestd;intmain( ){doublea123.456,b3.14159,c-3214.67;coutsetiosflags(ios::fixed)setiosflags(ios::right)setprecision(2);coutsetw(10)aendl;coutsetw(10)bendl;coutsetw(10)cendl;return0;}输出如下123123.46 (字段宽度为10右对齐取两位小数)3.14-3214.67先统一设置定点形式输出、取两位小数、右对齐。这些设置对其后的输出均有效(除非重新设置)而setw只对其后一个输出项有效因此必须在输出abc之前都要写setw(10)。
上一篇/下一篇内容由系统自动关联 返回资讯列表 →