c语言笔记与基础Word文档下载推荐.docx

上传人:b****6 文档编号:16934295 上传时间:2022-11-27 格式:DOCX 页数:78 大小:197.69KB
下载 相关 举报
c语言笔记与基础Word文档下载推荐.docx_第1页
第1页 / 共78页
c语言笔记与基础Word文档下载推荐.docx_第2页
第2页 / 共78页
c语言笔记与基础Word文档下载推荐.docx_第3页
第3页 / 共78页
c语言笔记与基础Word文档下载推荐.docx_第4页
第4页 / 共78页
c语言笔记与基础Word文档下载推荐.docx_第5页
第5页 / 共78页
点击查看更多>>
下载资源
资源描述

c语言笔记与基础Word文档下载推荐.docx

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

c语言笔记与基础Word文档下载推荐.docx

(3).二进制换八进制:

三位一缩

(1101110111111)=(15677)8

参照表1转换

1

2

3

4

5

6

7

000

001

010

011

100

101

110

111

表1

(001101110111111)

15677

注:

由右往左开始,三位数一列,如果最后左边剩下的数不够3位,就自动+0直到满3位数为止.

(4).八进制转二进制:

三位一展

(1234)8=(1010011100)2

按照表1转换

1234

↓↓↓↓

001010011100

(5).十六进二:

(1AFC)16=(1101011111100)2

按照表2转换

8

9

0000

0001

0010

0011

0100

0101

0110

0111

1000

1001

A

B

C

D

E

F

1010

1011

1100

1101

1110

1111

表2

1AFC

↓↓↓↓

0001101011111100

(6).二进制换十六进制:

按照表2转换,类似八进制换二进制的方法.

二.sizeof运算:

sizeof是一个单目运算符,运算返回变量或类型的字节长度,以字节为单位.

一般的格式为:

