C++入门.docx

上传人:b****3 文档编号:3893686 上传时间:2022-11-26 格式:DOCX 页数:55 大小:106.59KB
下载 相关 举报
C++入门.docx_第1页
第1页 / 共55页
C++入门.docx_第2页
第2页 / 共55页
C++入门.docx_第3页
第3页 / 共55页
C++入门.docx_第4页
第4页 / 共55页
C++入门.docx_第5页
第5页 / 共55页
点击查看更多>>
下载资源
资源描述

C++入门.docx

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

C++入门.docx

C++入门

C/C++语言入门

黄锡波整理

黄锡波寄语:

C/C++永远都是老大的,开发底层的东西,嵌入式的东西都需要掌握C/C++最古老最顽强的语言,有些同学想做开发,但不想做网站Android之类的,可以努力一下C/C++,懂这个,基本就业能通行无阻哦。

大家想学这个,就算是毕业后也可找我,我在1992年在银行就开始做这个了,到2002年全世界才突然转向Java的(开发安全网站)。

第一课 导入

一、什么是C/C++语言:

C++语言是一种高级程序设计语言。

C++语言是20世纪80年代初期由贝尔实验室设计的一种在C语言基础上增加了对面向对象程序设计支持的语言,它是目前应用最为广泛的编程语言。

程序体验:

#include

usingnamespacestd;

intmain()

{

printf(“hello!

”);

system("pause");

return0;

}

例一:

已知长方形的长、宽,求长方形的周长、面积

#include

usingnamespacestd;

intmain()

{inta,b,L,S;

scanf("%d%d",&a,&b);

L=2*(a+b);

S=a*b;

printf("L=%d,S=%d",L,S);

scanf("\n");

return0;

}

二、程序设计的要素:

1、分析题目中的已知和求解的信息,以变量的形式定义下来。

(例题中已知长和宽,求周长和面积。

a,b,l,s分别为长、宽、周长、面积)

2、如何求解―算法。

三、

一个程序:

头文件

Intmain()

{变量说明部分;

执行部分;

scanf(“\n”);

return0;

}

执行部分主要分为:

输入、处理、输出

C++程序的组成

#include//标准输入输出库文件

usingnamespacestd;//使用std命名空间

intmain()

{inta,b,L,S;//定义变量

scanf("%d%d",&a,&b);//输入

//处理

L=2*(a+b);

S=a*b;

printf("L=%d,S=%d",L,S);//输出

scanf("\n");//查看结果

return0;

}

四、

C++程序设计的界面及主要命令

 

五、环境

1、菜单――激活菜单命令F10

2、编辑区----书写程序的地方,写完后按Ctrl+S保存文件

六、常用操作

书写程序时注意:

1、保持缩进

2、{}要成对出现

3、除了头文件,intmain()外

每句程序后面都要加;

1、新建\源代码。

2、编译并运行F93、编译――Ctrl+F94、运行------Ctrl+F10

练习

1、启动DevC++。

2、输入以上例1的程序

3、文件保存,编译,运行,看结果

第二课 简单程序的书写

一、分析例题2.1

例二:

已知正方形的边长,求正方形的周长、面积

#include//标准输入输出库文件

usingnamespacestd;//使用std命名空间

intmain()

{

inta,L,S;

scanf("%d",&a);

L=4*a;

S=a*a;

printf("L=%d,S=%d",L,S);

scanf("\n");

return0;

}

Int 数据类型中的整数类型。

scanf输入语句= 赋值语句printf输出语句

二、变量声明部分

格式:

类型名变量名1,变量名2,…,变量名n;

例如:

inta;(单个变量说明)

  floatL,S;(多个相同变量同时定义,变量名之间用逗号隔开)

变量名:

由字母、数字、下划线组成的。

以字符或者下划线开头。

区分大小写。

不能与保留字同名。

常见的保留字:

int,float,char,string,bool,unsigned,

if,else,do,while,char,break

(c语言中保留字、标准库函数名都只用小写字母表示)

三、基本数据类型:

类型

说明

字节

取值范围

[signed]char

字符型

1

-128~127

unsignedchar

无符号字符型

1

0~255

[signed]short

短整型

2

-32768~32767

unsignedshort

无符号短整型

2

0~65536

[signed]int

整型

4

-2147483648~-2147483647

unsignedint

无符号整型

4

0~4294967295

[signed]long

长整型

4

-2147483648~-2147483647

unsignedlong

无符号长整型

4

0~4294967295

[signed]longlong

超长整型

8

-2^63~2^63-1

Float

