- 1、本文档共52页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Page * 1.3 变量的输入和输出 字符串变量的输入输出 C++的字符串输入 方法一:用标准输入流的流提取运算符实现 string name; //C++的字符串 cout 请用拼音输入姓名(空格分隔); cin name; //标准输入流的流提取运算符以空格符为分隔,只能得到空格符前的字符串 cout 得到的name是 name endl; 由于cin以空格作为分隔符,所以当输入yang feng时,只能读出yang到name中 Page * 1.3 变量的输入和输出 字符串变量的输入输出 C++的字符串输入 方法二:用全局函数getline()读入一行内容 string name; //C++的字符串 cout 请再次用拼音输入姓名(空格分隔); getline( cin, name ); //用全局函数getline()获取字符串,可以输入一行内的所有内容,并可以使用C++的字符串 cout 得到的name是 name endl; name中输入的就是完整的“yang feng” Page * 1.3 变量的输入和输出 字符串变量的输入输出 C++的字符串输入 方法三:用标准输入流的getline()方法 char name[50]; //C风格的字符串 cout 请用拼音输入姓名(空格分隔); cin.getline( name, 50 ); //用标准输入流的成员函数getline()获取字符串,可以输入一行内的所有内容,但只能使用C风格的字符串 cout 得到的name是 name endl; 效果同上。但是这个方法只能使用C风格的字符串,不能使用string类型。 这个函数有2个参数,第一个参数是待输入的字符串,第二个参数是这个字符串的最大长度。 Page * 1.3 变量的输入和输出 字符串变量的输入输出 C的字符串输出 方法一:用printf()函数,转换说明符用%s 方法二:通过puts()函数输出字符串,如 puts( name ); 该函数会在行尾自动增加一个回车换行符 Page * 1.3 变量的输入和输出 字符串变量的输入输出 C的字符串输入 方法一:通过scanf()函数输入 char name[50]; //C风格的字符串 printf( 请用拼音输入姓名(空格分隔) ); scanf( %s, name ); puts( name ); 与cin的问题相同,scanf()也是以空格作为分隔符,也只能读入空格前的内容。 这里的第二个参数不能加号, Page * 1.3 变量的输入和输出 字符串变量的输入输出 C的字符串输入 方法二,用gets()函数输入 char name[50]; //C风格的字符串 printf( 请用拼音输入姓名(空格分隔) ); gets( name ); printf( 读入的name是%s\n, name ); gets()函数也是读入完整的一行内容。 但注意它只有一个参数,就是待输入的字符串变量名,该函数没有检查字符串的最大长度,如果键入的字符串超过name的长度,程序马上会崩溃。 Page * 1.3 变量的输入和输出 总结 变量的输入始终是一个很薄弱的环节,无论是scanf(),gets()还是cin,都很容易出错。所以从键盘输入时,一定要注意键入的数据格式、数量、长度要与程序中的变量对应。 printf使用很方便,是C语言中最常用的输出手段该函数执行时间比较长,单个的字符和字符串可以用putchar()和puts()替代。 C++程序中尽量使用cin和cout实现输入输出,可以进行数据类型检查,数据个数也不会错误 Page * 1.4 变量的运算 变量之间可以通过各种已定义的运算符(operator)进行运算(operation) 变量之间的算术运算包括 + - * / 与数学中的运算规则完全相同。 整数还有求余运算 % 以除法为例,如 1.0/r1 就是求r1的倒数 注意:整数的除法只保留整数部分,比如2/5,得到的结果会是0,而5/2则得到2。因为整数没有小数位,所以结果是直接取整(不是四舍五入) Page * 1.5 变量的赋值与初始化 int resistTotal = 3; 在定义变量的同时赋值,这个过程称为变量初始化Initialization (giving a variable its initial value) resistTotal = 3; 称为赋值assignment (giving a variable a new value) 二者的区别在于: 初始化时变量里是空的,没有有效内容; 赋值则是先清除变量中原有
文档评论(0)