(考研必备)C语言程序设计谭浩强著知识点第六章汇总,后续看主页

1.数组是一组有序数据的集合,数组中的每一个元素都属于同一个数据类型。
定义一维数组的一般形式是:类型符 数组名[常量表达式]
说明(1)数组名的命名规则和变量名相同,遵循标识符命名规则,(2)指定a[10],表示a数组有10个元素,注意,下标是从0开始,这10个元素是,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]。按上面的定义,不存在数组元素a【10】
(3)常量表达式中可以包含常量和符号常量,如:int a[3+5];是合法的,但a[n]是不合法的,因为n是变量。
(4)如果在被调用的函数(不包括主函数)中定义数组,其长度可以是变量或非常量表达式。

2.在调用func函数时,形参n从实参得到值,这种情况称为“可变长数组”,允许在每次调用func函数时,n有不同的值,但在执行函数时,n的值是不变的。如果指定数组为静态(static)存储方式,则不能用可变长数组。如:static int a[2*n];就不合法。

3.只能引用数组元素,而不能一次整体调用整个数组全部元素的值。

4.常在定义数组的同时,给各数组元素赋值,这称为数组的初始化。

5.在对全部数组元素赋初值时,由于数据的个数已经确定,因此可以不指定数组长度。

6.如果在定义数值型数组时,指定了数组的长度,并对之初始化,凡未被初始化列表指定初始化的数据元素,系统会自动把他们初始化为0(如果是字符型数组,则初始化为’\0’,如果是指针型数组,则初始化为NULL,即空指针)。

7.C语言中,二维数组中元素排列的顺序是按行存放的。

8.注意用矩阵形式即3行4列形式表示二维数组,是逻辑上的概念,能形象的表示出行列关系,而在内存中,各元素是连续存放的,不是二维的,是线性的。

9.字符型数据是以字符的ASCII代码存储在存储单元中,一般占一个字节。

10.C语言中没有字符串类型,字符串是存放在字符型数组中的。

11.’\0’代表ASCII码为0的字符,从ASCII码表中可以查到,ASCII码为0的字符不是一个可以显示的字符,而是一个空操作符,即他什么也不做,用它来作为字符串结束标志,不会产生附加的操作或增加有效字符,只起一个供辨别的标志。

12.字符串是用双撇号括起来的,而不是单撇号。

13.char c[]="i am happy";此时数组c的长度不是10,而是11,因为字符串常量的最后由系统加上一个‘\0’。

14(1)逐个字符输入输出,用格式符“%c”输入或输出一个字符(2)将整个字符串一次输入或输出,用"%s"格式符,意思是对字符串(string)输入和输出。(3)输出的字符中不包括结束符"\0".(4)用"%s"格式符输出字符串时,printf函数中的输出项是字符数组名,而不是数组元素名.(5)如果数组长度大于字符串实际长度,也只输出到遇’\0’结束。(6)如果一个字符数组中包含一个以上’\0’,则遇第一个’\0’时输出就结束。(7)可以用scanf函数输入一个字符串。(7)scanf函数中的输入项如果是字符数组名,不要再加地址符,因为在C语言中数组名代表该数组的起始地址。

15.puts函数----输出字符串的函数,用puts函数输出的字符串中可以包含转义字符,
例如:char str[]={"China\nBeiJing"}; puts(str);
输出China
Beijing

16.gets函数—输入字符串的函数。例如:输入字符串"Computer"送给数组共9个字符,而不是8个字符,注意用puts和gets函数只能输出或输入一个字符串,不能写成puts(str1,str2);连接前两个字符串的后面都有‘\0’,连接时将字符串1后面的’\0’取消,只有在新串最后保留’\0’。连接两个字符串时字符串数组1必须写成数组名形式(如str1),字符串2可以是字符数组名,也可以是一个字符串常量。不能用赋值语句将一个字符串常量或字符数组直接给一个字符数组。例如:str1="China"; str1=str2;

17.字符串比较规则是:将两个字符串自左至右逐个字符相比较(按ASCII码值大小比较),直到出现不同的字符或遇到’\0’为止。

18.strlen函数—测字符串长度的函数,函数值为字符串中的实际长度(不包括’\0’在内)。

19.在字符串处理函数时,应当在程序文件的开头用#include <string.h>.

  • 2
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值