C++程序初步.docx

上传人:b****8 文档编号:11453125 上传时间:2023-03-01 格式:DOCX 页数:27 大小:28.58KB
下载 相关 举报
C++程序初步.docx_第1页
第1页 / 共27页
C++程序初步.docx_第2页
第2页 / 共27页
C++程序初步.docx_第3页
第3页 / 共27页
C++程序初步.docx_第4页
第4页 / 共27页
C++程序初步.docx_第5页
第5页 / 共27页
点击查看更多>>
下载资源
资源描述

C++程序初步.docx

《C++程序初步.docx》由会员分享,可在线阅读,更多相关《C++程序初步.docx(27页珍藏版)》请在冰豆网上搜索。

C++程序初步.docx

C++程序初步

程序实例

例:

在屏幕上输出“HelloWorld!

”。

#include //使用cin,cout,须调用iostream库,否则编译出错

#include  //使用system()调用cstdlib库

usingnamespacestd;

intmain()

{

 cout<<"HelloWorld!

"<

 system("pause"); //暂停,使用system("pause")调用cstdlib库

 return0; //结束整个程序

}

说明:

1、以“//”开头为注释行,“//”后的内容用以对语句进行说明,输入程序时可以不

输入;C++语言的另一种注释方法是以“/*”表示注释的开始,以“*/”表示注释的结

束,在“/*”和“*/”之间的为注释内容。

2、#include

告诉编译器的预处理器将输入输出流的标准头文件(iostream)包括在本程序中。

这个

头文件包括了C++中定义的基本标准输入输出程序库的声明。

3、#include<>和#include""的区别

<>引用的是编译器的类库路径里面的头文件

""引用的是你程序目录的相对路径中的头文件

4、usingnamespacestd

使用std(标准)名字空间的意思,所谓的名字空间是标准C++中的一种机制,用来控制

不同类库的冲突问题。

使用它可以在不同的空间内使用相同名字的类或者函数。

5、intmain()

这一行为主函数(mainfunction)的起始声明。

main()是所有C++程序的运行的起始点。

不管它是在代码的开头、结尾还是中间,此函数中的代码总是在程序开始运行时第一个被执行。

所有C++程序都必须有一个main(),intmain()前int在DevC++中可省略,在TC++和VC++中最好保留。

main后面跟了一对圆括号(),表示它是一个函数。

C++中所有函数都跟有一对圆括号(),括号中可以有一些输入参数。

注意,圆括号中即使什么都没有也不能省略,如样例中显示。

主函数main()中的内容,由一对花括号{}括起来。

6、cout<<"HelloWorld!

"<

cout是一个输出语句,告诉计算机把引号之间的字符串送到标准输出设备(屏幕)上。

cout的声明在头文件iostream中,所以要想使用cout必须将头文件iostream包括在程

序开始处。

endl是C++语言的换行控制符,表示内容输出后换行显示后续的内容。

7、system("pause")

在4.99以前版本的DevC++环境下,为了查看程序运行结果,需要在main函数的return

0语句前加上:

system("pause");这样程序运行到该语句时,结果显示屏幕将会停留

,让大家有时间看程序的输出结果,否则结果显示屏幕将会一闪而过。

在4.99之后的版

本可不必加该语句,运行结束后结果显示屏幕将自动停留。

8、return0;

主函数main()的返回语句,一般是函数的最后一条可执行语句。

main()函数末尾使用

return。

在语句时,数值0表示程序顺利结束,其他数表示有异常。

在后面的例子中大

家会看到C++程序都以类似的语句结束。

9、在C++中,语句的分隔是以分号“;”为分隔符的,分行写代码只是为了更方便人阅

读。

基本数据类型

数据是指计算机能够识别和数、字符及符号。

C++语言上有丰富的数据类型,在编写程序时必须说明每个标识符的类型,所执行的运算必须与数据类型一致,否则计算机会给出错误信息。

C++语言的数据类型分为两类:

整本数据类型和自定义数据类型。

C++基本数据类型有4种:

