云南昆明理工大学C程序设计考研真题A卷.docx

上传人:b****5 文档编号:12094662 上传时间:2023-04-17 格式:DOCX 页数:16 大小:25.83KB
下载 相关 举报
云南昆明理工大学C程序设计考研真题A卷.docx_第1页
第1页 / 共16页
云南昆明理工大学C程序设计考研真题A卷.docx_第2页
第2页 / 共16页
云南昆明理工大学C程序设计考研真题A卷.docx_第3页
第3页 / 共16页
云南昆明理工大学C程序设计考研真题A卷.docx_第4页
第4页 / 共16页
云南昆明理工大学C程序设计考研真题A卷.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

云南昆明理工大学C程序设计考研真题A卷.docx

《云南昆明理工大学C程序设计考研真题A卷.docx》由会员分享,可在线阅读,更多相关《云南昆明理工大学C程序设计考研真题A卷.docx(16页珍藏版)》请在冰豆网上搜索。

云南昆明理工大学C程序设计考研真题A卷.docx

云南昆明理工大学C程序设计考研真题A卷

2011年云南昆明理工大学C程序设计考研真题A卷

一、填空题(共30小题,每空1分)

1.C语言中的实型变量分为两种类型,它们是【1】和【2】。

2.C语言中的标识符只能由三种字符组成,它们是【3】、【4】和【5】。

3.若有定义:

charc=‘\010’;则变量c中包含的字符个数是【6】。

4.C语言提供的三种逻辑运算符是【7】、【8】、【9】。

5.设y为int型变量,请写出描述“y是奇数”的表达式【10】。

6.设x,y,z均为int型变量,请写出描述“x或y中有一个小于z”的表达式【11】。

7.在C语言中,二维数组元素在内存中的存放顺序是【12】。

8.若有定义:

doublex[3][5];则x数组中行下标的下限为【13】,列小标的上限为【14】。

9.若有定义:

inta[3][4]={{1,2},{0},{4,6,8,10}};则初始化后,a[1][2]得到的初值是【15】,a[2][2]得到的初值是【16】。

10.若自定义函数要求返回一个值,则应在该函数体中有一条【17】语句,若自定义函数要求不返回一个值,则应在该函数说明时加一个类型说明符【18】。

11.函数中的形参和调用时的实参都是数组名时,传递方式为【19】,都是变量时,传递方式为【20】。

12.在内存中存储“A”要占用【21】个字节,存储‘A’要占用【22】字节。

13.符号常量的定义方法是【23】。

14.结构化程序设计方法规定程序或程序段的结构有三种:

顺序结构、【24】和【25】。

15用{}把一些语句括起来称为【26】语句

16.“*”称为【27】运算符,“&”称为【28】运算符。

17.赋值表达式和赋值语句的区别在于有无【29】号。

18.C语言编绎系统在判断一个量是否为“真”时,以0代表“假”,以【30】代表“真”

二、单选题(共50分,每题一分)

(1)以下叙述中错误的是

A)用户所定义的标识符允许使用关键字

B)用户所定义的标识符应尽量做到“见名知意”

C)用户所定义的标识符必须以字母或下划线开头

D)用户定义的标识符中,大、小写字母代表不同标识

(2)以下叙述中错误的是

A)C语句必须以分号结束B)复合语句在语法上被看作一条语句

C)空语句出现在任何位置都不会影响程序运行

D)赋值表达式末尾加分号就构成赋值语句

(3)以下叙述中正确的是

A)调用printf函数时,必须要有输出项

B)使用putchar函数时,必须在之前包含头文件stdio.h

C)在C语言中,整数可以以十二进制、八进制或十六进制的形式输出

D)调用getchar函数读入字符时,可以从键盘上输入字符所对应的ASCII码

(4)以下关于函数的叙述中正确的是

A)每个函数都可以被其它函数调用(包括main函数)

B)每个函数都可以被单独编译C)每个函数都可以单独运行

D)在一个函数内部可以定义另一个函数

(5)若有语句:

char*line[5];,以下叙述中正确的是

A)定义line是一个数组,每个数组元素是一个基类型为char的指针变量

B)定义line是一个指针变量,该变量可以指向一个长度为5的字符型数组

C)定义line是一个指针数组,语句中的*号称为间址运算符

D)定义line是一个指向字符型函数的指针

(6)有以下程序段

typedefstructNODE{intnum;structNODE*next;}OLD;

以下叙述中正确的是

A)以上的说明形式非法B)NODE是一个结构体类型

C)OLD是一个结构体类型D)OLD是一个结构体变量

