****题 7
选择题。
(1)下列对字符串的定义中,错误的是: A 。
A) char str[7] = "FORTRAN";
B) char str[] = "FORTRAN";
C) char *str = "FORTRAN";
D) char str[] = {'F','O','R','T','R','A','N',0};
(2)以下程序段的输出结果是:____D_________
char a[] = "ABCDE" ;
char *p = NULL;
for (p=a; p<a+5; p++)
{
printf("%s\n", p);
}
A)ABCDE B) A C) E D)ABCDE
B D BCDE
C C CDE
D B DE
E A E
(3)下列程序是对字符串的相关操作,正确的是____D____。
A)
#include <>
main()
{
static char a[5];
a = "abcde" ;
printf("%s\n", a);
}
B)
#include <>
main()
{
static char a[7]= "goodbye!";
printf("%s\n", a) ;
}
C)
#include <>
main()
{
char a[5] = "abcde";
printf("%s\n", a) ;
}
D)
#include <>
main()
{
static char a[]="abcde";
printf("%s\n", a) ;
}
(4)阅读下列函数,函数功能为___A_____。
void Exchange(int *p1, int *p2)
{
int p;
p = *p1;
*p1 = *p2;
*p2 = p;
}
A)交换*p1和*p2的值 B)正确,但无法改变*p1和*p2的值
C)交换*p1和*p2的地址 D)可能造成系统故障
(5)设有语句:int array[3][4]; 则在下面几种引用下标为i和j的数组元素的方法中,不正确的引用方式是:___D_____。
A)array[i][j] B)*(*(array + i) + j)
C)*(array[i] + j) D)*(array + i*4 + j)
阅读下列程序,写出运行结果。
(1)
#include <>
main()
{
static int x[] = {1,2,3};
int s, i, *p = NULL;
s = 1;
p = x;
for (i=0; i<3; i++)
{
s* = *(p + i);
}
printf("%d\n",s);
}
答案:6
(2)
#include <>
main()
{
int a[] = {1,2,3,4,5};
int *p = NULL;
p = a;
printf("%d, ",*p);
printf("%d, ",*(++p));
printf("%d, ",*++p);
printf("%d, ",*(p--));
printf("%d, ",*p++);
printf("%d, ",*p);
printf("%d, ",++(*p));
printf("%d, ",*p);
}
答案:1, 2, 3, 3, 2, 3, 4, 4,
(3)
#include <>
char b[] = "program";
char *a = "PROGRAM";
main()
{
int i = 0;
printf("%c%s\n",*a, b + 1);
while (putchar (*(a + i)))
{
i++;
}
printf("i = %d\n",i);
while ( -- i)
{
putchar (*(b + i));
}
printf("\n%s\
c语言程序设计试题答案 来自淘豆网www.taodocs.com转载请标明出处.