c语言程序设计试题答案

  • 格式:doc
  • 大小:54.50 KB
  • 文档页数:11

下载文档原格式

  / 26
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

习题7

7.1选择题。

(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

{

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)

7.2阅读下列程序,写出运行结果。

(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\n", &b[3]);

}

答案:

Program

PROGRAM i = 7

margor

gram

(4)

/* 源文件名为demo.c */

main(int argc, char *argv[])

{

int i;

for (i=0; i

{

printf("%s\n", argv[i]);

}

}

假设该文件demo.c及其可执行程序demo.exe位于E盘的TC目录下,则当命令行参数