1、 DATE; struct data int cat; DATE cow; double dog; too; DATE max; 则语句 printf(%d,sizeof(struct date)+sizeof(max);的执行结果是:_ 22、队列和栈有什么区别? 23、写出下列代码的输出内容int inc(int a) return(+a);int multi(int*a,int*b,int*c) return(*c=*a*b);typedef int(FUNC1)(int in);typedef int(FUNC2) (int*,int*,int*);void show(FUNC2 fu
2、n,int arg1, int*arg2) INCp=&inc; int temp =p(arg1); fun(&temp,&arg1, arg2);%dn,*arg2); int a; show(multi,10,&a); return 0;24、请找出下面代码中的所以错误说明:以下代码是把一个字符串倒序,如“abcd”倒序后变为“dcba” 1、#includestring.h2、main() 3、 4、 char*src=hello,world; 5、 char* dest=NULL; 6、 int len=strlen(src); 7、 dest=(char*)malloc(len);
3、 8、 char* d=dest; 9、 char* s=srclen; 10、 while(len-!=0) 11、 d+=s-; 12、 printf(%s,dest); 13、 return 0; 14、25.-1,2,7,28,126请问28和126中间那个数是什么? 26.用两个栈实现一个队列的功能?要求给出算法和思路!27.在c语言库函数中将一个字符转换成整型的函数是atol()吗,这个函数的原型是什么?28.对于一个频繁使用的短小函数,在C语言中应用什么实现,在C+中应用什么实现?29.软件测试都有那些种类?30.确定模块的功能和模块的接口是在软件设计的那个队段完成的?31.en
4、um string x1, x2, x3=10, x4, x5,x;问x= ;9.unsigned char *p1;unsigned long *p2;p1=(unsigned char *)0x801000;p2=(unsigned long *)0x810000;请问p1+5= ;p2+5= ;二.找错题:1.请问下面程序有什么错误?int a602501000,i,j,k;for(k=0;k=1000;k+)for(j=0;j250;j+)for(i=0;i60;i+)aijk=0; 2.#define Max_CB 500void LmiQueryCSmd(Struct MSgCB
5、* pmsg) unsigned char ucCmdNum; . for(ucCmdNum=0;ucCmdNumMax_GT_Length) return GT_Length_ERROR; . 三.问答题: 1.IP Phone的原理是什么? 2.TCP/IP通信建立的过程怎样,端口有什么作用? 3进程和线程的差别。 2Heap与stack的差别。 3给两个变量,如何找出一个带环单链表中是什么地方出现环的? 一个递增一,一个递增二,他们指向同一个接点时就是环出现的地方 4. 网络编程中设计并发服务器,使用多进程 与 多线程 ,请问有什么区别?练习二: 1. 用宏定义写出swap(x,y) 2
6、.数组aN,存放了1至N-1个数,其中某个数重复一次。写一个函数,找出被重复的数字.时间复杂度必须为o(N)函数原型: int do_dup(int a,int N) 3 一语句实现x是否为2的若干次幂的判断 4.unsigned int intvert(unsigned int x,int p,int n)实现对x的进行转换,p为起始转化位,n为需要转换的长度,假设起始点在右边.如x=0b0001 0001,p=4,n=3转换后x=0b0110 0001 5. 什么是预编译, 何时需要预编译:6. char * const p; char const * p const char *p 上述
7、三个有什么区别?7. char str1 = abc char str2 = const char str3 = const char str4 = const char *str5 = const char *str6 = char *str7 = char *str8 = cout ( str1 = str2 ) endl; ( str3 = str4 ) ( str5 = str6 ) ( str7 = str8 ) 结果是: 8. 以下代码中的两个sizeof用法有问题吗? void UpperCase( char str ) / 将 str 中的小写字母转换成大写字母 for( si
8、ze_t i=0; isizeof(str)/sizeof(str0); +i ) if( a=stri & stri=z ) stri -= (-A ); char str = aBcDe str字符长度为: sizeof(str)/sizeof(str0) UpperCase( str ); str 7. main() int a5=1,2,3,4,5; int *ptr=(int *)(&a+1); printf(%d,%d,*(a+1),*(ptr-1);8.请问以下代码有什么问题: int main() char a; char *str=&a; strcpy(str,hello);
9、 printf(str);9. char* s=AAA,s); s0=B 有什么错? 9、嵌入式系统中经常要用到无限循环,你怎么用C编写死循环。 10、关键字static的作用是什么? 11、关键字const有什么含意? 12、关键字volatile有什么含意?并举出三个不同的例子?13 int (*s10)(int) 表示的是什么啊 14.有以下表达式: int a=248; b=4;int const c=21;const int *d=& int *const e=&b;int const *f const =& 请问下列表达式哪些会被编译器禁止? *c=32;d=&*d=43;e=34
10、;e=&f=0x321f;15.交换两个变量的值,不使用第三个变量。即a=3,b=5,交换之后a=5,b=3; 16.c和c+中的struct有什么不同? 17.#include #include void getmemory(char *p) p=(char *) malloc(100); strcpy(p,hello world int main( ) char *str=NULL; getmemory(str); printf(%s/n,str); free(str); 18.char szstr10; strcpy(szstr,0123456789 产生什么结果? 18.列举几种进程的
11、同步机制,并比较其优缺点。 19.进程之间通信的途径 20.进程死锁的原因 21.死锁的4个必要条件 22.死锁的处理 23. 操作系统中进程调度策略有哪几种? 24.数组和链表的区别 25:(void *)ptr 和 (*(void*)ptr的结果是否相同?其中ptr为同一个指针 26:int main() int x=3;,x); return 1; 问函数既然不会被其它函数调用,为什么要返回1? 27,要对绝对地址0x100000赋值,我们可以用 (unsigned int*)0x100000 = 1234; 那么要是想让程序跳转到绝对地址是0x100000去执行,应该怎么做? 28,已
12、知一个数组table,用一个宏定义,求出数据的元素个数#define NTBL#define NTBL (sizeof(table)/sizeof(table0)29 分析下面的程序: void GetMemory(char *p,int num) *p=(char *)malloc(num); int main() GetMemory(&str,100); if(str!=NULL) strcpy(str,worldn str is %s getchar(); 问输出结果是什么?30 1)给定结构struct A char t:4; char k: unsigned short i:8; u
13、nsigned long m; ;问sizeof(A) = ? 2)下面的函数实现在一个数上加一个数,有什么错误?请改正。 int add_n ( int n ) static int i = 100; i += n; return i;3) 求函数返回值,输入x=9999; int func ( x ) int countx = 0; while ( x ) countx +; x = x&(x-1); return countx; 结果呢?练习三: 1int a,b,c 请写函数实现C=a+b ,不可以改变数据类型,如将c改为long int,关键是如何处理溢出问题2 分析: struct
14、 bit int a:3; int b:2; int c: bit s; char *c=(char*)&s; coutsizeof(bit)endl; *c=0x99; cout s.a endl s.bendls.c1-2(删除)-3-4-5(删除)-6-7-0(删除),如此循环直到最后一个数被删除。18 实现strcmp int StrCmp(const char *str1, const char *str2)19 实现子串定位 int FindSubStr(const char *MainStr, const char *SubStr) 20 写一个函数,功能:完成内存之间的拷贝 2
15、1。编写一个 C 函数,该函数在一个字符串中找到可能的最长的子字符串,且该字符串是由同一字符组成的。 22。请编写一个 C 函数,该函数在给定的内存区域搜索给定的字符,并返回该字符所在位置索引值。 23一个单向链表,不知道头节点,一个指针指向其中的一个节点,问如何删除这个指针指向的节点? 24.写一函数,实现删除字符串str1中含有的字符串str2. 25. 给定字符串A和B,输出A和B中的最大公共子串。 比如A=aocdfe B=pmcdfa 则输出cdf 26,求1000!的未尾有几个0(用素数相乘的方法来做,如72=2*2*2*3*3); 27. 有双向循环链表结点定义为: struct node int data; struct node *front,*next; ; 有两个双向循环链表A,B,知道其头指针为:pHeadA,pHeadB,请写一函数将两链表中data值相同的结点删除 28. 编程实现:找出两个字符串中最大公共子字符串,如abccade,dgcadde的最大子串为cad 29. 编程实现:把十进制数(long型)分别以二进制和十六进制形式输出,不能使用printf系列库函数 30 斐波拉契数列递归实现的方法如下: int Funct( int n ) if(n=0) return 1;
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1