c语言题目集合
来源:互联网 发布:云计算服务器价格 编辑:程序博客网 时间:2024/05/13 20:27
转自:http://blog.csdn.NET/oqqhutu12345678/article/details/69524383
1. 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题)
#define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL
2. 写一个“标准”宏MIN,这个宏输入两个参数并返回较小的一个。
#define MIN(A,B) ((A) <= (B) (A) : (B))
注意大小写的问题、括号的问题
4. 嵌入式系统中经常要用到无限循环,你怎么样用C编写死循环呢?
这个问题用几个解决方案。我首选的方案是:
while(1)
{
}
一些程序员更喜欢如下方案:
for(;;)
{
}
第三个方案是用 goto
Loop:
...
goto Loop;
5. 用变量a给出下面的定义
a) 一个整型数(An integer) int a
b) 一个指向整型数的指针(A pointer to an integer) int* ptr
c) 一个指向指针的的指针,它指向的指针是指向一个整型数(A pointer to a pointer to an integer) int** ptr
d) 一个有10个整型数的数组(An array of 10 integers) int a[10]
e) 一个有10个指针的数组,该指针是指向一个整型数的(An array of 10 pointers to integers)int* p[10]
f) 一个指向有10个整型数数组的指针(A pointer to an array of 10 integers) in (*p)[10]
g) 一个指向函数的指针,该函数有一个整型参数并返回一个整型数(A pointer to a function that takes an integer as an argument and returns an integer) int (*p)(int)
h) 一个有10个指针的数组,该指针指向一个函数,该函数有一个整型参数并返回一个整型数( An array of ten pointers to functions that take an integer argument and return an integer )int (*p[10])(int)
答案是:
a) int a; // An integer
b) int *a; // A pointer to an integer
c) int **a; // A pointer to a pointer to an integer
d) int a[10]; // An array of 10 integers
e) int *a[10]; // An array of 10 pointers to integers
f) int (*a)[10]; // A pointer to an array of 10 integers
g) int (*a)(int); // A pointer to a function a that takes an integer argument and returns an integer
h) int (*a[10])(int); // An array of 10 pointers to functions that take an integer argument and return an integer
6. 关键字static的作用是什么?
这个简单的问题很少有人能回答完全。在C语言中,关键字static有三个明显的作用:
1). 在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。
2). 在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。
3). 在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。那就是,这个函数被限制在声明它的模块的本地范围内使用。
修饰变量:在函数内,表示此变量在调用的过程中它的值维持不变;
在函数外,表示静态变量,可以被本文件使用,但不能被其他文件使用。
修饰函数:表示是静态函数,只能被该文件中其他函数调用;
7.关键字const是什么含意?
const int a; 表示a是一个常整数
int const a; 表示a是一个常整数
const int *a; 表示a是一个指向常整数的指针
int * const a; 表示a是一个指向整数类型的常指针
int const * a const;表示a是一个指向常整数类型的常指针
前两个的作用是一样,a是一个常整型数。第三个意味着a是一个指向常整型数的指针(也就是,整型数是不可修改的,但指针可以)。第四个意思a是一个指向整型数的常指针(也就是说,指针指向的整型数是可以修改的,但指针是不可修改的)。最后一个意味着a是一个指向常整型数的常指针(也就是说,指针指向的整型数是不可修改的,同时指针也是不可修改的)。如果应试者能正确回答这些问题,那么他就给我留下了一个好印象。
8. 关键字volatile有什么含意 并给出三个不同的例子。
一个定义为volatile的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去假设这个变量的值了。精确地说就是,优化器在用到这个变量时必须每次都小心地重新读取这个变量的值,而不是使用保存在寄存器里的备份。下面是volatile变量的几个例子:
1). 并行设备的硬件寄存器(如:状态寄存器)
2). 一个中断服务子程序中会访问到的非自动变量(Non-automatic variables)
3). 多线程应用中被几个任务共享的变量
表示该变量是易变的,编译器不应该去优化该值,即编译器不会去假设这个变量的值。它必须去内存中重新获取该值,而不是用寄存器中保存的值。
(1)并行设备的硬件寄存器
(2)一个服务子程序中访问到的非自动变量。
(3)多线程应用中被几个任务共享的变量。
- c语言题目集合
- c语言题目集合
- c语言题目集合
- c语言面试题目
- 一道C语言题目
- C语言笔试题目
- c语言题目
- c语言100题目
- C语言笔试题目
- C语言恶心题目
- C语言面试题目
- C语言趣味题目
- C语言笔试题目
- C语言题目
- 部分C语言题目
- C语言相关题目
- C 语言经典题目
- 一些C语言题目
- 我用Xamarin开发android应用,应用在真机上一打开就退出了
- servlet介绍
- JavaScript学习-DOM2和DOM3的变化
- 数据库系统概论学习攻略(第四期)
- bootstrapTable mergeCells
- c语言题目集合
- Java Socket 编程那些事(1)
- 短信猫实现短信验证小例子
- SpringBean的生命周期
- Hangman Judge- UVA 489
- 2017华东师范大学网络赛—F
- 领域驱动设计入门(一)【在线书店--简介】
- 排序算法
- 新手速学git——简单的上传代码文件