一、判断题(对的写T,错的写F并说明原因,每小题4分,共20分)1、有数组定义int a[2][2]={,{2,3}};则a[0][1]的值为0。(T )2、int (*ptr) (),则ptr是一维数组的名字。( )3、指针在任何情况下都可进行>,<,>=,<=,==运算。( )4、switch(c) 语句中c可以是int ,long,char ,float ,unsigned int 类型。( )5、#define print(x) printf("the no, "#x",is ")
二、填空题(共30分)1、在windows下,写出运行结果,每空2分,共10分。char str[ ]= "Hello";char *p=str;int n=10;sizeof(str)=( )sizeof(p)=( )sizeof(n)=( )void func(char str[100]){ }sizeof(str)=( )2、void setmemory(char **p, int num){ *p=(char *) malloc(num);}void test(void){ char *str=NULL;getmemory(&str,100);strcpy(str,"hello");printf(str);}运行test函数有什么结果?( )10分3、设int arr[]={6,7,8,9,10};int *ptr=arr;*(ptr++)+=123;printf("%d,%d",*ptr,*(++ptr));( ) 10分
二、编程题(第一小题10,第二小题20分)1、 不使用库函数,编写函数int strcmp(char *source, char *dest)相等返回0,不等返回-1;
2、 写一函数int fun(char *p)判断一字符串是否为回文,是返回1,不是返回0,出错返回-1三、问答题(20分)
1、文件系统编成、网络编成、数据库编程、线程进程编成各举出你认为最好的方法,并说出为什么最好?
2、写出访问外设如拨号、串口操作各一个函数?