if(i==3||i==5) continue;
if(i==6) break;
i++;
s+=i;
}
printf(“%d\n”,s);
}
程序运行后的输出结果是( )。
A. 10 B. 13
C. 24 D. 程序进入死循环
【答案】D
【考点解析】在本题中,循环语句for缺省了表达式,即如果在循环体内没有break语句,则循环并不会退出,那么就是进入死循环。在本题中,循环体里有break语句,它执行的条件是i等于6,但是在整个程序执行的过程中,i的值并不会等于6,因为在i等于3或者i等于5时,执行了continue,即又回到循环的开始,则当i的值为3时,程序就一直在执行continue语句,则不能退出循环,所以最后结果进入死循环。
第五章.组与函数
5.1数组
一、选择题
【例1】(2000年4月)执行下面的程序段后,变量k中的值为( )。
int k=3,s[2];
s[0]=k;k=s[1]*10;
A. 不定值 B. 33
C. 30 D. 10
【答案】A
【考点解析】在C语言中声明了数组但没有将其初始化系统将为数组元素赋一个随机的值。
【例2】(2000年4月)若已定义:
int a[ ]={0,1,2,3,4,5,6,7,8,9], *p=a,i;
中 0≤i≤9, 则对a数组元素不正确的引用是( )。
A. a[p-a] B. *(&a[i])
C. p[i] D. a[10]
【答案】D
【例3】(2000年4月)设有数组定义: char array [ ]="China"; 则数组 array所占的空间为( )。
A. 4个字节 B. 5个字节
C. 6个字节 D. 7个字节
【答案】C
【例4】(2000年4月)下列程序执行后的输出结果是( )。
main()
{
char arr[10];
strcpy(arr,"your"); strcat(arr,"me");
arr[3]='&';
printf("%s \n",arr);
}
A. you&me B. you
C. me D. err
【答案】A
【考点解析】strcat(字符数组1,字符数组2)作用是连接两个字符数组中的字符串,把字符串2连接到字符串1后面,结果放到字符数组1中,返回字符数组1的地址; strcpy(字符数组1,字符串2)作用是讲字符串2复制到字符数组1中。
【例5】(2001年4月)当执行下面的程序时,如果输入ABC,则输出结果是( )。
#include "stdio.h"
#include "string.h"
main()
{
char ss[10]="1,2,3,4,5";
gets(ss); strcat(ss, "6789"); printf("%s\n",ss);
}
A. ABC6789 B. ABC67
C. 12345ABC6 D. ABC456789
【答案】A
【考点解析】gets( )函数的从终端输入一个字符串到字符数组,题目输入ABC后数组ss内容为"ABC\0",strcat()作用是在数组ss后面连接上字符串"6789",所以答案选A。