(7)以下叙述中错误的是

A)C语言中对二进制文件的访问速度比文本文件快

B)C语言中,随机文件以二进制代码形式存储数据

C)语句FILEfp;定义了一个名为fp的文件指针

D)C语言中的文本文件以ASCII码形式存储数据

(8)当把以下四个表达式用作if语句的控制表达式时,有一个选项与其它三个选项含义不同,这个选项是

A)k%2B)k%2==1C)(k%2)!

=0D)!

k%2==1

(9)以下不能正确计算代数式值的C语言表达式是

A)1/3*sin(1/2)*sin(1/2)B)sin(0.5)*sin(0.5)/3

C)pow(sin(0.5),2)/3D)1/3.0*pow(sin(1.0/2),2)

(10)以下能正确定义且赋初值的语句是

A)intn1=n2=10;B)charc=32;

C)floatf=f+1.1;D)doublex=12.3E2.5;

(11)算法具有五个特性,以下选项中不属于算法特性的是______。

A)有穷性B)简洁性C)可行性D)确定性

(12)以下选项中可作为C语言合法常量的是______。

A)-80.B)-080C)-8e1.0D)-80.0e

(13)以下叙述中正确的是______。

A)用C程序实现的算法必须要有输入和输出操作

B)用C程序实现的算法可以没有输出但必须要输入

C)用C程序实现的算法可以没有输入但必须要有输出

D)用C程序实现的算法可以既没有输入也没有输出

(14)以下不能定义为用户标识符的是______。

A)MainB)_0C)_intD)sizeof

(15)以下选项中不能作为合法常量的是______。

A)1.234e04B)1.234e0.4C)1.234e+4D)1.234e0

(16)下列叙述中正确的是______。

A)C语言编译时不检查语法B)C语言的子程序有过程和函数两种

C)C语言的函数可以嵌套定义D)C语言所有函数都是外部函数

(17)以下所列的C语言常量中,错误的是______。

A)0xFFB)1.2e0.5C)2LD)'\72'

(18)下列选项中,合法的C语言关键字是______。

A)VARB)cherC)integerD)default

(19)以下变量x.、y、z均为double类型且已正确赋值,不能正确表示数学式子

的C语言表达式是______。

A)x/y*zB)x*(1/(y*z))C)x/y*1/zD)x/y/z

(20)若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是______。

A)-3B)9C)-12D)6

(21)设x、y、t均为int型变量,则执行语句:

x=y=3;t=++x||++y;后,y的值为______。

A)不定值B)4C)3D)1

(22)若变量已正确说明为float类型,要通过语句给a赋于10.0,b赋予22.0,c赋予33.0,不正确的输入形式是______。

A)10<回车>B)10.0,22.0,33.0<回车>C)10.0<回车>D)1022<回车>

22<回车>22.033.0<回车>33<回车>

33<回车>

(23)若执行以下程序时从键盘上输入9,则输出结果是______。

A)11B)10C)9D)8

main()

{intn;scanf("%d",&n);

if(n++<10)printf("%d\n",n);elseprintf("%d\n",n--);}

(24)要求以下程序的功能是计算:

s= 1+1/2+1/3+…+1/10

main()

  { int n; float s;s=1.0;

  for(n=10;n>1;n--)s=s+1/n;

printf("%6.4f\n",s);

  }

  程序运行后输出结果错误,导致错误结果的程序行是______。

   A)s=1.0; B)for(n=10;n>1;n--)C)s=s+1/n; D)printf("%6.4f\n", s);

(25)有以下程序段

intk=0

while(k=1)k++;

while循环执行的次数是______。

A)无限次B)有语法错,不能执行C)一次也不执行D)执行1次

(26)以下程序执行后sum的值是______。

A)15B)14C)不确定D)0

min()

{inti,sum;

for(i=1;i<6;i++)sum+=i;

printf("%d\n",sum);

}

(27)有以下程序段

intx=3

do{printf("%d",x-=2);}while(!

(--x));

其输出结果是______。

A)1B)30C)1-2D)死循环

(28)若变量c为char类型,能正确判断出c为小写字母的表达式是______。

A)'a'<=c<='z'B)(c>='a')||(c<='z')C)('a'<=c)and('z'>=c)D)(c>='a')&&(c<='z')

(29)以下所列的各函数首部中,正确的是______。

A)voidplay(var:

Integer,varb:

Integer)B)voidplay(inta,b)

C)voidplay(inta,intb)D)Subplay(aasinteger,basinteger)

(30)以下程序的输出结果是______。

