扬州大学C语言新生竞赛试卷2014Word格式文档下载.doc
- 文档编号:13181008
- 上传时间:2022-10-07
- 格式:DOC
- 页数:15
- 大小:66.50KB
扬州大学C语言新生竞赛试卷2014Word格式文档下载.doc
《扬州大学C语言新生竞赛试卷2014Word格式文档下载.doc》由会员分享,可在线阅读,更多相关《扬州大学C语言新生竞赛试卷2014Word格式文档下载.doc(15页珍藏版)》请在冰豆网上搜索。
y=m++;
z=n;
则x、y、z的值分别是()。
A.7、9、7B.5、9、7C.6、1、5D.10、11、10
3.设有说明“intx=1,y=1,z=1,c;
”,执行语句“c=--x&
&
--y||--z;
”后,x、y、z的值分别是()。
A.0、1、1、B.0、1、0C.1、0、1D.0、0、1
4.以下常量中正确的是()。
A.’abc’B.’\x123’C.3.15E-1.2D.”a”
5.以下不致造成死循环的语句是()。
A.for(y=0,x=1;
x>
++y;
x=i++)i=x;
B.for(;
;
x+=i);
C.while(x=8)x--;
D.for(i=10,sum=0;
sum<
=i;
)sum=--i;
6.设有以下函数定义,则返回的函数值是()。
int*fun(int*a)
{int*t;
*a=99;
t=a;
returnt;
}
main()
{intx,*y
*fun(int*);
y=fun(&
x)
;
...
}
A.无确切的值B.形参a的地址
C.主程序中变量x的地址D.函数fun中变量t的地址
7.设有数组说明“inta[4][4];
”则不能等价表示数组元素a[3][3]的是()。
A.*(a[3]+3)B.*(*(a+3)+3)C.*&
a[3][3]D.(*(*(a+3))+3)
8.设有说明“char*str=”\t\’c\\Language\n”;
”,则指针str所指向字符串的长度是()。
A.17B.13C.15D.非法说明
9.设有说明:
struct
{charname[15],sex;
intage;
floatscore;
}stu,*p=&
stu;
则以下不能正确输入结构体成员值的是()。
A.scanf(“%c”,&
p->
sex);
B.scanf(“%s”,stu.name);
C.scanf(“%d”,&
stu.age);
D.scanf(“%f”,p->
score);
10.设有“chars[]=”Program”,*p=s;
”,则以下叙述中正确的是()。
A.数组s的内容与指针变量p中的内容相同
B.数组s的长度与strlen(p)的值相等
C.p[5]的值等于s[5]的值
D.sizeof(s)等于sizeof(*p)
二、填空题(共10分,每题1分)
1.若有定义语句“staticcharstr[4][20]={“thank”,”you”,”very”,”much!
”};
”,则数组str中存储’\0’的数组元素有个。
2.在C语言中,当关系表达式中的关系成立时,则该关系表达式的值是。
3.下列程序是求1到100的累加和,其中有3个能够完成规定的功能;
有1个所完成的功能与其他程序不同,它是程序段。
A.s=0;
i=0;
while(i<
=100)s+=i++;
B.s=0;
i=1;
while(i++<
100)s+=i;
C.s=0;
while(i<
100)s+=++i;
D.s=0;
while(++i<
=100)s+=i;
4.若二维数组a有m列,则数组元素a[i][j]在数组中的位置是,在a[i][j]前的元素个数是。
(假设a[0][0]位于数组的第一个位置上)
5.若有说明:
inta[][3]={1,2,3,4,5,6,7};
则a数组第一维的大小是。
6.若用数组名作为函数调用的实参,传递给形参的是。
7.凡是在函数中未指定存储类别的局部变量,其隐含的存储类别是。
8.若有说明:
inta[5][6],*p=a[0],(*q)[6]=a,则数组元素a[i][j]的指针可表示为p+_______;
*(*(q+i)+j)表示。
9.以下与库函数strcpy(char*p1,char*p2)功能不相同的程序段是。
A.strcpy1(char*p1,char*p2)
{while((*p1++=*p2++)!
=’\0’);
B.strcpy2(char*p1,char*p2)
{while((*p1=*p2)!
=’\0’)p1++,p2++;
C.strcpy3(char*p1,char*p2)
{while(*p1++=*p2++);
D.strcpy4(char*p1,char*p2)
{while(*p2)*p1++=*p2++;
10.下面程序的运行结果是。
main()
{structcmplx
{intx;
inty;
}cnum[2]={1,3,2,7},*p=&
cnum[0]
printf(“%d\n“,cnum[0].y/cnum[0].x*(++p)->
x);
三、阅读程序(共20分,每题4分)
1.试写出下列程序运行结果。
#include<
stdio.h>
voidfun(int*a,intb,int*c)
{*a=++b;
b=*c;
*c=*a;
voidmain()
{inta=100,b=200,c=300;
{inta=4;
c=a+b;
printf("
%d\n"
a+b+c);
{intc=b;
fun(&
a,b,&
c);
printf("
a+b+c);
}
printf("
【结果】
2.试写出下列程序运行结果。
voidf(int*p,intn)
{inti,j;
for(i=0;
i<
n;
i++)
for(j=i+1;
j<
j++)
if(p[i]&
p[j]&
(p[j]%p[i]==0))p[j]=0;
voidmain()
{inta[28],i,j=0;
28;
i++)a[i]=i+2;
f(a,28);
if(a[i]){printf("
%d\t"
a[i]);
if(++j%5==0)printf("
\n"
);
3.假设整型数据的内存字节数为2,再假设以下程序的第一个printf语句的输出为ffe2,试写出下列程序运行结果。
{staticinta[]={1,2,3,4,5,6,7,8,9,0},*p=a;
printf(“%x\n”,p)/*输出结果设为ffe2*/
printf(“%x\n”,p+9);
printf(“%d\n”,*p+9);
printf(“%d\n”,*(p+9));
printf(“%d\n”,*++p+9);
4.试写出下列程序运行结果。
{staticintsq[3][3]={0};
inti,j,k;
i=1,j=2;
sq[i][j]=1;
for(k=2;
k<
=9;
k++)
{i++,j++;
if(i>
2&
j>
2)i--,j-=2;
elseif(i<
=2&
2)j=0;
elseif(i>
=2)i=0;
sq[i][j]!
=0)i--,j-=2;
sq[i][j]=k;
}
for(i=0;
3;
{for(j=0;
j++)printf("
%5d"
sq[i][j]);
printf("
5.试写出下列程序运行结果。
structs
{intn,*m;
}*p,*q;
intd[5]={10,20,30,40,50};
structsarr[5]={{100,&
d[0]},{200,&
d[1]},{300,&
d[2]},{400,&
d[3]},
{500,&
d[4]}};
main()
{q=p=arr;
printf(“%d\n”,++p->
n);
p++;
printf(“%d\n”,p++->
printf(“%d\n”,++(p->
m));
q+=3;
printf(“%d\n”,q->
m);
四、完善程序(共20分,每空2分)
1.函数insert()有三个参数:
第一个参数是一个指向数组的指针;
第二个参数指明数组的大小;
第三个参数是要插入数组中的一个数。
设数组中的数据已按升序排序。
该函数的功能是:
首先采用折半查找的方法,找出要插入数据的位
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 扬州 大学 语言 新生 竞赛 试卷 2014