第3章(31-36)-程序初步设计_第1页
第3章(31-36)-程序初步设计_第2页
第3章(31-36)-程序初步设计_第3页
第3章(31-36)-程序初步设计_第4页
第3章(31-36)-程序初步设计_第5页
已阅读5页,还剩61页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第3章程序初步设计3.1 面向过程的程序设计和算法3.2 C++程序和语句3.3 赋值语句3.4 C++的输入与输出3.5 编写顺序结构的程序3.6 关系运算和逻辑运算……

C++的输入、输出操作由I/O流库提供流指来自设备或传给设备的一个数据流。数据流是有一系列字节组成的并按照顺序进行排列。

cin

和cout是流库预定义的两个标准对象,分别连接键盘和屏幕

它们在头文件iostream

中声明3.4C++的输入与输出语句格式cout<<表达式1<<表达式2…<<表达式n;cout作用是将需要输出的内容显示到屏幕上。

过程:执行cout语句时,先把插入的数据顺序的存放在缓冲区,直到输出缓冲区满或遇到cout语句中的endl(或’\n’,ends,flush)为止,此时将缓冲区中已有的数据一起输出,并清空缓冲区。3.4.1输入流与输出流的基本操作插入运算符cout<<

表达式1

<<

表达式2…<<

表达式n;语句格式cout作用是将需要输出的内容显示到屏幕上。

3.4.1输入流与输出流的基本操作输出项cout<<表达式1<<表达式2…<<表达式n;语句格式cout作用是将需要输出的内容显示到屏幕上。

3.4.1输入流与输出流的基本操作输出语句的形式:例:以下各语句输出结果相同

cout<<“Hello\nIamZhangHua\n”;cout<<“Hello”<<‘\n’<<“IamZhangHua”<<‘\n’;cout<<“Hello”<<endl<<“IamZhangHua”<<endl;cout<<“Hello” <<endl <<“IamZhangHua” <<endl;cout作用是将需要输出的内容显示到屏幕上。

3.4.1输入流与输出流的基本操作注意:不能用一个插入运算符(<<)插入多个输出项例:inta=1,b=2,c=3;

cout<<a,b,c;正确写法:

cout<<a<<b<<c;错误!cout作用是将需要输出的内容显示到屏幕上。

3.4.1输入流与输出流的基本操作//例#include<iostream>usingnamespacestd;intmain(){ inta=2,b=3; chars='c'; cout<<"a="<<a<<endl <<"b="<<b<<endl; cout<<"s="<<s<<endl; return0;}3.4.1输入流与输出流的基本操作//例#include<iostream>usingnamespacestd;intmain(){ inta=2,b=3; chars='c'; cout<<"a="<<a<<endl <<"b="<<b<<endl; cout<<"s="<<s<<endl; return0;}3.4.1输入流与输出流的基本操作//例#include<iostream>usingnamespacestd;intmain(){ inta=2,b=3; chars='c'; cout<<"a="<<a<<endl <<"b="<<b<<endl; cout<<"s="<<s<<endl; return0;}输出整型变量a的值3.4.1输入流与输出流的基本操作//例#include<iostream>usingnamespacestd;intmain(){ inta=2,b=3; chars='c'; cout<<"a="<<a<<endl <<"b="<<b<<endl; cout<<"s="<<s<<endl; return0;}换行3.4.1输入流与输出流的基本操作//例#include<iostream>usingnamespacestd;intmain(){ inta=2,b=3; chars='c'; cout<<"a="<<a<<endl <<"b="<<b<<endl; cout<<"s="<<s<<endl; return0;}3.4.1输入流与输出流的基本操作//例#include<iostream>usingnamespacestd;intmain(){ inta=2,b=3; chars='c'; cout<<"a="<<a<<endl <<"b="<<b<<endl; cout<<"s="<<s<<endl; return0;}输出整型变量b的值3.4.1输入流与输出流的基本操作//例#include<iostream>usingnamespacestd;intmain(){ inta=2,b=3; chars='c'; cout<<"a="<<a<<endl <<"b="<<b<<endl; cout<<"s="<<s<<endl; return0;}换行3.4.1输入流与输出流的基本操作//例#include<iostream>usingnamespacestd;intmain(){ inta=2,b=3; chars='c'; cout<<"a="<<a<<endl <<"b="<<b<<endl; cout<<"s="<<s<<endl; return0;}3.4.1输入流与输出流的基本操作//例#include<iostream>usingnamespacestd;intmain(){ inta=2,b=3; chars='c'; cout<<"a="<<a<<endl <<"b="<<b<<endl; cout<<"s="<<s<<endl; return0;}输出字符变量s的值3.4.1输入流与输出流的基本操作//例#include<iostream>usingnamespacestd;intmain(){ inta=2,b=3; chars='c'; cout<<"a="<<a<<endl <<"b="<<b<<endl; cout<<"s="<<s<<endl; return0;}换行3.4.1输入流与输出流的基本操作cin的作用是读取用户从键盘键入的内容,存入指定的变量中。