A)0B)29C)31D)无定值

fun(intx,inty,intz)

{z=x*x+y*y;}

main()

{inta=31;

fun(5,2,a);

printf("%d",a);

}

(31)下列程序段的输出结果是______。

A)2143B)1212C)1234D)2112

voidfun(int*x,int*y)

{printf("%d%d",*x,*y);*x=3;*y=4;}

main()

{intx=1,y=2;

fun(&y,&x);

printf("%d%d",x,y);

}

(32)下列程序的输出结果是______。

A)非法B)a[4]的地址C)5D)3

main()

{chara[10]={9,8,7,6,5,4,3,2,1,0},*p=a+5;

printf("%d",*--p);

}

(33)下列程序的运行结果是______。

A)63B)36C)编译出错D)00

voidfun(int*a,int*b)

{int*k;

k=a;a=b;b=k;

}

main()

{inta=3,b=6,*x=&a,*y=&b;

fun(x,y);

printf("%d%d",a,b);

}

(34))下面程序的输出结果是______。

A)0B)1C)10D)9

main()

{inta[]={1,2,3,4,5,6,7,8,9,0,},*p;

p=a;

printf("%d\n",*p+9);

}

(35)当调用函数时,实参是一个数组名,则向函数传送的是______。

A)数组的长度B)数组的首地址

C)数组每一个元素的地址D)数组每个元素中的值

(36)设有以下说明语句

structex

{intx;floaty;charz;}example;

则下面的叙述中不正确的是______。

A)struct结构体类型的关键字B)example是结构体类型名

C)x,y,z都是结构体成员名D)structex是结构体类型

(37)以下只有在使用时才为该类型变量分配内存的存储类说明是______。

A)auto和staticB)auto和register

C)register和staticD)extern和register

(38)若fp是指向某文件的指针,且已读到文件末尾,则库函数feof(fp)的返回值是______。

A)EOFB)-1C)非零值D)NULL

(39)以下程序的输出结果是______。

A)20B)21C)22D)23

main()

{inti,k,a[10],p[3];k=5;

for(i=0;i<10;i++)a[i]=i;

for(i=0;i<3;i++)p[i]=a[i*(i+1)];

for(i=0;i<3;i++)k+=p[i]*2;printf("%d\n",k);

}

(40)以下程序的输出结果是______。

A)1,5,9B)1,4,7C)3,5,7D)3,6,9

main()

{inti,x[3][3]={1,2,3,4,5,6,7,8,9};

for(i=0;i<3;i++)printf("%d,",x[i][2-i]);

}

(41)有以下程序

main()

{inta=1,b;

for(b=1;b<=10;b++)

{if(a>=8)break;

if(a%2==1){a+=5;continue;}

a-=3;

}

printf("%d\n",b);

}

程序运行后的输出结果是______。

A)3B)4C)5D)6

(42)有以下程序

main()

{chars[]="159",*p;

p=s;printf("%c",*p++);printf("%c",*p++);

}

程序运行后的输出结果是______。

A)15B)16C)12D)59

(43)有以下函数

fun(char*a,char*b)

{while((*a!

='\0')&&(*b!

='\0')&&(*a==*b))

{a++;b++;}

return(*a-*b);

}

该函数的功能是______。

A)计算a和b所指字符串的长度之差B)将b所指字符串连接到a所指字符串中

C)将b所指字符串连接到a所指字符串后面D)比较a和b所指字符串的大小

(44)有以下程序

main()

{intnum[4][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}},i,j;

for(i=0;i<4;i++)

{for(j=0;j<=i;j++)printf("%4c",'');

for(j=_____;j<4;j++)printf("%4d",num[i][j]);printf("\n");}

}若要按以下形式输出数组右上半三角

1234

678

1112

16

则在程序下划线处应填入的是______。

A)i-1B)iC)i+1D)4-i

(45)有以下程序

point(char*p){p+=3;}

main()

{charb[4]={'a','b','c','d'},*p=b;

point(p);printf("%c\n",*p);

}

程序运行后的输出结果是______。

A)aB)bC)cD)d

(46)程序中若有如下说明和定义语句

charfun(char*);

main()

{char*s="one",a[5]={0},(*f1)()=fun,ch;

......

}

以下选项中对函数fun的正确调用语句是______。

A)(*f1)(a);B)*f1(*s);C)fun(&a);D)ch=*f1(s);

(47)有以下结构体说明和变量定义,如图所示:

structnode{intdata;structnode*next;}*p,*q,*r;

datanextdatanextdatanext

pqr

