第 7 章 字符串7
1 典型考试题剖析7
1 选择题:【例 1】若有以下定义:char s[20]="progrmming",*ps=s;则不能代表字符 o 的表达式是_______
A) ps+2B) s[2] C) ps[2]D) ps+=2,*ps考点:指向字符串的指针分析:ps 是一个指针,加上一个整型数据后仍然是一个指针,ps+2 表示的是'o'的地址,而不是字符 o答案:A【例 2】以下选项中,不能正确赋值的是________A) char s1[10];s1=="Ctest";B) char s2[ ]={'C','t','e','s','t'};C) char s3[20]="Ctest";D) char *s4="Ctest\n";考点:本例考查字符数组和字符串的初始化方法分析:注意A 选项的错误是非常典型的错误,错误之处就在于,数组名是一个地址常量,给常量赋值是不合语法的,所以给数组名赋值是非法的操作
选项 B 是一个合法的字符数组初始化形式,但注意 s2 不构成字符串,因为数组 s2 中没有字符串结束符
答案:A【例 3】下列描述中不正确的是__________A) 字符型数组中可以存放字符串B) 可以对字符型数组进行整体输入、输出C) 可以对整型数组进行整体输入、输出D) 不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值考点:本例考查字符数组和字符串的基本概念
分析:字符型数组中可以存放字符串,所以A 是正确的
如果字符型数组中存放的是字符串,则可以对其进行整体输入输出,所以 B 也是正确的
但除了构成字符串的字符数组以外,其他数组是不能进行整体输入、输出的,所以 C 错误
对字符型数组不能用“=”