当前位置:首页 » 编程语言 » c语言必背知识点
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言必背知识点

发布时间: 2023-02-27 23:27:25

‘壹’ c语言入门需要掌握的核心知识点有哪些

1、顺序、分支、循环等基本语句;
2、char、int、double、float等基本数据类型;
3、带参数宏定义和函数的区别;
4、指针和数组的区别,尤其注意下指针数组和数组指针;
5、函数指针和指针函数;
6、结构体和联合体以及自定义类型typedef的应用;
7、printf、scanf、getchar、putchar、fopen、fclose、fgetc、fputc等基本库函数的应用;
8、malloc、calloc、realloc、free等内存管理函数的应用;
9、函数的声明和定义;
10、注意C语言的基本单位是函数;
还有很多,因为篇幅限制不能一一例举,但上面提到的10点都是很多考试和面试中经常出现的。
有时间可以看看这三本书《C和指针》、《C陷阱和缺陷》、《C专家编程》,C语言的大部分问题都可以在这三本书中找到答案,熟练掌握着三本书的内容再加上一些实际项目将没有人可以轻易用C语言的问题为难你。

‘贰’ c语言必背单词

1.return返回。2.value值。3.function函数。4.declaration声明。5.extern外部。6.insert插入。7.error错误。8.delete删除。9.file文件。10.open打开。11close关闭。12.read读。13.write写。14.constant常量。15.number数字。16.circle循环。17.variant变量。18.sort排序。19.keywords关键字。20.debug调试。暂时就列出来20个非常常用的c语言必背单词,使用编程语言会经常遇到这些单词的,望采纳。

‘叁’ c语言基础知识必背有哪些

基础的理论理解,基本规则:如组织形式,解释器规定,源文件命名规则等等,还有程序的一些基本结构如:顺序结构,选择结构,循环结构的基本特性,还有就是数据类型及各种运算符的作用了。

动手实践帮助记忆,多编写程序,即便不会写多学着敲敲代码也是很有用的,记住了要点的同时,提高学习兴趣,这非常重要。

C语言

是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。

尽管C语言提供了许多低级处理的功能,但仍然保持着跨平台的特性,以一个标准规格写出的C语言程序可在包括类似嵌入式处理器以及超级计算机等作业平台的许多计算机平台上进行编译。

‘肆’ C语言基础知识点

C语言基础知识点集锦

【知识点1】C程序

C语言程序结构有三种: 顺序结构 , 循环结构(三个循环结构), 选择结构(if 和 switch)

【知识点2】main函数

每个C语言程序中main 函数是有且只有一个。读程序都要从main()入口, 然后从最上面顺序往下读(碰到循环做循环,碰到选择做选择)。

【知识点3】存储形式

计算机的数据在电脑中是以二进制的形式保存。最低的存储单元是bit(位),位是由为 0 或者1构成。 byte 是指字节, 一个字节 = 八个位。数据存放的位置就是它的地址。

【知识点4】注释

是对程序的说明,可出现在程序中任意合适的地方,注释从“/*”开始到最近一个“*/”结束,其间任何内容都不会被计算机执行,注释不可以嵌套。

【知识点5】书写格式

每条语句的后面必须有一个分号,分号是语句的一部分。一行内可写多条语句,一个语句可写在多行上。

【知识点6】标识符

合法的用户标识符考查:

合法的要求是由字母,数字,下划线组成。有其它元素就错了。

并且第一个必须为字母或则是下划线。第一个为数字就错了。

C语言标识符分如下3类

(1)关键字。它们在程序中有固定的含义,不能另作他用。如int、for、switch等。

(2)预定义标识符。预先定义并具有特定含义的标识符。如define、include等。

(3)用户标识符。用户根据需要定义的标识符,符合命名规则且不与关键字相同。

关键字不可以作为用户标识符号。main define scanf printf 都不是关键字。迷惑你的地方If 是可以做为用户标识符。因为If 中的第一个字母大写了,所以不是关键字。