sizeof(<

数据类型>

sizeof(<

变量名>

常量>

三.标识符:

1.只能由字母数字和下划线组成

2.开头不能为数字

3.不能使用关键字

4.区分大小写

四.几种类型的数据符号:

整型数据

%d以有符号十进制形式输出整型数→int

%u以无符号十进制形式输出整型数→unsignedlongint

实型数据

%f以小数形式输出实型数→float

%e以指数形式输出实型数

字符型数据

%c以单个字符形式输出字符型数据→char

%p以指针值形式输出字符型数据

※“%s”表示字符串

五.ASCII码:

以十进制显示的

以下面规律类推其他字母和数字

‘A’→65‘B’→66‘C’→67

‘a’→97‘b’→98‘c’→99

‘0’→48‘1’→49‘2’→50

六.熟记各种数据类型在内存中的字节数和表示范围:

类型

名称

字节

表示范围

char

unsignedchar

字符型

无符号字符型

-128—127

0—255

int

longint

shortint

unsignedint

unsignedlongint

unsignedshortint

整型

长整型

短整型

无符号整型

无符号长整型

无符号短整型

-231—(231-1)

-215—(215-1)

0—65535

0—232-1

0—65535

float

double

单精度浮点型

双精度浮点型

7—8位有效数字

15—17位有效数字

‘A’,‘a’,‘0’

字符常量

任意

22,0,-23

整型常量

七.格式化输出printf

printf(“格式控制字符串”),表达式1,表达式2,…..表达式n);

注:

格式控制字符串的意思就是,想要以什么样的形式来显示或者说明表达式的结果,例

printf(“sizeof(int)=%d\n”,sizeof(“int”));

printf(“%d\n”,sizeof(“int”));

这两者输出的结果是一样的,都是查看int的字节数,前者里的

sizeof(int)=

的这一段完全是为了使看结果时更清晰一些所添加的,相当于一种标示.

八.常量:

其值不发生改变的量称常量.

类型:

1.整型常量:

22,0,-23

2.实型常量:

14.26,-21.23

3.字符常量:

‘A’,‘a’

4.字符串常量:

“Beijing”,“VC++6.0”

九.杂项:

1.浮点数无法保存到最精确的数据,比如要保存1.5,用浮点保存就只能为大概1.499999的样子,要保存最精确的数据只能用字符集.

2.为什么int和longint都是4字节?

答:

因为以前是16位进制的,int是2,到现在改变变成了32位进制的,int变成了4,但longint并没有改变.

3.无符号系列的int只能存正数,其他类型的可以存负数.

4.无符号长整型能存最大整数.

5.在命令

printf(“%.Xf\n”,数字);

中,“X”表示你想在小数点后取多少位(一般最大不超过16-17)

6.直接输入

Printf(“%d\n”,‘X’)可以直接得到X的ASCII码,X指任意数包括数字和大小写字母.

9月21日变量的使用

一.变量名的定义及定义方式:

1.变量名都是由字母.数字和下划线组成.(变量名就是一种标识符)

2.要定义多项变量名的时候,要分开写,例如想要定义

Inta,b;

的话,语法上虽然不会出错,但会在以后掺入指针的时候产生疑问,需按规范写成

Inta=0;

Intb=0;

※intnAge=10

如果10变成10.5或者10.9,也能编译,但结果还是10,不存在四舍五入,这叫丢失精度,因为是高位向低位转(10.9占8字节,比10的4字节高)

二.变量的初始化:

当一个变量被定义后,如果不给它赋值,那么它的值将是一个随机值,在程序中使用的话会引起不可预知的错误.

赋值的定义:

变量被定义后给它一个值就叫赋值.

①.字符常量和整型数据间可以运算;

②.字符常量和整型数据间可以互相赋值.

三.转义字符

转义字符

转义字符的意义

\n

回车换行符

\t

Tab制表符

\b

退格符

\r

回车符

\\

反斜线符”\”

\’

单引号符

\”

双引号符

1.“\n”可以把”\r”覆盖.

2.getch()这个命令里,只接受”\r”不接受”\n”,这个函数的功能是隐式输入.

3.要输入

c:

\a.txt

的话,直接输入会变成”c:

.txt”,因为”\a”会被默认为是一个转义字符而无法实现输出,需要输入’\\a”才能实现输入.

同理理解”\”,“\’”的运用.

4.退格符的使用:

if('

\b'

==szInput[j])

printf("

\b\b"

);

j=j-2;

四.符号常量—宏定义

#define

格式:

#define符号常量常量

例:

#defineNUM20

#definePI3.1415926

注意:

1.行尾不能加分号(即常量后面)

2.宏名必须大写(即符号常量必须大写)

3.宏的工作就是作简单的字符串的替换,无其他任何作用

4.宏可以重复定义,编译不会报错,只以最后一次定义为准,如:

#defineSIZE100

#defineSIZE200

替换的时候会换成200

※以下是一种#define的用法,不过一般不会这么用,原因是写程序前已经基本定好了是哪种数据类型的:

#defineTYPE“%d\n”

intmain(intavgc,char*avgv[])

printf(TYPE,SIZE);

return0;

5.面试题:

已知一个数组为table,类型不知道,占用长度也不知道,问这个数组占用多少个字节?

#defineLEN(sizeof(table)/sizeof(table[0]))

五.注释:

1.单行注释:

//________

2.多行注释:

/*

_______

*/

被注释后的内容都会变成绿色,不会被编译,可以在其中输入任意内容包括中文.

多行注释符号可被单行注释符号注释掉使其失效-----“///*”

六.零的意义:

1.整数零→int(4字节)

2.‘\0’→char(1字节)‘\0’的ASCII值为零

3.空值NULL,通常在指针操作

4.bool里的0→false

5.除了零之外的都叫非零值

6.所有的零值都是:

假,所有的非零值都是:

真(用于判断)

1).‘0’不是零,因为它的ASCII值是48.

2).“0”不是零,因为它是字符串.(以‘\0’结束).

七.const---不可修改的变量

constintSIZE=100;

1.const的对象名字全大写.

2.const的对象必须初始值.

3.const的对象不能被赋值.

4.const语句后必须加分号.

错例:

1).constintSIZE=100;

SIZE=200//错误!

原因:

const对象不能被赋值.

2).constintSIZE=100;

SIZE=100//错误!

!

不能被重复定义.

※#define和const的区别:

①.前者是C语言的,后者是C++的

②.前者定义的符号常量是无类型的,只能作简单的替换

后者有类型,会作类型检查(编译时)

③.前者可以重复定义,后者不行

④.前者不能加分号,后者必须加分号

