高级语言程序设计(一)2014年4月真题及答案解析
-
从键盘输入10个整数,由大到小排序后输出。
-
将一维数组逆序存放后输出。例如int a[3]={1,2,3},逆序存放后int a[3]={3,2,1}。
include
void move(int *p, int n);
void main()
{
int i, n=6, a[6]={1,2,3,4,5,6};
move(a, 5);
for(i=0; i
}
void move(int *p, int n)
{
_________; /*第二空*/
for(k=0; k<=n/2; k++)
{ c=p[k]; p[k]=p[n-k]; _________;} /*第三空*/
}
-
计算1到100的平方根,并将结果保存至二进制文件root.dat。
-
-
求a、b和c的最大值并输出。
#include
int f(int x, _________) /*第一空*/
{ return(_________?y:x); } /*第二空*/
void main()
{
int a=3, b=4, c=5, d;
_________=f(f(a,b), f(a,c)); /*第三空*/
printf("%d\n", d);
}
-
#define N 5
void main()
{
int k, s1=0, s2=0;
for(k=1; k
switch(k%4)
{ case 1:
case 2: s1+=1; break;
case 3:
case 0: s2+=1; break;
}
printf("s1=%d,s2=%dn", s1, s2);
}
-
int f(int n)
{
if(n=2) return 0;
else return(n+f(n-2));
}
void main()
{
int a=10;
printf("%d\n", f(a));
}
-
int f(int t)
{
int b;
static int c=3;
b=c+t;
c++;
return b;
}
void main()
{
int i, k;
for(i=1; i<3; i++)
{ k=f(i);
printf("%2d", k);
}
printf("\n");
}
-
void main()
{
int k, m;
for(m=3; m<12; m++)
{ for(k=2;k
if(m%k==0) break;
if(k==m) printf("%2d",m);
}
}
-
表达式(int)(3.5+1/2)的值是_________。
-
计算使用的系统函数是_________。
-
设char s[20]="Computer";,则strlen(s)的值是_________。
-
运算符+=、&&、<和!中,优先级最低的是_________。
-
设int x=12;,执行语句x>>=2;后X的值是_________。
-
设int m[10], *p;,使指针变量p指向数组m首元素的语句是_________。
-
一个源程序中允许有多个函数,但必须有且只能有一个_________。
-
break语句除可在循环语句中使用外,还可以用于_________。
-
下列程序的输出结果是( )
int a=1;
int f ()
{ int a=2; return a; }
void main()
{ printf("%d,%d", a, f()); }
- A.1,1
- B.1,2
- C.2,1
- D.2,2
-
指针变量中存放的是_________。
-
设int a;,从键盘输入数据给变量a的输入语句是_________。
-
设char s1[10]="Better", s2[10]="Life";,执行语句printf("%s", strcat(s1, s2));后输出结果是( )
- A.LifeBetter
- B.BetterLife
- C.Better
- D.Life
-
下列程序段的输出结果是( )
int n=6;
while(n>3)
{ n--;
if(n%2==0) continue;
printf("%d\n", n);
}
- A.13
- B.35
- C.53
- D.654
-
设
Struct t
{ int a;
float b;
char c[10];
}x[2]={{1, 6.6, "Dollar"}, {2, 9.8, "Pound"}};
则执行语句printf("%d,%s", x[1].a, x[1].c);后输出结果是( )
- A.1,Dollar
- B.2,Dollar
- C.1,Pound
- D.2,Pound
-
设int a[]={11,21,31,41,51,61}, *p=a;,表达式*p++的值是( )
- A.11
- B.21
- C.31
- D.41
-
下列数组初始化后,元素值不全为0的是( )
- A.int a[5]={0};
- B.int a[5]={'0'};
- C.static int a[5];
- D.int a[5]={0,0,0,0,0};
-
设int a=10, b=20, c=1, d=2;,执行语句if(ad&&(c=10)||c==100) d=200;后,c和d的值分别是( )
- A.1和2
- B.1和200
- C.10和2
- D.100和200
-
设int a[2][3]={1,2,3,4,5};,数组元素a[1][1]的值是( )
- A.1
- B.2
- C.4
- D.5
-
设int a, b, c;,执行语句printf("%d", (a=1, b=2, c=3));后输出结果是( )
- A.6
- B.3
- C.2
- D.1
-
设int n=2;,执行语句n+=n-=n-n;后n的值是( )
- A.0
- B.2
- C.4
- D.6
-
下列程序段执行后,变量n的值是( )
Static int n;
do { n=n+1; } while(n<1000);
- A.1
- B.999
- C.1000
- D.1001
-
执行语句printf("%c", 'A'+3);后输出结果是( )
- A.3
- B.A
- C.D
- D.68
-
设int m1=60, m2=80, m3=100;,表达式m3>m2>m1的值是( )
- A.0
- B.1
- C.60
- D.100
-
设int a[10];,则数组a的下标正确的使用范围是( )
- A.0到9
- B.0到10
- C.-1到9
- D.1到10
-
表达式9%45+15/6*2的值是( )
- A.4
- B.5
- C.10
- D.13