【知识点7】实型数据

实型数据的.合法形式:小数形式和指数形式。掌握判定指数形式合法性。

2.333e-1 就是合法的,且数据是2.333×10-1。

【知识点8】字符

字符数据的合法形式::

1 是字符占一个字节,"1"是字符串占两个字节(含有一个结束符号)。

0 的ASCII 数值表示为48,a 的ASCII 数值是97,A的ASCII 数值是65。

字符型和整数是近亲:

char a = 65 ;

printf(“%c”, a); 得到的输出结果:a

printf(“%d”, a); 得到的输出结果:65

一般考试表示单个字符错误的形式:65 "1"

字符是可以进行算术运算的,记住: 0-0=48

大写字母和小写字母转换的方法: A+32=a 相互之间一般是相差32。

【知识点9】整型数据

整型一般是两个字节, 字符型是一个字节,双精度一般是4 个字节:

考试时候一般会说,在16 位编译系统,或者是32 位系统。碰到这种情况,不要去管,

一样做题。掌握整型一般是两个字节, 字符型是一个字节,双精度一般是4 个字节就可以了。

【知识点10】转义字符

转义字符的考查:

在程序中 int a = 0x6d,是把一个十六进制的数给变量a 注意这里的0x 必须存在。

在程序中 int a = 06d, 是一个八进制的形式。

在转义字符中, ’x6d’ 才是合法的,0 不能写,并且x 是小写。

‘141’ 是合法的, 0 是不能写的。

‘108’是非法的,因为不可以出现8。

【知识点11】算术运算

算术运算符一共有+、—、*、/、%这五个。%符号两边要求是整数。不是整数就错了。

三种取整丢小数的情况:不是四舍五入是舍掉小数部分。

1、int a =1.6;

2、(int)a;

3、1/2; 3/2;

【知识点12】强制类型转换

将一个运算对象转换成指定类型,格式为(类型名)表达式

一定是 (int)a 不是 int(a),注意类型上一定有括号的。

注意(int)(a+b) 和(int)a+b 的区别。前是把a+b 转型,后是把a 转型再加b。

【知识点13】赋值

是表达式就一定有数值。

赋值表达式:表达式数值是最左边的数值,a=b=5;该表达式为5,常量不可以赋值。

复合赋值运算符:注意:a*=m+2 是 a=a*(m+2)

自加、自减表达式:假设a=5,++a(表达式的值为6), a++(表达式的值为5);

j=a++;等价于j=a;a=a+1; 而j=++a;等价于a=a+1;j=a;。

考试口诀:++在前先加后用,++在后先用后加。

【知识点14】逗号运算

逗号表达式:优先级别最低; 表达式的数值逗号最右边的那个表达式的数值。

(2,3,4)的表达式的数值就是4。

【知识点15】数制转换

一定要记住二进制 如何转换成十进制。

八进制是没有8 的,逢8 进1,018 的数值是非法的。

‘伍’ c语言基础知识必背有哪些

c语言基础知识有:

1、c语言的命名。

2、变量及赋值。

3、基本数据类型。

4、格式化输出语句。

5、强制类型转换。

6、常量。

7、自动类型转换。

c语言的特点:

1、广泛性。C语言的运算范围的大小直接决定了其优劣性。C语言中包含了34种运算符,因此运算范围要超出许多其它语言,此外其运算结果的表达形式也十分丰富。

2、简洁性。9类控制语句和32个关键字是C语言所具有的基础特性,使得其在计算机应用程序编写中具有广泛的适用性,可以适用广大编程人员的操作。

3、结构完善。C语言是一种结构化语言,它可以通过组建模块单位的形式实现模块化的应用程序,在系统描述方面具有显着优势。

‘陆’ c语言基础知识必背是什么

c语言基础知识必背如下:

1、变量名称必须以字母或下划线开始,而不能用数字。在实际程序中,使用最多的是字母,而下划线开始的变量名称则是专门用于系统的。