语句格式cin>>变量1>>变量2…>>变量n;3.4.1输入流与输出流的基本操作cin>>变量1>>变量2…>>变量n;标准输入流对象语句格式cin的作用是读取用户从键盘键入的内容,存入指定的变量中。

3.4.1输入流与输出流的基本操作cin>>

变量1

>>

变量2…>>

变量n;提取运算符语句格式cin的作用是读取用户从键盘键入的内容,存入指定的变量中。

3.4.1输入流与输出流的基本操作cin>>变量1>>变量2…>>变量n;已经定义过的

对象语句格式cin的作用是读取用户从键盘键入的内容,存入指定的变量中。

3.4.1输入流与输出流的基本操作例如inta;chars;cin>>a>>s;cin的作用是读取用户从键盘键入的内容,存入指定的变量中。

3.4.1输入流与输出流的基本操作例如inta;chars;cin>>a>>s;cin的作用是读取用户从键盘键入的内容,存入指定的变量中。

3.4.1输入流与输出流的基本操作例如inta;chars;cin>>a>>s;cin的作用是读取用户从键盘键入的内容,存入指定的变量中。

3.4.1输入流与输出流的基本操作例如inta;chars;cin>>a>>s;35键入:相当于:a=35;cin的作用是读取用户从键盘键入的内容,存入指定的变量中。

3.4.1输入流与输出流的基本操作例如inta;chars;cin>>a>>s;35键入:相当于:a=35;cin的作用是读取用户从键盘键入的内容,存入指定的变量中。

3.4.1输入流与输出流的基本操作例如inta;chars;cin>>a>>s;35B键入:相当于:s='B';相当于:a=35;cin的作用是读取用户从键盘键入的内容,存入指定的变量中。

3.4.1输入流与输出流的基本操作例如inta,b;cin>>a+b;可以吗? 为什么?错误!cin的作用是读取用户从键盘键入的内容,存入指定的变量中。

3.4.1输入流与输出流的基本操作注意:不能用一个提取运算符(>>)提取多个输入项例:inta,b,c;

cin>>a,b,c;正确写法:

cin>>a>>b>>c;

或cin>>a;

cin>>b;

cin>>c;错误!cin的作用是读取用户从键盘键入的内容,存入指定的变量中。

3.4.1输入流与输出流的基本操作赋值符的优先级低于提取符:cout<<a=b;

//错误可以添加括号改变优先级:cout<<(a=b);

//正确注意:3.4.1输入流与输出流的基本操作常用的输出格式控制符 需要包含头文件iomanip

控制符功能endl输出一个新行符,并清空流ends输出一个空格符,并清空流

dec用十进制表示法输入或输出数值hex用十六进制表示法输入或输出数值oct用八进制表示法输入或输出数值setfill(charc)设置填充符csetprecision(intn)设置浮点数输出精度setw(intn)设置输出宽度3.4.2在输入流与输出流中使用控制符常用的输出格式控制符