单精度浮点型

4

-3.4×10^38~3.4×10^38(约6个有效数字)

double

双精度浮点型

8

-1.7×10^308~1.7×10^308(约12个有效数字)

表中的[]表示其中的内容可以省略。

如[signed]char,简略为char就可以。

注意:

不同的数据类型,存储空间大小和能合适的运算不同

1、整型适用的运算操作

余数

+

-

*

/

%

运算优先级:

(*等于/等于%)>(+等于-)

体验:

运算符号与数据类型

#include//标准输入输出库文件

usingnamespacestd;//使用std命名空间

intmain()

{Inta,b;

a=5/2;b=5%2;

printf(“%d%d”,a,b)

scanf("\n");

return0;

}

例题:

已知a,b两个整数,求这两个数的和、差、乘积、商、余数

分析:

已知a,b,求:

S1(和),S2(差),S3(乘积),S4(商),y(余数)

   方法:

s1=a+b;s2=a-b;s3=a*b;s4=a/b;s5=a%b;

#include

usingnamespacestd;

intmain()

{inta,b,s1,s2,s3,s4,y;

scanf("%d%d",&a,&b);

s1=a+b;s2=a-b;s3=a*b;

s4=a/b;y=a%b;

printf("%d+%d=%d\n",a,b,s1);

printf("%d-%d=%d\n",a,b,s2);

printf("%d*%d=%d\n",a,b,s3);

printf("%d/%d=%d...%d\n",a,b,s4,y);

system("pause");

return0;

}

说明:

书写程序时,不一定要严格一行一个语句,可以一行多个语句。

   变量名的命名与实际存储内容相关联。

便于自己编程中不会混淆变量。

例题:

2、整型变量常用的函数

函数名

功能

函数的定义

举例

Abs

求绝对值

abs(任意的数值类型)

abs(-2)结果为2,abs

(2)结果为2

Sqrt

求平方根

sqrt(任意的数值类型)

sqrt(4),结果为2;sqrt(1.5)结果为1.224745

Int

强制类型转换整型

(int)变量名或者表达式

一般用来把实数转换为整数

(Int)2.5;结果为2

 

3、实型合适的运算符号与函数

+

-

*

/

Inta=5/2;//结果为a=2

Charch=101;//inta=ch/3;结果为a=33;

floata=5/2;//结果为a=2.000;精度丢失在计算5/2时发生了。

除数与被除数至少需要一个为实型,除运算才能实数除。

floata=5.0/2;

floata=5/2.0;//结果为a=2.5

floata=5.0/2.0;

试一试强制类型转换(float)变量,(int)变量

#include

usingnamespacestd;

intmain()

{inta,b;

floatc;

a=(int)7.6;b=5;

c=a/b;printf("%0.2f",c);//结果为c=1.00

c=(float)a/b;printf("%0.2f",c);//结果为c=1.40

c=(float)(a/b);printf("%0.2f",c);//结果为c=1.00

system("pause");

return0;

}

实数的常用函数#include

函数名

功能

实例

ceil

向上舍入doubleceil(doublex)

Ceil(5.4)结果为5

floor

向下舍入doublefloor(doublex)

Floor(5.6)结果为6

Fabs

求浮点数的绝对值

doublefabs(doublex)

Fabs(-5.4)结果为5.4

Fmod

求x/y的余数

Doublefmod(doublex,doubley)

Fmod(2,5.0)结果为2

注意不可以为fmod(2,5)

pow

指定数的指定次幂

doublepow(doublex,doubley)

Pow(5,3.0)结果为125

练习:

已知圆的半径,求圆的面积和周长

常量:

定义:

在程序执行过程中始终保持不变的数据量。

#definePI3.1415926(注意c++语言中区分大小写)//实数常量

#defineN100//整数常量

#defineName“hello”//字符串常量

#definech‘A’//字符常量

数据存储:

已知半径r,数据类型实型,求周长l,面积s。

算法:

l=2*PI*rs=PI*r*r;

#include

#definePI3.1415926

usingnamespacestd;

intmain()

{floatr,l,s;

r=5;

l=2*PI*r;s=PI*r*r;

printf("l=%0.2f,s=%0.2f",l,s);

system("pause");

return0;

}

4、字符类型,实际存储的是0..255的整数

定义:

charch1,ch2,ch3;

赋值:

ch1=97;相当于ch1=’a’;

ch2=’A’;相当于ch2=65;

ch3=’0’;相当于ch3=48;

输入:

scanf("%c%c",&ch1,&ch2);输入ab