2、C语言是一门面向过程、抽象的通用编程语言,在系统的底层开发中得到了广泛的应用。

3、C语言中是用非0表示逻辑真的,用0表示逻辑假的。

4、C语言是一种高效的编程语言,它只会生成很少的计算机语言,而且不需要任何的运行环境的支持。

5、表达式的数值只能为1(表示为真),或0(表示假)。

‘柒’ C语言笔试那些知识点是必背的!

你是说等级考试么 单说c语言 所有语法必须了然的 不过考试也不考你语法规则 而且通过程序考你对语法的了然程度 编程是工科 不能像历史一样背 想学好编程找我要个指点文件看看吧 名字上有扣扣

‘捌’ 计算机二级考试C语言知识点归纳

2017年计算机二级考试C语言知识点归纳

计算机二级考试是全国计算机等级考试(National Computer Rank Examination,简称NCRE)四个等级中的一个等级,考核计算机基础知识和使用一种高级计算机语言编写程序以及上机调试的基本技能。下面是2017年计算机二级考试C语言知识点归纳。欢迎阅读。

总体上必须清楚的

1)程序结构是三种:顺序结构 ,循环结构

(三个循环结构),选择结构(if 和 switch)

2)读程序都要从main()入口,然后从最上面顺序

往下读(碰到循环做循环,碰到选择做选择)。

3)计算机的数据在电脑中保存是以二进制的形式。

数据存放的位置就是他的地址。

4)bit是位 是指为0 或者1。 byte 是指字节,

一个字节 = 八个位。

5)一定要记住二进制如何划成十进制。

概念常考到的:

1)、编译预处理不是C语言的一部分,不再运行

时间。C语言编译的程序称为源程序,

它以ASCII数值存放在文本文件中。

2)、每个C语言程序中main函数是有且只有一个。

3)、在函数中不可以再定义函数。

4)、算法是一定要有输出的,他可以没有输入。

5)、break可用于循环结构和switch语句。

6)、逗号运算符的级别最低。

第一章

1)合法的用户标识符考查:

合法的要求是由字母,数字,下划线组成。

有其它元素就错了。

并且第一个必须为字母或则是下划线。

第一个为数字就错了。

关键字不可以作为用户标识符号。

main define scanf printf 都不是关键字。迷惑你的

地方If是可以做为用户标识符。因为If中的

第一个字母大写了,所以不是关键字。

2)实型数据的合法形式:

2.333e-1 就是合法的,且数据是2.333×10-1。

考试口诀:e前e后必有数,e后必为整数。.

3)字符数据的合法形式::

'1'是字符占一个字节,"1"是字符串占两个

字节(含有一个结束符号)。

'0' 的ASCII数值表示为48,'a' 的ASCII数值是97,

'A'的ASCII数值是65。

4) 整型一般是两个字节, 字符型是一个字节,

双精度一般是4个字节:

考试时候一般会说,在16位编译系统,或者

是32位系统。碰到这种情况,不要去管,一样做题。

掌握整型一般是两个字节, 字符型是一个字节,

双精度一般是4个字节就可以了。

5)转义字符的考查:

在程序中 int a = 0x6d,是把一个十六进制的数给

变量a 注意这里的0x必须存在。

在程序中 int a = 06d, 是一个八进制的形式。

在转义字符中,’x6d’才是合法的,0不能写,

并且x是小写。

‘141’是合法的。

‘108’是非法的,因为不可以出现8。

转义字符意义 ASCII码值(十进制)

a 响铃(BEL) 007

 退格(BS) 008

f 换页(FF) 012

换行(LF) 010

回车(CR) 013

水平制表(HT) 009

v 垂直制表(VT) 011

\ 反斜杠 092

? 问号字符 063

' 单引号字符 039

" 双引号字符 034

空字符(NULL) 000

ddd 任意字符三位八进制

xhh 任意字符二位十六进制

6)算术运算符号的优先级别:

同级别的有的是从左到右,有的是从右到左。

7)强制类型转换:

