程序员面试题目

上传人:jiups****uk12 文档编号:37686648 上传时间:2018-04-20 格式:DOC 页数:8 大小:78.50KB
返回 下载 相关 举报
程序员面试题目_第1页
第1页 / 共8页
程序员面试题目_第2页
第2页 / 共8页
程序员面试题目_第3页
第3页 / 共8页
程序员面试题目_第4页
第4页 / 共8页
程序员面试题目_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《程序员面试题目》由会员分享,可在线阅读,更多相关《程序员面试题目(8页珍藏版)》请在金锄头文库上搜索。

1、The Questions for Developing ApplicantsJiuzhouanhua Confidential 1Please note: The questions with asterisk (*) can not be empty.Describe general experience with:1. LANs, WAN.2. Unix, Windows3. Programming Languages.4. Device DriverGeneral questions:1.Describe an experience you feel proud of in progr

2、amming, such as creatively resolving a programming (coding, algorithms, structure or others)problem you encountered in the past.2.Whats your biggest project? What a role did you played in it?3.Whats difference between dealing with an English string and a Chinese String?4.Do you know about GB code, B

3、ig5 code, Unicode? Would you please give me your understanding of their relationship and difference?5. Now I have an English application and its source code, such as a word processor. What would you do to make it work correctly in Chinese environment?The Questions for Developing ApplicantsJiuzhouanh

4、ua Confidential 26. If youre free to choose a job, what would you like to do: marketing, tester engineer, software programmer, project manager, or other? And why? Will you accept a different assignment other than the job you like, such as tester engineer position?C QUESTIONS:1.* Explain the differen

5、ce between “call by value“ and “call by reference“ in a programming language. How do these apply to the C language? call by value : 调用时子程序得到的是参数值的副本,子程序中对形参的改变其实只是影响了该副本的值,但调用时子程序得到的是参数值的副本,子程序中对形参的改变其实只是影响了该副本的值,但 在返回主程序后该副本会被丢弃,因此在主程序中按值调用的参数仍保持原来的值。在返回主程序后该副本会被丢弃,因此在主程序中按值调用的参数仍保持原来的值。 call by re

6、ference : 调用时子程序得到的是实际参数的内存地址,因此在子程序中改变形参的值时,实际会导致对调用时子程序得到的是实际参数的内存地址,因此在子程序中改变形参的值时,实际会导致对 该形参所对应的地址处的内存数据的变化,即直接修改的是主程序中的变量的值,返回主程序该形参所对应的地址处的内存数据的变化,即直接修改的是主程序中的变量的值,返回主程序 后该参数所对应的变量值会产生变化。后该参数所对应的变量值会产生变化。2.*Explain how C pointers work. What are they really? How can they be used? What are the m

7、ost useful/vital ways to use them? 变量的地址称为变量的指针,即指针是一个内存单元的地址。变量的地址称为变量的指针,即指针是一个内存单元的地址。 指针的基本形态有以下几种:指针的基本形态有以下几种: (1)int *p; /p 为指向整型数据的指针变量为指向整型数据的指针变量 (2)int *pn; /定义指针数组定义指针数组 p (3)int *p(); /p 为指针函数,返回一个指向整型数据的指针为指针函数,返回一个指向整型数据的指针 (4)int (*p)(); /p 为指向函数的指针,该函数返回一个整型值为指向函数的指针,该函数返回一个整型值 (5)i

8、nt (*p)n /p 为指向含有为指向含有 n 个元素的一维数组的指针变量个元素的一维数组的指针变量 (6)int *p; /p 为指向指针的指针,被指向的指针指向一个整型数据为指向指针的指针,被指向的指针指向一个整型数据 (7)int(*p)n /p 是一个指向另一个指针变量的指针变量,被指向的指针变量指向一个含是一个指向另一个指针变量的指针变量,被指向的指针变量指向一个含 有有 n 个整型数据的一维数组个整型数据的一维数组 (8)int *p()n /p 为返回整型指针数组(首地址)的函数为返回整型指针数组(首地址)的函数 (9)int (*p)() /p 为指向返回整型数值函数的指针数

9、组为指向返回整型数值函数的指针数组 指针的使用:指针的使用: (1)指针和数组指针和数组 对于数组对于数组 ai表示数组表示数组 a 的第的第 i+1 个变量,个变量,a 是数组名,表示该数组的首地址。即是数组名,表示该数组的首地址。即 a 与与 通过通过 p 来访问数组元素。来访问数组元素。 (a)p,a,与与*p=1;为所指向的存储单元赋值为所指向的存储单元赋值 1 (c)int *p=a;表达式表达式 p+1 为指向为指向 p 的下一个存储单元的下一个存储单元 (d)表达式表达式 p+i 为指向为指向 p 后第后第 i 个元素。个元素。ai,*(a+i),*(p+i)都表示数组都表示数组

