c语言基础知识(入门书籍哪本最经典)

c语言是当代人学习和生活中必不可少的基础知识,应用广泛。下面是C语言基础知识的总结。C语言零基础入门是绝对不可能的!

算法:

1.序列结构、选择结构和循环结构;

2.循环结构分为while型、do-while型和for循环结构;

3.程序流程图;

结构化编程方法:

1.自上而下;

2.逐步细化;

3.模块化设计;

4.结构化编码。

数据类型:

常数:常数包括文字常数、直接常数和符号常数;

变量:C语言规定标记只能由字母、数字和下划线组成,第一个字符必须是字母或下划线;使用前必须定义压缩;定义每个变量以确定其类型后,可以在编译时为其分配相应的存储单元。

整数类型:整数常量有十进制、八进制和十六进制;%d

变量:数据以二进制形式存储在内存中;有整型、短整型和长整型。无符号整数变量的范围是-32768—32767,有符号类型的范围是0~65535。通常Long定义为32位,Short定义为16位,int可以是32位也可以是16位,这主要取决于机器的字长。
图片[1]-c语言基础知识(入门书籍哪本最经典)-小白之家

实常数的表示:

(1)十进制,0.0;

(2)指数形式,123e3

实变量:实数据在内存中的存储形式,一般占用内存4个字节,分为整数部分和小数部分。实变量分为浮点型、双精度型和长双精度型。真实数据会有舍入误差。

实常量的类型:C编译系统将实常量视为双精度。

字符数组:

(1)字符常量:转义字符(\n-换行符,\t-制表符,\r-回车,\f-换行符,\b-退格,\DDD-由1-3个八位数字表示的字符)

(2)字符变量:字符数据的存储形式实际上是以ASCII码存储的。%c

字符串常量:用双撇号括起来的一系列字符序列。

c有以下运算符:

1.算术运算符(+-*/%)的组合方向是从左到右

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

3.逻辑运算符(!&&||)

4.位运算符(>~|&)

5.赋值运算符(=和符号扩展赋值运算符)

6.条件运算符(?:)

7.逗号运算符(,)

8.指针运算符(*&)

9,字节运算符(sizeof)

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

11.组件运算符(。->)

12.下标运算符([])

13.其他人

控制语句:

完成某些控制功能。

1、if()~else~

2、for()~

3、while()~

4、边做~边()

5、继续

6、休息

7、开关

8、转到

9、返回

字符的输入和输出:

1、putchar()输入字符变量

2.getchar()只能接受一个字符。

格式化输入和输出:

1.printf(%d-整数、%c-字符、%ld、%md、%o、%u、%s、%m.nf、%e、%g)

2.格式控制,地址列表

排列

一维数组的定义:类型描述符数组名[常量表达式];先定义后引用;初始化一维数组时,只能初始化部分元素,初始化所有数组元素时,可以指定长度。但是,如果定义的数组长度不同于提供的初始值,则不能省略数组长度。

二维数组的定义:类型说明符数组名【常量表达式】【常量表达式】在C语言中,存储二维数组就是先存储第一行的元素,再存储第二行,实际上是一维存储。如果初始化时可以指定所有元素的初始值,则可以省略第一维,但不能省略第二维。

字符:定义和初始化与数组类似,只是需要单引号。以及由C语言指定的字符串结束标志,用“\0”表示。

字符串处理功能:

1.puts()向终端输出一个字符串。

2.get()从终端向字符数组输入一个字符串,并获取一个函数值。

3.strcat()链接两个字符数组中的字符串。

4.strcpy()字符串复制函数。

5.strcmp()比较字符串函数。

6.strlen()测试字符串长度的函数不包含“\0”

7.strlwr()将字符串中的大写字母转换为小写字母。

8.strupr()将字符串中的小写字母转换为大写字母。

功能

1.一个源程序由多个函数组成。

2.C程序的执行从main()函数开始;

3.所有功能都是并行的;

4.功能分类;它可以分为标准函数和用户自定义函数,也可以分为参数函数和非参数函数。

函数定义的一般形式:

1.类型标识符函数名()

