C语言程序设计

单选题有以下程序#include #include main(){ char p[20]= {'a','b','c','d'}, q[]=abc, r[]=abcde; strcat(p,r); strcpy(p+strlen(q),q); printf(%d,strlen(p));}程序运行后的输出结果是(  )。A 6B 9C 11D 7

题目
单选题
有以下程序#include #include main(){ char p[20]= {'a','b','c','d'}, q[]=abc, r[]=abcde; strcat(p,r); strcpy(p+strlen(q),q); printf(%d,strlen(p));}程序运行后的输出结果是(  )。
A

6

B

9

C

11

D

7

如果没有搜索结果,请直接 联系老师 获取答案。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

有以下程序

#include

main()

{char p[20]={‘a’,’b’,’c’,’d’},q[]=”abc”, r[]=”abcde”;

strcpy(p+strlen(q),r); strcat(p,q);

printf(“%d%d\n”,sizeof(p),strlen(p));

}

程序运行后的输出结果是( )。

A.20 9

B.9 9

C.20 11

D.11 11


正确答案:C

第2题:

有以下程序:include<strintg.h>main{ char p[20]={a,b,c,d),q[]="abc",r[]=&quo

有以下程序:

include<strintg.h>

main

{ char p[20]={a,b,c,d),q[]="abc",r[]="

abcde";

strcpy(p+strlen(q),r);strcat(p,q);

printf("%d%d\n",sizeof(p),strlen(p));

}

程序运行后的输出结果是( )。

A.20 9

B.9 9

C.20 11

D.11 11


正确答案:C

在主函数中,首先定义一个包含20个元素的字符数组P,执行语句“strcpy(P+strlen(q),r);”,数组P的内容变为{a,b,C,a,b,c,d,e,\0,\0,\0,\0,\0,\0,\0,\0,\0,\0,\0,\0),执行语句“strcat(P,q);”,数组P的内容变为,a,b,c,a,b,C,d,P,a,b,c,\0,\0,\0,\0,\0,\0,\0,\0),函数sizeof(P)是求数组P的大小,返回20,而函数strlen (p)是计算以P所指起始地址的字符串的长度,这一长度不包括串尾的结束标志0,所以函数返回11。

第3题:

有以下程序

#include <string.h>

main( )

{ char p[20]={'a','b','c','d'},q[]="abc", r[]="abcde";

strcpy(p+strlen(q),r); strcat(p,q);

printf("%d%d\n",sizeof(p),strlen(p));

}

程序运行后的输出结果是

A)20 9

B)9 9

C)20 11

D)11 11


正确答案:C

第4题:

有以下程序: includemain(){char*p,*q; p=(char *)malloc(sizeof(char)* 20);q=p; sca

有以下程序: # include<stdio.h> main() { char*p,*q; p=(char *)malloc(sizeof(char)* 20);q=p; scanf("%s %s",p,q);printf("%s %s\n",p,q); } 若从键盘输入;abc def<回车>,则输出结果是 ______。

A.def def

B.abc def

C.abe d

D.d d


正确答案:A
解析:本题考查%s控制符在scanf函数中的应用。scanf函数中%s控制符的作用是将键盘输入的字符串送到内存,输入的字符串从第一个非空格字符算起,遇到空格或回车就认为是输入结束。本题中执行语句scanf("%s%s",p,q)时,从键盘输入abc def回车>后,指针变量p指向字符串"abc\0",q指向字符串"def\0",但是由于p和q指向同一个存储单元,所以存储单元中存放的是"def\0",printf函数的输出结果为def def。

第5题:

有以下程序 include main() { char p[20]={'a','b','c','d'},q[]="abc",r[]

有以下程序 #include<string.h> main() { char p[20]={'a','b','c','d'},q[]="abc",r[]="abcde"; strcat(p,r);strcpy(p+strlen(q),q); printf("%d\n",strlen(p)); } 程序运行后的输出结果是

A.9

B.6

C.11

D.7


正确答案:B
解析:strcpy()函数的功能是将字符串q复制到从p[3]位置开始的存储单元,同时复制字符串结束标志‘\0’到p[6]中。函数strlen()返回的是字符串中不包括‘\0’在内的实际长度,故本题答案为B)。

第6题:

有以下程序

#include

main()

{char p[20]={‘a’,’b’,’c’,’d’},q[]=”abc”, r[]=”abcde”

strcat(p,r); Strcpy(p+strlen(q),q);

Printf(“%d \n”,sizeof(p));

}

程序运行后的输出结果是( )。

A.9

B.6

C.11

D.7


正确答案:B

第7题:

有以下程序 include main() { char p[20]={'a','b','c','d'},q[]="abc",r[]

有以下程序 #include<string.h> main() { char p[20]={'a','b','c','d'},q[]="abc",r[]="abcde"; strcpy(p+strlen(q),r);strcat(p,q); printf("%d%d\n",sizeof(p),strlen(p)); } 程序运行后的输出结果是

A.20 9

B.9 9

C.20 11

D.11 11


正确答案:C
解析:函数strlen()返回的是数组的实际长度,而sizeof返回的是数组定义的总长度。因为字符数组p[20]定义为20字节长度,所以sizeof(p)的值为 20。“strcpy(p+strlen(q),r);”语句的功能把字符数组 r拷贝到字符数组p从p[3]开始到p[7]的位置中,这时字符数组p的有效字符长度为8。然后再执行"strcat (p,q);”语句(字符串连接),即把字符数组q连接到字符数组p后面,这时字符数组p的有效长度为11。

第8题:

有以下程序

#include <string.h>

main( )

{ char p[20]={ 'a', 'b', 'c', 'd'},q[]="abc", r[]="abcde"

strcat(p,r); s trcpy(p+strlen(q),q);

p rintf("%d\n", strlen (p));

}

程序运行后的输出结果是

A)9

B)6

C)11

D)7


正确答案:B

第9题:

有以下程序:includemain(){char p[20]={'a','b','c','d'),q[]="abc",r[]="abcde"strc

有以下程序: #include<string.h> main() {char p[20]={'a','b','c','d'),q[]="abc",r[]="abcde" strcat(p,r);strcpy(p+strlen(q),q); printf("%d\n",sizeof(p)); } 程序运行后的输出结果是( )。

A.9

B.6

C.11

D.7


正确答案:B
解析:题目中首先通过strcat(p,r)函数将r所指字符串内容连接到p所指的字符串后面,p[20]={'a','b','c','d','a','b','c','d','e'},然后通过strcpy(p+strlen(q),q),首先在p[0]地址的基础上向后移动三位,然后将q所指字符串的内容复制到p所指的存储空间中,从字符d往后全部覆盖,p[20]={'a','b','c','a','b','c'}。在输出语句中strlen(p)是求字符串的长度。

第10题:

若有以下程序段: include using namespace std; int main() {char*p="abcdefgh",*r;l

若有以下程序段:

include <iostream>

using namespace std;

int main()

{

char*p="abcdefgh",*r;

long*q;

q=(long*)p;q++;

r=(char*)q;

cout<<r<<end1;

return 0;

}

该程序的输出结果是【 】。


正确答案:efgh
efgh 解析:本题定义了一个字符型指针变量p,并通过赋初值让它指向了一个字符串,还定义了另一个字符型指针变量r和一个长整型指针变量qo首先通过语句“a=(long*)p;”,把p的地址值强制转换为长整型地址值并赋值给q,然后执行“q++;”,地址值增加了4,执行语句“F(char*)q;”,把长整型指针变量q的值再强制转换成字符型地址值并赋给r,r的值应为字符串中字符“e”的地址。最后输出r指向的字符串。

更多相关问题