一定是(int)a 不是 int(a),注意类型上

一定有括号的。

注意(int)(a+b)和(int)a+b 的区别。

前是把a+b转型,后是把a转型再加b。

8)表达式的考查:

是表达式就一定有数值。

赋值表达式:表达式数值是最左边的数值,

a=b=5;该表达式为5,常量不可以赋值。

自加、自减表达式:假设a=5,++a(是为6),

a++(为5);

运行的机理:++a 是先把变量的数值加上1,

然后把得到的数值放到变量a中,然后再用这

个++a表达式的数值为6,而a++是先用该表达

式的数值为5,然后再把a的数值加上1为6,

再放到变量a中。 进行了++a和a++后在下面的

程序中再用到a的话都是变量a中的6了。

考试口诀:++在前先加后用,++在后先用后加。

逗号表达式:优先级别最低 ;表达式的数值

逗号最右边的那个表达式的数值。

(2,3,4)的表达式的数值就是4。

9)位运算的考查:

会有一到二题考试题目。

总的处理方法:几乎所有的'位运算的题目

都要按这个流程来处理(先把十进制变成

二进制再变成十进制)。

例1:char a = 6, b;

b = a<<2; 这种题目的计算是先要把a的十进

制6化成二进制,再做位运算。

例2:一定要记住,

例3:在没有舍去数据的时候,<<左移一位表示

乘以2;>>右移一位表示除以2。

10)018的数值是非法的,八进制是没有8的,

逢8进1。

11)%符号两边要求是整数。不是整数就错了。

12)两种取整丢小数的情况:

1、int a =1.6;

2、(int)a;

第二章

1)printf函数的格式考查:

%d对应整型;%c对应字符;%f对应单精度等等。

宽度的,左对齐等修饰。

%ld对应 long int;%lf 对应double。

2)scanf函数的格式考察:

注意该函数的第二个部分是&a 这样的地址,不是a;

Scanf(“%d%d%*d%d”,&a,&b,&c);跳过输入的

第三个数据。

3)putchar ,getchar 函数的考查:

char a = getchar() 是没有参数的,从键盘得到

你输入的一个字符给变量a。

putchar(‘y’)把字符y输出到屏幕中。

4)如何实现两个变量x ,y中数值的互换

(要求背下来)

不可以把 x=y,y=x; 要用中间变量 t=x;x=y;y=t。

5)如何实现保留三位小数,第四位四舍五入

的程序,(要求背下来)

x=(int)(x*1000+0.5)/1000.0

这个有推广的意义,注意 x = (int)x 这样是

把小数部分去掉。

第三章

特别要注意:c语言中是用非0表示逻辑真的,

用0表示逻辑假的。

1)关系表达式:

表达式的数值只能为1(表示为真),

或0(表示假)

当关系的表达是为真的时候得到1。

如 9>8这个是真的,所以表达式的数值就是1;

2)逻辑表达式:

只能为1(表示为真),或0(表示假)

a) 共有&& || ! 三种逻辑运算符号。

b) !>&&>|| 优先的级别。

c) 注意短路现象。考试比较喜欢考到。

d) 要表示 x 是比0大,比10小的方法。0

不可以的(一定记住)。是先计算0

结果为1或则0;再用0,或1与10比较得到的

总是真(为1)。所以一定要用(0

示比0大比10小。

3)if 语句

else 是与最接近的if且没有else的相组合的。

4)条件表达式:

表达式1 ?表达式2 :表达式3

注意是当非0时候是表达式2的数值,当为0是

就是表达式2的数值。

考试口诀:真前假后。

5)switch语句:

a)一定要注意有break 和没有break的差别,

没有break时候,只要有一个case匹配了,剩下

的都要执行,有break则是直接跳出了swich语句。

b)switch只可以和break一起用,不可以

和continue用。

第四章

1)三种循环结构:

a)for(); while(); do- while()三种。

b)for循环当中必须是两个分号,千万不要忘记。

