C面试题(整理,更新中...)
1.用预处理指令#define声明一个常数,表明1年有多少秒(闰年忽略)
#define SECONDS_PER_YEAR (60*60*24*365)UL
2.写一个“标准”宏 MIN,输入两个参数并返回较小的一个
#define MIN(A,B) ( ( (A)<=(B) )?(A):(B) )
3.预处理标识#error的目的是什么?
停止编译并显示出错信息
4.用C语言编写一个死循环 ?
while(1)
{
}
5. 用变量a给出下面的定义
a) 一个整型数(An integer)---- int a;
b) 一个指向整型数的指针(A pointer to an integer-----int *a;
c) 一个指向指针的的指针,它指向的指针是指向一个整型数(A pointer to a pointer
to an integer)-------int **a;
d) 一个有10个整型数的数组(An array of 10 integers)----int a[10];
e) 一个有10个指针的数组,该指针是指向一个整型数的(An array of 10 pointers to
integers)------------int *a[10];
f) 一个指向有10个整型数数组的指针(A pointer to an array of 10 integers)---int (*a)[10]
g) 一个指向函数的指针,该函数有一个整型参数并返回一个整型数(A pointer to a fu
nction that takes an integer as an argument and returns an integer)------int (*a)(int)
h) 一个有10个指针的数组,该指针指向一个函数,该函数有一个整型参数并返回一个整型
数( An array of ten pointers to functions that take an integer argument and r
eturn an integer )--------int (*a[10])(int)
6.关键字static的作用是什么?
1)在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。(静态局部变量?)
2) 在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。(静态外部全局变量?)
3) 在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。那就是,这个函数被限制在声明它的模块的本地范围内使用。(静态外部函数?)
还有一个解释:
1.修释局部变量时,表示它为静态局部变量,生命周期同程序运行时间一样,只能被初始化一次
2.用于全局变量时,表示静态全局变量,变量可见范围在本文件中可见,其它不可见
3.用于函数内时,变量可见范围为函数内,其它不可见(觉得包括在第一个中)
总结:限制了变量的作用域
 
相关文档:
static char *file2memory(FILE *file, long *size)
{
char buffer[1024];
char *string=NULL;
char *newstring=NULL;
long len=0;
long stringlen=0;
if(file) {
while((len = fread(buffer, 1, sizeof(buffer), f ......
(一)
对文件操作时有时获得文件的大小时必要的.下面是获得其大小小的较简单方法.
#include<io.h> //C语言头文件
#include<iostream> //for system();
using namespace std;
int main()
{
int handle;
handle = open("test.txt", 0x0100); //open file for rea ......
用C语言写的一个简单的字节型查询器,主要功能是实现对 signed int float unsigned int double s ......
头文件regex.h中定义了c/c++使用正则表达式的函数: regcomp(), regexec(), regerror(), and regfree() 。regcomp()编译正则表达式,regexec()匹配正则表达式, regfree()释放正则表达式,regerror()报告正则表达式错误信息。使用方法如下代码所示:
static string merge_path(const string bas ......
C和C++语言学习总结(资料来自 <高质量C++/C 编程指南> 林锐博士 2001 年7 月24)
知识结构:
1、if,for,switch,goto
2、#define,const
3、文件拷贝的代码,动态生成内存,复合表达式,strcpy,memcpy,sizeof
4、函数参数传递,内存分配方式,内存错误表现,malloc与new区别
5、类重载、隐藏与覆盖区别,extern问题, ......