杭州师范大学硕士研究生招生考试命题纸杭州师范大学2020年招收攻读硕士研究生考试题考试科目代码:
841考试科目名称:软件专业基础
说明:考生答题时一律写在答题纸上,否则漏批责任自负。C程序设计部分(75分)一、判断题(每小题1分,共10分)
1、在C语言中,标识符是不区分大小写的。()2、在C语言中,int类型数据可以表示任何整数。(
)
3、在C语言中,while和do-while循环的主要区别是:do-while循环体可能一次都不执行;而while循环体至少无条件循环一次。(
)
)
))
)
4、在C语言中,可以给指针变量赋一个整数作为地址值。(
5、在C语言中,向函数传递参数时,实参和形参不可以重名。(6、设有宏定义:#defineF(N)2*N,则表达式F(2+3)的值是7。(
7、已知:chara[7]=\则:sizeof(a)的值为7,strlen(a)的值为2。(8、在C语言中,结构类型成员的类型还可以是结构类型。(
)
9、若文本文件打开方式为\,而该文件已经存在,则文件中原有数据被清除。()
10、在C语言中,用malloc函数动态分配的内存是在栈中分配的,而不是在堆中分配的。(
)
二、单项选择题(每小题1分,共20分)1、软件与程序的区别是()。A.程序价格便宜、软件价格昂贵
B.程序是用户自己编写的,而软件是由厂家提供的
C.程序是用高级语言编写的,而软件是由机器语言编写的
D.软件是程序以及开发、使用和维护所需要的所有文档的总称,而程序只是软件的一部分2、CPU能直接识别的是()。A.汇编语言B.自然语言C.机器语言D.高级语言
2020年考试科目代码841考试科目名称软件专业基础(本考试科目共9页,第1页)杭州师范大学硕士研究生招生考试命题纸3、若有表达式:x&&1,和以下表达式()是等价的。A.x==0B.x!=1C.xD.x==1
4、设x、y、z均为int型变量,则执行以下语句后x、y、z的值为()。x=1;y=0;z=2;y++&&++z||++x;A.2、1、2B.2、1、3C.2、0、3D.2、2、3
5、若有变量声明:intx=10,y=4,f;doublem;则执行表达式:f=m=x/y后,f、m的值分别是()。A.2,2.5B.3,2.5C.2.5,2.5D.2,2.0
6、若定义x为double型变量,则能正确输入x值的语句是()。A.scanf(\&x);B.scanf(\&x);C.scanf(\&x);D.scanf(\x);7、“if(表达式)”中的“表达式”()。A.只能是算术表达式
B.逻辑表达式、关系表达式和算术表达式都可以C.只能是逻辑表达式D.只能是关系表达式
8、switch语句语法中的case分支必须是常量表达式且互不相同,值不能为()类型。A.浮点型B.整型C.枚举型D.字符型9、以下对枚举类型的声明中,正确的是()。A.enuma={one,two,three};
B.enuma{one=9,two=-1,three};C.enuma={\\\D.enuma{\\\10、在while(!e)中,!e等价于()。A.e==0B.e!=0C.e==1D.e!=111、假设有变量声明:intk;下面代码段编译运行的情况是()。for(k=1;k;k++)
printf(\\k);A.编译错误B.能运行,正常结束C.以上说法都不对D.能运行,是死循环
12、在循环语句的循环体中使用break语句的作用是()。A.结束本次循环B.终止当前整个循环的执行C.结束switch语句D.结束程序的执行13、以下正确的函数头是()。A.doublefun(intx,inty)B.doublefun(intx;inty)C.doublefun(intx,y)D.doublefun(intx,y);14、以下函数原型,错误的是()。A.intf(inti);B.intf(i);C.intf(int);D.intf(void);15、给定函数原型:voidf(doubledd);和变量声明:doublea;
2020年考试科目代码841考试科目名称软件专业基础(本考试科目共9页,第2页)杭州师范大学硕士研究生招生考试命题纸下列函数调用()是错误的。A.f(1.0f);B.f(1);C.f(&a);D.f(sizeof(a));
16、如果i是变量,而p是指向i的指针,则下列表达式()可以代替i。A.*&pB.&iC.&*iD.*&i17、若有:
charx[]=\
chary[]={'a','b','c','d'};以下说法正确的是()。
A.数组x的长度大于数组y的长度B.两个数组的长度相同C.数组x的长度小于数组y的长度D.数组x和数组y的值相同18、结构变量在其生命期里,()。A.所有成员一直驻留在内存中B.只有一个成员驻留在内存中C.部分成员驻留在内存中D.没有成员驻留在内存中19、位运算符中,运算符~的功能是()。A.按位取反B.按位与C.按位或D.按位异或20、如果需要打开一个已经存在的非空文件“file”进行修改,正确的文件打开语句为(A.fp=fopen(\\B.fp=fopen(\\C.fp=fopen(\\D.fp=fopen(\\三、填空题(每小题1分,共10分)
1、计算机硬件系统由________、运算器、存储器、输入设备、输出设备五部分组成。2、C语言中,表示语句结束的符号是________。
3、若有:intx=3,y=4,z=5;表达式x||y+z&&y==z的值为________。4、若变量x已正确定义并赋值,则表达式-10 5、假设sizeof(int)的值为4,对于数组:inta[3][6];sizeof(a[0])的值为________。6、在C语言中,二维数组在内存中是按________顺序存放。 7、若有inta[3][2]={10,20,30,40,50,60},(*p)[2];p=a;则*(*(p+2)+1)的值为________。8、在C语言中,字符串的结束标志是________。9、若有:structwc{ inta;int*b;}; intx[]={11,12},y[]={31,32}; structwcz[]={100,x,300,y},*p=z;则表达式++p->a的值为________。 10、当文件打开出现错误时,fopen函数的返回值是________。四、程序阅读题(每小题3分,共15分)1、以下程序的输出结果是________。 )。2020年考试科目代码841考试科目名称软件专业基础(本考试科目共9页,第3页)杭州师范大学硕士研究生招生考试命题纸#include intx,a=10,b=20,ok1=5,ok2=0;if(a if(b!=15) if(!ok1) x=1;elseif(ok2) x=10;else x=-1; printf(\x);return0;} 2、对于以下递归函数f,调用f(4),其返回值是________。intf(intn){ if(n) returnf(n-1)+n;else returnn; } 3、以下程序的输出结果是________。#include (*p)++;x++; printf(\(*p),x);} intmain(void){ inta=3;intb=0;int*p=&a;add(p,b); printf(\a,b);} 4、以下程序的输出结果是________。#include intany_function(int(*pf)(int));intmain(void){ printf(\any_function(f));return0;} 2020年考试科目代码841考试科目名称软件专业基础(本考试科目共9页,第4页)杭州师范大学硕士研究生招生考试命题纸intf(inti){returni*i+i-12;} intany_function(int(*pf)(int)){ intn=0;while(pf(n)) ++n;returnn;} 5、以下程序的输出结果是________。#include FILE*fp; inti,n=0,k=0; fp=fopen(\\for(i=0;i<5;i++) fprintf(fp,\i);fclose(fp); fp=fopen(\\fscanf(fp,\&n,&k);printf(\n,k);fclose(fp);return0;} 五、程序填空题(每空2分,共10分) 1、下面程序的功能是计算1000!的末尾有多少个零。请填空使程序完整、正确。#include inti,k,m; for(k=0,i=5;i<=1000;i+=5){ m=i; while(________){ k++; m=m/5;}} return0;} 2、下面程序的功能是输入一个不包括空格的字符串(少于80个字符),判断字符串是否是回文(即从左往右读和从右往左读一样)。请填空使程序完整、正确。#include 2020年考试科目代码841考试科目名称软件专业基础(本考试科目共9页,第5页)