c)写程序的时候一定要注意,循环一定要有结束

的条件,否则成了死循环。

d) do-while()循环的最后一个while();的分号一定

不能够丢。(当心上机改错)

2) break 和 continue的差别

记忆方法:

break:是打破的意思,(破了整个循环)所以

看见break就退出真个一层循环。

continue:是继续的意思,(继续循环运算),

但是要结束本次循环,就是循环体内剩下的语句

不再执行,跳到循环开始,然后判断循环条件,

进行新一轮的循环。

3)嵌套循环

就是有循环里面还有循环,这种比较复杂,要一层

一层一步一步耐心的计算,一般记住两层是处理

二维数组的。

4) while((c=getchar())!=’ ’)和

while(c=getchar() !=’ ’)的差别

先看a = 3 != 2 和(a=3)!=2 的区别:

(!=号的级别高于=号 所以第一个先计算 3!=2)

第一个a的数值是得到的1;第二个a的数值是3。

考试注意点: 括号在这里的重要性。

第五章

函数:是具有一定功能的一个程序块;

1) 函数的参数,返回数值(示意图):

main()

{

int a = 5,b=6,c;

c = add(a,b);

printf(“%d”,c);

}

调用函数

a,b是实参

整个函数得到一个数值就是

Add函数的返回数值。

int add ( int x,int y)

{

int z;

z=x+y;

return z;

}

被调用函数

x,y是形式参数

函数返回数值是整型

z就是这个add函数计算后得到的结果,就是函数

返回给主程序的返回数值。

程序是在从上往下顺序执行,当碰到了函数add后,

把a,b的数值穿给调用函数,程序暂时中断等待返回数值。

当得到了返回数值后,再顺序的往下执行

2)一定要注意参数之间的传递

实参和形参之间 传数值,和传地址的差别。(考试的重点)

传数值的话,形参的变化不会改变实参的变化。

传地址的话,形参的变化就会有可能改变实参的变化。

3)函数声明的考查:

一定要有:函数名,函数的返回类型,函数的参数类型。

不一定要有:形参的名称。

第六章

指针变量的本质是用来放地址,而一般的变量是放数值的。

int *p 中 *p和p的差别:

*p可以当做变量来用;*的作用是取后面地址p里面的数值

p是当作地址来使用。

*p++ 和 (*p)++的之间的差别:改错题目中很重要

*p++是 地址会变化。

(*p)++ 是数值会要变化。

三名主义:(考试的重点)

数组名:表示第一个元素的地址。数组名不可以自加,

他是地址常量名。(考了很多次)

函数名:表示该函数的入口地址。

字符串常量名:表示第一个字符的地址。

第七章

1一维数组的重要概念:

对a[10]这个数组的讨论。

1、a表示数组名,是第一个元素的地址,也就是

元素a[10]的地址。

2、a是地址常量,所以只要出现a++,或者

是a=a+2赋值的都是错误的。

3、a是一维数组名,所以它是列指针,也就是

说a+1是跳一列。

对a[3][3]的讨论。

1、a表示数组名,是第一个元素的地址,也就是

元素a[10]的地址。

2、a是地址常量,所以只要出现a++,或者

是a=a+2赋值的都是错误的。

3、a是二维数组名,所以它是行指针,也就

是说a+1是跳一行。

4、a[0]、a[1]、a[2]也都是地址常量,不可以对

它进行赋值操作,同时它们都是列指针,a[0]+1,

a[1]+1,a[2]+1都是跳一列。

5、注意a和a[0] 、a[1]、a[2]是不同的,它们的

基类型是不同的。前者是一行元素,后三者是一列元素。

二维数组做题目的技巧:

如果有a[3][3]={1,2,3,4,5,6,7,8,9}这样的题目。

步骤一:把他们写成:

第一列第二列第三列

a[0]à 1 2 3 ->第一行

a[1]à 4 5 6—>第二行

a[2]à 7 8 9->第三行

步骤二:这样作题目间很简单:

