文档介绍:第2次作业 C语言程序设计 201603
一、单项选择题(本大题共60分,共 20 小题,每小题 3 分)
1. 能正确获得字符串数据的操作是(   )。
A. char s[]="abcd";
B. char s[5]; s="good";
C. char s[5]='abcd';
D. char s[5]; s[ ]="good";
2. 对于下面代码段的执行结果,叙述正确的是(  )。
int a=5,b=10;
int *x,*y;
x=&a,y=&b;
*x=*x+*y;
*y=*x-*y;
*x=*x-*y;
A. a=5,b=10,x指向a,y指向b
B. a=10,b=5,x指向b,y指向a
C. a=10,b=5,x指向a,y指向b
D. a=5,b=10,x指向b,y指向a
3. 下面程序执行后的输出结果是(  )。
#include <>
#include <>
void main()
{
char s[100]="abcdefg",s2[100]="ABCD";
strcat(s+3,s2+2);
puts(s+1);
}
A. bcCD
B. bcABCD
C. bcdefgCD
D. abcdefgCD
4. 下面程序执行后的输入是(  )。
#include <>
#include <>
#define M1 "Hello"
#define M2 ",world!"
#define Msg1 0
#define Msg2 0
void main()
{
char s[100]="HHHH";
#ifdef Msg1
strcat(s,M2);
#elif Msg2
strcpy(s,M1);
#else
strcpy(s,strcat(strcpy(s,M1),M2));
#endif
puts(s);
}
A. HHHH
B. Hello,world!
C. HHHHHello
D. HHHH,world!
5. 下面程序的运行结果是(  )。
#include <>
#include <>
void main()
{ char s[100]="SSSWLIA",c;
int i;
for(i=2;c=s[i];i++)
{
switch(c)
{
case 'I':
i++;
break;
case 'L':
continue;
default:
putchar(c);
continue;
}
putchar('*');
}
printf("\n");
}
A. SW
B. SSW*
C. SW*A
D. SW*
6. 设有C语句int a[]={1,2,3,4,5,6,7,8,9,10},*p=a;,则下面对a数组元素不能够正确引用的是(    )。
A. a[p-a]
B. *(&a[3])
C. p[3]
D. *(*a(a+3))
7. C程序中