一、概念理解题

1. break语句和continue语句的区别。循环中用过break和continue吗,分别有什么作用?

2. 全局变量与局部变量的区别和用法。

3. 了解的排序算法有哪些?(掌握核心思想,越多越好)


一、代码分析题

1.

#include

int main()

{

int a,b,c,d,e;

a=10;

b=a++;

c=++a;

d=10*a++;

e=((c>a)?a:b);

printf("b,c,d,e:%d,%d,%d,%d",b,c,d,e);

return 0;

}

上述 b,c,d,e为何值,为什么?


2.

#include

int main()

{

int i, j, N = 5;

for(i = 0; i < N; i++)

{

for(j = i; j < N-1; j++)    printf(" ");

for(j = 0; j < 2*i+1; j++)  printf("*");

printf("\n");

}

for(i = N-2; i >= 0; i--)

{

for(j = i; j < N-1; j++)     printf(" ");

for(j = 0; j < 2*i+1; j++)   printf("*");

printf("\n");

}

return 0;

}

上述代码输出结果是什么?


三、代码实现题

1. 输入年份eg:2002 判断是否闰年?

2. 冒泡排序与选择排序代码是如何实现的?


四、计导部分

1. 原码反码补码掌握吗?他们之间有什么关系?(eg. -17,13......)

2.谈谈你对冯诺依曼思想的理解。

3.进制转换

(1)(163.27)D=(            )B=(     )H

(2)(3AB6)H=(      )D


五、趣味思考题

有100瓶药水,其中一瓶是毒药,只要一小滴就足以让小白鼠24小时内死亡,请问怎么在1天内用最少的老鼠找出这瓶毒药?


六、附加题

1. 判断下面程序的输出结果,并解释原因

#include

struct hta

{

char keil;

struct

{

char verilog;

int stm;

}welcome;

char qrs;

char fpga;

char byq;

char yx;

int we;

};

int main()

{

printf("the size of struct hta is %d\n",sizeof(struct hta));

return 0;

}





2.指出下列题目指针的类型;指针所指向的类型;指针的值,或者叫指针所指向的内存区或地址;指针本身所占据的内存区。

(1) int *ptr

(2) char *ptr

(3) int **ptr

(4) int (*ptr)[3]

(5) int *(*ptr)[4]