*(a[0]+1)我们就知道是第一行的第一个元素往后

面跳一列,那么这里就是a[0][1]元素,所以是1。

*(a[1]+2)我们就知道是第二行的第一个元素往后面

跳二列。那么这里就是a[1][2]元素,所以是6。

一定记住:只要是二维数组的题目,一定是写成如

上的格式,再去做题目,这样会比较简单。

数组的初始化,一维和二维的,一维可以不写,

二维第二个一定要写

int a[]={1,2} 合法。 int a[][4]={2,3,4}合法。

但int a[4][]={2,3,4}非法。

二维数组中的行指针

int a[1][2];

其中a现在就是一个行指针,a+1跳一行数组元素。

搭配(*)p[2]指针

a[0],a[1]现在就是一个列指针。a[0]+1 跳一个数组

元素。搭配*p[2]指针数组使用

还有记住脱衣服法则:

a[2] 变成 *(a+2) a[2][3]变成 *(a+2)[3]再

可以变成 *(*(a+2)+3)

;

‘玖’ c语言基础知识必背是什么

c语言基础知识必背有c语言的命名、变量及赋值、基本数据类型、格式化输出语句、强制类型转换、常量、自动类型转换等。

如C语言程序的结构认识:任何一个c语言程序都必须包括以下格式:main() { }。这是c语言的基本结构,任何一个程序都必须包含这个结构。括号内可以不写任何内容,那么该程序将不执行任何结果。

main()----在c语言中称之为“主函数”,一个c程序有且仅有一个main函数,任何一个c程序总是从main函数开始执行,main函数后面的一对圆括号不能省略。被大括号{ }括起来的内容称为main函数的函数体,这部分内容就是计算机要执行的内容。

在{ }里面每一句话后面都有一个分号(;),在c语言中,我们把以一个分号结尾的一句话叫做一个c语言的语句,分号是语句结束的标志。

printf(“a=%d,b=%d,sum=%d ”,a,b,sum); ----通过执行这条c语言系统提供给我们直接使用的屏幕输出函数,用户即可看到运行结果,本程序运行后,将在显示器上显示如下结果:a=20,b=15,sum=35。

C程序的生成过程

C程序是先由源文件经编译生成目标文件,然后经过连接生成可执行文件。源程序的扩展名为 .c ,目标程序的扩展名为 .obj , 可执行程序的扩展名为 .exe 。

‘拾’ 计算机二级c语言常见知识点

计算机二级c语言常见知识点

数据库是为了更容易地组织、存储和检索大量数据。数据库由数据库管理系统管理,通过数据库模型和查询语言来存储、创建、维护和搜索数据。下面是我整理的关于计算机二级c语言常见知识点,欢迎大家参考!

计算机二级c语言常见知识点 篇1

文件

【考点1】文件类型指针

文件指针是一个指向结构体类型的指针,定义格式为:FILE *指针变量名。在使用文件时,都需要先定义文件指针。

【考点2】文本文件与二进制文件

文本形式存放的是字符的ASCII码,二进制形式存放的是数据的二进制。例如“100”如果是文本形式就是存储’1’、 ’0’、 ’0’三个字符的ASCII码(00110001 00110000 00110000),如果是二进制形式就把100转化成二进制(01100100)。

【考点3】打开文件

文件的打开形式:

FILE *fp;

fp=fopen(“c:lab.c”,”rb”);。

fopen函数的前面一部分为文件名,后面一部分为文件的使用方式。其中r代表读,w代表写,a代表添加,b代表二进制位的。

【考点4】文件函数

判断文件结束feof函数,移动文件指针位置fseek函数,获得文件位置ftell函数,文件位置移到开头rewind函数,文件字符输入输出fgetc函数和fputc函数,文件输入输出fscanf函数和fprintf函数,文件字符串输入输出fgets函数和fputs函数,读写二进制文件fread函数和fwrite函数。

对C语言的深入探讨

【考点1】编译预处理