现要将q所指结点从链表中删除,同时要保持链表的连续,以下不能完成指定操作的语句是______。

A)p->next=q->next;B)p->next=p->next->next;C)p->next=r;D)p=q->next;

(48)以下对结构体类型变量td的定义中,错误的是______。

A)typedefstructaaB)structaa

{intn;floatm;}AA;{intn;floatm;}td;

AAtd;structaatd;

C)struct{intn;floatm;}aa;D)struct{intn;floatm;}

structaatd;

(49)以下与函数fseek(fp,0L,SEEK_SET)有相同作用的是______。

A)feof(fp)B)ftell(fp)C)fgetc(fp)D)rewind(fp)

(50)有以下程序

voidWriteStr(char*fn,char*str)

{FILE*fp;fp=fopen(fn,"w");fputs(str,fp);fclose(fp);}

main()

{WriteStr("t1.dat","start");WriteStr("t1.dat","end");}

程序运行后,文件t1.dat中的内容是______。

A)startB)endC)startendD)endrt

三、写出程序的运行结果(共15分,每小题3分)

(1)以下程序运行时,若从键盘输入:

102030<回车>,输出的结果是【1】。

#include

main()

{inti=0,j=0,k=0;

scanf("%d%*d%d",&i,&j,&k);

printf("%d%d%d\n",i,j,k);

}

(2)以下程序运行后的输出结果是【2】。

main()

{inta=3,b=4,c=5,t=99;

if(b

if(a

printf("%d%d%d\n",a,b,c);

}

(3)已知字符A的ASCII代码值为65,以下程序运行时若从键盘输入:

B33<回车>,则输出结果是【3】。

#include

main()

{chara,b;

a=getchar();scanf("%d",&b);a=a-'A'+'0';b=b*2;

printf("%c%c\n",a,b);}

(4)以下程序运行后的输出结果是___【4】_____。

#include

main()

{intk=1,s=0;

do{if((k%2)!

=0)continue;

s+=k;k++;}while(k>10);

printf("s=%d\n",s);

}

(5)有以下程序,程序执行后,输出结果是___【5】___。

#include

voidfun(int*a){a[0]=a[1];}

main()

{inta[10]={10,9,8,7,6,5,4,3,2,1},i;

for(i=2;i>=0;i--)fun(&a[i]);

for(i=0;i<10;i++)printf("%d",a[i]);

printf("\n");

}

四、程序填空题(共20,每小题4分)

1.下面是实现打印九九乘法表的程序,请在画线的位置填上适当的语句,使程序(段)完整。

main()

{inti,j,k;

for(i=1;____【1】______;i++)

{for(j=1;j〈=9;j++)

printf(“%d*%d=%d”,__【2】_____);

printf(____【3】_____);}

}

2.该程序完成的功能是求1+2+3+…+10的累加和,并进行累加和的输出打印。

变量sum是存放累加值的。

#include“stdio.h”

main()

{____【4】_____

i=1,sum=0;

for(;i〈=10;)

{sum+=i;

__【5】__}

printf(“%d\n”,sum);}

3.阅读函数,根据函数完成的主要功能,补充、完善主函数。

floatav(floata[],intn)

{inti;floats;

for(i=0,s=0;i〈n;i++)s=s+a[i];

return(s/n);}

main()

{floata[10];inti;

for(i=0;__【6】__)

scanf(“%f”__【7】_);

printf(“%f”,av(a,10));}

4.从键盘输入一些字符,逐个把它们送到磁盘文件TEXT.txt中,直到输入一个“$”为止。

请将空缺地方补充完善。

#include“stdio.h”

main()

{FILE*fp;charch;

if((fp=fopen(“test.txt”,“w”))==_____【8】______)

{printf(“cannotopenfile\n”);exit(0);

}

_______【9】________________;

while(ch!

=’$’)

{fputc(ch,fp);putchar(ch);

ch=getchar();}

_________【10】______________;}

五、编程题(共35分)

1题目:

猴子吃桃问题:

猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。

以后每天早上都吃了前一天剩下的一半零一个。

到第10天早上想再吃时,见只剩下一个桃子了。

求第一天共摘了多少。

(12分)

2题目:

打印出如下图案(菱形)(12分)

*

***

******

********

******

***

*

3题目:

有5个人坐在一起,问第五个人多少岁?

他说比第4个人大2岁。

问第4个人岁数,他说比第3个人大2岁。

问第三个人,又说比第2人大两岁。

问第2个人,说比第一个人大两岁。

最后问第一个人,他说是10岁。

请问第五个人多大?

(11分)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 中医中药

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1