9月22日算数运算符和算数表达式

一.运算符种类:

包括加(+)、减(-)、乘(*)、除(/)、求余(或称模运算:

%)

1.加(+)、减(-)、乘(*)就是通常用到的加减乘法运算.

2.除(/):

若整数相除,结果取整,如:

5/2=2

如果运算中除数和被除数中的其一为浮点数,则结果为浮点数,如:

5.0/2=2.55/2.0=2.55.0/2.0=2.5

3.求余(%):

只能对整数运算,不允许对浮点数运算,没有意义,因为浮点数没有余数,运算结果的正负值与被除数相同,例:

-5%2=-1-5%-2=-1

5%2=15%-2=1

2%5=2(特别注意:

2除5上0,余2)

二.运算符表达式:

表达式是由操作符、操作数、标点符号组成的序列。

1.单目运算:

-5

双目运算:

a=5

唯一的三目运算:

(a>

b)?

a:

b(求最大值:

如果a>

b那么返回a的值,否则返回b的值,这是条件表达式)

三.运算符的优先级及结合性:

括号→增减量→指针→正负→逻辑非→算数→关系→逻辑→条件→赋值→逗号

1.逗号运算符:

是以逗号最后一个运算的值为返回值,例:

inta=10;

intb=20;

intc=0;

c=a+3,b+5

运算结果返回值为25

2.运算符的结合性:

1).左结合性:

自左至右

2).右结合性:

自右至左(比较少见)

四.赋值运算:

程序中为变量赋值,需要用到赋值运算符”=”,由”=”连接的式子称为赋值表达式,其一般形式为:

变量=表达式,例:

intmain(intargc,char*argv[])

intnNumberA=0;

intnNumberB=0;

intnSum=0;

printf(“pleaseinputnumber1:

”);

scanf(“%d”,&

nNumberA);

printf(“pleaseinputnumber2:

nNumberB);

nSum=nNumberA+nNumberB;

printf(“nSnm=%d\n”,nSum);

五.scanf:

1.输入格式:

与printf是一样的

2.举例:

3.scanf(“%d%d”,&

a,&

b)//输入方式为:

①10空格20

②10回车20

※如果要输入一个数字和一个字符,就必须以(“%d,%c)的形式输入.

六.错误处理机制:

意义:

假如要求输入整数的时候,输入了非法字符后,会提示输入出错并清流,回到正常状态,使得接下来所输入的内容不受影响

1.C语言中:

intnFlag=0;

nFlag=scanf("

%d"

&

if(nFlag==0)

InputError...\n"

clearerr(stdin);

fflush(stdin);

2.C++中:

intnNumber=0;

cin>

>

nNumber;

if(cin.fail())

cin.clear();

chartemp[1000];

cin.getline(temp,1000);

cont<

<

”InputError…”<

end1;

七.类型转换:

1.隐式类型转换:

发生在不同数据类型的量混合运算时,由编译系统自动完成.

遵循以下规则:

1).若参与运算量的类型不同,则先转换成同一类型,然后进行运算.

2).转换按数据长度增加的方向进行,以保证精度不降低(低位向高位)

3).所有的浮点运算都是以双精度进行的,即使仅含float的表达式,也要先转换成double型,再作运算.

4).char和short参与运算时,必须先转换成int型.

5).在赋值运算中,赋值号两边量的数据类型不同时,赋值号右边量的类型将转换为左边量的类型,

如果右边量的数据类型长度比左边量长时,赋值操作将会丢失一部分数据,精度降低.

2.显式类型转换:

也称强制类型转换,简称强转.

格式1:

(类型名)变量或数值→C语言中的

格式2:

类型名(变量或数值)→C++中的

例:

inta=5;

Intb=2;

floatf=(float)a/b

说明:

1).类型说明符和表达式都必须加括号(单个变量可以不加)

2).无论是强转还是自转,都只是为了预算作的临时性的转换,不会改变数据说明时对该变量定义的类型.

八.增量与减量运算复:

1.增量运算符为”++”,功能是使变量+1.

减量运算符为”--“,功能是使变量减1.

2.规则:

++a:

a加1后再参与其他运算.

a++:

a参与运算后其值再加1.

a--与--a规则相同,例:

inta=10;

