两段代码共存于一个文件,编译原理及实现技术时有选择的编译原理及实现技术其中的一部分,请问如何实现

欢迎来到约聘网!
您当前的位置: >
知名企业招聘软件工程师的C语言笔试题和面试题答案
《知名企业招聘软件工程师的C语言笔试题和面试题答案》是由约聘网()为你整理收集:
  C语言笔试题(1)   第1题: 完成文件的拷贝,srcFileName为源文件名,dstFileName 为目标文件名。   int copy_file(const char *srcFileName, const char *dstFileName);   第2题: 设有文件a.file, 请写出程序在文件的开头插入 字符串 & file start: &;   第3题:   已知   union un {      char a[3];   };   求sizeof(union un)?   第4题:   请描述以下代码中的p,   char(*(*p())[])(int, void (*)())   第5题:   已知   union un {      char a[3];   };   求sizeof(union un)?   C语言笔试题(2)   第1题: 已知 char a[] = &abc\0efg&, 求sizeof(a) 和 strlen(a);   第2题: 1, 写程序完成M进制转N进制,M、N为1~10之间。   mton(const char* mNum, int m, char *nNum, int n);   第3题: 完成16进制字符串相加,返回相加后的16进制字符串。   char* sum_str16(const char* str1, const char* str2);   第4题: 完成strlen函数,要求除参数外,不能使用变量和库函数。   第5题: 用链表完成结点的添加、删除操作。   typedef struct student   {   int studentNum,   struct student *   }STU;   C语言笔试题(3)   第1题: 两个字符串,s,t;把t字符串插入到s字符串中,s字符串有足够的空间存放t字符串   第2题: printf (&%d%d\n&,++n, power(2,n)); 其中power(2,n)为实现一定功能的函数 如 2^n 。请问这种表示方法有什么潜在的问题?   第3题: printf (s);   请问这样的语句有没有问题?(s为一指向有效字符串的指针)   第4题: 两段代码共存于一个文件,编译时有选择的编译其中的一部分,请问如何实现?   第5题: 数据结构指针传给函数,函数能访问数据单元,但不能修改实际的内容,如何实现?   C语言笔试题(4)   第1题: 两个字符串,s,t;把t字符串插入到s字符串中,s字符串有足够的空间存放t字符串   第2题: char *a = &hello&;   char *b = &hello&;   if(a= =b)   printf(&YES&);   else   printf(&NO&);   第3题: 简述stack frame 的含义   第4题: printf (&%d%d\n&,++n, power(2,n)); 其中power(2,n)为实现一定功能的函数 如 2^n 。请问这种表示方法有什么潜在的问题?   第5题: printf (s);   请问这样的语句有没有问题?(s为一指向有效字符串的指针)   C语言笔试题(5)   第1题: 在头文件中定义静态变量,可能产生什么问题?   第2题: malloc()与 calloc()的区别?   第3题: 寄存器变量可不可以访问其地址?可否是全局变量?在什么场合使用寄存器变量?   第4题: &\n& &\n& 的区别?   第5题: #include &stdio.h&   int main()   {      int *p;   p = &a;   *p = 0&500;   a = (int )(*(&p));   a = (int )(&(*p));   if(a == (int)p)   printf(&equal !\n&);   else   printf(&not equal !\n&);   }   请问本程序的输出显示是什么?
本次“2015年首届网络推广?营销行业跨年盛
销售属于大众情人,门槛也低,所以找工作相对容易。..c语言常见笔试题_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
c语言常见笔试题
上传于||文档简介
&&c​语​言​常​见​笔​试​题​,​很​全
大小:40.90KB
登录百度文库,专享文档复制特权,财富值每天免费拿!
你可能喜欢来自知名企业招聘软件工程师的C语言笔试题,共5个大类,25题,大家不妨可以自我测试一下,看看你是否
来自知名企业招聘软件工程师的C语言笔试题,共5个大类,25题,大家不妨可以自我测试一下,看看你是否
C语言笔试题(1)
  第1题:
