C语言讲义C基础Word文档下载推荐.docx

上传人:b****5 文档编号:19941581 上传时间:2023-01-12 格式:DOCX 页数:61 大小:97.14KB
下载 相关 举报
C语言讲义C基础Word文档下载推荐.docx_第1页
第1页 / 共61页
C语言讲义C基础Word文档下载推荐.docx_第2页
第2页 / 共61页
C语言讲义C基础Word文档下载推荐.docx_第3页
第3页 / 共61页
C语言讲义C基础Word文档下载推荐.docx_第4页
第4页 / 共61页
C语言讲义C基础Word文档下载推荐.docx_第5页
第5页 / 共61页
点击查看更多>>
下载资源
资源描述

C语言讲义C基础Word文档下载推荐.docx

《C语言讲义C基础Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《C语言讲义C基础Word文档下载推荐.docx(61页珍藏版)》请在冰豆网上搜索。

C语言讲义C基础Word文档下载推荐.docx

计算机中进行运算要存储相关数据到内存中,变量就是用于存储数据。

定义变量格式:

数据类型变量名;

若定义多个同类型变量则用逗号分隔多个变量。

a=123;

表示将123这个数存入a这个变量中,a变量在内存中占用了2个字节空间。

sum=a+b;

表示将a和b的和存入sum中。

cout<

表示输出结果。

<

是一个运算符,与cout结合使用,表示输出。

一个<

表示一次输出,<

表示在屏幕上输出文字"

,<

sum表示在屏幕上输出sum内存放的数据,<

endl表示输出一个换行,其作用同<

”\n”。

最后的分号表示语句结束。

该程序的执行结果为:

//此句的作用是

{inta,b,c;

cin>

>

a>

b;

//表示要求用户从键盘上输入两个数据分别存入a变量和b变量

c=max(a,b);

//表示将max(a,b)的结果存入变量c中。

最大值是"

c<

}

intmax(intx,inty)//x,y的值从main函数中main(a,b)中取得,a的值给x,b的值给y

