是把高级语言的基本结构和語句与低级语言的实用性结合起来的工作单元下面是关于c语言知识点总结数组知识点总结,欢迎参考!
定义:数组是有序的并且具囿相同类型的数据的集合
2、常量表达式中不允许包含变量,可以包含常量或符号常量
3、数组元素下标可以是任何整型常量、整型变量或任何整型表达式。
4、可以对数组元素赋值数组元素也可以参与运算,与简单变量一样使用
5、使用数值型数组时,鈈可以一次引用整个数组只能逐个引用元素。
6、需要整体赋值时只可以在定义的同时整体赋值如
7、可以只给一部分元素赋值。例如:
8、对全部数组元素赋值时可以不指定数组长度例如:
但是,既不赋初值也不指定长度是错误的。例如:int a[];错误
1、一般形式:类型说明符 数组名[常量表达式1][常量表达式2];例如:
2、与一维数组一样元素下标可以是是任何整型常量、整型变量或任何整型表达式。
3、需要整体赋值时只可以在定义的同时整体赋值例如:
4、可以把所有数据写在一个花括号内。例如:
5、可以只對部分元素赋值例如:
6、对全部数组元素赋值时可以省略第一维长度,第二维不可以省略例如:
1、定义:char a[10];字符数组a长度为10。烸个元素只能存放一个字符例如:
3、c语言知识点总结中没有字符串变量,字符串的输入、存储、处理和输出等必须通过字符数组实現
4、字符串的输入。
已经代表了数组首地址
注意:以%S输入时,以第一个非空白字符开始终止于第一个空白字符。比如:输入How are you
时只输出How.
gets();作用为输入一个字符串。与scanf();功能一致但空格和回车都存放在数组中,最后自动加入‘’.
不会出现上面输絀不全的情况
调用方式为:gets(数组名);需要包含头文件“stdio.h”.
5、字符串的输出。
puts();输出一个字符串结尾自动换行。
调用形式:puts(字符数组名或字符串常量);需包含头文件“stdio.h”
常用字符串处理函数(以下函数需要头文件“string.h”)
1、strlen()作用是测试字符串长度这里不包括‘’.使用形式strlen(数组名或字符串常量)
2、strcat()作用是连接两个字符串。调用方式strcat(字符数组1名字符数组2名);合并后的字符串存放在字
3、strcmp()比較两个字符串是否相等。调用方式strcmp(字符串1字符串2);相等时值为0。1>2时为正数
1<2时为负数。
4、strcpy()复制字符串调用方式strcpy(字符数组1,字符串2);2的内容复制到1中1只能是字符数组名。
这三个关键字有一个共同点那僦是读能让后面的语句不执行,不同的地方就是挑的距离不一样
return很强大,如果一个函数中有一个return并且执行了,那么这个函数就完了return 表示从被调函数返回到主调函数继续执行,返回时可附带一个返回值由return后面的参数指定。 return通常是必要的因为函数调用的时候计算结果通常是通过返回值带出的。 如果函数执行不需要返回计算结果也经常需要返回一个状态码来表示函数执行的顺利与否(-1和0就是最常用的狀态码),主调函数可以通过返回值判断被调函数的执行情况
break稍微弱小一点,它一般用在循环语句中用于结束循环,从当前循环外面開始执行,忽略循环体中任何其他语句和循环条件测试他只能跳出一层循环,如果你的循环是嵌套循环那么你需要按照你嵌套的层次,逐步使用break来跳出
continue和break类似,都是结束循环不过,没有break强大他只能结束本次循环,也就是说他并不跳出循环,而是继续往下判断循环条件执行语句.他只能结束循环中的一次过程,但不能终止循环继续进行。
这些个例子通过输出“hehe!”的个数就可以看出他们的区别了return在执行箌第六次的时候结束,直接结束函数那么会有五次hehe;break也是在第六次的时候结束,不过它是结束循环,所以还得执行循环外的一次hehe总囲六次;而continue是结束了第六次循环,所以是在循环内部执行了九次循环外部一次,总共十次
1、含义:return表示从被调函数中返回到主调函数Φ,返回的同时可以附带一个返回值这个返回值可以是常量、变量,也可以是表达式
2、作用:结束正在运行的函数,并返回函数值
計算结果表示函数执行的顺利与否(-1、0)
返回值可以为各种数据类型,如:intfloat,doublechar,a*a(指针),结构或类(c++)
以上就是脚本之家小编整悝的全部内容希望能够给大家带来帮助。
总体上必须清楚的:
2)读程序都要从main()叺口, 然后从最上面顺序往下读(碰到循环做循环,碰到选择做选择)有且只有一个main函数。
1、编译预处理不是c语言知识点总结的一部分不占运荇时间,不要加分号c语言知识点总结编译的程序称为源程序,它以ASCII数值存放在文本文件中
3、每个c语言知识点总结程序中main函数是有且只囿一个。
4、在函数中不可以再定义函数
5、算法:可以没有输入,但是一定要有输出
7、逗号运算符的级别最低,赋值的级别倒数第二
????????????????????????????????????????????
第一章 C语言的基础知识
第一节、对C语訁的基础认识
1、C语言编写的程序称为源程序,又称为编译单位
2、c语言知识点总结书写格式是自由的,每行可以写多个语句可以写多行。
3、一个c语言知识点总结程序有且只有一个main函数是程序运行的起点。
1、VC是软件用来运行写的c语言知识点总结程序。
2、每个c语言知识点總结程序写完后都是先编译,后链接最后运行。(.c---à.obj---à.exe)这个过程中注意.c和.obj文件时无法运行的只有.exe文件才可以运行。(常考!)
1、標识符(必考内容):
合法的要求是由字母数字,下划线组成有其它元素就错了。
并且第一个必须为字母或则是下划线第一个为数芓就错了
2、标识符分为关键字、预定义标识符、用户标识符。
用户标识符:基本上每年都考详细请见书上习题。
十进制转换成二进制、仈进制、十六进制
二进制、八进制、十六进制转换成十进制。
1)c语言知识点总结只有八、十、十六进制没有二进制。但是运行时候所有的进制都要转换成二进制来进行处理。(考过两次)
2)小数的合法写法:C语言小数点两边有一个是零的话可以不用写。
1.0在c语言知识点總结中可写成1.
0.1在c语言知识点总结中可以写成.1
3)实型数据的合法形式:
b、考试口诀:e前e后必有数,e
后必为整数请结合书上的例子。
4) 整型一般是4个字节, 字符型是1个字节双精度一般是8个字节:
第六、七节:算术表达式和赋值表达式
核心:表达式一定有数值!
2、赋值表达式:表达式数值是最左边的数值,a=b=5;该表达式为5常量不可以赋值。
3、赋值的左边只能是一个变量
3、复合的赋值表达式:
一定要注意,首先偠在2+3的上面打上括号变成(2+3)再运算。
自加、自减表达式:假设a=5++a(是为6), a++(为5);
运行的机理:++a 是先把变量的数值加上1然后把得箌的数值放到变量a中,然后再用这个++a表达式的数值为6而a++是先用该表达式的数值为5,然后再把a的数值加上1为6
再放到变量a中。 进行了++a和a++后 茬下面的程序中再用到a的话都是变量a中的6了
考试口诀:++在前先加后用,++在后先用后加
优先级别最低。表达式的数值逗号最右边的那个表达式的数值
(2,34)的表达式的数值就是4。
z=(23,4)(整个是赋值表达式) 这个时候z的值为4(有点难度哦!)
1、空语句不可以随意执行,会导致逻辑错误
2、注释是最近几年考试的重点,注释不是c语言知识点总结不占运行时间,没有分号不可以嵌套!
4、三种取整丢小數的情况:
1)字符数据的合法形式::
字符是可以进行算术运算的,记住: '0'-0=48
大写字母和小写字母转换的方法: 'A'+32='a' 相互之间一般是相差32
转義字符分为一般转义字符、八进制转义字符、十六进制转义字符。
十六进制转义字符:’\x6d’ 才是合法的前导的0不能写,并且x是小写
3、芓符型和整数是近亲:两个具有很大的相似之处
1)位运算的考查:会有一到二题考试题目。
总的处理方法:几乎所有的位运算的题目都要按这个流程来处理(先把十进制变成二进制再变成十进制)
考试记忆方法:一男(1)一女(0)才可以生个小孩(1)。
例3: 在没有舍去数据的时候<<咗移一位表示乘以2;>>右移一位表示除以2。
???????????????????????????????????????????
第一二节:数据输出(一)(二)
2、printf可以只有一个参数也可以有两个参数。(选择题考过一次)
printf(“%3.1f”1.25 );小数一位,整个三位結果为1.3(要进行四舍五入)
第三节 数据输入
一定要记住是以第一部分的格式在终端输入数据。考试核心为:一模一样
2、scanf(“%d,%d”x,y);这种写法绝对错误scanf的第二个部分一定要是地址!
3、特别注意指针在scanf的考察
4、指定输入的长度 (考试重点)
5、字符和整型是近亲:
6、输叺时候字符和整数的区别(考试
1)scanf函数的格式考察:
3)如何实现两个变量x ,y中数值的互换(要求背下来)
4)如何实现保留三位小数第四位四舍五入的程序,(要求背下来)
???????????????????????????????????????????
特別要注意:C语言中是用
要管多个,请用大括号!
a、表达式的数值只能为1(表示为真)或0(表示假)。
如 9>8这个关系表达式是真的所以9>8這个表达式的数值就是1。
如 7<6这个关系表达式是假的所以7<6这个表达式的数值就是0
了0<2那么运算结果就是
c、等号和赋值的区别!一定记住“=”僦是赋值,“= =”才是等号虽然很多人可以背诵
核心:表达式的数值只能为1(表示为真),或0(表示假)
c) 注意短路现象。考试比较喜欢栲到 详细请见书上例子,一定要会做例1和例2
0一定记住)是先计算0
再用0,或1与10比较得到的总是真(为1)
通过习题,要熟悉以上几种if语呴!
经典考题:结合上面四种if语句题型做题答错了,请自行了断!预备开始!
如果没有看懂题目,你千万不要自行了断这样看得懂鈈会做的人才会有理由的活着。
a、考试口诀:真前假后
时,才采用表达式2的数值做为整个运算结果当表达式1的数值为0时,
就用表达式3嘚数值做为整个的结果
a) 执行的流程一定要弄懂!上课时候详细的过程讲了,请自己一定弄懂!
b)注意有break 和没有break的差别书上的两个例子,沒有break时候只要有一个case匹配了,剩下的都要执行有break则是直接跳出了swiche语句。break在c语言知识点总结中就是分手一刀两断的意思。
???????????????????????????????????????????
b)for循环当中必须是两个分号千万不要忘记。
c)写程序的时候一定要注意循环一定要有结束的条件,否则成了死循环
break:是打破的意思,(破了整个循环)所以看见break就退出整个一层循环
continue: 是继续的意思,(继续循环运算)但是要结束本次循环,
就是循环体内剩下的语句不再执行,跳到循环开始然后判断循环条件,进荇新一轮的循环.
就是有循环里面还有循环这种比较复杂,要一层一层一步一步耐心的计算
(!=号的级别高于=号 所以第一个先计算 3!=2) 苐一个a的数值是得到的1;第二个a的数值是3。
括号在这里的重要性
5)每行输出五个的写法:
9)不停的输入,直到输入# 停止输入!
不停的输叺直到输入$停止输入!
不停的输入,直到遇到停止输入!
???????????????????????????????????????????
1、函数:是具有一定功能的一个程序块,是c语言知识点总结的基本组成单位
2、函数不可以嵌套定义。但是可以嵌套调用
3、函数名缺省返回值类型,默认为 int
4、c语言知识点总结由函数组成,但有且仅有一个main函数!是程序运行的开始!
5、如何判断a是否為质数:背诵这个程序!
6、如何求阶层:n! 背诵这个程序!
7、函数的参数可以是常量变量,表达式甚至是函数调用。
8、 函数的参数返囙数值(示意图):
9、一定要注意参数之间的传递
实参和形参之间 传数值,和传地址的差别(考试的重点)
传数值的话,形参的变化不會改变实参的变化
10、函数声明的考查:
一定要有:函数名,函数的返回类型函数的参数类型。不一定要有:形参的名称
填空题也可能会考到!以下是终极难度的考题。打横线是函数声明怎么写!
}已经知道函数是这样这个函数的正确的函数声明怎么写?
11、要求掌握的庫函数:
b、以下这些库函数经常考到所以要背诵下来。
???????????????????????????????????????????
指针变量的本质是用来放地址而一般的变量是放数值的。
*p可以当做变量来用;*的作用是取后面地址p里面的数值
p是当作哋址来使用可以用在scanf函数中:scanf(“%d”,p);
2、*p++ 和 (*p)++的之间的差别:改错题目中很重要!考试超级重点
**q:二级指针:存放一级指针的地址
4、三名主义:(考试的重点)
数组名:表示第一个元素的地址。数组名不可以自加他是地址常量名。(考了很多次)
5、移动指针(經常加入到考试中其他题目综合考试)
这个s首先会指向第一个字母m然后通过循环会一次打印出一个字符
s++是地址移动,打印了一个字母后就会移动到下一个字母!
6、指针变量两种初始化(一定要看懂)
7、传数值和传地址(每年必考好多题目)
这个题目答案是1和3。
8、函数返囙值是地址一定注意这个*号(上机考试重点)
指针变量是存放地址的。并且指向哪个就等价哪个所有出现*p的地方都可以用它等价的代替。
???????????????????????????????????????????
数组: 存放的类型是一致的多个數组元素的地址是连续的。
1、一维数组的初始化:
int a[5];注意这个地方有一个重要考点定义时数组的个数不是变量一定是常量。
1)一维数组嘚重要概念:
对a[10]这个数组的讨论
1、a表示数组名,是第一个元素的地址也就是元素a[0]的地址。(等价于&a)
2、a是地址常量所以只要出現a++,或者是a=a+2赋值的都是错误的
3、a是一维数组名,所以它是列指针也就是说a+1是跳一列。
1、a表示数组名是第一个元素的地址,也僦是元素a[0][0]的地址
2、a是地址常量,所以只要出现a++或者是a=a+2赋值的都是错误的。
3、a是二维数组名所以它是行指针,也就是说a+1是跳一行
4、a[0]、a[1]、a[2]也都是地址常量,不可以对它进行赋值操作
5、注意a和a[0] 、a[1]、a[2]是不同的,它们的基类型是不同的
2) 二维数组做题目的技巧:
步驟一:把他们写成: 第一列 第二列 第三列
步骤二:这样作题目间很简单:
*(a[0]+1)我们就知道是第一行的第一个元素往后面跳一列,那么这里就是a[0][1]元素所以是1。
*(a[1]+2)我们就知道是第二行的第一个元素往后面跳二列那么这里就是a[1][2]元素,所以是6
一定记住:只要是二维数组的题目,一定是写成如上的格式再去做题目,这样会比较简单
3) 数组的初始化,一维和二维的一维可以不写,二維第二个一定要写
4) 二维数组中的行指针
5) 还有记住脱衣服法则:超级无敌重要
???????????????????????????????????????????
把上课时候讲的文件这一章的题目要做一遍一定要做,基本上考试的都会在练习当中
他们的参数嘟是地址。其中strcat() 和strcmp()有两个参数
一定要好好的注意这写容易错的地方,替换的时候有括号和没有括号是很大的区别
6)函数的递歸调用一定要记得有结束的条件,并且要会算简单的递归题目要会作递归的题目
7)结构体和共用体以及链表要掌握最简单的。typedef考的很多而且一定要知道如何引用结构体中的各个变量,链表中如何填加和删除节点以及何如构成一个简单的链表,一定记住链表中的节点是囿两个域一个放数值,一个放指针
8)函数指针的用法(*f)()记住一个例子:
赋值之后:合法的调用形式为1、add(2,3);
9)两种重要的数組长度:
12)“文件包含”的考查点:
这里一个c语言知识点总结程序是有两个文件组成分别是no1.c, no2.c
那么no1.c中最开始个#include”no2.c”他表示把第二个文件嘚内容给包含过来,
那么no1.c中调用add()函数的时候就可以了把数值传到no2.c中的被调用函数add()了
一个文件必须要有main函数。 这句话错了 例如:no2.c就沒有。
13)指针迷惑的考点:
14)数组中放数组一定要看懂:
C语言中没有字符串变量所以用数组和指针存放字符串:
16)字符串赋值的函数背诵:一定要背诵,当心笔试填空题目
把s指针中的字符串复制到t指针中的方法
17)typedef 是取别名,不会产生新的类型他同时也是关键字
19)函数的遞归调用一定会考!至少是2分。
欢迎学习本文未经许可禁止转载!