intb=++a;

//运算完后b=11,a=11

intb2=a++;

//运算完后b2=11,a=12

注:

++a比a++效率高

※面试题:

以下哪个值是正确的?

值为多少?

①a++=a+1;

③a=a++;

②++a=a+1;

④a=++a;

9月23日关系和逻辑运算符与分支语句

一.关系运算符:

就是用来比较大小的

运算符

名称

大于

=

大于等于

==

等于

小于等于

小于

不等于

1.运算符间不能有空格,而且顺序不能被颠倒

2.可以直接用于基本数据类型,但对于浮点数来说,只能比较大小,不能比较是否相等.

分别写出BOOL,int,float.指针类型的变量a与”零”的比较

bool:

if(!

a)

if(a)

int:

if(0==a)

float:

constfloatEXP=0.000001

if(a<

EXP&

&

a>

-EXP)//a在0.000001和-0.000001之间,无限接近于0.

指针:

if(NULLi=a)orif(NULL==a)

二.逻辑运算符:

1.运算符类型:

a

①&

与运算

②||或运算

③!

非运算

2.优先顺序:

1).逻辑运算符之间的按由高到低顺序为:

(非)&

(与)||(或)

2).逻辑运算符和其他运算符优先级由高到低顺序为:

(非)

算术运算符

关系运算符

和||

赋值运算符

3.运算法则:

&

:

有0则0,全1为1

||:

有1为1,全0为0

!

:

有1为0,有0为1(取反)

三.短路运算:

1.在”与”运算中,如果第一个运算为0,后面的就不作运算了.

2.在”或”运算中,如果第一个运算为1,后面的就不作运算了.

只要运算没作完,就叫短路运算,不管后面还剩几个表达式或者前面作了多少个表达式的运算.

四.if语句:

1.语句格式:

if(表达式1)

语句块1

elseif(表达式2)

语句块2

elseif(表达式3)

语句块3

……

elseif(表达式n)

语句块n

else(表达式m)

语句块m

五.switch:

表达形式:

switch(表达式)

case1:

常量表达式1:

语句组1

case2:

常量表达式2:

语句组2

casen:

常量表达式n:

语句组n

break;

default:

1).switch后跟的表达式只能是int,char,枚举的类型.

2).case里如果要定义变量,要加大括号,例:

switch(表达式)

3).多个case可以共用一组语句:

{

case’A’

case’B’

case’C’:

printf(“…”);

4).使用技巧:

为防止丢失break,先把结构搭起来,再在结构内输入内容.

9月24日循环语句的使用

一.while循环:

1.反复执行的程序段称为循环体

2.循环变量:

i为循环变量.

一般地,默认一重循环写为inti=0,二重循环写为intj=0.

3.一般格式:

while(一般是关系和逻辑表达式)

循环体

后续语句;

1.while后不能加分号,加了就成死循环.

死循环:

循环体中无循环终止条件或循环条件永远为真.

解决方法:

通过break和return语句结束循环.

2.死循环形式:

while

(1)

....

4.while循环执行流程:

首先判断循环中的条件是否为真,如果为真,则执行while循环体中的语句,执行完毕后,再回到条件那重新判断;

如果为假,再跳过循环体,执行后面的条件.

二.do-while循环:

先执行循环体中的语句,再判断条件真假,如果为真则继续循环,为假则停止循环.就是说它至少执行一次循环.一般格式为:

do

}while(表达式);

后续语句;

※do-while循环中while(条件)后面的分号必须要加,否则编译报错.

三.for循环:

格式:

for(初始化;

条件表达式;

增量)

循环体;

1.for(inti=1;

i<

6;

++i)

在C语言中报错,在C++中通过.

2.死循环:

for(;

1;

3.for循环不仅可以用于循环次数已经确定的情况,还可以用于循环次数不确定而只给出循环结束条件的情况.

四.其他:

1.题目:

计算1+2+3+4+5.比较以下两种写法(结果一样):

inti=1;

intSum=0;

intSum=0;

while(i<

6)while(i<

5)

{{

Sum=Sum+i;

++i;

++i;

Sum=Sum+i;

}}

9月27日数组的应用

一.一维数组的定义:

数组是由一

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

当前位置:首页 > 初中教育 > 政史地

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

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