C语言中函数的一些简单知识
2018-02-24 17:47
369 查看
1、 认识函数
A) 让代码更加容易维护,就如同文章中有各个不同段落
B) 让代码的重用性高,可以对同一个函数多次调用,不用写多次该代码
C) 如果把main函数比作公司的经理,那么其他函数就是经理下面的员工
D) 不能让main函数做几千几万行代码,要建立不用的函数分工处理任务
2、 函数的定义:定义包括:函数头和函数体
A) 函数头:函数大括号上的第一行
B) 函数体:函数大括号内的多行代码内容
C) 函数头包括:返回值类型,函数名(参数列表)
3、 参数列表:(形式参数)
A) 在函数头函数名后面的小括号内,有0到各种类型的变量
B) 形式参数就如同下属的笔记本,经理让下属做事前必须提供给相关的数据
C) 当主调函数给出的实际参数数量不足或者过多时,会出现以下错误:
Function does not take x parameters
4、返回值类型
就如同经理安排下属做事,要求或不要求下属给出结果(回报)
A) void类型就是不需要返回值,内部一般不用return语句
B) 其他类型都是需要结果:退出函数前最后执行的语句必须return结果
C) 在void类型有时也使用return语句,但是return后面不带任何内容,意思是退出函数
D) 函数返回后往往会把返回值传递给一个变量保存,这个过程就如同经理的记事本,记录下属完成任务后的结果
5.嵌套循环与函数
A)嵌套循环就是循环中还有循环,当一次外层循环执行一次,内层循环要执行0到多次,每次内层结束后,外层循环执行下一次循环
B)使用嵌套循环时,内层循环和外层循环的循环控制变量不能相同
C)一般来说,先编写内层循环之后再编写外层循环,这样思路就会比较清晰;
例如:编写一个程序打印20—100之间所有的素数
首先要编写一个循环求一个数字是不是素数,作为内层循环再编写外层循环,用20-100之间的每个数字进行测试。
如果把内层循环剥离出来,编写成一个独立的函数,那样的代码是最清晰的
6、函数的声明:一般情况下,当被调函数在主调函数代码的上方才能被调用,否则编译时就不能通过,这叫做代码的可见性。
A)使用函数声明,就可以让不可见的函数被主调函数调用
B)函数声明,就是将被调函数的函数头放在主调函数的上方,加个分号(;)即可
C)在一个代码量很大的c语言源文件中,通常在这个源文件的头部吧所有的函数都声明一遍,就如同一本书的开头首先是目录,以便于方便的浏览这本书籍的每个章节。
7、入栈和退栈的过程
A)一个执行文件的启动来源于操作系统(OS)内核(kernel32.dll)
B)当双击执行一个文件时,就是把双击文件的路径和文件名通知到OS,OS接收到之后按照路径和文件名加载执行文件。
C)kernel32.dll加载了执行文件后,立即调用main函数进入用户代码区
D)main函数再调用其他函数层层进栈,退栈按照先进后出的顺序
E)退栈过程类似弹簧弹起和压缩的过程,栈内存的使用是流动性的(无论系统函数还是用户函数)
8、内存分区有哪些? 栈、全局(静态)区、堆、字符串常量区。(代码区也是可以选择的答案)
A)栈(stack):C语言函数内部变量包括局部变量和形式参数等等,在进入函数的时候自动分配,在离开函数的时候自动清除变量的存储区。
B)全局/静态区(global/static),存放全局变量和静态变量的存储区。全局变量也称为外部变量,它是在函数外部定义的变量。全局变量是所有函数的公用变量,整个程序中任何一个函数都可任意的调用它。静态变量和全局变量被分配到同一块内存中,静态局部变量只限于定义处的函数使用,但是离开函数后数值一直保存,直到程序退出不会被清除
C)堆(heap):由调用malloc函数分配的内存块,一般每一次malloc函数分配的内存块,最后都要对应调用一次free函数释放这个内存块。如果程序员没有释放掉,那个在程序结束后,操作系统会自动回收,并且这个程序员将被开除。
D)常量存储区:就是存放程序内所有字符串常量的内存区域,这个内存区域上的内容不允许修改,知道程序退出为止。
9、全局变量和静态变量
A)全局变量是所有函数的公用变量,整个程序中任何一个函数都可以任意的调用它
B)静态变量和全局变量被分配到同一块内存中,静态局部变量只限定于定义处的函数使用,但是离开函数后数值一直保留,知道程序退出后才会被清除。
C)全局变量在main函数被调用之前就已经被初始化,而静态局部变量只有当函数第一次被调用时才被初始化。之后再次调用该函数静态局部变量就不会再被初始化了,因为它要长期保存最后一次进入函数时的赋值,知道程序退出后才会被清除。
10、全部变量的定义和声明:
A)全局变量定义尽量在一个源代码文件的最上方,与函数一样有可见性的问题
B)如果全局变量在主调函数的下方,不能被主调函数可见,则可以使用全局变量的声明
C)全局变量的声明类似于函数的声明,声明的格式是变量定义的前面加上extern关键字。
D)全局变量声明时不可以初始化赋值,例如以下的写法是错误的:
Extern int g_nTest = 0;
E) 全局变量加上static代表本文件私有,不提供给其他文件
A) 让代码更加容易维护,就如同文章中有各个不同段落
B) 让代码的重用性高,可以对同一个函数多次调用,不用写多次该代码
C) 如果把main函数比作公司的经理,那么其他函数就是经理下面的员工
D) 不能让main函数做几千几万行代码,要建立不用的函数分工处理任务
2、 函数的定义:定义包括:函数头和函数体
A) 函数头:函数大括号上的第一行
B) 函数体:函数大括号内的多行代码内容
C) 函数头包括:返回值类型,函数名(参数列表)
3、 参数列表:(形式参数)
A) 在函数头函数名后面的小括号内,有0到各种类型的变量
B) 形式参数就如同下属的笔记本,经理让下属做事前必须提供给相关的数据
C) 当主调函数给出的实际参数数量不足或者过多时,会出现以下错误:
Function does not take x parameters
4、返回值类型
就如同经理安排下属做事,要求或不要求下属给出结果(回报)
A) void类型就是不需要返回值,内部一般不用return语句
B) 其他类型都是需要结果:退出函数前最后执行的语句必须return结果
C) 在void类型有时也使用return语句,但是return后面不带任何内容,意思是退出函数
D) 函数返回后往往会把返回值传递给一个变量保存,这个过程就如同经理的记事本,记录下属完成任务后的结果
5.嵌套循环与函数
A)嵌套循环就是循环中还有循环,当一次外层循环执行一次,内层循环要执行0到多次,每次内层结束后,外层循环执行下一次循环
B)使用嵌套循环时,内层循环和外层循环的循环控制变量不能相同
C)一般来说,先编写内层循环之后再编写外层循环,这样思路就会比较清晰;
例如:编写一个程序打印20—100之间所有的素数
首先要编写一个循环求一个数字是不是素数,作为内层循环再编写外层循环,用20-100之间的每个数字进行测试。
如果把内层循环剥离出来,编写成一个独立的函数,那样的代码是最清晰的
6、函数的声明:一般情况下,当被调函数在主调函数代码的上方才能被调用,否则编译时就不能通过,这叫做代码的可见性。
A)使用函数声明,就可以让不可见的函数被主调函数调用
B)函数声明,就是将被调函数的函数头放在主调函数的上方,加个分号(;)即可
C)在一个代码量很大的c语言源文件中,通常在这个源文件的头部吧所有的函数都声明一遍,就如同一本书的开头首先是目录,以便于方便的浏览这本书籍的每个章节。
7、入栈和退栈的过程
A)一个执行文件的启动来源于操作系统(OS)内核(kernel32.dll)
B)当双击执行一个文件时,就是把双击文件的路径和文件名通知到OS,OS接收到之后按照路径和文件名加载执行文件。
C)kernel32.dll加载了执行文件后,立即调用main函数进入用户代码区
D)main函数再调用其他函数层层进栈,退栈按照先进后出的顺序
E)退栈过程类似弹簧弹起和压缩的过程,栈内存的使用是流动性的(无论系统函数还是用户函数)
8、内存分区有哪些? 栈、全局(静态)区、堆、字符串常量区。(代码区也是可以选择的答案)
A)栈(stack):C语言函数内部变量包括局部变量和形式参数等等,在进入函数的时候自动分配,在离开函数的时候自动清除变量的存储区。
B)全局/静态区(global/static),存放全局变量和静态变量的存储区。全局变量也称为外部变量,它是在函数外部定义的变量。全局变量是所有函数的公用变量,整个程序中任何一个函数都可任意的调用它。静态变量和全局变量被分配到同一块内存中,静态局部变量只限于定义处的函数使用,但是离开函数后数值一直保存,直到程序退出不会被清除
C)堆(heap):由调用malloc函数分配的内存块,一般每一次malloc函数分配的内存块,最后都要对应调用一次free函数释放这个内存块。如果程序员没有释放掉,那个在程序结束后,操作系统会自动回收,并且这个程序员将被开除。
D)常量存储区:就是存放程序内所有字符串常量的内存区域,这个内存区域上的内容不允许修改,知道程序退出为止。
9、全局变量和静态变量
A)全局变量是所有函数的公用变量,整个程序中任何一个函数都可以任意的调用它
B)静态变量和全局变量被分配到同一块内存中,静态局部变量只限定于定义处的函数使用,但是离开函数后数值一直保留,知道程序退出后才会被清除。
C)全局变量在main函数被调用之前就已经被初始化,而静态局部变量只有当函数第一次被调用时才被初始化。之后再次调用该函数静态局部变量就不会再被初始化了,因为它要长期保存最后一次进入函数时的赋值,知道程序退出后才会被清除。
10、全部变量的定义和声明:
A)全局变量定义尽量在一个源代码文件的最上方,与函数一样有可见性的问题
B)如果全局变量在主调函数的下方,不能被主调函数可见,则可以使用全局变量的声明
C)全局变量的声明类似于函数的声明,声明的格式是变量定义的前面加上extern关键字。
D)全局变量声明时不可以初始化赋值,例如以下的写法是错误的:
Extern int g_nTest = 0;
E) 全局变量加上static代表本文件私有,不提供给其他文件
相关文章推荐
- c语言中的一些简单知识
- 一些简单知识的整理—C语言(一)
- C语言中关于数组、指针以及函数的一些基本知识
- 谈谈自己对C语言中函数指针的一些理解 (第一次写博客,有点小兴奋哈)
- 关于指针的一些知识,记多维数组指针、指针数组、指针的指针和指向函数的指针
- Qt中计算坐标的一些简单函数接口
- C语言中一些将字符串转换为数字的函数小结
- 函数的一些小知识
- 测试优化求解算法的一些简单绘图函数
- C语言的一些简单小问题,大家来测试一下吧
- C语言printf()函数中一些不为人知的技巧!
- c语言 一些自己的字符串处理函数
- 关于C语言中函数传递机制简单小结
- 关于C语言与C++的一些小知识总结
- 今天自学一些逆向的基础知识,看了xchg指令,写了一个简单的 临界区 demo
- 一个简单用C语言实现的日志函数
- C语言中操作字符串的一些函数源代码
- c语言两简单的函数------字符输入输出------【getchar、putchar(parm)】
- 有关JS中构造函数和原型函数的一些基础知识
- 简单介绍一些关于 Kaggle 比赛的知识