您好,欢迎来到五一七教育网。
搜索
您的当前位置:首页程序员笔试题

程序员笔试题

来源:五一七教育网
 程序员笔试题 1。什么是预编译,何时需要预编译: 2。char * const p char const * p const char *p 上述三个有什么区别? 3。char str1[] = \"abc\"; char str2[] = \"abc\"; const char str3[] = \"abc\"; const char str4[] = \"abc\"; const char *str5 = \"abc\"; const char *str6 = \"abc\"; char *str7 = \"abc\"; char *str8 = \"abc\";

cout << ( str1 == str2 ) << endl; cout << ( str3 == str4 ) << endl; cout << ( str5 == str6 ) << endl; cout << ( str7 == str8 ) << endl;

4。 以下代码中的两个sizeof用法有问题吗?[C易]

void UpperCase( char str[] ) // 将 str 中的小写字母转换成大写字母 {

for( size_t i=0; ichar str[] = \"aBcDe\";

cout << \"str字符长度为: \" << sizeof(str)/sizeof(str[0]) << endl;

UpperCase( str ); cout << str << endl;

5。一个32位的机器,该机器的指针是多少位

6。main() {

int a[5]={1,2,3,4,5}; int *ptr=(int *)(&a+1);

printf(\"%d,%d\}

7。请问以下代码有什么问题: int main() { char a; char *str=&a; strcpy(str,\"hello\"); printf(str); return 0; }

8。char* s=\"AAA\"; printf(\"%s\s[0]='B'; printf(\"%s\有什么错?

9。写一个“标准”宏,这个宏输入两个参数并返回较小的一个。 10。嵌入式系统中经常要用到无限循环,你怎么用C编写死循环。 11。关键字static的作用是什么? 12。关键字const有什么含意?

13。关键字volatile有什么含意?并举出三个不同的例子? 14。int (*s[10])(int) 表示的是什么啊? 15。有以下表达式:

int a=248; b=4;int const c=21;const int *d=&a;

int *const e=&b;int const *f const =&a; 请问下列表达式哪些会被编译器禁止?为什么?

16交换两个变量的值,不使用第三个变量。即a=3,b=5,交换之后a=5,b=3;

17.c和c++中的struct有什么不同? 18.#include #include void getmemory(char *p) {

p=(char *) malloc(100); strcpy(p,\"hello world\"); }

int main( ) {

char *str=NULL; getmemory(str); printf(\"%s/n\ free(str); return 0; }

19.char szstr[10];

strcpy(szstr,\"01234567\"); 产生什么结果?为什么?

20.列举几种进程的同步机制,并比较其优缺点。 21.进程之间通信的途径 22.进程死锁的原因 23.死锁的4个必要条件 24.死锁的处理

25. 操作系统中进程调度策略有哪几种? 26.类的静态成员和非静态成员有何区别? 27.纯虚函数如何定义?使用时应注意什么? 28.数组和链表的区别

29.ISO的七层模型是什么?tcp/udp是属于哪一层?tcp/udp有何优缺点?

30:(void *)ptr 和 (*(void**))ptr的结果是否相同?其中ptr为同一个指针 31:int main() { int x=3; printf(\"%d\ return 1;

}

问函数既然不会被其它函数调用,为什么要返回1? 32,要对绝对地址0x100000赋值,我们可以用 (unsigned int*)0x100000 = 1234;

那么要是想让程序跳转到绝对地址是0x100000去执行,应该怎么做? 33,已知一个数组table,用一个宏定义,求出数据的元素个数 34。线程与进程的区别和联系? 线程是否具有相同的堆栈? dll是否有的堆栈?

35。unsigned short A = 10; printf(\"~A = %u\\n\char c=128; printf(\"c=%d\\n\输出多少?并分析过程 (二)

1. -1,2,7,28,,126请问28和126中间那个数是什么?为什么? 2.用两个栈实现一个队列的功能?要求给出算法和思路!

3.在c语言库函数中将一个字符转换成整型的函数是atol()吗,这个函数的原型是什么?

4。对于一个频繁使用的短小函数,在C语言中应用什么实现,在C++中应用什么实现?

5。直接链接两个信令点的一组链路称作什么? 7。软件测试都有那些种类?

8。确定模块的功能和模块的接口是在软件设计的那个队段完成的? 9。enum string { x1, x2, x3=10, x4, x5, }x; 问x;

10。unsigned char *p1; unsigned long *p2;

p1=(unsigned char *)0x801000; p2=(unsigned long *)0x810000; 请问p1+5= ; p2+5= ; 选择题:

1.Ethternet链接到Internet用到以下那个协议? A.HDLC;B.ARP;C.UDP;D.TCP;E.ID 2.属于网络层协议的是: A.TCP;B.IP;C.ICMP;D.X.25 3.Windows消息调度机制是:

A.指令队列;B.指令堆栈;C.消息队列;D.消息堆栈; 四.找错题:

1.请问下面程序有什么错误? int a[60][250][1000],i,j,k; for(k=0;k<=1000;k++) for(j=0;j<250;j++) for(i=0;i<60;i++) a[i][j][k]=0;

2。以下是求一个数的平方的程序,请找出错误: #define SQUARE(a) ((a)*(a)) int a=5; int b; b=SQUARE(a++);

3。typedef unsigned char BYTE

int examply_fun(BYTE gt_len; BYTE *gt_code) {

BYTE *gt_buf;

gt_buf=(BYTE *)MALLOC(Max_GT_Length); ......

if(gt_len>Max_GT_Length) {

return GT_Length_ERROR; } ....... 问答题:

1.IP Phone的原理是什么?

2.TCP/IP通信建立的过程怎样,端口有什么作用? (三)

1、局部变量能否和全局变量重名?

2、如何引用一个已经定义过的全局变量?

3、全局变量可不可以定义在可被多个.C文件包含的头文件中?为什么?

4、语句for( ;1 ;)有什么问题?它是什么意思?

5、do……while和while……do有什么区别? 6、请写出下列代码的输出内容 #include main() {

int a,b,c,d; a=10; b=a++; c=++a; d=10*a++;

printf(\"b,c,d:%d,%d,%d\",b,c,d); return 0; } 高级题

1、static全局变量与普通的全局变量有什么区别?static局部变量和普通局部变量有什么区别?static函数与普通函数有什么区别? 2、程序的局部变量存在于()中,全局变量存在于()中,动态申请数据存在于( )中。 3、设有以下说明和定义:

typedef union {long i; int k[5]; char c;} DATE;

struct data { int cat; DATE cow; double dog;} too; DATE max;

则语句 printf(\"%d\的执行结果是:______

4、队列和栈有什么区别?

5、这道题目出错了,这里就不写上了。

6、已知一个单向链表的头,请写出删除其某一个结点的算法,要求,先找到此结点,然后删除。 7、请找出下面代码中的所以错误

说明:以下代码是把一个字符串倒序,如“abcd”倒序后变为“dcba” 1、#include\"string.h\" 2、main() 3、{

4、 char*src=\"hello,world\"; 5、 char* dest=NULL; 6、 int len=strlen(src); 7、 dest=(char*)malloc(len); 8、 char* d=dest; 9、 char* s=src[len]; 10、 while(len--!=0) 11、 d++=s--;

12、 printf(\"%s\13、 return 0; 14、}

一、判断题(对的写T,错的写F并说明原因,每小题4分,共20分) 1、有数组定义int a[2][2]={{1},{2,3}};则a[0][1]的值为0。( ) 2、int (*ptr) (),则ptr是一维数组的名字。( ) 3、指针在任何情况下都可进行>,<,>=,<=,==运算。( )

4、switch(c) 语句中c可以是int ,long,char ,float ,unsigned int 类型。( ) 二、填空题(共30分)

1、在windows下,写出运行结果,每空2分,共10分。 char str[ ]= "Hello"; char *p=str; int n=10;

sizeof(str)=( ) sizeof(p)=( ) sizeof(n)=( )

void func(char str[100]){ } sizeof(str)=( )

2、void getmemory(char **p, int num) { *p=(char *) malloc(num);} void test(void) { char *str=NULL; getmemory(&str,100); strcpy(str,"hello"); printf(str); }

运行test函数有什么结果?( )10分

3、设int arr[]={6,7,8,9,10}; int *ptr=arr; *(ptr++)+=123;

printf("%d,%d",*ptr,*(++ptr));

( ) 10分 二、编程题(第一小题20,第二小题30分)

1、 不使用库函数,编写函数int strcmp(char *source, char *dest) 相等返回0,不等返回-1;

2、 写一函数int fun(char *p)判断一字符串是否为回文,是返回1,

不是返回0,出错返回-1

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 517ttc.cn 版权所有 赣ICP备2024042791号-8

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务