整型、浮点型、字符型和布尔型。

一、整型(int)

在C++语言中,整型类型标识符为int,根据整型变量的取值范围又可将整型变量定义为以下8种整型类型:

名 称     占字节数 定义标识符    数值范围

短整型      2    short     -32768..32767

整 型      4    int      -2147483648..2147483647

长整型      4    long     -2147483648..2147483647

超长整型     8    longlong   -9223372036854775808..9223372036854775807

短整型      2  unsignedshort   0..65535

整 型      4  unsignedint    0..4294967295

无符号长整型   4  unsignedlong   0..4294967295

无符号超长整型  8  unsignedlonglong 0..18446744073709551615

二、实型(double)

一个实型变量用来存储实数,实型包括正实数、负实数和实数零。

实数的表示方法有两种:

(1)、日常表示法:

就是我们平常使用的带小数点的表示方法。

例如:

2.5,-1.6,0.0都是合法的。

必须注意小数点前后都应该有数字,例如:

7.,.8都是非法的。

一个整数可以当做实数使用,但反过来不行。

(2)、科学表示法:

就是采用指数形式的表示方法。

例如:

6.1E3表示6.1*1000,即6100;-6.1E-3表示-6.1*0.001,即-0.0061。

称6.1E3中的E3为指数部分,6.1为尾数部分。

注意指数部分不能为小数,尾数部分不能省略,例如:

1.8E1.1,E+7都是非法的。

C++语言支持三种实型,它们是float(单精度实型)、double(双精度实型)、longdouble(长双精度实型)

每一种类型都规定了相应的取值范围、所使用的存储空间(字节数)以及能达到的精度(有效位数)。

名 称    标识符   占字节数 数值范围        有效数字

单精度实型  float    4    -3.4E-38..3.4E+38   6-7位

双精度实型  double   8    -1.7E-308..1.7E+308  15-16位

长双精度实型 longdouble 16   -1.2E-4932..1.2E+4932 18-19位

float在空间允许的情况下没有必要使用,都应使用double提高精度。

三、字符型(char)

字符常量有两种表示方法:

1、普通表示形式

字符常量由单个字符组成,所有字符采用ASCII编码,ASCII编码共有128个字符。

在程序中通常用一对单引号将单个字符括起来表示一个字符常量。

如:

'a'、'A'、'0'等。

2、转义字符表示形式

转义字符有三种用法:

表示控制字符、表示特殊字符、表示所有字符。

常用的转义字符如下表所示:

转义字符 含义

'\n'   换行

'\t'   水平制表

'\b'   退格

'\r'   回车(不换行)

'\0'   空字符

'\''   单引号

'\"'   双引号

'\\'   一个反斜杠字符

'\ddd'  1-3位八进制数所代表的字符

'\xhh'  1-2位十六进制数所代表的字符

字符型数据占1个字节。

四、布尔型(bool)

布尔数据也称逻辑数据,常用于逻辑判断。

布尔类型数据只有两个:

真和假,分别用标准常量true(真)和false(假)来表示,false的序号为0,true的序号为1;布尔型数据占1个字节。

顺序结构

C++程序的基本结构有顺序结构、选择结构和循环结构。

每条语句按自上而下的顺序依次执行一次,这种自上而下依次执行的程序称为顺序结构程序。

C++中常用的顺序执行语句有3种:

赋值语句、cin输入语句和cout输出语句。

一、赋值语句

赋值语句用于给变量提供数据,它是程序中使用最多语句之一。

赋值语句是由赋值表达式加上一个分号构成,其一般形式为:

变量=表达式;

需注意以下几点:

1、在赋值符“=”右边的表达式也可以是一个赋值表达式,因此,下述形式“变量=(变量=表达式);”是成立的,从而形成嵌套的情形。

其展开之后的一般形式为:

变量=变量=…=表达式;

例如:

a=b=c=d=e=5;

按照赋值运算符的右结合性,实际上等效于:

e=5;d=e;c=d;b=c;a=b;