凡以#开头的这一行,都是编译预处理命令行,编译预处理不加分号,不占运行时间。宏替换仅是简单的文本替换,如#define f(x) (x)*(x)和#define f(x) x*x替换f(2+2)时就有区别,前者展开为(2+2)*(2+2),后者为2+2*2+2。

如果源文件f2.c中有#include"f1.c"可以理解为把源文件f1.c原样包含到f2.c中,使f1.c和f2.c融合到一起成为一个C程序编译。所以一个C程序必有主函数,但一个C源文件未必有主函数。

【考点2】标识符作用域

局部变量是在函数内或复合语句内定义的变量,作用域为定义它的函数内。局部变量有三种类型:自动auto,寄存器register和静态static。

自动变量随着函数的使用与否创建消失;寄存器变量分配在cpu中,没有内存地址;静态变量占用固定存储单元,在程序执行过程不释放,直到程序运行结束。

全局变量是在函数外定义的变量,作用域从定义它的位置到整个源文件结束为止,生存期为整个程序运行期间。全局变量都是静态变量。

【考点3】动态存储分配

malloc(size)用来创建size个字节的连续存储空间,返回值类型为void *型。malloc函数常用于动态创建链表结点,如int *p; p=(int *)malloc(sizeof(int));。

calloc(n,size)创建n个同一类型的连续存储空间,可以理解为n个malloc。

int *p; p=(int *) calloc (10,sizeof(int));。p指向首地址。

free(p)释放动态分配的存储单元。

【考点4】main函数的参数

还有main(int argc,char **argv) {}

这种含有参数的题目,是很呆板的题目。第一个参数是表示输入的字符串的数目,第二个参数是指向存放的字符串。

【考点5】函数指针

函数指针的用法(*f)()记住一个例子:

int add(int x, int y)

{....}

main()

{ int (*f)();

f=add;

}

赋值之后:合法的调用形式为

1、add(2,3);

2、f(2,3);

3、(*f)(2,3);

计算机二级c语言常见知识点 篇2

【考点1】函数的定义

函数:是具有一定功能的一个程序块;是C 语言的基本组成单位。

函数的首部为:函数类型 函数名(类型1 形参1,类型2 形参2,……)。在函数定义中不可以再定义函数,即不能嵌套定义函数。函数类型默认为int型。

【考点2】库函数

调用C语言标准库函数时要包含include命令,include命令行以#开头,后面是“”或<>括起来的后缀为”.h”的头文件。以#开头的一行称为编译预处理命令行,编译预处理不是C语言语句,不加分号,不占运行时间。

【考点3】函数的返回值

函数通过return语句返回一个值,返回的值类型与函数类型一样。return语句只执行一次,执行完或函数体结束后退出函数。

【考点4】函数的声明

函数要“先定义后调用”,或“先声明再调用后定义”。函数的声明一定要有函数名、函数返回值类型、函数参数类型,但不一定要有形参的名称。

【考点5】函数的调用

程序从上往下执行,当碰到函数名后,把值传给调用函数,当程序得到了返回值或调用函数结束,再顺序往下执行。

【考点6】函数的参数及值传递

形式参数简称形参,是定义函数时函数名后面括号中的参数。实在参数简称实参,是调用函数时函数名后面括号中的`参数。实参和形参分别占据不同的存储单元。实参向形参单向传递数值。

“传值”与“传址”的区别:传数值的话,形参的变化不会改变实参的变化。传地址的话,形参的变化就有可能改变实参所对应的量。(考试的重点)

函数的参数,返回数值(示意图)。

【考点7】函数的递归调用

函数直接或间接地调用自己称为函数的递归调用。递归调用必须有一个明确的结束递归的条件。在做递归题时可把递归的步骤一步步写下来,不要弄颠倒了。

【考点8】要求掌握的库函数

sqrt()算术平方根函数,fabs()绝对值函数,sin()正弦函数,sin(3.14159/180*30);,pow()幂函数,23是由pow(2,3)表示的。

;