高级语言程序设计模拟试卷(五)
模拟试卷(五)
一、单项选择题(在本题的每一小题的备选答案中只有一上答案是正确的,请把你认为正确的答案的题号,填入题干的括号内。多选不给分。每题1分,共20分)
1.设定义
int i=8;
表达式(i<<2)*i/(i>>2)的值是( )。
(1)32 (2)64 (3)128 (4)256
2.设有变量说明
int k=7,x=12;
则能使值为3的表达式是( )。
(1)x%=(k%=5) (2)x%=(k-k%5)
(3)x%=k-k%5 (4)(x%=k)-(k%=5)
3.设已说明
int i=10,j=20,k=30;
则执行下列语句的输出结果是( )。
printf("%d",i>10?i+10:i-10);
printf("%d",i%10&&j&k);
printf("%d",!i>!j);
printf("%d",j>>2);
printf("\n");
(1)1105 (2)0005 (3)0105 (4)0015
4.执行下述程序的输出结果是( )。
#include
main()
{
int a=-1,b=1,k;
if ((++a<0)&&!b--<=0))
printf("%d %d\n",a,b);
else
printf("%d %d\n",b,a);
}
(1)-1 1 (2)0 1 (3)1 0 (4)0 0
5. 假定所有变量均已正确说明,执行下述程序段后x的值是( )。
a=b=c=0;
x=35;
if (!a)x--;
else if (b) if (c) x=3;
else x=4;
(1)34 (2)4 (3)35 (4)3
6.执行以下程序的输出结果是( )。
#include
main()
{
int i,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);
}
(1)20 (2) 21 (3)22 (4)23
7.执行下述程序的输出结果是( )。
#include
main()
{
int k,j,m;
for (k=5;k>+1;k--)
{
m=0;
for (j=k;j<=5;j++)
m=m+k*j;
}
printf("%d\n",m);
}
(1)124 (2)25 (3)36 (4)15
8.设定义如下变量和数组
int i;
int x[3][3]={1,2,3,4,5,6,7,8,9};
则执行下述for语句的输出结果是( )。
for (i=0;i<3;i++)
printf("%d",x[i][2-i]);
printf("\n");
(1)159 (2)147 (3)357 (4)369
9.执行下述程序的输出结果是( )。
#include
main()
{
int n[3][3],i,j;
for (i=0;i<3;i++)
for (j+0;j<3;j++)
n[i][j]=i+j;
for (i=0;i<2;i++)
for (j=0;j<2;j++)
n[i+1][j+1]+=n[i][j];
printf("%d\n",n[i][j]);
}
(1)14 (2)0 (3)6 (4)值不确定
10.若有如下变量说明
int a[10];
int *p=a;
int j=2,k=4;
int x;
则下列赋值语句中错误的是( )。
(1)p[j++]=a[--k]; (2)x=a[p-a];
(3)a=p+1 (4)*p++=a[k++];
0条评论