scanf("%c%c",&ch1,&ch2);输入ab

输出:

printf(“%c,%c,%c”,ch1,ch2,ch3);输出a,A,0

Printf(“%5c”,ch1);定义场宽为5。

练习:

1、输入字母序号,输出相应的大小写字母。

输入1,输出A,a输入26,输出Z,z

2、输入一个小写字母,将其转换为大写字母3、输入字母,输出其在字母表中的序号。

三、输出语句:

printf函数

语句格式:

printf(“格式控制字符串”,地址列表)

格式控制字符串:

用于指定输出格式,由格式字符串和非格式字符串构成。

格式字符串:

以%开头,后面有各种格式字符,以说明输出数据的类型、形式、长度、小数位数等。

非格式字符串:

原样输出。

地址列表:

各个输出项。

要求格式字符串和各输出项在数量和类型上应该是一一对应的。

//不同的类型控制:

#include

usingnamespacestd;

intmain()

{inta=65,b=97;

printf("******\n");//原样输出,后换行

printf("%d%d\n",a,b);//6597%d----十进制

printf("%d,%d\n",a,b);//65,97

printf("%o,%o\n",a,b);//%o-----八进制

printf("%x,%x\n",a,b);//%x-----十六进制

printf("%c,%c\n",a,b);//A,a%c-----字符格式

system("pause");

return0;

}

 

类型格式符号

意义

d

十进制带符号整数(整数不输出符号)

O

以八进制带符号整数(不输出前缀O)

X

以十六进制带符号整数(不输出前缀Ox)

u

以十进制无符号整数

f

以小数形式输出单、双精度实数

e

以指数形式输出单、双精度实数

c

输出单个字符

s

输出字符串

“格式控制字符串”:

%[输出宽度][.精度]d

//体验宽度和精度的控制

#include

usingnamespacestd;

intmain()

{inta=123;floatb=123.456;

printf("------分割线---------\n");//原样输出,后换行

printf("a=%d,%5d\n",a,a);

printf("b=%f,%10.5f,%0.1f\n",b,b,b);

system("pause");

return0;

}

三、输入语句:

scanf函数(格式输入函数)

语句格式:

scanf(“格式控制字符串”,地址列表)

#include

usingnamespacestd;

intmain()

{

inta1,b1,a2,b2;

scanf("%d%d",&a1,&b1);printf("a1=%d,b1=%d\n",a1,b1);

scanf("%d,%d",&a2,&b2);printf("a2=%d,b2=%d\n",a2,b2);

system("pause");

注意:

整数与实数一般用空格或回车来区分不同变量的数据。

如何输入格式中有,

输入数据一定要有,否则数据出错。

return0;

}

从键盘上输入:

12从键盘上读入:

1

3,42

3,

输出:

a1=1,b1=24

a2=3,b2=4输出:

a1=1,b1=2

a2=3,b2=4

scanf中常见的错误:

错误

正确

scanf(“%d”,a);

scanf(“%d”,&a);

没有&

scanf(“%5.2f”,b);

scanf(“%f”,&b);

不能有精度控制

//体验输入不同类型的数据

#include

usingnamespacestd;

intmain()

{

inta,b;

floatc,d;

charch1,ch2;

scanf("%d%d",&a,&b);

scanf("%f%f",&c,&d);

scanf("\n%c%c",&ch1,&ch2);

printf("a=%d,b=%d\n",a,b);

printf("c=%0.2f,d=%0.2f\n",c,d);

printf("ch1=%c,ch2=%c\n",ch1,ch2);

system("pause");

return0;

}

输入数据:

12输出:

a=1,b=2

3.45.6c=3.40,d=5.60

abch1=a,ch2=b

四、赋值语句语句格式:

变量=表达式

1、相同类型的赋值

Inta,b,c;

a=1;b=2;c=3;a=b+c;可以写成a=(b=2)+(c=3);

a=1;b=1;c=1;可以写成a=b=c=1;

floatx,y;

x=1.1;y=x;

2、不同类型的赋值

右边的表达式的值赋值给左边的变量时,如果两边的类型不一致时,自动进行类型转换,将右边的类型转换成左边的类型。

实型赋值给整型,舍去小数部分。

整数赋值给实型,数值不变。

字符型赋值给整型,其AscⅡ码的值放入整型的低八位,高八位赋值为0.

整型赋值给字符型,只把低八位赋值给字符型。

 

3、复合赋值表达式

双目运算符的使用+=,-=,*=,/=,%=,<<=,>>=,&=,^=,|=

复合赋值表达式:

