c语言程序设计精彩试题问题详解

合集下载
  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目录下,则当命令行参数为demo.exe This is a program,则运行结果应为什么?

答案:

demo.exe

This

is

a

program

7.3阅读程序,按要求,在空白处填写适当的表达式或语句,使程序完整,并符合题目要求。(1)下面函数实现strlen函数的功能,即计算指针p所指向的字符串中的实际字符个数。

unsigned int MyStrlen(char *p)

{

int len;

len = 0;

for (; *p != ‘\0’; p++)

{

len ++;

}

return len;

}

(2)下面函数也是实现strlen函数功能的,但计算字符串s中的实际字符个数的方法与上一道题有所不同。

unsigned int MyStrlen(char s[])

{

char *p = s;

while (*p != ‘\0’)

{

p++;

}

return p-s;

相关文档
最新文档