东华理工大学 2018年硕士生入学考试初试试题C 语言程序设计.docx
注意:答案请做在答题纸上,做在试卷上无效东华理工大学 2018 年硕士生入学考试初试试题科目代码: 814;科目名称:C 语言程序设计 ;( 正 卷)适用专业(领域)名称: 电路与系统、控制工程一、选择题:(共 30 小题,1-20 每小题 1 分,21-30 每小题 2 分,共 40 分)1.C 语言提供的合法关键字是()A.switchB.cherC. defaultD. case2.在 C 语言中,合法的字符常量是()A.084B. ab C. x43D.03.若已定义 x 和 y 为 double 类型,则表达式: x=1,y=x+3/2 的值是()A. 2.0B.2C.1D.2.54.合法的数组定义是()A.int a=string; B. char a=0,1,2,3,4,5; C.char a=string; D. int a5=0,1,2,3,4,5;5.设 a 为整型变量,不能正确表达数学关系 10a15 的 C 语言表达式是()A. a10&a15B.a=11|a=12|a=13|a=14C. 10a15D.!(a=10)&!(a=15)6.若 t 为 double 类型,表达式 t=1,t+5,t+的值是()A. 2.0B.6.0C.1D.1.07.若有定义和语句: char s10;s=abcd;printf(%sn,s);则结果是(以下 代表空格)()A. 编译不通过B.输出 aC.输出 abcdD. 输出 abcd8.若有定义和语句:int *pp, *p, a=10, b=20; pp=&p;p=&a;p=&b;printf(%d,%dn,*p,*pp);则输出结果是()A.10,10B. 20,20C.20,10D. 10,209.若有以下定义和语句: int u=010, v=0x10, w=10;printf(%d,%d,%dn,u,v,w);则输出结果是()A. 8,8,10 B.10,10,10 C. 8,16,10 D.8,10,1010.若有以下定义和语句: char c1=b, c2=e;printf(%d,%cn,c2-c1,c2-a+A);则输出结果是()A.2,M B.2,E C. 3,E D.输出项与对应的格式控制不一致,输出结果不确定11.若有定义:int a34;,()不能表示数组元素 a11。A.*(a1+1) B. *(a+5)C.(*(a+1)1D. *(&a11)12.若 i、j 已定义为 int 型,则以下程序段中内循环体的总的执行次数是()for(i=5;i0;i-)for(j=0;j4;j+)第 1 页,共 6 页注意:答案请做在答题纸上,做在试卷上无效A.30B.24C.25D.2013.若有以下定义和语句:char *s1=12345,*s2=1234;printf(%dn,strlen(strcpy(s1,s2);则输出结果是()A.9B.5C.4D.1014.若有以下定义和语句:int a10=1,2,3,4,5,6,7,8,9,10,*p=a;则不能表示 a 数组元素的表达式是()A.*pB. ap-aC.*aD. a1015.下面程序的输出结果是()A. k=2 a=3 b=2B.k=3 a=3 b=2C. k=3 a=2 b=3D.k=2 a=2 b=316.下面程序的输出结果是()main( )unsigned a=32768; printf(a=%dn,a);A.a=32768 B.a=-32767C.a=32768D.a=-117.执行下面语句后的输出结果为()int i=-1;if(i=0) printf(*n); else printf(%n)A. 有语法错误,不能正确执行B.%C.%cD. *18.对于条件表达式(M)?(a+):(a-),其中的表达式 M 等价于()A. M!=0 B.M=1C. M=0D.M!=119.下述程序段的输出结果是()int x=10; int 7nbspy=x+;printf(%d,%d,(x+,y),y+);A.10,10 B.11,11 C.11,10 D.10,1120.若有以下的定义:int a=1,2,3,4,5,6,7,8,9,10,*p=a;则值为 3 的表达式是()A. p+=2,*+p B. p+=2,*(p+) C.p+=3,*p+D.p+=2,+*p21.假定所有变量均已正确说明,下列是程序段运行后 x 的值是()a=b=c=0;x=35; if(!a) x-; else if(b); if(c) x=3; else x=4;A.34B.3C.35D.422.在以下一组运算中,优先级最高的运算符是()第 2 页,共 6 页注意:答案请做在答题纸上,做在试卷上无效A.=B.=C. &D. %23.若有以下定义和语句:int w23,(*pw)3;pw=w;则对 w 数组元素的非法引用是( )A. pw00B.*(pw+1)2C. *(w0+2)D.*(pw1+2)24.若有以下程序片段: char str =abn012;printf(%d,strlen(str);上面程序片段的输出结果是()A.12B.6C.4D.325.函数调用:strcat(strcpy(str1,str2),str3)的功能是()A.将串 str2 复制到串 str1 中后再将串 str3 连接到串 str1 之后B.将串 str2 连接到串 str1 之后再将串 str1 复制到串 str3 中C.将串 str1 复制到串 str2 中后再连接到串 str3 之后D.将串 str1 连接到串 str2 之后再复制到串 str3 之后26.以下对 C 语言函数的有关描述中,正确的是()A.C 函数既可以嵌套定义又可以递归调用B.函数必须有返回值,否则不能使用函数C.C 程序中有调用关系的所有函数必须放在同一个源程序文件中D.在 C 中,调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参27.以下叙述中不正确的是()A.在 C 中,外部变量的隐含类别是自动存储类别B.在 C 中,函数形参可以说明为 register 变量C.在 C 中,函数中的自动变量可以赋初值,每调用一次,赋一次初值D.在 C 中,在调用函数时,实参和对应形参在类型上只需赋值兼容28.设有以下定义或语句,则输出的结果是(用 small 模式编译,指针变量占 2 个字节)()struct datelong *cat; struct date *next; double dog; too;printf(%d,sizeof(too);A.12B.14 C.16D.2029.设有定义:struct skint a;float b;data,*p;若有 p=&data;,则对 data 中的 a 域的正确引用是()A.(*p).data.a B.p-data.a C.(*p).a D.p.data.a30.以下对枚举类型名的定义中正确的是()A.enum a=one,two,three; B.enum aone,two,three; C.enum a=one,two,three;第 3 页,共 6 页