c++实验答案 百度文库,c第五章测试题
//0
#包括
#包括
int main(int argc,char const *argv[])
{
std:cout 请输入您的姓名:;
std:字符串名称;
std:cin名称;
你好,名字!STD:endl;
返回0;
}//0示例2
#包括
#包括
int main(int argc,char const *argv[])
{
std:cout 请输入您的姓名:;
std:字符串名称;
std:cin名称;
const STD:string greeting= Hello, name !;
const STD:string space(greeting . size(), );
const STD:string secend= * space * ;
const STD:string first(secend . size(), * );
STD:cout STD:endl;
STD:cout first STD:endl;
STD:cout * space * STD:endl;
STD:cout * greeting * STD:endl;
STD:cout * space * STD:endl;
STD:cout first STD:endl;
返回0;
}
右上角是正确结果(空格后ctr d作为EOF终止符),左上角是(空格回车作为终止符),右下角是std:endl缺少第一行(空格后ctr d作为EOF终止符)
//1
有效的
表达式的结果是:std:string类型的值。
只要任何操作数(但不是所有操作数)都可以是字符串文字(对象文字是引号括起来的部分,必须是等号右边的部分)或者char类型值//2。
无效
错误报告:
错误:二进制表达式的操作数无效
原因:“Hello”和“world”之间的加号无效。没有定义两个操作数都是字符串常量的运算符运算函数。//3
有效,两个字符串都可以按字面意思输出。
原字符串常量初始化后,不能修改,但{}使两个字符串常量处于不同的作用域,互不影响。#包括
#包括
int main(int argc,char const *argv[])
{
{
const STD:string s= a string ;
STD:cout s STD:endl;
}
{
cosnt std:string s=另一个字符串
STD:cout s STD:endl;
}
返回0;
}//4
相同的输出,
这涉及到分号的作用,
功能:是一个完整语句的结束标记,方便程序的编译,不至于产生与设计初衷相违背的逻辑。
这里的改动不影响语义的表达。
这种情况会造成语言不通。
例如,
做{
程序段s
}while(表情p);
如果while后面不要分号,会把下面的语句误认为是同一个语句。
一个
while(a 50);
a;
2
for(I=1;i 10I);
b;
这两段程序,在while和for后面加了分号,即使满足条件也不会执行循环,与原来的语义相差甚远。#包括
#包括
int main(int argc,char const *argv[])
{
{
const STD:string s= a string ;
STD:cout s STD:endl;
{
const std:string s=另一个字符串;
STD:cout s STD:endl;};}
返回0;
}//5
错误:使用了未声明的标识符“x”
STD:cout x STD:endl;
一个作用域结束后,X作为一个局部变量,已经被系统回收了#include。
#包括
int main(int argc,char const *argv[])
{
{
STD:string s= a string ;
std:string x=s ,真的;
STD:cout s STD:endl;
STD:cout x STD:endl;
}
返回0;
}6运行结果
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。