软件笔试题 (A)
姓名: 学校:
专业: 电话:
(如无特殊说明,以下所有测试内容都是基于 32 位嵌入式系统)
1) 程序的局部变量存在于 中,全局变量存在于 中,动态申请数
据存在于 中。
2) 如何用 if 来做零值比较
int a : if(a==0)
bool a :
float a :
void * a :
3)
void func( char str[100])
{
printf( “%d”,sizeof( str ) );
}
输出结果是:
有下列定义:
char str[] = “Hello World ” ;
char *p = str;
int n = 10;
void *ptr = malloc( 100 );
请写出如下表达式的值:
sizeof (str ) = ;
sizeof ( p ) = ;
sizeof ( n ) = ;
sizeof ( ptr )= ;
1 / 7
4)
unsigned char *p1;
unsigned long *p2;
p1=(unsigned char *)0
p2=(unsigned long *)0
请问 p1+5 = ;
p2+5 = ;
5) char str[10];
strcpy(str,"0123456789");
产生什么结果?为什么?
6) 用 C 语句,让程序跳转到绝对地址 0xFFFF0 去执行
7) 已知一个数组 array ,用一个宏定义,求出数组的元素个数
#define ARRAY_COUNT
8) 简要说明,为什么标准头文件都有类似以下的结构。
#ifndef __INC_Honeywell_Debug
#define __INC_Honeywell_Debug
#ifdef __cplusplus
extern "C" {
#endif
/*...*/
#ifdef __cplusplus
}
#endif
#endif /*__INC_Honeywell_Debug */
2 / 7
9) 给定结构
struct token_t
{
char digit:4;
char index:4;
unsigned short data:8;
unsigned long tick;
};
问 sizeof(token_t) =
10) 在空白处填写完整强制类型转换
short (*day_p)[16];
day_p = ( ) malloc ( );
11) 简述: TCP/UDP有何区别? TCP/IP 通信建立的过程怎样?端口有什么作用?
12) 找出下列嵌入式系统中断处理函数中的错误:
__interrupt double compute_area (double radius)
{
double area = PI * radius * radius;