位置:首页 > 自考专业

2012年自考“高级语言程序设计”经典习题及答案(15)

  • 发布时间:2024-09-15 16:21:23
  • 来源:本站整理
  • 阅读:
导读:
  6.函数调用“strcat(strcpy(strl,str2),str3)”的功能是( )
  ①将字符串strl复制到字符串str2中后再连接到字符串str3之后
  ②将字符串strl连接到字符串str2中后再复制到字符率str3之后
  ③将字符串str2复制到字符串strl中后再将字符串str3连接到字符串strl之后
  ④将字符串str2连接到字符率strl之

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; 。

相关阅读