文本描述
浙江省绍兴市越城区鼎盛时代大厦 1404室 浙江迪捷软件科技有限公司 C语言笔试题 答题人: 电话: 一填空题 1.以下不能对一维数组 a进行正确初始化的语句是________。 A. int a[10]=(0,0,0,0) C. int a[]={0}; B. int a[10]={}; D.int a[10]={10*1}; 2.若执行以下程序段后,则 n的值是_______。 int a=1, b=2, m=2, n=2; (m = a > b) && ++n; A. 1 B. 2 C.3 D.4 3.以下程序的运行结果是_____。 #include <stdio.h> int main(void) { int m = 5; if(m++ > 5) printf("%d\n", m) else printf("%d\n", m++); } 4.下列程序执行的两次打印结果是(1)_________(2)________ #include <stdio.h> int main (int argc, char* argv[ ]) int a; { int *p; p = &a; *p = 0x500; a = (int )(*(&p)); if(a == (int)p) printf("equal!\n"); else printf("not equal!\n"); a = (int )(&(*p)); if(a == (int)p) printf("equal!\n"); else printf("not equal!\n"); return 0; } 1 浙江省绍兴市越城区鼎盛时代大厦 1404室 5.在 scanf()函数的格式说明符中,长整型数的输入格式符是 ______。 A. %lf B. %ld C. %d D. %x 6.下面程序的输出结果是_____________。 int main(int argc, char* argv[ ]) { int a = 1, b; for(b = 1; b <= 10; b++) if(a >= 8) { break; if(a % 2 == 1) a += 3; continue; } { a -= 3; } printf("%d\n", b); return 0; } 7.下面程序的输出结果是_____________。 int main(int argc, char* argv[ ]) { const char* p = "12345"; const char **q = &p; *q = "abcde"; const char *s = ++p; p = "XYZWVU"; printf("%c\n", *++s); return 0; } 8.以下代码的打印的结果是_________________(假设运行在 32bit--x86系列计算机上)。 struct st_t { int status; short* pdata; char errstr[32]; }; struct st_t st[16]; char* p = (char*)(st[2].errstr + 32); printf("%d", (p - (char*)(st))); 9.求 sizeof(p) char *p =“hello!”; char p[] =“hello!”; void *p = malloc(100); 2 浙江省绍兴市越城区鼎盛时代大厦 1404室 10.内存布局问题(stack,heap,data,bss),写出下列所有定义的变量在内存中位置。 #include <stdio.h> int a = 0;