《字符数组选择题》
1、 字符串"ABC"在内存占用的字节数是
(A) 3
(B) 4
(C) 6
(D) 8
2、如果有语句:int x; char y[6];,则下面正确的输入语句是
(A) scanf("%d%s", x, y);
(B) scanf("%d%s", &x, y);
(C) scanf("%d%s", x, &y);
(D) scanf("%d%s", &x, &y);
3、下面能正确定义一维数组的选项是
(A) char a4[] = {1, 2, 3, 4, 5, 6};
(B) char a3 = {"string"};
字符串长度和占用内存字节(C) int a1[] = "string";
(D) int a2[5] = {1, 2, 3, 4, 5, 6};
4、如果有语句:char a[] = "string", b[] = {'s', 't', 'r', 'i', 'n', 'g'};,则下面叙述中正确的是
(A) 数组a的长度大于数组b的长度
(B) 数组a的长度小于数组b的长度
(C) 数组a的长度等于数组b的长度
(D) 数组a和数组b二者等价
5、若定义str1、str2、str3为字符串,则语句strcat(strcpy(str1, str2), str3);的功能是
(A) 把字符串str1连接到字符串str2中再把字符串str2复制到字符串str3之后
(B) 把字符串str2连接到字符串str1之后再把字符串str3复制到字符串str1中
(C) 把字符串str1复制到字符串str2中再把字符串str2连接到字符串str3之后
(D) 把字符串str2复制到字符串str1中再把字符串str3连接到字符串str1之后
6、下面叙述中错误的是
(A) 对于字符型数组,可以在赋值语句中运用运算符“=”进行整体赋值
(B) 对于字符型数组,可以用来存放字符串
(C) 对于实型数组,不可以直接用数组名对数组进行整体的输入或输出
(D) 对于字符型数组,可以直接用数组名对数组进行整体输入或输出
7、以下程序段运行后的输出结果是
char a[]="abcdefg", b[10]="abcdefg";
printf("%d %d\n", sizeof(a), sizeof(b));
(A) 10 10
(B) 8 8
(C) 7 7
(D) 8 10
8、以下程序段运行后的输出结果是
char ch[3][5] = {"AAAA", "BBB", "CC"};
printf("\"%s\"\n", ch[1]);
(A) "CC"
(B) "BBBCC"
(C) "AAAA"
(D) "BBB"
9、以下程序段的运行结果是:
char s[10], s="abcd";
printf("%s", s);
(A) abcd
(B) ab cd
(C) a
(D) 编译不通过
10、对于定义char s[] = "\"Name\\Address\"\n";,字符串s所占字节数是
(A) 19
(B) 14
(C) 16
(D) 15
11、以下程序段的运行后结果是
char str[] = "ab\n\012\\\"";
printf("%d", strlen(str));
(A) 4
(B) 12
(C) 6
(D) 3
12、对于定义char c[8] = "Tianjin"和int j,下面的输出函数调用中错误的是
(A) printf("%s", c);
(B) for (j=0; j<8; j++)
{
        printf("%c", c[j]);
}
(C) puts(c);
(D) for (j=0; j<8; j++)
{
        puts(c[j]);
}
13、对于定义char a[10] = {0};和int j;,下面输入函数调用中错误的是
(A) for (j=0; j<9; j++)
{
        scanf("%c", &a[j]);
}
(B) for (j=0; j<9; j++)
{
        scanf("%c", a[j]);
}
(C) scanf("%s", a);
(D) gets(a);

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。