2、在进行赋值运算时,如果赋值运算符两边的数据类型不同,系统将会自动进行类型转换,即将赋值运算符右边的数据类型转换成左边的变量类型。

当边的是整型而右边是实型时,将去掉小数部分并截取该整型对应的有效位数。

3、在变量说明中给变量赋初值和赋值语句的区别:

给变量赋初值是变量说明的一部分,赋初值后的变量与其后的其他同类变量之间必须用逗号间隔,而赋值语句必须用分号结尾。

在变量说明中,不允许连续给多个变量赋初值。

如下述说明是错误的:

inta=b=c=5;

必须写为:

inta=5,b=5,c=5;而赋值语句允许连续赋值。

4、赋值语句与赋值表达式的区别:

赋值表达式可以包含在其他表达式中,而赋值语句不可。

如:

if((a=b)>0)t=a;

不可写为:

if((a=b;)>0)t=a;

例1:

分析执行如下程序后x、y、z的值。

#include

usingnamespacestd;

intmain()

{intx,y,z;

 x=(y=4)+(z=8);

 return0;

}

分析:

先将y赋值为4,z赋值为8,再计算表达式的值为12,将其赋给x。

例2:

输入两个正整数a和b,试交换a、b的值(使a的值等于b,b的值等于a)

#include

usingnamespacestd;

intmain()

{intx,y,z;

 cout<<"Inputx,y=";

 cin>>x>>y;

 z=x;x=y;y=z;

 cout<<"x="<

 return0;

}

二、cin输入语句

cin是由c和in两个单词组成的,代表C++的输入流,它们是在头文件iostream中定义的。

标准输入流cin是从标准输入设备键盘向内存流动的数据流。

格式1:

cin>>变量;

功能:

从键盘读取一个数据并将其赋值给变量;

说明:

在使用cin输入的时候必须考虑后面的变量类型;如果你要求输入一个整数,在>>后面必须跟一个整型变量;如果要求一个字符,后面必须跟一个字符型变量。

格式2:

cin>>变量1>>变量2>>变量3…;

说明:

从键盘输入的数据的个数、类型与变量要一致;从键盘读取数据时,各数据之间要有分隔符,分隔符可以是一个或多个空格键、回车键等。

三、cout输出语句

标准输出流cout是从内存流向标准输出设备显示器。

格式1:

cout<<表达式;

功能:

把表达式的值输出到屏幕上,该表达式可以是各种基本类型的常量、变量或者由它们组成的表达式。

输出时,程序根据表达式的类型和数值大小,采用不同的默认格式输出,大多数情况下可满足要求。

若要输出多个数据,可以连续使用流插入运算符<<。

格式2:

cin<<表达式1<<表达式2<<表达式3…;

功能:

将变量式的内容一项接一项的输出到屏幕上。

注意:

1、输出字符串和输出变量的区别

当我输出字符串常量的时假,必须用双引号把字符串引起来,以便将它和变量名明显的区分开来。

下面两个语句是不同的:

cout<<"hello"; //输出字符串hello到屏幕上

cout<

2、如何增强程序的可读性

在输出多个数据时可以通过插入空格符、换行符或其它提示信息将数据进行组织,以增强可读性。

如:

x=12

cout<<"heis"<

3、换行符的使用

cout不会自动在其输出内容的末尾加换行符,如果我们调用两次cout,两个句子是输出在同一行中的。

C++中换行符有两种写法:

样例一:

cout<<"Firstsentence.\n";

cout<<"Secondsentence.\nThirdsentence.";

将会产生如下输出:

Firstsentence.

Secondsentence.

Thirdsentence.

样例二:

cout<<"Firstsentence."<

cout<<"Secondsentence."<

将会输出:

Firstsentence.

Secondsentence.

例3:

求一位同学语、数、英三门功课的总分和平均分。

#include

usingnamespacestd;

intmain()

{floatx,y,z,s,a;

 cin>>x>>y>>z;

 s=x+y+z;

 a=s/3;

 cout<<"s="<

 return0;

}