例:inta=36;cout<<dec<<a<<endl;cout<<hex<<a<<endl;cout<<oct<<a<<endl;3.4.2在输入流与输出流中使用控制符常用的输出格式控制符

例:#include<iomanip>#include<iostream>usingnamespacestd;intmain(){

doubleb=123.4567;cout<<b<<endl;cout<<setprecision(4)<<b<<endl;cout<<setprecision(7)<<b<<endl;cout<<setw(12)<<b<<endl;cout<<setfill('*')<<setw(12)<<b<<endl;return0;}3.4.2在输入流与输出流中使用控制符常用的输出格式控制符 需要包含头文件iomanip

控制符功能3.4.2在输入流与输出流中使用控制符//例:输出双精度数doublea=123.456789012345;对a赋初值(1)cout<<a;输出:123.457(2)cout<<setprecision(9)<<a;输出:123.456789(3)cout<<setprecision(6);恢复默认格式(精度为6)(4)cout<<setiosflags(ios∷fixed)<<a;输出:123.456789(5)cout<<setiosflags(ios∷fixed)<<setprecision(8)<<a;|

输出:123.45678901(6)cout<<setiosflags(ios∷scientific)<<a;输出:1.234568e+02(7)cout<<setiosflags(ios∷scientific)<<setprecision(4)<<a;

输出:1.2346e023.4.2在输入流与输出流中使用控制符//例:整数输出

intb=123456;对b赋初值(1)cout<<b;输出:123456(2)cout<<hex<<b;输出:1e240

(3)cout<<hex<<setiosflags(ios∷uppercase)<<b;输出:1E240

(4)cout<<setw(10)<<b<<’,’<<b;输出:123456,123456(5)cout<<setfill(’*’)<<setw(10)<<b;输出:****123456(6)cout<<setiosflags(ios::left)<<setfill(’*’)<<setw(10)<<b;

输出:123456****(7)cout<<setiosflags(ios∷showpos)<<b;输出:+1234563.4.2在输入流与输出流中使用控制符//略3.4.3用getchar和putchar函数进行字符的输入和输出//略3.4.4用scanf和printf函数进行输入和输出//例3.5

求一元二次方程式ax2+bx+c=0的根。a,b,c的值在运行时由键盘输入,它们的值满足b2-4ac≥0。3.5编写顺序结构的程序#include<iostream>#include<cmath>usingnamespacestd;intmain(){floata,b,c,x1,x2;cin>>a>>b>>c;x1=(-b+sqrt(b*b-4*a*c))/(2*a);x2=(-b-sqrt(b*b-4*a*c))/(2*a);cout<<"x1="<<x1<<endl;cout<<"x2="<<x2<<endl;return0;}关系表达式和逻辑表达式的值是一个逻辑值。逻辑值只有两个:

真成立为true(1)

假不成立为false(0)表达式求值过程中,所有非0值都作为逻辑真true。3.6关系运算和逻辑运算关系运算是指对两个运算量的大小进行比较。关系运算符:>大于 >=大于等于 <小于<=小于等于 ==等于 !=不等于优先级:低于算术运算类,高于赋值类结合性:从左向右结合3.6.1关系运算和关系表达式例:

若有 intx=2,y=3,z;则x==yx!=y值为0值为

1z的值为1z=2>=3<=5z=0<=5z=1z=3-1>=x+1<=y+23.6.1关系运算和关系表达式(1)设a=0,b=0.5,x=0.3表达式a<=x<=b的结果为:0

1注意:

说明数学含义x在区间[a,b]的数学表达式

a≤x≤b不能使用a<=x<=b 表示应该使用

a<=x&&x<=b

表示注意关系运算的正确使用:3.6.1关系运算和关系表达式注意关系运算的正确使用:(2)表达式5>2>7>6的结果为:0

