当cin>>x操作中的x为字符指针类型时,则需要从键盘的输入中读取一个字符串,并把他存储到x所指向的存储空间中,若x没有事先指向一个允许写入数据的存储空间,则无法完成输入操作。另外,从键盘上输入的字符串,其两边无需带有双引号定界符,对于输入的字符也是如此,无需带有单引号定界符。
当系统执行cout<<x操作时,首先根据x值的类型调用相应的插入操作符重载函数,把x的值按值传送给对应的形参,接着执行函数体,把x的值(亦即形参的值)输出到显示器屏幕上,从当前屏幕光标位置起显示出来,然后返回cout流,以便继续使用插入操作符输出下一个表达式的值。当使用插入操作符向一个流输出一个值后,再输出下一个值时将被紧接着放在上一个值的后面,所以为了让流中前后两个值分开,能够在输出一个值之后接着输出一个空格、一个换行符或其他需要的字符或字符串。
例15.1.2 对于语句“cout<<endl<<x;”中的各个组成部分,下列叙述中错误的是( )。[2005年9月选择第16题]
A.“cout”是个输出流对象 B.“endl”的作用是输出回车换行
C.“x”是个变量 D.“<<”称作提取运算符
解析:本题考查C 流的预定义流对象,操作符和运算符重载。A、B和C中的叙述都是正确的。由于左移运算符<<重载用于向流中输出表达式的值,所以称为插入运算符。选项D的叙述是错误的。
答案:D
本章节内容来自希赛全国电脑等级考试用书《电脑等级考试考点分析、题解和模拟——二级C 语言》。(购书请见 :http://shop.csai.cn/itbook/itbookinfo.asp?lbbh=10032460)
[1] [2] [3]