10、 a 的第的第 i 个元素个元素 (2)指针与函数参数的选择指针与函数参数的选择 如果用数组名作为函数参数,实参数组名代表数组首地址,而形参是用来接收从实参如果用数组名作为函数参数,实参数组名代表数组首地址,而形参是用来接收从实参 传递过来的首地址,因此,形参应该是一个指针变量,因为只有指针变量才能存放地址。传递过来的首地址,因此,形参应该是一个指针变量,因为只有指针变量才能存放地址。 (3)指针与链表指针与链表The Questions for Developing ApplicantsJiuzhouanhua Confidential 3链表链表 P 中每一个元素都有一个指针,用于存放下一

11、个元素的地址,当要访问中每一个元素都有一个指针,用于存放下一个元素的地址,当要访问 P 中某一中某一 个元素时,只需要找到链表的首地址即可个元素时,只需要找到链表的首地址即可3.*What is a pointer to a function? How do you declare it? What is it useful for? 函数指针是指向函数的指针函数指针是指向函数的指针变量变量。 因而因而“函数指针函数指针”本身首先应是本身首先应是指针变量指针变量,只不过该,只不过该 指针量指向函数。这正如用指针变量可指向指针量指向函数。这正如用指针变量可指向整型变量整型变量、字符型、字符型、数

12、组数组一样,这里是指一样,这里是指 向函数。向函数。C 在编译时,每一个函数都有一个入口地址,该入口地址就是函数指针所指在编译时,每一个函数都有一个入口地址,该入口地址就是函数指针所指 向的地址。有了指向函数的向的地址。有了指向函数的指针变量指针变量后,可用该指针变量调用函数。后,可用该指针变量调用函数。函数指针的声明方法为:函数指针的声明方法为: 函数类型函数类型 (标志符标志符指针变量指针变量名名) (形参形参列表列表);函数指针有两个用途:调用函数和做函数的函数指针有两个用途:调用函数和做函数的参数参数。4.*What are function prototypes? How are t

13、hey used, and what are they useful for? 函数声明由函数返回类型、函数名和形参列表组成。形参列表必须包括形参类型函数声明由函数返回类型、函数名和形参列表组成。形参列表必须包括形参类型,但是但是 不必对形参命名。这三个元素被称为函数原型不必对形参命名。这三个元素被称为函数原型,函数原型描述了函数的接口函数原型描述了函数的接口。 函数原型类似函数定义时的函数原型类似函数定义时的函数头函数头,又称函数声明。为了能使函数在定义之前就能被,又称函数声明。为了能使函数在定义之前就能被 调用,调用,C+规定可以先说明函数原型,然后就可以调用函数。函数定义可放在程序后规定

14、可以先说明函数原型,然后就可以调用函数。函数定义可放在程序后 面。面。 由于函数原型是一条语句,因此函数原型必须以分号结束。函数原型由函数返回由于函数原型是一条语句,因此函数原型必须以分号结束。函数原型由函数返回 类型、函数名和参数表组成,它与函数定义的返回类型、函数名和参数表必须一致。类型、函数名和参数表组成,它与函数定义的返回类型、函数名和参数表必须一致。 函数原型不必包含参数的名字,可只包含参数的类型。函数原型不必包含参数的名字,可只包含参数的类型。5.*Explain how memory management is handled in C. What does C do for t

15、he programmer, and what does the programmer need to do explicitly? C 语言常用的内存管理函数有以下三个:语言常用的内存管理函数有以下三个: 1. 分配内存空间函数分配内存空间函数 malloc 调用形式:调用形式: (类型说明符类型说明符*)malloc(size) 功能:在内存的动态存储区中分配一块长度为功能:在内存的动态存储区中分配一块长度为“size“字节的连续区域。函数的返回值为字节的连续区域。函数的返回值为 该区域的首地址。该区域的首地址。 “类型说明符类型说明符”表示把该区域用于何种数据类型。表示把该区域用于何种数

16、据类型。 (类型说明符类型说明符*)表示把返回值强制转换为该类型指针。表示把返回值强制转换为该类型指针。 “size”是一个无符号数。是一个无符号数。 2. 分配内存空间函数分配内存空间函数 calloc calloc 也用于分配内存空间。也用于分配内存空间。 调用形式:调用形式: (类型说明符类型说明符*)calloc(n,size) 功能:在内存动态存储区中分配功能:在内存动态存储区中分配 n 块长度为块长度为“size”字节的连续区域。函数的返回值为该字节的连续区域。函数的返回值为该 区域的首地址。区域的首地址。The Questions for Developing ApplicantsJiuzhouanhua Confidential 4(类型说明符类型说明符*)用于强制类型转换

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号