空军工程大学2011年硕士研究生入学试题
考试科目:系统工程专业基础综合(A卷) 科目代码804 说明:答题时必须答在配发的空白答题纸上,答题可不抄题,但必须写清题号,写在试题上不给分; 考生不得在试题及试卷上做任何其它标记,否则试卷作废,试题必须同试卷一起交回。 试题共分两部分
第一部分 C程序设计部分(75分)
一、单项选择题(每小题1分,共5分)在每小题列出的四个选项中,只有一个选项符合题目要求,请将其代码填在题后的括号内。
1、下列描述正确的是( )。
A.由main函数及其参数argc可以实现命令行方式。
B.使用fclose关闭文件时,先释放文件指针,再写缓冲区数据到文件中。
C.字符数组并不要求它的最后一个字符是‘\0’。
D.以上说法均正确。
2、假设i的初值为3,赋值语句j=-i++;执行后,j,i的值分别是( )。
A.-3,4 B.-3,-4 C.3,-4 D.3,4
3、下面的保留字( )不能作为函数的返回类型。
A.void B.int C.new D.long
4、在C语言程序中,下面描述正确的是( )。
A.函数的定义可以嵌套,但函数的调用不可以嵌套。
B.函数的定义不可以嵌套,但函数的调用可以嵌套。 C.函数的定义和函数的调用都可以嵌套。
D.函数的定义和函数的调用都不可以嵌套。
5、对函数使用方法错误的描述是( )。
A.用数组做函数参数时,必须在主调函数和被调函数中分别定义数组。
B.实参数组元素和形参数组元素类型可以不一致。
C.形参数组长度可以不指定。
D.形参数组长度可以大于实参数组长度。
二、填空题(每空1分,共10分)将正确答案写在每题的括号内。
1、在C语言程序设计中,语句float *p[8];的作用是( ① )。
2、语句static int b[][3]={{1},{0,2},{3,2,1}};的作用是( ②上述定义后各元素的值是( ③ )。
3、带参数的main函数的完整形式是( ④ )。
4、C语言中的每条基本语句均以( ⑤ )作为结束符。
5、下面程序的运行结果是( ⑥ )。
#include <stdio.h>
void main()
{ unsigned char a,b;
scanf(“%o,%o”,&a,&b);
printf(“a & b=%o\n”,a&b);
}
程序运行时,从键盘输入的值是:234,356
6、下面程序的运行结果是( ⑦ )。
#include <stdio.h>
void main() ),按
{ int *p1,*p2,a,b;
scanf(“%d,%d”,&a,&b);
p1=&a; p2=&b;
printf(“%d,%d\n”,*p1,*p2);
p2=p1;
printf(“%d,%d”,*p1,*p2);
}
程序运行时,从键盘输入的值是:50,80。
7、对文件进行分类时,如果按文件中数据的组织形式区分,数据文件可分为字符代码文件和二进制文件,字符代码文件是指( ⑧ ),二进制文件是指( ⑨ )。
8、设a=3,b=4,c=5,表达式:!(x=a) && (y=b) && 0的值是( ⑩ )。
三、分析简答题(共30分)
1、(5分)写出下列程序段的输出结果。
#include <stdio.h>
void fun()
{ static int a=5;
printf(“a=%d\n”,a);
}
void main()
{ for(int i=0;i<2;i++)
fun();
}
2、(6分)简述下面三条语句的区别。
语句1:char * const p;
语句2:char const * p;
语句3:const char * p;
3、(5分)写出下列程序的输出结果。
#include <stdio.h>
void main()
{ int a,b,c,d;
a=10;
b=a++;
c=++a;
d=10*a++;
printf(“b,c,d:%d,%d,%d”,b,c,d);
}
4、(6分)局部变量能不能和全局变量重名?如何引用一个已经定义的全局变量?全局变量可以定义在多个.c文件包含的头文件中吗?请简要说明理由。
5、(8分)以下程序是将一个字符串倒序排列,如将“abcd”倒序后变为“dcba”。请找出以下代码中的所有错误,并改正。
#include “string.h”
#include <stdio.h>
void main()
{ char* src=“hello,world”;
char* dest=NULL;
int Len=strlen(src);
dest=(char*)malloc(Len);
char* d=dest;
char* s=src[Len];
while(Len--!=0)
d++=s--;
printf(“%s”,dest);
}
四、程序设计题(共30分)
1、(15分)我们称用1和0组成的串为“零幺串”,称只用“1”组成的串为“幺串”,只用“0”组成的串为“零串”。试写一个函数,使得它对任给零幺串,将返回值N1和值N0,其中N1表示串S中最长幺串的长度,N0表示串S中最长零串的长度。例如,假设S是下面表示的零幺串,则在N1中返回5,在N0中返回4。
S=0001011100111000011111
2、(15分)已知,结构体类型f_struct的长度为80个字节,要求把从某外设读入的该结构体类型的所有数据存储在二进制文件a.dat中,如果该文件存在,把数据追加到文件末尾。如果该文件不存在,先创建,然后向写文件中写入数据。