变量+双目运算符+表达式等价于变量=变量+运算符+表达式

a+=5等价于a=a+5

x*=y+7等价于x=x*(y+7)

r%=p等价于r=r%p

复合赋值表达式能提高编译的效率并产生质量较高的目标代码。

例:

输入a,b的值,将其值交换后,输出

intmain()

{

inta,b,t;

scanf("%d%d",&a,&b);

t=a;a=b;b=t;

printf("a=%d,b=%d\n",a,b);

system("pause");

return0;

}

说明:

程序1中,temp为中间暂存变量;理解程序2为什么可以实现a,b值的交换?

intmain()

{

inta,b;

scanf("%d%d",&a,&b);

a=a+b;b=a-b;a=a-b;

printf("a=%d,b=%d\n",a,b);

system("pause");

return0;

}

练习:

1、输入整数X,求x的前一个整数、后一个整数;求x的绝对值,求x的平方。

2、输入两个整数a,b;将数据交换后,输出交换数据后的a,b

3、整数拆分:

已知一个百位整数,编程求各个数位上的数字之和。

4、已知梯形的上底、下底、高,求梯形的面积

5、输入一个实数,求平方根,平方,绝对值。

 

第三课选择结构语句(if、switch)

一、布尔类型

定义:

boolf1,f2;

赋值:

f1=true;等价于f1=1;

f2=false;等价于f2=0;

输出:

printf(“%d,%d”,f1,f2);输出为1,0

二、关系运算符

作用

操作符

大于

>

小于

<

大于等于

>=

小于等于

<=

等于

==

不等于

!

=

三、逻辑运算符

作用

操作符

优先级

!

逻辑与

&&

逻辑或

||

 

由关系运算符和逻辑运算符连接的表达式,结果为布尔类型。

四、优先级

算术运算符>关系运算符>逻辑运算符

常用的表达式

意义

1>0

1!

=0

1==0

1+2>5

结果为true或者1

结果为true或者1

结果为false或者0

结果为false或者0

a>0

a==0

a!

=0

a==b

a!

=b

变量a是否大于0

变量a是否等于0

变量a是否不等于0

变量a与b是否相等

变量a与b是否不相等

a>=0&&a<=10

变量a的值是否在区间[0,10]

a%4==0

变量a是否为4的倍数

a+b>c&&b+c>a&&a+c>b

等价于

(a+b>c)&&(b+c>a)&&(a+c>b)

三角形的任意两边之和大于第三边

五、IF语句

【作用】:

根据条件来选择执行的语句。

【格式】:

形式1:

if(条件)语句;

形式2:

if(条件)

语句1;

else语句2;

 【注意】

1、条件,是一个表达式,()不能省略。

2、注意加;的位置

3、书写if语句的关键在于给出条件表达式,主要使用关系表达式或者逻辑表达式来表示某一条件。

【例题】

 例3.1:

输入不相等的两个整数a,b,输出较大的数。

分析:

根据判断两个数的大小关系,给出条件表达式a>b,条件成立输出a,条件不成立,输出b;程序二中引进一个新的变量max来存储最大值。

#include

usingnamespacestd;

intmain()

{inta,b;

cin>>a>>b;

if(a>b)cout<<"max="<

elsecout<

system("pause");

return0;

}

#include

usingnamespacestd;

intmain()

{inta,b,max;

cin>>a>>b;

if(a>b)max=a;elsemax=b;

cout<<"max="<

system("pause");

return0;

}

例3.2:

输入一个整数a,判断是否在开区间(0,8)内,是,输出“Yes”,否则输出“No”.

分析:

a是否在开区间(0,8)内,也就是0

   表达式书写:

错误写法:

0

a>0&&a<8

知识点:

当判断由多个条件构成时,条件之间根据逻辑运算符!

&&,||来连接。

#include

usingnamespacestd;

intmain()

{inta;

cin>>a;

if(a>0&&a<8)cout<<"Yes"<

elsecout<<"No"<

system("pause");

return0;

}

例3.3:

输入年份,判断是否为闰年。

闰年的规则:

年份能够被4整除,但不能被100整除,或能被400整除。

#include

usingnamespacestd;

intmain()

{intyear;

cin>>year;

if(year%4==0&&year%100!

=0||year%400==0)

cout<

elsecout<

system("pause");

return0;

}

例3.4:

输入一个整数x,判断该数的奇偶性,如果是奇数,输出“奇数”,否则输出“偶数”

#include

usingnamespacestd;

int

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

当前位置:首页 > 工程科技 > 能源化工

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

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