教材第123页第六章数组处理批量数据答案及解析

一、单项选择题
1.【精析】A strlen函数用于测试字符串的实际长度,不包括'\0'在内,故选A。
2.【精析】B 在定义二维数组时,若对全部元素赋初值,则可以不指定第1维的长度,但第2维的长度不能省略,故选项B错误。
3.【精析】A strcat()函数的功能是连接两个字符数组中的字符串;strcpy()函数的功能是将字符串复制到字符数组中;strlen()函数的功能是测试字符串的实际长度;strcmp()函数的功能是比较两个字符串。
二、判断题
1.【精析】× 不能对数组名赋值,也不能使用赋值语句对字符数组中的元素整体赋值,可以在定义时用字符串常量初始化字符数组,如“char a[10]="sdb"; ”。
三、填空题
1.0
四、简答题
1.【参考答案】在C语言中,没有专门的字符串类型,通常用一个用来存放字符的数组来存放字符串,称为字符数组。
对字符数组进行输入可以调用scanf()函数和gets()函数,输出字符数组可以调用printf()函数和puts()函数。
使用scanf()和printf()函数时:
(1)逐个输入或输出字符。用格式声明“%c”。
(2)将整个字符串一次性输入或输出。用格式声明“%s”。
五、计算题
1.【精析】(1)5 (2)116
在for循环中,循环体一共执行了5次。在第5次循环中,i的值为4,本次循环结束后i的值加1变为5,此时不再满足条件:i<5,退出循环并打印输出sum的值。
在for循环中,依次取b[0]、b[1]、b[2]、b[3]、b[4]的值作为数组a的下标,并根据求得的下标值对数组a中的对应元素进行累加,最终sum的值为a[0]+a[3]+a[1]+a[2]+a[0]=116。