}
程序运行后的输出结果是( )。
A. 1,2,3,4,5,6,7,8,9,10 B. 10,9,8,7,6,5,4,3,2,1,
C. 1,2,3,8,7.6.5.4.9,10 D. 1,2,10,9,8,7,6,5,4,3
【答案】C
【考点解析】题中sort(&aa[3],5)把数组aa中的第四个元素的地址传递给形式参数,利用sort函数把数组中第4至8进行排序,所以正确答案选C。
【例12】(2002年9月)以下程序中函数reverse的功能是将a所指数组中的内容进行逆置
void reverse(int a[ ],int n)
{
int i,t;
for(i=0;i
{t=a[i]; a[i]=a[n-1-i];a[n-1-i]=t;}
}
main()
{
int b[10]={1,2,3,4,5,6,7,8,9,10}; int i,s=0;
reverse(b,8);
for(i=6;i<10;i++) s+=b[i];
printf("%d\n",s);
}
程序运行后的输出结果是( )。
A. 22 B. 10
C. 34 D. 30
【答案】A
【考点解析】通过reverse把数组b前8个元素逆置为8,7,6,5,4,3,2,1,再对数组b最后4个元素求和。
【例14】(2002年9月)有以下程序
#include
main()
{
char *p="abcde\0fghjik\0";
printf("%d\n",strlen(p));
}
程序运行后的输出结果是( )。
A. 12 B. 15
C. 6 D. 5
【答案】D
【命题目的】考查strlen( )函数的意义。
【例17】(2003年9月)以下能正确定义一维数组的选项是( )。
A. int num []; B. #define N 100 int num [N];
C. int num[0..100]; D. int N=100; int num[N];
【答案】B
【例18】(2004年4月)在以下程序段中,不能正确赋字符串(编译时系统会提示错误)的是( )。
A. char s[10]="abcdefg";
B. char t[ ]="abcdefg",*s=t;
C. char s[10];s="abcdefg";
D. char s[10];strcpy(s,"abcdefg");
【答案】C
【例3】(2001年4月)下列程序段的输出结果是 。
main()
{
char b[ ]="Hello,you";
b[5]=0;
printf("%s \n", b );
}
【答案】Hello
【考点解析】语句b[5]=0相当于在Hello后面加入结束符,所以后面的不输出。
【例5】(2004年9月)以下程序运行后的输出结果是 。
main()
{
int a[4][4]={{1,2,3,4},{5,6,7,8},{11,12,13,14},{15,16,17,18}};
int i=0,j=0,s=0;
while(i++<4)
{
if(i==2||i==4) continue;
j=0;
do{ s+= a[i][j]; j++; } while(j<4);
}
printf("%d\n",s);
}
【答案】92
【考点解析】题目中两个循环语句,第一个while语句的条件是i++<4,先进行了自增1在判断是否符合循环条件,所以在while循环体内i的初值是1,当i为2或4时回到循环的开头,所以在do while循环体内i的值只能是1和3,所以s=a[1][0] +a[1][1]+a[1][2]+a[1][3]+a[3][0]+a[3][1]+a[3][2]+a[3][3]=92。