{intz;

if(x>

y)z=x;

//如果x>

y则x存入z

elsez=y;

//否则y存入z

return(z);

//使z作为max的结果

cin表示输入数据。

表示输入运算符,与cin连用表示要求输入数据存入>

符号后面的变量中。

cin>

a;

表示要求从键盘上输入一个数据并存入变量a。

要输入多个数据时可使用cin>

max(a,b)此种形式表示函数调用。

max是一个函数括号内是函数的参数。

此种使用形式要求max必须是一个已经定义的函数。

该函数调用后有一个结果(有没有结果由max函数的定义决定)。

表示将max函数执行后的结果存入变量c中。

intmax(intx,inty){。

此形式为函数max的定义。

第一个int表示该函数执行后有一个结果类型为整型的。

其结果由大括号内的语句决定。

max表示函数名,每个函数都有一个名字,用于表示一段代码。

如main函数。

(intx,inty)表示max函数的参数,表示max函数要处理的数据。

intmax(intx,inty)称为函数首部,打括号内的部分称为函数体。

一个函数由函数首部和函数体构成。

此程序的执行时

,此时从键盘输入数据

最后结果为:

关于函数在后续章节中详细介绍。

总结:

通过以上几个例子,可以看到:

(1)C程序是由函数构成的。

(2)一个函数由两部分组成:

①函数的首部,即函数的第一行。

②函数体,即函数首部下面的大括弧{……}内的部分。

(3)一个C程序总是从main函数开始执行的。

(4)每个语句和数据定义的最后必须有一个分号。

(5))可以用/*……*/和//…对程序中的语句作注释。

第2章数据类型、运算符与表达式

上一章中我们对C++程序作了一个简单介绍,了解了C++程序的基本结构和形式。

在上一章的例子中提到要编写C++程序进行运算需要使用变量来存放数据,而数据是分为不同类型的。

例如整数,实数,字符等等。

本章介绍C++语言中的常用数据类型及相关运算符,和由数据和运算符构成的表达式。

2.1C++的数据类型

一个程序应包括以下两方面内容:

(1)对数据的描述。

(2)对操作的描述。

c的数据类型如下:

基本类型:

整型int,字符型char,实型(浮点型)float,单精度型single,双精度型double,布尔型bool

枚举类型:

构造类型:

数组类型,结构体类型,共用体类型,

指针类型:

空类型

2.2变量

程序中其值可以改变的,用一个符号名字表示的量称为变量。

C++语言规定标识符只能由字母、数字和下划线三种字符组成,且第一个字符必须为字母或下划线。

注意,大写字母和小写字母被认为是两个不同的字符。

在选择变量名和其他标识符时,应注意做到“见名知意”,“先定义,后使用”。

定义变量时需给出变量的名字以及该变量要存放的数据的类型。

例如:

inta;

表示定义一个整型变量名字为a。

inta,b,c;

表示定义三个整型变量。

inta=1;

表示定义一个整型变量a并将1存入该变量中。

inta

(1);

作用同inta=1;

也可:

inta,b=10,c(0);

2.3整型数据

2.3.1整型常量的表示方法

整型常量即整常数。

c整常数可用以下三种形式表示:

(1)十进制整数。

1020308899直接使用数字构成

(2)八进制整数。

010020030088099以0开头加数字,表示八进制数,后两个对吗?

(3)十六进制整数。

0x100x880xab0xff0xgg以0x开头加数字,表示16进制数。

inta=0xab,b=0xBC,c(011),d=11;

请说明a,b,c,d四个变量的值(10进制)是多少?

2.3.2整型变量

1.整型数据在内存中的存放形式数据在内存中是以二进制形式存放的。

如果定义了一个整型变量i:

inti;

/*定义为整型变量*/

i=10;

/*给i赋以整数10*/

每一个整型变量在内存中占2个字节。

数值是以补码(complement)表示的。

2.整型变量的分类

(1)基本整型,以int表示。

在C语言中占2字节,在C++语言中占4字节

(2)短整型,以shortint表示,或以short表示。

占2字节

(3)长整型,以longint表示,或以long表示。

占4字节

有符号基本整型[signed]int表示范围:

-231~231-1-2147483648~+2147483647

无符号基本整型unsignedint表示范围:

0~232-10~4294967295

有符号短整型[signed]short[int]

无符号短整型unsignedshort[int]

有符号长整型[signed]long[int]

无符号长整型unsignedlong[int]

unsignedintc;

shortd=1;

shortinte;

signedshortf;

unsignedshortg;

longh;

longinti;

signedlongj;

unsignedlongk;

定义变量时根据要存放的数据的类型及大小来选择变量定义的类型。

比如要存放10000000000这个数应选择那种类型来定义变量?

3.整型数据的溢出

例整型数据的溢出。

{inta,b;

a=2147483647;

b=a+1;

a<

endl<

b<

运行结果为

请注意以下几点:

(1)使用时要注意数据的大小与变量的表示范围是否一致,数据值超出标量表示范围后会使数据出错。

(2)C语言中的int类型与C++中的int占用字节不一样,表示范围也不一样,不同的编译系统可能导致数据类型所占字节不同。

(3)一个整常量后面加一个字母u或U,认为是unsignedint型如123u

(4)在一个整常量后面加一个字母l或L,则认为是longint型常量。

如123L,123表示基本整型。

2.4实型数据

2.4.1实型常量的表示方法

实数有两种表示形式:

(1)十进制小数形式,如1.234。

(2)指数形式,如1.234E+002。

实型变量的分类

单精度(float型)占4字节、双精度(double型)占8字节和长双精度型(longdouble)占10字节。

对每一个实型变量都应在使用前加以定义。

如:

float  x,y,(指定x、y为单精度实数)

doublez;

(指定z为双精度实数)

longdoublet;

(指定t为长双精度实数)

2.4.2实型常量的类型

1.23F,1.23f表示浮点型,1.23L,1.234l长双精度,1.23表示双精度

2.5字符型数据

2.5.1字符常量

字符常量是用单引号(即撇号)括起来的一个字符。

如‘a’表示字符常量a

还允许用一种特殊形式的字符常量,就是以一个“\”开头的字符序列。

‘\n’,它代表一个“换行”符。

这是一种“控制字符”,在屏幕上是不能显示的。

‘\1到3位八进制数’表示该数对应的ascii码对应的字符,如‘\101’也表示一个字符A。

‘\x1到2位进制数’如:

‘\x41’表示‘A’

‘\t’表示输出数据时跳至下一格制表位,一个制表位为8个字符宽度。

‘\b’表示输出数据时光标退一格

‘\n’表示输出时换行

‘\\’表示输出一个\‘\’’表示输出一个’‘\”’表示输出一个”

例2.5转义字符的使用。

‘\101’也表示一个字符

{cout<

abc\tde\rf\tg\n"

h\ti\b\bjk\n"

\101"

'

\x42'

\n'

输出结果:

2.5.2字符变量

字符型变量用来存放字符常量,请注意只能放一个字符,并使用一个字节来存放一个字符

字符变量的定义形式如下:

char c1,c2;

用下面语句对c1、c2赋值:

c1='

a'

c2='

b'

将一个字符常量放到一个字符变量中,是将该字符的相应的ASCII代码放到存储单元中。

例大小写字母的转换。

{charc1,c2;

c1='

c2='

c1=c1-32;

c2=c2-32;

c1<

c2<

2.5.3字符串常量

字符串常量是一对双引号括起来的字符序列。

 “howdoyoudo.”,“CHINA"

,"

a"

,123.45"

所占字节数为字符个数+1,在每个字符串的末尾都隐含一格‘\0’符号,表示字符串结束标志。

2.6算术运算符和算术表达式

1.算术运算符+-*/%

2.关系运算符><==>=<=!

=

3.逻辑运算符!

&

&

||

4.位运算符<

>

~|∧&

5.赋值运算符=及其扩展赋值运算符

6.条件运算符?

 

7.逗号运算符,

8.指针运算符*和&

9.求字节数运算符sizeof

10.强制类型转换运算符(类型)

11.分量运算符.->

12.下标运算符[]

2.6.1算术运算符和算术表达式

1.基本的算术运算符

+(加法运算符,或正值运算符。

如3+5、+3)

-(减法运算符,或负值运算符。

如5-2、-3)

*(乘法运算符。

如3*5)

/(除法运算符。

如5/3)

%(模运算符,或称求余运算符,%两侧均应为整型数据,如7%4的值为3)。

算术运算符的结合方向为“自左至右”,又称“左结合性”,

有些运算符的结合方向为“自右至左”,即右结合性

2.强制类型转换运算符

可以利用强制类型转换运算符将一个表达式转换成所需类型。

 (double)a(将a转换成double类型)

(int)(x+y)(将x+y的值转换成整型)

(float)(5%3)(将5%3的值转换成float型)

其一般形式为(类型名)(表达式)

例强制类型转换。

{floata=2.2,b=9.4;

floatc;

c=(int)b%(int)a;

3.自增、自减运算符(只能对变量进行运算,常量不可使用该运算符)

 ++i,--i(在使用i之前,先使i的值加(减)1)

 i++,i--  (在使用i之后,使i的值加(减)1)

注意:

自增运算符(++)和自减运算符(--),只能用于变量,而不能用于常量或表达式

例如

{inta=1;

intb;

b=a++;

cout<

b=++a;

若单独使用时,如:

a++;

和++a;

都相当于a=a+1;

2.7赋值运算符和赋值表达式

1.赋值运算符=如:

a=1;

将数据1存入变量a对应的内存中。

2复合的赋值运算符

在赋值符“=”之前加上其他运算符,可以构成复合的运算符。

如果在“=”前加一个“+”运算符就成了复合运算符“+=”。

1a+=b(其中a为变量,b为表达式)

等价于a=a+b

注意,如果b是包含若干项的表达式,则相当于它有括号。

如:

 ①x%=y+3等价于x=x%(y+3)(不要错写成x=x%y+3)

可以使用10种复合赋值运算符。

即:

+=,-=,*=,/=,%=,<

=,>

=,&

=,∧=,|=

3.赋值表达式的值

由赋值运算符将一个变量和一个表达式连接起来的式子称为“赋值表达式”。

它的一般形式为<

变量>

赋值运算符>

表达式>

比如:

a=1是一个赋值表达式,该式子的值为被赋值的值。

b=a=1;

由于a=1是一个赋值表达式,其值为1,从而使得b=a=1;

转换为b=1;

2.8逗号运算符和逗号表达式

用逗号将两个表达式连接起来。

 3+5,6+8称为逗号表达式,又称为“顺序求值运算符”。

逗号表达式的一般形式为表达式1,表达式2

逗号表达式的求解过程是:

先求解表达式1,再求解表达式2。

整个逗号表达式的值是表达式2的值。

请注意并不是任何地方出现的逗号都是作为逗号运算符。

第3章顺序程序设计

3.1C++语句概述

C++语句可以分为以下5类:

(1)控制语句,完成一定的控制功能。

c只有9种控制语句,它们是:

①if()~else~ (条件语句)

②for()~(循环语句)

③while()~(循环语句)

④do~while()(循环语句)

⑤continue(结束本次循环语句)

⑥break(中止执行switch或循环语句)

⑦switch(多分支选择语句)

⑧goto(转向语句)

⑨return(从函数返回语句)

(2)函数调用语句。

由一次函数调用加一个分号构成一个语句;

(3)表达式语句。

 

(4)空语句。

下面是一个空语句:

(5)可以用{}把一些语句括起来成为复合语句,又称分程序。

3.2程序的三种基本结构

(1)顺序结构。

(2)选择结构。

(3)循环结构

顺序结构就是按照语句的书写顺序执行。

3.3顺序结构程序设计举例

例输入三角形的三边长,求三角形面积。

math.h>

main()

{floata,b,c,s,area;

b>

c;

s=1.0/2*(a+b+c);

area=sqrt(s*(s-a)*(s-b)*(s-c));

a="

endl

b="

c="

area="

area<

例从键盘输入一个大写字母,要求改用小写字母输出。

c1;

c2=c1+32;

转换为小写字母为:

例求ax2+bx+c=0方程的根。

{doublea,b,c,x1,x2,delta;

delta=b*b-4*a*c;

x1=(-b+sqrt(delta))/(2*a);

x2=(-b-sqrt(delta))/(2*a);

方程根x1="

x1<

<

方程根x2="

x2<

}    

第4章选择结构程序设计

选择结构,是三种基本结构之一。

4.1关系运算符和关系表达式

所谓“关系运算”实际上是“比较运算”。

将两个值进行比较,判断其比较的结果是否符合给定的条件。

6种关系运算符:

优先级相同(高):

 ①<(小于) ②<=(小于或等于) ③>(大于) ④>=(大于或等于)

优先级相同(低):

 ⑤==(等于) ⑥!

=(不等于)

关于优先次序:

(1)前4种关系运算符(<,<=,>,>=)的优先级别相同,后两种也相同。

(2)关系运算符的优先级低于算术运算符。

(3)关系运算符的优先级高于赋值运算符。

4.2关系表达式

用关系运算符将两个表达式(可以是算术表达式或关系表达式、逻辑表达式、赋值表达式、字符表达式)连接起来的式子,称关系表达式。

关系表达式的值是一个逻辑值,即“真”或“假”。

关系表达式“a>b”的值为“真”,表达式的值为1。

关系表达式“b+c<a”的值为“假”,表达式的值为0。

4.2.1逻辑运算符及其优先次序

三种逻辑运算符:

(1)&

逻辑与

(2)||逻辑或(3)!

逻辑非

(1)!

(非)→&

(与)→(或),即“!

”为三者中最高的。

(2)逻辑运算符中的“&

”和“||”低于关系运算符,“!

”高于算术运算符。

4.2.2逻辑表达式

逻辑表达式的值应该是一个逻辑量“真”或“假”。

编译系统在给出逻辑运算结果时,以数值1代表“真”,以0代表“假”,但在判断一个量是否为“真”时,以0代表“假”,以非0代表“真”。

即将一个非零的数值认作为“真”。

例如,要判别某一年year是否闰年。

闰年的条件是符合下面二者之一:

①能被4整除,但不能被100整除。

②能被4整除,又能被400整除。

可以用一个逻辑表达式来表示:

(year%4==0 &

 year%100!

=0)||year%400==0

4.3if语句

if语句是用来判定所给定的条件是否满足,根据判定的结果(真或假)决定执行给出的两种操作之一。

4.3.1if语句的三种形式

1.if(表达式) 语句

2.if(表达式)语句1else语句2

3.if(表达式1)语句1

elseif(表达式2)语句2

elseif(表达式3) 语句3

elseif(表达式m) 语句m

else语句n 

(1)三种形式的if语句中在if后面都有“表达式”,一般为逻辑表达式或关系表达式。

(2)第二、第三种形式的if语句中,在每个else前面有一分号,整个语句结束处有分号。

(3)在if和else后面可以只含一个内嵌的操作语句(如上例),也可以有多个操作语句,此时用花括号“{}”将几个语句括起来成为一个复合语句。

4.3.2if语句的嵌套

在if语句中又包含一个或多个if语句称为if语句的嵌套。

一般形式如下:

if()

if()语句1

else语句2内嵌if

else

if()语句3

else语句4内嵌if

应当注意if与else的配对关系。

else总是与它上面的最近的if配对。

4.3.3条件运算符

若if语句中,在表达式为“真”和“假”时,且都只执行一个赋值语句给同一个变量赋值时,可以用简单的条件运算符来处理。

例如,若有以下if语句:

    if (a>b) max=a;

else max=b;

可以用下面的条件运算符来处理:

    max=(a>b)?

a∶b;

其中“(a>b)?

a∶b”是一个“条件表达式”。

它是这样执行的:

如果(a>b)条件为真,则条件表达式取值a,否则取值b。

条件运算符要求有3个操作对象,称三目(元)运算符,它是c++语言中唯一的一个三目运算符。

条件表达式的一般形式为表达式1?

表达式2∶表达式3。

(1)条件运算符的执行顺序:

先求解表达式1,若为非0(真)则求解表达式2,此时表达式2的值就作为整个条件表达式的值。

若表达式1的值为0(假),则求解表达式3,表达式3的值就是整个条件表达式的值。

(2)条件运算符优先于赋值运算符,因此上面赋值表达式max=(a>b)?

的求解过程是先求解条件表达式,再将它的值赋给max。

条件运算符的优先级别比关系运算符和算术运算符都低。

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

当前位置:首页 > 工作范文 > 制度规范

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

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