{

申报部分

句子

}

2.类型标识符函数名(形式参数列表)

{

申报部分

句子

}

形式参数和实际参数说明:

(1)对于定义函数中指定的参数,当没有函数调用时,不占用内存中的存储单元,只有在调用发生时才会分配内存。

(2)实际参数可以是常量、变量或表达式;有时是过去的时间地址;

(3)在定义中,参数必须指定类型;

(4)实际参与参数的类型应相同或分配应兼容;

(5)根据C语言,参数变量和参数变量之间的数据传递是“值传递”,即单向传递,其中只有参数传递到参数,而没有从参数传递到参数。

函数的返回值:

希望主调函数可以通过函数调用得到一定的值。

1.函数的返回值由函数中的return语句获得。

2.函数值的类型;

3.如果函数值的类型与return语句中表达式的值不同,则以函数类型为准。

4.如果调用函数中没有return语句,则不会带回用户需要的某个值。这个函数不返回一个值,只返回一个有用的值和一个不确定的值。

5.如果不需要带回任何价值,使用void。

函数调用:

通话方式:1。函数语句;2.函数表达式;3.功能参数。

被调用函数的声明:

一个函数调用另一个函数的条件:

1.首先要调用的函数必须是现有函数;

2.如果使用库函数,通常应该在这个文件的开头使用#include命令,将调用相关库函数所需的信息“包含”到这个文件中。那个。h文件是用于头文件的后缀。

3.如果使用用户定义的函数,并且该函数与使用它的函数在同一个文件中,则还应该在主调用函数中声明被调用的函数。

4.如果被调用的函数定义出现在调用函数之前,则不需要声明它。

5.如果函数声明是在定义所有函数之前在函数之外进行的,那么就不需要在每个主要函数中声明更多被调用的函数。

局部和全局变量:

1.局部变量函数中定义的变量是内部变量,只在这个函数的范围内有效,主函数不能使用其他函数中定义的变量。同名变量可用于不同的函数。它们代表不同的对象,不会相互干扰。形式参数也是局部变量;在函数中,变量可以在复合句中定义,这些变量只在这个复合句中有效。这个复句也可以叫“程序”或“程序块”。

2.全局变量,函数外部定义的变量称为外部变量。全局变量可以增加函数之间数据连接的通道。一般来说,当不再需要时,不应使用它们。它们在程序的整个执行过程中占据存储单元,这就是函数的通用性。使用全局变量会降低程序的清晰度。还要注意,如果一个外部变量和一个局部变量在同一个源文件中具有相同的名称,则外部变量被“屏蔽”,并且在局部变量的范围内没有任何作用。

变量的存储类别:

(变量值存储时间)动态存储方式,程序运行时动态分配存储空间,静态存储方式是指程序运行时分配固定存储空间的方式;存储空间分为程序区、静态存储区和动态存储区。所有全局变量都放在静态存储区。空间在程序开始时分配,在程序结束时释放。以下数据存储在动态存储区:

1.函数形式参数;

2.自动变量;

3.函数调用期间的字段保护和返回地址;

在C语言中,每个变量和函数都有两个属性,分别是数据类型和数据存储类型,存储类别是数据在内存中的存储方式。

存储方式分为静态存储和动态存储两大类,具体包括四种类型:

自动(auto);

(静态);

登记册;

外部(外部),

如果不声明,认为是auto,会自动分配存储空间,属于动态存储模式。

Static声明局部变量在函数调用后不会消失,即占用的存储单元不会释放。下次调用函数时,变量已经有一个值,这是最后一次函数调用结束时的值。需要注意的是,如果初始值没有赋给已定义的局部变量,则编译时静态局部变量会自动赋给0或空字符。虽然静态局部变量在函数调用后仍然存在,但其他函数不能引用它。静态局部变量主要在初始化时使用,变量只被引用而不改变其值。

寄存器变量是一种C语言,允许将局部变量的值放在CPU的寄存器中。必要时可以直接从寄存器中取出参与运算,不需要从内存中取出。然而,计算机系统中寄存器的数量是有限的,因此任何数量的存储器都不能任意定义,局部静态变量也不能定义为寄存器变量。

