1、宁波大学宁波大学 20172017 年硕士研究生招生考试初试试题年硕士研究生招生考试初试试题(A A 卷卷)(答案必须写在考点提供的答题纸上)科目代码科目代码:914科目名称:科目名称:C 程序设计程序设计适用专业适用专业:计算机技术计算机技术第 1 页 共 10 页一、一、单项选择题:本大题共单项选择题:本大题共 25 小题,每小题小题,每小题 3 分,共分,共 75 分。分。1、判断字符变量 c 的值为数字(0-9)则返回 1,否则返回 0,可用表达式:。A)0=c=9B)0=c&c=9C)0=c|c=9D)以上均不是2、设有定义语句:int x6=2,4,6,8,5,7,*p=x,i;要
2、求依次输出 x 数组 6 个元素中的值,不能完成此操作的语句是。A)for(i=0;i6;i+)printf(%2d,*(p+);B)for(i=0;i6;i+)printf(%2d,*(p+i);C)for(i=0;i6;i+)printf(%2d,*p+);D)for(i=0;i6;i+)printf(%2d,(*p)+);3、以下不正确的叙述是。A)在 C 程序中,逗号运算符的优先级最低B)在 C 程序中,APH 和 aph 是两个不同的变量C)若 a 和 b 类型相同,在执行了赋值表达式 a=b 后 b 中的值将放入 a 中而 b 中的值不变D)当从键盘输入数据时,对于整型变量只能输入
3、整型数值,对于实型变量只能输入包含小数点的实型数值4、设 x、y 和 z 是 int 型变量,且 x=3,y=4,z=5,则下面表达式中值为 0 的是。A)x&yB)x=yC)x|y+z&y-zD)!(xy)&!z|1)5、对于 int x,y;语句 if(x=0)if(x)y=1;else y=-1;B)if(x!=0)if(x0)y=1;else y=-1;else y=0;C)if(x0)y=1;else y=0;宁波大学宁波大学 20172017 年硕士研究生招生考试初试试题年硕士研究生招生考试初试试题(A A 卷卷)(答案必须写在考点提供的答题纸上)科目代码科目代码:914科目名称:
4、科目名称:C 程序设计程序设计适用专业适用专业:计算机技术计算机技术第 2 页 共 10 页6、若有以下宏定义#definePI3.14#defineADDPI(PI+1)#defineTWO_ADDPI(2*ADDPI)则程序中表达式x=TWO_ADDPI/2的值为。A)6.28B)3.64C)4.14D)6.787、将 s 所指节点加到 p 所指节点之后(如下图),其语句应为:。A)s-next=p+1;p-next=s;B)p-next=s;s-next=p-next;C)s-next=p-next;p-next=s-next;D)s-next=p-next;p-next=s;8、对于以
5、下递归函数 f,调用 f(4),其返回值为:。int f(int n)return f(n-1)+n;A)10B)11C)0D)以上均不是9、设有程序段,则下面描述中正确的是。int k=10;while(k=0)k=k-1;A)while 循环执行 10 次B)循环是无限循环C)循环体语句一次也不执行D)循环体语句执行一次宁波大学宁波大学 20172017 年硕士研究生招生考试初试试题年硕士研究生招生考试初试试题(A A 卷卷)(答案必须写在考点提供的答题纸上)科目代码科目代码:914科目名称:科目名称:C 程序设计程序设计适用专业适用专业:计算机技术计算机技术第 3 页 共 10 页10、
6、以下能正确计算 12310 的程序段是。A)doi=1;s=1;B)doi=1;s=0;s=s*i;s=s*i;i+;i+;while(i=10);while(i=10);C)i=1;s=1;D)i=1;s=0;dos=s*i;dos=s*i;i+;i+;while(i=10);while(i=10);11、下面有关 for 循环的正确描述是。A)for 循环只能用于循环次数已经确定的情况B)for 循环是先执行循环体语句,后判断表达式C)在 for 循环中,不能用 break 语句跳出循环体D)for 循环的循环体语句中,可以包含多条语句,但必须用花括号括起来12、如下程序的输出结果是_。#
7、includevoid main()int x=1,a=0,b=0;switch(x)case 0:b+;case 1:a+;case 2:a+;b+;printf(a=%d,b=%dn,a,b);A)a=2,b=1B)a=1,b=1C)a=1,b=0D)a=2,b=2宁波大学宁波大学 20172017 年硕士研究生招生考试初试试题年硕士研究生招生考试初试试题(A A 卷卷)(答案必须写在考点提供的答题纸上)科目代码科目代码:914科目名称:科目名称:C 程序设计程序设计适用专业适用专业:计算机技术计算机技术第 4 页 共 10 页13、以下能对一维数组 a 进行正确初始化的语句是。A)int
8、 a10=(0,0,0,0,0);B)int a10=;C)int a=(0);D)int a10=10*1;14、定义如下变量和数组:int k;int a33=1,2,3,4,5,6,7,8,9;则下面语句的输出结果是。for(k=0;k3;k+)printf(“%d”,ak2-k);A)3 5 7B)3 6 9C)1 5 9D)1 4 715、判断字符串 a 和 b 是否相等,应当使用。A)if(a=b)B)if(a=b)C)if(strcpy(a,b)D)if(strcmp(a,b)=0)16、以下正确的函数形式是。A)double fun(int x,int y)z=x+y;retu
9、rn z;B)fun(int x,y)int z;return z;C)fun(x,y)int x,y;double z;z=x+y;return z;D)double fun(double x,double y)double z;z=x+y;return z;17、以下正确的说法是。A)实参和与其对应的形参各占用独立的存储单元B)实参和与其对应的形参共占用一个存储单元C)只有当实参和与其对应的形参同名时才共占用存储单元D)形参是虚拟的,不占用存储单元宁波大学宁波大学 20172017 年硕士研究生招生考试初试试题年硕士研究生招生考试初试试题(A A 卷卷)(答案必须写在考点提供的答题纸上)科
10、目代码科目代码:914科目名称:科目名称:C 程序设计程序设计适用专业适用专业:计算机技术计算机技术第 5 页 共 10 页18、设有定义:int n1=0,n2,*p=&n2,*q=&n1;,以下赋值语句中与 n2=n1;语句等价的是_。A)*p=*q;B)p=q;C)*p=&n1;D)p=*q;19、如果在一个函数中的复合语句中定义了一个局部变量,则该变量。A)只在该复合语句中有效B)在该函数中有效C)本程序范围内均有效D)为非法变量20、设变量 a 是整型,f 是实型,i 是双精度型,则表达式 10+a+i*f 值的数据类型为_。A)intB)floatC)doubleD)不确定21、在
11、 C 语言中,_表示逻辑值“真”。A)trueB)大于的数C)非的整数D)非的数22、对于数组定义 char a=49,50,51,52,说法正确的是_。A)定义错误,因为数组长度未知B)定义错误,因为该数组为字符型数组,而其初始化值为整数C)a 为一个长度为 5 的字符串D)a 为一个长度为 4 的字符型数组23、当说明一个结构体变量时系统分配给它的内存是。A)各成员所需内存量的总和B)结构中第一个成员所需内存量C)成员中占内存量最大者所需的容量D)结构中最后一个成员所需内存量24、逻辑运算符两侧运算对象的数据类型。A)只能是 0 或 1B)只能是 0 或非 0 正数C)只能是整型或字符型数
12、据D)可以是任何类型的数据25、下列叙述中正确的是。A)break 语句只能用于 switch 语句中B)continue 语句的作用是使程序的执行流程跳出包含它的所有循环C)break 语句只能用在循环体和 switch 语句内D)在循环体内使用 break 语句和 continue 语句的作用相同宁波大学宁波大学 20172017 年硕士研究生招生考试初试试题年硕士研究生招生考试初试试题(A A 卷卷)(答案必须写在考点提供的答题纸上)科目代码科目代码:914科目名称:科目名称:C 程序设计程序设计适用专业适用专业:计算机技术计算机技术第 6 页 共 10 页二、二、程序阅读题:本大题共程
13、序阅读题:本大题共 6 小题,每小题小题,每小题 5 分,共分,共 30 分。分。(1)请写出程序的运行结果。#include stdio.hvoid varfunc()int var=0;static int static_var=0;printf(var equal%d n,var);printf(static var equal%d n,static_var);var+;static_var+;int main()int i;for(i=0;i3;i+)varfunc();return 0;(2)请写出程序的运行结果。#include length(char*p)int n;n=0;wh
14、ile(*p!=0)if(!(*p=0&*p=9)n+;p+;return n;宁波大学宁波大学 20172017 年硕士研究生招生考试初试试题年硕士研究生招生考试初试试题(A A 卷卷)(答案必须写在考点提供的答题纸上)科目代码科目代码:914科目名称:科目名称:C 程序设计程序设计适用专业适用专业:计算机技术计算机技术第 7 页 共 10 页int main()char str120,str220;scanf(%s,str1);scanf(%s,str2);printf(the string has%d characters.n,length(str1);printf(the string
15、 has%d characters.n,length(str2);return 0;当输入“hello world”时,程序的运行结果。当输入“hello student123”时,程序的运行结果。(3)请写出程序的运行结果。#define N 4#include struct manchar name20;int age;personN=li,18,wang,19,zhang,23,sun,22;int main()struct man*q,*p;int i,m=0;p=person;for(i=0;iN;i+)if(mage)q=p+;m=q-age;printf(%s,%dn,(*q).
16、name,(*q).age);宁波大学宁波大学 20172017 年硕士研究生招生考试初试试题年硕士研究生招生考试初试试题(A A 卷卷)(答案必须写在考点提供的答题纸上)科目代码科目代码:914科目名称:科目名称:C 程序设计程序设计适用专业适用专业:计算机技术计算机技术第 8 页 共 10 页printf(%s,%dn,(*p).name,(*p).age);(4)请写出程序的运行结果。int main()int a,b,m,n;scanf(%d%d,&a,&b);m=n=1;if(a0)m=m+n;if(ab)n=2*m;else if(a=b)n=5;else n=m+n;printf
17、(m=%d n=%dn,m,n);当输入:-1 2,程序的运行结果。当输入:1 0,程序的运行结果。(5)请写出程序的运行结果。#include int strl(char a,char b)int num=0;int n=0;while(anum!=0)num+;while(bn)anum=bn;num+;n+;anum=0;printf(%sn,a);宁波大学宁波大学 20172017 年硕士研究生招生考试初试试题年硕士研究生招生考试初试试题(A A 卷卷)(答案必须写在考点提供的答题纸上)科目代码科目代码:914科目名称:科目名称:C 程序设计程序设计适用专业适用专业:计算机技术计算机技
18、术第 9 页 共 10 页return(num);int main()char s181,s281;gets(s1);gets(s2);printf(%dn,strl(s1,s2);return 0;当从键盘输入字符串”hello”和字符串”world”写出程序的运行结果。(6)请写出程序的运行结果。#include void main()int m,n,i,k=1,x=1,n1,a1000;scanf(%d%d,&n,&m);n1=n;for(i=1;i=n;i+)ai=0;while(1)while(ak=1)k+;if(k=(n+1)k=1;if(x=m)ak=1;printf(%dn,
19、k);n1-;if(n1=1)break;x=1;else x+;k+;if(k=(n+1)k=1;宁波大学宁波大学 20172017 年硕士研究生招生考试初试试题年硕士研究生招生考试初试试题(A A 卷卷)(答案必须写在考点提供的答题纸上)科目代码科目代码:914科目名称:科目名称:C 程序设计程序设计适用专业适用专业:计算机技术计算机技术第 10 页 共 10 页for(i=1;i=n;i+)if(ai=0)printf(WIN=%dn,i);当输入 4 3 时,写出程序的运行结果。三、三、程序设计题:本大题共程序设计题:本大题共 3 小题,每小题小题,每小题 15 分,共分,共 45 分。分。1、验证 2000 以内的正偶数都能够分解为两个素数之和。请写出程序输出分解结果。2、键盘输入一串字符(长度不超过 100),保留其中大小写英文字母、空格和英文句号.,删除其余字符并屏幕输出结果,然后颠倒该字符串输出。输入样例:输入样例:.#tnedu(t6s!a%ma9 I输出样例:输出样例:.tneduts a ma II am a student.3、构造 NN 阶的拉丁方阵(2=N=9),使方阵中的每一行和每一列中数字 1 到 N 只出现一次。如 N=4 时:1234234134124123