1讨论:

5>2>7>8是一个无意义的数学式子,但在C++中是合法表达式应尽量避免使用这种意义不清的表达式03.6.1关系运算和关系表达式注意关系运算的正确使用:(3)字符数据按ASCⅡ码值进行比较

例:

'a'>0 值为1(true) 'A'>100 值为0(false)3.6.1关系运算和关系表达式注意关系运算的正确使用:(4)不要把等于运算符(==)误写成赋值运算符(=)例1: intx=3;if(x==9)cout<<“xis9”<<endl;例2: intx=3;if(x=9)cout<<“xis9”<<endl;例3: intx=3;if(x=0)cout<<“xis0”<<endl;

根据x的值决定是否执行这个语句总是执行这个语句总是不执行这个语句//相当于if(9)//相当于if(0)3.6.1关系运算和关系表达式3.6.2逻辑常量和逻辑变量逻辑变量(又称布尔变量)的类型标识符:

bool

逻辑变量的值是逻辑常量(又称布尔常量):

true、false

(编译器将true处理为1,将false处理为0)例:定义两个布尔型变量,分别赋值,然后输出。

boolb1=true;

boolb2=false;

cout<<"b1="<<b1<<endl;

cout<<"b2="<<b2<<endl;3.6.2逻辑常量和逻辑变量

注意:若将非零的整数赋值给逻辑变量,则按“真”处理:若将整数0

赋值给逻辑变量,则按“假”处理。

例:

boolb3=123;

boolb4=0;

cout<<"b3="<<b3<<endl;

cout<<"b4="<<b4<<endl;数学上的式子:0<x≤100C++中表示为:x>0&&

x<=100

3.6.3逻辑运算和逻辑表达式数学上的式子:x<20或x>50C++中表示为:x<20||x>50

逻辑与逻辑或&& 逻辑与:左操作数为真且右操作数为真,则结果为真。 || 逻辑或:左操作数为真或右操作数为真,则结果为真。 ! 逻辑非:取操作数逻辑相反值。

逻辑运算符:3.6.3逻辑运算和逻辑表达式逻辑与0&&0==0&& 逻辑与:左操作数为真且右操作数为真,则结果为真。3.6.3逻辑运算和逻辑表达式逻辑与0&&0==01&&0==00&&1==0&& 逻辑与:左操作数为真且右操作数为真,则结果为真。3.6.3逻辑运算和逻辑表达式逻辑与0&&0==01&&0==00&&1==01&&1==1&& 逻辑与:左操作数为真且右操作数为真,则结果为真。3.6.3逻辑运算和逻辑表达式逻辑或||逻辑或:左操作数为真或右操作数为真,则结果为真。 0||0==03.6.3逻辑运算和逻辑表达式逻辑或||逻辑或:左操作数为真或右操作数为真,则结果为真。 0||0==01||0==13.6.3逻辑运算和逻辑表达式逻辑或||逻辑或:左操作数为真或右操作数为真,则结果为真。 0||0==01||0==10||1==13.6.3逻辑运算和逻辑表达式逻辑或||逻辑或:左操作数为真或右操作数为真,则结果为真。 0||0==01||0==10||1==11||1==13.6.3逻辑运算和逻辑表达式逻辑非!逻辑非:取操作数逻辑相反值。 !0==13.6.3逻辑运算和逻辑表达式逻辑非!逻辑非:取操作数逻辑相反值。 !0==1!1==03.6.3逻辑运算和逻辑表达式逻辑真值表:3.6.3逻辑运算和逻辑表达式逻辑运算规律:0&&a==01&&a==a a&&a==a

其中:a为逻辑值1(true)或0(false)1||a==10||a==aa||a==a3.6.3逻辑运算和逻辑表达式例:根据温度和湿度打印一则消息。inttemp=25,humi=80;if(temp>=20&&humi>=50)cout<<"It'shot\n";if(temp<0||temp

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论