2023年c语言经典笔试题【完整版】

| 来源:网友投稿

引导语:C语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点。以下是小编整理的c语言经典笔试题,欢迎参考阅读!1.用预处理指令#define声明一个常数,用以;#def下面是小编为大家整理的2023年c语言经典笔试题【完整版】,供大家参考。

2023年c语言经典笔试题【完整版】

  引导语:C语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点。以下是小编整理的c语言经典笔试题,欢迎参考阅读!

  1.用预处理指令#define声明一个常数,用以;#defineSECONDS_PER_YEAR;2.写一个“标准”宏MIN,这个宏输入两个参数并;#defineMINA,BA<=;4.嵌入式系统中经常要用到无限循环,你怎么样用C;这个问题用几个解决方案;while1;一些程序员更喜欢如下方案:;for;;;第三个方案是用goto;

  1. 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题)

  #define SECONDS_PER_YEAR 60 * 60 * 24 * 365UL

  2. 写一个“标准”宏MIN,这个宏输入两个参数并返回较小的一个。

  #define MINA,B A <= B A : B

  4. 嵌入式系统中经常要用到无限循环,你怎么样用C编写死循环呢?

  这个问题用几个解决方案。我首选的方案是:

  while1

  一些程序员更喜欢如下方案:

  for;;

  第三个方案是用 goto

  Loop:

  ...

  goto Loop;

  5. 用变量a给出下面的定义

  a 一个整型数(An integer)

  b 一个指向整型数的指针(A pointer to an integer)

  c 一个指向指针的的指针,它指向的指针是指向一个整型数(A pointer to a pointer to an integer) d 一个有10个整型数的数组(An array of 10 integers)

  e 一个有10个指针的数组,该指针是指向一个整型数的(An array of 10 pointers to integers)

  f 一个指向有10个整型数数组的指针(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 一个有10个指针的数组,该指针指向一个函数,该函数有一个整型参数并返回一个整型数( An array of ten pointers to functions that take an integer argument and return an integer )

  答案是:

  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 *aint; // 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;

  int const a;

  const int *a;

  int * const a;

  int const * a const;

  前两个的作用是一样,a是一个常整型数。第三个意味着a是一个指向常整型数的指针(也就是,整型数是不可修改的,但指针可以)。第四个意思a是一个指向整型数的常指针(也就是说,指针指向的整型数是可以修改的,但指针是不可修改的)。最后一个意味着a是一个指向常整型数的常指针(也就是说,指针指向的整型数是不可修改的,同时指针也是不可修改的)。如果应试者能正确回答这些问题,那么他就给我留下了一个好印象。

  8. 关键字volatile有什么含意 并给出三个不同的例子。

  一个定义为volatile的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去假设这个变量的值了。精确地说就是,优化器在用到这个变量时必须每次都小心地重新读取这个变量的值,而不是使用保存在寄存器里的备份。下面是volatile变量的几个例子:

  1. 并行设备的硬件寄存器(如:状态寄存器)

  2. 一个中断服务子程序中会访问到的非自动变量Non-automatic variables

  3. 多线程应用中被几个任务共享的变量

  1. 一个参数既可以是const还可以是volatile吗?解释为什么。

  2. 一个指针可以是volatile 吗?解释为什么。

  3. 下面的函数有什么错误:

  int squarevolatile int *ptr

  return *ptr * *ptr;

  Ptr内容可能被修改,无法保证两次取得同一个值,应该先取出值放入一个变量中,然后通过这个变量来计算

  9. 嵌入式系统总是要用户对变量或寄存器进行位操作。给定一个整型变量a,写两段代码,第一个设置a的bit 3,第二个清除a 的bit 3。在以上两个操作中,要保持其它位不变。

  #define BIT3 0x1<<3

  static int a;

  void set_bit3void

  void clear_bit3void

  a &= ~BIT3;

  10. 嵌入式系统经常具有要求程序员去访问某特定的内存位置的特点。在某工程中,要求设置一绝对地址为0x67a9的整型变量的值为0xaa66。编译器是一个纯粹的ANSI编译器。写代码去完成这一任务。 Int *p;

  P=int*0x67a9;

  *p=0xaa66;

  11. 中断是嵌入式系统中重要的组成部分,这导致了很多编译开发商提供一种扩展—让标准C支持中断。具代表事实是,产生了一个新的关键字__interrupt。下面的代码就使用了__interrupt关键字去定义了一个中断服务子程序ISR,请评论一下这段代码的。

  __interrupt double compute_area double radius

  double area = PI * radius * radius;

  printf" Area = %f", area;

  return area;

  12 . 下面的代码输出是什么,为什么?

  void foovoid

  unsigned int a = 6;

  int b = -20;

  a+b > 6 puts"> 6" : puts"<= 6";

  >6

  13. 评价下面的代码片断:

  unsigned int zero = 0;

  unsigned int compzero = 0xFFFF;

  /*1's complement of zero */

  14. 尽管不像非嵌入式计算机那么常见,嵌入式系统还是有从堆(heap)中动态分配内存的过程的。那么嵌入式系统中,动态分配内存可能发生的问题是什么?

  主要有三种类型:内存泄露、内存碎片和内存崩溃 内存崩溃是内存使用最严重的结果,主要原因有数组访问越界、写已经释放的内存、指针计算错误、访问堆栈地址越界等等。碎片收集的问题,变量的持行时间等等

  下面的代码片段的输出是什么,为什么?

  if ptr = char *malloc0 == NULL

  puts"Got a null pointer";

  else

  puts"Got a valid pointer";

  该代码的输出是“Got a valid pointer”。

  15. Typedef 在C语言中频繁用以声明一个已经存在的数据类型的同义字。也可以用预处理器做类似的事。例如,思考一下下面的例子:

  #define dPS struct s *

  typedef struct s * tPS;

  答案是:typedef更好。思考下面的例子:

  dPS p1,p2;

  tPS p3,p4;

  第一个扩展为

  struct s * p1, p2;

  上面的代码定义p1为一个指向结构的指,p2为一个实际的结构,这也许不是你想要的。第二个例子正确地定义了p3 和p4 两个指针。

  16. C语言同意一些令人震惊的结构,下面的结构是合法的吗,如果是它做些什么?

  int a = 5, b = 7, c;

  c = a+++b;

  上面的代码被处理成:

  c = a++ + b;

  因此, 这段代码持行后a = 6, b = 7, c = 12。

  17.找错题

  试题1:

  void test1

  char string[10];

  char* str1 = "0123456789";

  strcpy string, str1 ;

  试题2:

  void test2

  char string[10], str1[10];

  int i;

  fori=0; i<10; i++

  str1[i] = 'a';

  strcpy string, str1 ;

  试题3:

  void test3char* str1

  char string[10];

  if strlen str1 <= 10

  strcpy string, str1 ;

  解答:

  试题1字符串str1需要11个字节才能存放下(包括末尾的?\0?),而string只有10个字节的空间,strcpy会导致数组越界;

  对试题2,如果面试者指出字符数组str1不能在数组内结束可以给3分;如果面试者指出strcpystring, str1调用使得从str1内存起复制到string内存起所复制的字节数具有不确定性可以给7分,在此基础上指出库函数strcpy工作方式的给10分;

  对试题3,ifstrlenstr1 <= 10应改为ifstrlenstr1 < 10,因为strlen的结果未统计?\0?所占用的1个字节。

  18.写出字符串strcpy的函数实现过程式

  void strcpy char *strdest, char *strsrc

  while *strdest++ = * strsrc++ != ?\0? ;

  4分

  void strcpy char *strdest, const char *strsrc

  //将源字符串加const,表明其为输入参数,加2分

  while *strdest++ = * strsrc++ != ?\0? ;

  7分

推荐访问:笔试 语言 经典 c语言经典笔试题 c语言经典笔试题 c语言常见笔试题 c语言笔试题目及答案 100条经典c语言笔试题目

【2023年c语言经典笔试题【完整版】】相关推荐

工作总结最新推荐

NEW
  • 牢牢端稳中国人的饭碗作文锦集6篇牢牢端稳中国人的饭碗作文锦集篇1一天早上,小芬正在津津有味地吃着早饭。她三下五除二将米粥扒完,又一口气吃了三个热气腾腾的馒头

  • 大学趣味运动会活动策划书11篇大学趣味运动会活动策划书篇1在学校运动会开始前夕,我们先搞一次班级趣味运动会,在为运动会热身的同时,让同学们体验到运动的乐趣,

  • 弘扬家风家训的作文600字范文合集7篇弘扬家风家训的作文600字范文合集篇1在我们家,家风是艰苦朴素,这是一个家庭必不可少的成分。艰苦朴素的家风意味着吃苦耐

  • 传承红色基因征文作文锦集8篇传承红色基因征文作文锦集篇1 传承红色基因征文作文锦集篇2真正的共产党人血脉中流淌着红色基因。深蕴着忠诚坚定、不畏牺牲、艰苦奋斗

  • 铸牢中华民族共同体意识工作调研报告大全范文6篇铸牢中华民族共同体意识工作调研报告大全范文篇1要紧扣“中华民族一家亲,同心共筑中国梦”总目标,秉持“重在平时、

  • 2023年高中班主任个人计划范文锦集4篇2023年高中班主任个人计划范文锦集篇1一、班级情况分析高一(1)班人数xx人,男生女生各占一半,刚好平衡。中午

  • 班级三好学生讲话稿范文篇3篇班级三好学生讲话稿范文篇篇1亲爱的老师、同学们大家好:现在正值阳春三月,带着春天的气息,怀着激动的心情,我来到这个讲台上。我

  • 幼儿园民非年检下年度工作计划精选篇4篇幼儿园民非年检下年度工作计划精选篇篇1一、平安工作:1、执行门接送卡接送制度,请家长按要求在接送孩子时必需拿卡,才

  • 院士工作站年度工作计划与总结9篇院士工作站年度工作计划与总结篇1各位来宾、赵法箴院士,大家上午好!今天,很荣幸能参加京鲁渔业院士工作站工作会议,也很高兴

  • 幼儿园儿童节演讲稿范文优选4篇幼儿园儿童节演讲稿范文优选篇1 幼儿园儿童节演讲稿范文优选篇2各位领导、家长:感谢你们放下繁重的工作和我们的宝贝儿们一起过