选择结构if语句  

当行走到十字路口时,是直行还是右转或左转,需要根据目的地的方向进行选择;在程序设计中,有时并不是按照语句的书写顺序自上而下地执行,而是根据设定的条件选择所执行的语句,称为选择结构。

C++语言中实现选择的语句有if语句和情况语句。

一、if语句的格式

格式1:

if(条件表达式)

 语句;

功能:

如果条件表达式的值为真,即条件成立,语句将被执行;否则语句将被忽略(不被执行),程序将按顺序从整个if语句之后的下一条语句继续执行。

例1:

读入一个数,若这个数大于1并且小于100,则输出yes。

#include

usingnamespacestd;

intmain()

{inta;

 cin>>a;

 if((a>1)&&(a<100))

   cout<<"yes"<

 return0;

}

例2:

读入一个数a,若a为偶数在屏幕上输出yes。

#include

usingnamespacestd;

intmain()

{inta;

 cin>>a;

 if(a%2==0)

   cout<<"yes"<

 return0;

}

思考:

若题目改为:

读入一个数a,若a为偶数在屏幕上输出yes;若a为奇数在屏幕上输出no。

应该如何修改程序?

格式2:

if(条件表达式)

 语句1;

else

 语句2;

功能:

如果条件表达式的值为真,即条件成立,则执行语句1,执行完语句1后继续执行整个if语句的后继语句;如果条件表达式的值为假,即条件不成立,那么跳过语句1选择执行语句2,执行完语句2后继续执行整个if语句的后继语句;也就是说根据条件表达式的结果,选择语句1或语句2中的一个执行,执行完以后,整个if语句就算执行完了。

注意:

若语句1或语句2由多个句子构成,必须把这些句子括在一对花括号{}内;两条或两条以上的语句用一对{}括起来叫做复合语句。

例3:

根据输入的成绩,判断是否通过了考试。

#include

usingnamespacestd;

intmain()

{inta;

 cin>>a;

 if(a>59)

   cout<<"pass!

"<

 else

   cout<<"sorry!

"<

 return0;

}

二、逻辑运算及布尔表达式

1、逻辑运算

C++提供了三种逻辑运算符:

&&逻辑与:

双目运算符,具有左结合性。

||逻辑或:

双目运算符,具有左结合性。

!

逻辑非:

单目运算符,具有右结合性。

运算符的优先级由高到低为:

!

(非)、算术运算符、关系运算符、&&和||、赋值运算符。

即:

a>b&&c>d等价于(a>b)&&(c>d)

!

b==c||d