Extern声明外部变量来扩展外部变量的范围。在文件中,如果定义前的函数想要引用外部变量,那么应该在引用前用关键字extern声明为外部变量。在多文件中,也可以通过外部声明的方式声明外部变量。

有时候希望一些局部变量只能被这个文件引用,不能被其他文件引用。此时,我们可以在定义外部变量时添加一个静态,这加强了程序模块化设计中的通用性。静态声明一个变量有两个作用,一个是在声明局部变量的时候。那么为这个变量分配的空间在整个程序执行过程中始终存在;一个是在全局变量的声明中,变量的范围仅限于这个文件模块的操作。注意:这些方法也适用于函数的声明。

指针:

指针指的是内存空间的地址,指针变量是一个变量,它是一个存储内存空间第一个地址的变量。我们通常所说的指针是指针变量。

指针的定义和分配:

键入*变量名列,如int*p;

int*p=NULL和*p=NULL之间的差异

int*p=NULL//定义指针变量P,同时将P的值设置为0x00000000,而不是将*p的值设置为0x000000,这个过程称为初始化。

int*p;*p=空;//定义指针变量p,将*p的值设置为nil,即给p指向的内存赋一个NULL值,但p指向的内存可能是非法的,编译时可能会显示内存访问错误。然后做以下修改,给它一段法律记忆。

inti=10int*p=&I;*p=空;//此时I中的值从10变为0,而P本身的值没有变化,即内存地址没有变化。

指针大小:

int*P;sizeof(p);//指针的大小是根据计算机的位数决定的。32位计算机的大小是4字节,64位计算机的大小是8字节。

指针操作:

注意指针的类型。+1增加指针类型的大小。

inta[10];int*p=&a;//+1,用sizeof(int)*1字节代替sizeof(int[10])*1字节。

指针的使用类型

指针形式

数组形式:

inta[10];int*P=a;

p[0]=1;//指针数组

*(p+1)=2;//指针的指针形式

指针修改内容的组装过程

1.找到指针变量的地址

2.通过指针变量的地址找到内容的地址。

3.按地址查找内容

4.修改内容,c语言基础知识入门书籍哪本最经典,1、《啊哈C语言》

这本书为计算机纯小白量身打造。风格幽默,生动形象,通俗易懂,对入门小白培养兴趣大。在语言艺术这方面,是登峰造极。对已经有基础的人进阶或者巩固帮助不大。

2、《Cprimerplus第5版/第6版》

从书名就可以看出这是一本为入门小白准备的,对希望能够系统学习c语言的读者很有帮助。入门小白在啃书过程中,遇到的主要阻碍,以及对很多关键字不够了解,而这本书中每一个知识点都安排了很多生动简单的示例,并给出了相应的运行结果,畅通无阻的感觉。而《CPrimerPlus6》相对于第5版又做了一个全新的升级,在完整度、示例运行、详细度上更进一步,读起来不会枯燥乏味。

3、《C++PrimerPlus(第6版)中文版》

被誉为“开发人员学习C++的必备教程,没有之一”!一本经久不衰的c++入门畅销书适合,从未学习过C语言甚至没学过编程的零基础小白。从基础内容开始,先讲解了有关传统编程的一些规则,到了后面才一点一点引出C++的精髓之一的相关内容,挺有丰富的案例,新手理解容易。

4.《C和指针》

指针和指针操作一直是c语言中的重点和难点。而这本书深入和完整的提供了关于指针的知识,足以帮助避开指针的痛苦。更主要的一点,这本书中ADT、递归、指针和数组的部分有自己独特的思想,可以和教材互补,形成一个正确的c语言观。

5、《C程序设计语言》

这本书在c语言界的殿堂级宝藏,可谓是经典之中的经典。纵向上,从helloworld衍生出计算机的发展历程,横向上不断深入,层层拔高。在短短的100多页之内,几乎就手把手教写了stdio.hstdlib.hstring.h当中大部分例程,实现了二分查找、快速排序、二叉树、哈希表这些重要的数据结构和算法。

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论