学历改变命运
24小时客服:4008135555/010-82335555
当前位置:首页 > 笔记串讲 > 自考“高级语言程序设计”习题答案详解(16

自考“高级语言程序设计”习题答案详解(16)

2007年09月04日    来源:   字体:   打印

  6.函数调用“strcat(strcpy(strl,str2),str3)”的功能是( )

  ①将字符串strl复制到字符串str2中后再连接到字符串str3之后

  ②将字符串strl连接到字符串str2中后再复制到字符率str3之后

  ③将字符串str2复制到字符串strl中后再将字符串str3连接到字符串strl之后

  ④将字符串str2连接到字符率strl之后再将字符串strl复制到字符串str3中

  「解」函数调用strcat(s1,s2)是将s2字符串复制连接到s1字符串之后,使s1字符串变得更长。函数调用strcpy(s1,s2)是将s2字符串复制到s1,使s1字符串的内容与s2字符串的内容相同。函数调用strcat(strcpy(strl,str2) ,str3) 是先执行strcpy(strl,str2),然后再执行strcat(strl,str3),所以其功能是将字符串str2复制到字符串strl中,然后再将字符串str3复制连接到字符串strl之后。正确的选择是③。

  7.设有如下定义,则正确的叙述为( )

  char x[]={“abcdefg”};

  char y[]={‘a’,‘b’,‘c’,‘d’,‘e’,‘f’,‘g’}

  ;

  ①数组x和数组y等价②数组x和数组y长度相同

  ③数组X的长度大于数组y的长度④数组X的长度小于数组y的长度

  「解」不指定数组长度的字符数组定义,其所需要的字节数可由初始化中给出的值的个数确定。字符数组可以用字符串初始化,也可用字符逐个给字符数组的元素初始化。但用字符初始化时,尽管给出了字符串中的全部字符,还是不会自动有字符率结束字符。但字符串初始化自动会含有字符串的结束标记符,字符串初始化所需要的字节个数会比用同样多的字符初始化多1个字节。所以只有③才是正确的。

  4.2 填充题

  1.根据变量定义“static int b[5], a[][3]={1,2,3,4,5,6};”,b[4]=_____,a[1][2]

  「解」系统规定,静态变量定义时,若末初始化,系统自动给定二进制代码全0的值。所以态数组b的元素全为0,当然包括b[4]也为几静态数组a是二维数组,每行有三个元素,在初始化中结出了六个初值,所以数组a有2行。由于数组的元素按行顺序存储,并按行顺序初始化。前三个值是第一行,后三个值是第二行。a[1][2]是第二行的第三列元素,也是 a的更后一个元素,所以其值是6.

  2.设有定义语句“static int a[3][4]={{1},{2},{3}};”则a[l][l]值为_,a[2][1]的值为_。

  「解」给二维数组初始化时,可按行给出初值,并且每行可以只给前面部分的元素给出初值。系统规定,对哪些未给出初值的部分元素,系统自动置二进制代码全0的值。由于定义语句只给a[0][0]给定初值l、a[l][0]给定初值2、a[2][0]给定初值3.这样,其它元素都为0值。所以,a[1][1]= 0,a[2][1]= 0.

  3.若在程序中用到“putchar( )”函数时,应在程序开头写上包含命令_____,若在程序中用到“strlen( )”函数时,应在程序开头写上包含命令______。

  「解」putchar()是系统提供的头文件stdio.h中定义的宏,所以程序要使用它,必须写上包含命令:#include.函数strlen()是系统提供的字符串处理函数之一,字符串处理函数的函数原型说明和它们用到的有关常量、数据结构等,在系统提供的头文件tring.h中定义,所以使用该函数的程序应在程序开头写上包含命令并include.

  4.下面程序的功能是输出数组s中更大元素的下标,请填空。

  main()

  {int k, p ;

  int s[]={1,-9,7,2,-10,3};

  for(p=0, k=p;p<6; p++)

  if(s[p]>s[k])____________

  printf(“%d\n” ,k);

  }

  「解」为要寻找数组中的更大元素的下标,需先预设1个临时更大元素的下标,并顺序逐一考察数组的元素,当发现当前元素比临时更大元素更大时,就用当前元素的下标更新临时更大元素下标。直至考察了数组的全部元素后,这临时更大元素下标就是数组的更大元素下标。通常预设的更大元素下标是数组的首元素下标,考察是从首元素开始顺序向后继元素考察。程序中,存储临时更大元素下标的变量是k,变量p控制顺序考察的循环控制变量。当发现当前元素s[p]比临时更大元素s[k]更大时,应该用p更新k.所以在空框处应填入代码“k=p;”。

关闭