b)==c)||(d

a+b>c&&x+yc)&&((x+y)

2、逻辑运算的值

逻辑运算的值有“真”和“假”两种,用1和0来表示;但在判断一个量是否为真时,以非0代表“真”。

其求值规则如下:

与运算&&:

参与运算的两个量都为真时,结果才为真,否则为假。

或运算||:

参与运算的两个量只要有一个为真,结果就为真;两个量都为假时,结果为假。

非运算!

参与运算量为真时,结果为假;参与运算量为假时,结果为真。

三、if语句的嵌套

if语句中又包含if语句称为if语句的嵌套。

当出现if语句嵌套时,不管书写格式如何,else都将与它前面最靠近的if

(未曾配对的)配对,构成一条完整的if语句。

如:

1、

if(表达式1)

 if(表达式2)

   语句1;

 else语句2;

2、

if(表达式1){if(表达式2)语句1;}else语句3;

3、

if(表达式1)语句1;

elseif(表达式2)语句2;

    else语句3;

4、

if(表达式1)语句1;

elseif(表达式2)语句2;

    elseif(表达式3)语句3;

         else语句4;

注意:

在第2条语句中,else不是同它前面复合语句中的if配对,而是与处于同一层次的最前面的if配对。

例4:

某学校规定90分以上(含90分),等级为A,80-89分为B,60-79分为C,60分以下为D。

输入某同学的成绩,输出其等级。

#include

usingnamespacestd;

intmain()

{floats;

 chard;

 cin>>s;

 if(s>=90)d='A';

 elseif(s>=80)d='B';

      elseif(s>=60)d='C';

           elsed='D';

 cout<

 return0;

}

例5:

输入某一年份,判断是否是闰年。

#include

usingnamespacestd;

intmain()

{inty,l;

 cin>>y;

 if((y%400==0)||((y%4==0)&&(y%100!

=0)))l=1;

 elsel=0;

 if(l)cout<<"Thisisaleapyear."<

 elsecout<<"Thisisnotaleapyear."<

 return0;

}

四、三目运算符

C++有一个常用来代替if语句的操作符,这个操作符被称为三目运算符(?

:

),它是C++中唯一一个需要3个操作数的操作符。

其通用格式如下:

b?

a:

c

如果b为真,则整个表达式的值为a;否则,整个表达式的值为c。

例如:

x=5>3?

10:

12;  //5>3为真,所以x=10

x=3==9?

25:

18; //3==9为假,所以x=18

三目运算符返回的是一个值,可以将其赋给变量或者将其放到一个更大的表达式中。

如:

x=a>b?

(c>d?

e:

f):

g;

相当于:

if(a>b)

{if(c>d)x=e;

 elsex=f;

}

elsex=g;

例6:

输入两个数,输出其中较大的那个。

#include

usingnamespacestd;

intmain()

{inta,b;

 cin>>a>>b;

 intc=a>b?

a:

b;

 cout<

 return0;

}

五、作业

1、zerojudge:

基础题:

a003、a799、d063、d064、d067、d071、d068

if语句的嵌套:

d058、d065、a053

思考题:

d050、d060、d066、d073、d277

2、输入两门课程的考试成绩,如果都及格就显示PASS,否则显示FAIL。

3、输入三个整数,按从小到大的顺序输出。

4、输入年、月,输出该月的天数。

选择结构switch语句

应用条件语句可以很方便地使程序实现分支,但是出现分支比较多的时候,虽然可以用嵌套的if语句来解决,但是程序结构会显得复杂,甚至凌乱。

为方便实现多情况选择,C++提供了一种switch开关语句。

一、语句格式

switch(表达式){

 case常量表达式1:

  语句序列1;

  break;

 case常量表达式2:

  语句序列2;

  break;

 …

 case常量表达式n:

  语句序列n;

  break;

 default:

  语句序列n+1;

}

语句的执行过程:

1、计算出switch后面圆括号内表达式的值,假定为M,若它不是整型,系统将自动舍去其小数部分,只取其整数部分作为结果值;

2、依次计算出每个case后常量表达式的值,假定它们为M1,M2…,同样,若它们的值不是整型,则自动转换为整型;

3、让M依次同M1,M2…进行比较,一旦遇到M与某个值相等,则就从对应标号的语句开始执行;在碰不到相等的情况下,若存在default子句,则就执行其冒号后面的语句序列,否则不执行任何操作;当执行到复合语句最后的右花括号时就结束整个switch语句的执行。

注意:

1、语句中可以使用一次或多次case标号,但只能使用一次default标号;default后面的语句末尾可以不必写break,或者省略整个default部分。

2、每个case或default后,可以包含多条语句,不需要使用“{”和“}”括起来。

3、多个case标号也允许使用在同一个语句序列的前面。

二、格式举例

1、

switch(a){

 case1:

x++;break;

 case2:

y++;break;

 case3:

z++;break;

 default:

cout<<"error";

}

2、

switch(ch){

 case'a':

 case'A':

  d1=(x+y)/2;

  d2=x*y-2;

  break;

 case'b':

 case'B':

  d1=(a+b)/2;

  d2=a*b-2;

  break;

 default:

  cout<<"inputerror!

";

}

例1:

根据从键盘上输入的表示星期几的数字,对应输出它的英文名称。

#include

usingnamespacestd;

intmain()

{

 intd;

 cin>>d;

 switch(d)

 {

  case1:

cout<<"Mon"<

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 人力资源管理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1