完成文件的拷贝,srcFileName为源文件名,dstFileName 为目标文件名。
  int copy_file(const char *srcFileName, const char *dstFileName);
  第2题:
设有文件a.file, 请写出程序在文件的开头插入 字符串 “
file start: ”;
  第3题:
  union un {
  char a[3];
  求sizeof(union un)?
  第4题:
  请描述以下代码中的p,
  char(*(*p())[])(int, void (*)())
  第5题:
  union un {
  char a[3];
  求sizeof(union un)?
  C语言笔试题(2)
  第1题:
已知 char a[] = “abc\0efg”, 求sizeof(a) 和 strlen(a);
  第2题:
1, 写程序完成M进制转N进制,M、N为1~10之间。
  mton(const char* mNum, int m, char *nNum, int n);
  第3题:
完成16进制字符串相加,返回相加后的16进制字符串。
  char* sum_str16(const char* str1, const char* str2);
  第4题:
完成strlen函数,要求除参数外,不能使用变量和库函数。
  第5题:
用链表完成结点的添加、删除操作。
  typedef struct student
  int studentNum,
  struct student *
  C语言笔试题(3)
  第1题:
两个字符串,s,t;把t字符串插入到s字符串中,s字符串有足够的空间存放t字符串
  第2题:
printf (“%d%d\n”,++n, power(2,n)); 其中power(2,n)为实现一定功能的函数 如 2^n 。请问这种表示方法有什么潜在的问题?
  第3题:
printf (s);
  请问这样的语句有没有问题?(s为一指向有效字符串的指针)
  第4题:
两段代码共存于一个文件,编译时有选择的编译其中的一部分,请问如何实现?
  第5题:
数据结构指针传给函数,函数能访问数据单元,但不能修改实际的内容,如何实现?
  C语言笔试题(4)
  第1题:
两个字符串,s,t;把t字符串插入到s字符串中,s字符串有足够的空间存放t字符串
  第2题:
char *a = “hello”;
  char *b = “hello”;
  if(a= =b)
  printf(“YES”);
  printf(“NO”);
  第3题:
简述stack frame 的含义
  第4题:
printf (“%d%d\n”,++n, power(2,n)); 其中power(2,n)为实现一定功能的函数 如 2^n 。请问这种表示方法有什么潜在的问题?
  第5题:
printf (s);
  请问这样的语句有没有问题?(s为一指向有效字符串的指针)
  C语言笔试题(5)
  第1题:
在头文件中定义静态变量,可能产生什么问题?
  第2题:
malloc()与 calloc()的区别?
  第3题:
寄存器变量可不可以访问其地址?可否是全局变量?在什么场合使用寄存器变量?
  第4题:
“\n” ‘\n’ 的区别?
  第5题:
#include “stdio.h”
  int main()
  int *p;
  p = &a;
  *p = 0×500;
  a = (int )(*(&p));
  a = (int )(&(*p));
  if(a == (int)p)
  printf(“equal !\n”);
  printf(“not equal !\n”);
请问本程序的输出显示是什么?
&&&主编推荐
H3C认证Java认证Oracle认证
基础英语软考英语项目管理英语职场英语
.NETPowerBuilderWeb开发游戏开发Perl
二级模拟试题一级模拟试题一级考试经验四级考试资料
港口与航道工程建设工程法规及相关知识建设工程经济考试大纲矿业工程市政公用工程通信与广电工程
操作系统汇编语言计算机系统结构人工智能数据库系统微机与接口
软件测试软件外包系统分析与建模敏捷开发
法律法规历年试题软考英语网络管理员系统架构设计师信息系统监理师
高级通信工程师考试大纲设备环境综合能力
路由技术网络存储无线网络网络设备
CPMP考试prince2认证项目范围管理项目配置管理项目管理案例项目经理项目干系人管理
Powerpoint教程WPS教程
电子政务客户关系管理首席信息官办公自动化大数据
职称考试题目
就业指导签约违约职业测评
招生信息考研政治
网络安全安全设置工具使用手机安全
3DMax教程Flash教程CorelDraw教程Director教程
Dreamwaver教程HTML教程网站策划网站运营Frontpage教程
生物识别传感器物联网传输层物联网前沿技术物联网案例分析
互联网电信IT业界IT生活
Java核心技术J2ME教程
Linux系统管理Linux编程Linux安全AIX教程
Windows系统管理Windows教程Windows网络管理Windows故障
组织运营财务资本
视频播放文件压缩杀毒软件输入法微博
数据库开发Sybase数据库Informix数据库
&&&&&&&&&&&&&&&
希赛网 版权所有 & &&1:static的最主要功能是隐藏(因为所有未加static前缀的全局变量和函数都具有全局可见性),其次因为static变量存放在静态存储区,所以它具备持久性和默认值0
static全局变量与普通的全局变量有什么区别?两者在存储方式上并无不同。这两者的区别虽在于非静态全局变量的作用域是整个源程序, 当一个源程序由多个源文件组成时,非静态的全局变量在各个源文件中都是有效的。 而静态全局变量则限制了其作用域, 即只在定义该变量的源文件内有效, 在同一源程序的其它源文件中不能使用它。
2.this指针作用:指向本身类实例的一个指针,this只能在成员函数中使用。全局函数、静态函数都不能使用this。可用来区分成员变量和参数同名问题
3.C++中 ,类和结构是只有一个区别的:类的成员默认是private,而结构是public。
结构体和联合体的区别:联合体用途:使几个不同类型的变量共占一段内存(相互覆盖)
& & &&结构体用途:把不同类型的数据组合成一个整体---自定义数据类型
Struct与Union主要有以下区别:
1. struct和union都是由多个不同的数据类型成员组成, 但在任何同一时刻, union中只存放了一个被选中的成员, 而struct的所有成员都存在。在struct中,各成员都占有自己的内存空间,它们是同时存在的。一个struct变量的总长度等于所有成员长度之和。在Union中,所有成员不能同时占用它的内存空间,它们不能同时存在。Union变量的长度等于最长的成员的长度。
2. 对于union的不同成员赋值, 将会对其它成员重写, 原来成员的值就不存在了, 而对于struct的不同成员赋值是互不影响的。
一个由 c/c++编译过的程序占用的内存分为一下几个部分
    (1)、栈区 stack :存放函数的参数值,局部变量的值等。
    (2)、堆区 heap :由new分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个new就要对应一个delete。
    (3)、全局区(静态去)static : 全局变量和静态变量的存储是放在一块的。初始化的全局变量和静态变量在一块区域,未初始化的全局变量和静态变量又放在相邻的另一块区域中。程序结束后由系统释放。
4)、常量区 &: 常量字符串放在这里。
    (5)自由存储区,就是那些由malloc等分配的内存块,他和堆是十分相似的,不过它是用free来结束自己的生命的。
程序的局部变量存在于(堆栈)中,全局变量存在于(静态区 )中,动态申请数据存在于( 堆)中。
malloc/free和new/delete的区别?
new 是c++中的操作符,malloc是c 中的一个函数
对于非内部数据类型(自定义)的对象而言,光用maloc/free无法满足动态对象的要求。对象在创建的同时要自动执行构造函数,对象在消亡之前要自动执行析构函数。而malloc则只分配内存,不会调用构造函数,同样free也不会调用析构函数;new 会调用类的构造函数,同理delete会调用类的析构函数,
new/delete的功能完全覆盖了malloc/free,C++不把malloc/free淘汰出局,是因为C++程序经常要调用C函数,而C程序只能用malloc/free管理动态内存。
5.&引用与指针有什么区别?指针是一个实体,而引用只是变量的别名。
1) 引用必须被初始化,指针不必。
2) 引用初始化以后不能被改变,指针可以改变所指的对象。
2) 不存在指向空值的引用,但是存在指向空值的指针。
6.什么是平衡二叉树?
左右子树都是平衡二叉树 且左右子树的深度差值的绝对值不大于1
7.堆栈溢出一般是由什么原因导致的?没有回收垃圾资源
8.Internet物理地址和IP地址转换采用什么协议?ARP (Address Resolution Protocol)
9.进程和线程的差别。
(1)调度:线程作为调度和分配的基本单位,进程作为拥有资源的基本单位
(2)并发性:不仅进程之间可以并发执行,同一个进程的多个线程之间也可并发执行
(3)拥有资源:进程是拥有资源的一个独立单位,线程不拥有系统资源,但可以访问隶属于进程的资源.&
(4)系统开销:在创建或撤消进程时,由于系统都要为之分配和回收资源,导致系统的开销明显大于创建或撤消线程时的开销。
10.&什么是可重入函数?C语言中写可重入函数,应注意的事项?
答案:可重入函数是指能够被多个线程“同时”调用的函数,并且能保证函数结果的正确性的函数。在编写可重入函数时通常要注意如下的一些问题:
尽量不要使用全局变量,静态变量,如果使用了应该注意对变量访问的互斥。通常可以根据具体的情况采用:信号量机制,关调度机制,关中断机制等方式来保证函数的可重入性。
11.两段代码共存于一个文件,编译时有选择的编译其中的一部分,请问如何实现?
答案:有两种简单的办法可以实现:在源码中使用条件编译语句,然后在程序文件中定义宏的形式来选择需要的编译代码。
在源码中使用条件编译语句,然后在编译命令的命令中加入宏定义命令来实现选择编译。
12.malloc()与 calloc()的区别?
& & 1)参数上的区别
malloc (size_t size);
calloc (size_t n , size_t size);
malloc分配一块size大小的内存块,而calloc分配一个n*size大小的内存块
& & 2)返回内存块的状态不同
malloc分配的内存块没有被清零,而calloc分配的内存块是清了零的。
13.包含预定义头文件& & & &和& &的区别?
答案:& &只在指定的目录里寻找被包含文件;& &先在当前目录下查找 ,再在指定目录下查找;通常&&方式用于系统的头文件,而一般用户的头文件用& &的方式。
14.野指针if语句对它不起作用。“野指针”的成因主要有两种:
(1)指针变量没有被初始化。指针变量在创建的同时应当被初始化,要么将指针设置为NULL,要么让它指向合法的内存.
char *p = NULL; & & &char *str = (char *) malloc(100);
(2)指针p被free或者delete之后,没有置为NULL
15.C++中的Const用法
答:指针常量:char * const p(指向常量的指针); & &// 指针不可改,也就说指针只能指向一个地址,不能更改为其他地址,修饰指针本身
常量指针是这样声明的:(指针常量指向变量)
1)const int *p;&2)int const *p;&// 所指内容不可改,也就是说*p是常量字符串,修饰指针所指向的变量
16.const常量与define宏定义的区别
答:(1) 编译器处理方式不同。define宏是在预处理阶段展开,生命周期止于编译期。
#define常量存在于程序的代码段。const常量是编译运行阶段使用,const常量存在于程序的数据段.
(2)类型和安全检查不同。define宏没有类型,不做任何类型检查,仅仅是展开。const常量有具体的类型,在编译阶段会执行类型检查。
(3) 存储方式不同。define宏不会分配内存。const常量会在内存中分配(可以是堆中也可以是栈中)
#define命令是C语言中的一个宏定义命令,它用来将一个标识符定义为一个字符串,该标识符被称为宏名,被定义的字符串称为替换文本。
17.i++ 相比 ++i 哪个更高效?为什么?
1)++i 比 i++效率高。
(2)i++要多调用一次类的构造和析够函数
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:5391次
排名:千里之外
原创:30篇
转载:11篇
(2)(1)(4)(10)(4)(2)(3)(3)(3)(8)(1)c语言专业测试题_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
c语言专业测试题
上传于||暂无简介
阅读已结束,如果下载本文需要使用
想免费下载本文?
下载文档到电脑,查找使用更方便
还剩1页未读,继续阅读
你可能喜欢

我要回帖

更多关于 简单编译器的实现 的文章

 

随机推荐