#include <stdio.h>
main()
{ int a=1,b=1;
while(a--)
b--;
printf("%d,%d\n", a,b);
}
程序的运行结果是
A) -1,0
B) 0,0
C) -1,-1
D) 1,1
参考答案:A
20.有以下程序
#include <stdio.h>
main()
{ int a=1, b=0;
for(;a<5; a++)
{ if (a%2==0) break;
b += a;
}
printf("%d \n", b);
}
程序的运行结果是
A) 1
B) 10
C) 0
D) 4
参考答案:A
21.以下能正确输出字符a 的语句是
A) printf("%s", "a");
B) printf("%s", 'a');
C) printf("%c", "a");
D) printf("%d", 'a');
参考答案:A
22.有以下程序
#include <stdio.h>
main()
{ char c;
do {
c=getchar();
putchar(c);
} while(c != '#');
printf("\n");
}
执行时如输入:abcdefg##<回车> , 则输出结果是
A) abcdefg#
B) abcdefg
C) abcdefg##
D) ##
参考答案:A
23.以下关于C语言函数参数传递方式的叙述正确的是
A) 数据只能从实参单向传递给形参
B) 数据可以在实参和形参之间双向传递
C) 数据只能从形参单向传递给实参
D) C语言的函数参数既可以从实参单向传递给形参,也可以在实参和形参之间双向传递,可视情况选择使用
参考答案:A
24以下关于指针的叙述正确是
A) 所有类型的指针变量所占内存的大小是一样的
B) 指针变量所占内存的大小与其类型有关,char型指针变量只占1个字节,double型指针变量占8个字节
C) 指针变量可直接指向任何类型的变量,而不会出现编译或运行错误
D) 指针变量既可以直接指向结构体,也可直接指向结构体中某个成员,而不会出现编译或运行错误
参考答案:A
25.有以下程序
#include <stdio.h>
int k=5;
void f(int *s)
{ s=&k; }
main()
{ int m=3,*p=&m;
f(p);
printf("%d,%d\n", m, *p);
}
程序的运行结果是
A) 3,3
B) 5,5
C) 3,5
D) 5,3
参考答案:A
26.有以下程序
#include <stdio.h>
int *f(int *s,int *t)
{ if (*s < *t)
*s=*t;
return s;
}
main()
{ int i=3, j=5, *p=&i, *q=&j, *r;
r=f(p,q);
printf("%d,%d,%d,%d,%d\n", i, j, *p, *q, *r);
}
程序的运行结果是
A) 5,5,5,5,5
B) 3,5,5,5,5
C) 5,3,3,3,5
D) 3,5,3,5,5
参考答案:A
27.有以下程序
#include <stdio.h>
#define N 4
void fun(int a[][N])
{ int b[N][N],i,j;
for(i=0; i<N; i++)
for(j=0; j<N; j++)
b[i][j] = a[N-1-j][i];
for(i=0; i<N; i++)
for(j=0; j<N; j++)
a[i][j] = b[i][j];
}
main()
{ int x[N][N]={ {1, 2, 3, 4},
{5, 6, 7, 8},
{9,10,11,12},
{13,14,15,16}
}, i;
fun(x); fun(x);
for (i=0;i<N; i++)
printf("%d,", x[i][i]);
printf("\n");
}
程序的运行结果是
A) 16,11,6,1,
B) 1,6,11,16,
C) 4,7,10,13,
D) 13,10,7,4,
参考答案:A
28.有以下程序
#include <stdio.h>
void fun(int a[ ], int n)
{ int i,j=0,k=n/2, b[10];
for (i=n/2-1; i>=0; i--)
{ b[i] =a[j];
b[k] =a[j+1];
j+=2; k++;
}
for (i=0; i<n; i++)
a[i] = b[i];
}
main()
{ int c[10]={10,9,8,7,6,5,4,3,2,1},i ;
fun(c, 10);
for (i=0;i<10; i++)
printf("%d,", c[i]);
printf("\n");
}
程序的运行结果是
A) 2,4,6,8,10,9,7,5,3,1,
B) 10,8,6,4,2,1,3,5,7,9,
C) 1,2,3,4,5,6,7,8,9,10,
D) 1,3,5,7,9,10,8,6,4,2,
参考答案:A
29.有以下程序
#include <stdio.h>
#include <string.h>
main()
{ int i;
char a[]="How are you!";
for (i=0; a[i]; i++)
if (a[i] == ' ')
{ strcpy(a, &a[i+1]);
i=0;
}
printf("%s\n",a);
}
程序的运行结果是
A) you!
B) Howareyou!
C) areyou!
D) are you!
参考答案:A
30.有以下程序(其中的strstr()函数头部格式为:char *strstr(char *p1, char *p2) 确定p2字符串是否在p1中出现,并返回p2第一次出现的字符串首地址)
#include <stdio.h>