C++面试题

当前位置: 面试问题网 > C++面试题 > c语言常见笔试题总结

c语言常见笔试题总结

【1 使用宏】
   1.1
   #ifdef NDEBUG
   #define TRACE(S) S
   #else
   #define TRACE(S) printf(“%s; ”, #S); S
   #endif
   问:以上TRACE()宏的作用是什么?
   1.2 #error的作用?
   1.3 定义一个宏,求出给定数组中的元素的个数
   #define NELEMENTS(array) ??
   1.4 定义一个宏,求出给定结构中给定成员的偏移量
   #define OFFSET(structure, member) ??
  
   【2 数据声明和定义】
   给定以下类型的变量a的定义式:
   a) An integer
   b) A pointer to an integer
   c) A pointer to a pointer to an integer
   d) An array of 10 integers
   e) An array of 10 pointers to integers
   f) A pointer to an array of 10 integers
   g) A pointer to a function that takes an integer as an argument and returns an integer
   h) An array of ten pointers to functions that take an integer argument and return an integer
   【3 复杂类型(1)】
   有如下表达式:
  
   char (*(*x())[])();
   请用文字描述x是什么。
  
   【4 复杂类型(2)】
   jmp_buf的定义:
   typedef struct _jmp_buf
   {
   REG_SET reg;
   int extra[3];
   } jmp_buf[1];
   setjmp函数的原型:
   extern int setjmp (jmp_buf __env);
   问:调用setjmp时传递__env的内容,还是传递指针?
  
   【5 头文件】
   问:为什么标准头文件都有类似以下的结构?
   #ifndef __INCvxWorksh
   #define __INCvxWorksh
   #ifdef __cplusplus
   extern “C” {
   #endif
   /*…*/
   #ifdef __cplusplus
   }
   #endif
   #endif /* __INCvxWorksh */
   【6 static关键字】
   请说出static关键字的3种用处:
   (1)用于全局变量;
   (2)用于局部变量;
   (3)用于函数。
   /* file.c */
   static int a;
   int b;
   static int fn()
   {
   static int x;
   int y;
   }
  
   【7 const关键字】
   7.1 const关键字的意义是什么?
   7.2 解释以下的变量定义:
   const int a1;
   int const a2;
   const int *a3;
   int * const a4;
   int const * const a5;
   【8 volatile关键字】
   8.1 volatile意义?例如
   volatile int *p;
   8.2 volatile能和const一起使用吗?例如
   volatile const int *p;
   【9 sizeof()】
   有以下定义:
   char *pmsg = “A”;
   char msg[] = “A”;
   char ch = ‘A’;
   问:
   sizeof(pmsg) = ?
   sizeof(msg) = ?
   sizeof(“A”) = ?
   sizeof(ch) = ?
   sizeof(‘A’) = ? (在C++中等于多少?)
   void f(char param[100])
   {
   // sizeof(param) = ?
   }
   【10 字符串】
   有以下代码
   char *pmsg = “hello, world!”;
   strcpy(pmsg, “hi, there.”);
   试评论该代码。
  
   【11 混合运算】
   有以下代码:
   void foo()
   {
   unsigned int a = 6;
   int b = -20;
   (a+b > 6) ? puts(“> 6″) : puts(” < = 6″);
   }
   请问调用foo()的输出?
   【12 内存访问】
   有以下代码:
   void fn()
   {
   int a[100];
   int *p;
   p = (int *)((unsigned int)a + 1);
   printf(“p=0x%x ”, *p);
   }
   试评论以上代码。
   【13 C库函数】
   请说明以下函数的意义:
   void perror(const char *__s);
   fdprintf(int, const char *, …);
   isspace(), isxdigit(), strerr(), sprintf()

【c语言常见笔试题总结】相关文章

1. c语言常见笔试题总结

2. 软件测试常见笔试题

3. .NET常见笔试题集

4. Android笔试题总结

5. Struts,Spring,Hibernate面试题总结

6. 一家外企的面试题目(C/C++面试题,C语言面试题)

7. C语言笔试题回忆

8. C语言基础笔试题

9. C语言笔试题

10. 外企C语言笔试题

本文来源:https://www.mianshiwenti.com/a13242.html

点击展开全部

《c语言常见笔试题总结》

将本文的Word文档下载到电脑,方便收藏和打印

推荐程度:

进入下载页面
上一篇:C语言面试题 下一篇:C语言50道问题

﹝c语言常见笔试题总结﹞相关内容

「c语言常见笔试题总结」相关专题

其它栏目

也许您还喜欢