logo资料库

山石网科笔试题.doc

第1页 / 共3页
第2页 / 共3页
第3页 / 共3页
资料共3页,全文预览结束
1.1 考察 sizeof 在 32 位机子上,输出值 /* value1 = 4,value2 = 4,value3 = 4 * value4 = 4,value5 = 4,value6 = 4 * value7 = 1,value8 = 1,value9 = 1 * value10 = 25 * value11 = 9 * value12 = 0 * value13 = 8 */ #include #include #include int main() { char networks[25] = {0}; char *p1 = "networks"; char *p2 = malloc(25); char *p3 = networks; printf("value1 = %d,value2 = %d,value3 = %d\n",sizeof(p1),sizeof(p2),sizeof(p3)); printf("value4 = %d,value5 = %d,value6 = %d\n",sizeof(&p1),sizeof(&p2),sizeof(&p3)); printf("value7 = %d,value8 = %d,value9 = %d\n",sizeof(*p1),sizeof(*p2),sizeof(*p3)); printf("value10 = %d\n",sizeof(networks)); printf("value11 = %d\n",sizeof("networks")); printf("value12 = %d\n",strlen(networks)); printf("value13 = %d\n",strlen("networks")); } 分析: ,====》*p1 是第一个字符 =25 =====》networks 在内存中的大小 25 x 1 =1 Sizeof(*p1) sizeof(networks) 1.2 /* * stones */ #include int test_func(char *str) { str = "hill"; return 0; } int main() {
char *str = "stones"; test_func(str); printf("%s\n",str); return 0; } 分析: 1.3 /* *0,9,10 */ #include enum ERROR { error, WARNING = 8, ERR, NODEV, }; int main() { printf("%d,%d,%d\n",error,ERR,NODEV); return 0; } 1.4 #include struct test_node { int aa; int bb; }; int main() { int p1[] = {0,1,2,3,4,5,6,7,8,9}; struct test_node *p2 = (struct test_node *)p1; p2 +=4; printf("%d,%d\n",p2->aa,p2->bb);//8,9 return 0; } 分析: 1.5 /* * j=9 */
#include int main() { int j=7; if((++j<=7)||(j++>=8)||(++j<=9)); printf("j=%d\n",j); return 0; } 分析: 1.6 将 str 输出"est",怎么填 move_ptr() #include void move_ptr(____________) { ___________________ } int main() { char *str = "test"; move_ptr(_____); printf("%s\n",str); return 0; } 二、问答题 2.1 hub、二层交换机和路由器的主要区别? 2.2 数组与链表的主要区别及应用场所? 2.3 操作系统中进程的概念,进程与程序的区别? 三、二叉树顺序输出编程题 四、将小写字符串变成大写字符串编程题 五、单链表反转编程题
分享到:
收藏