【PTA|选择题|期末复习】字符串(二)

【PTA|期末复习|选择题】字符串(一)

2-23

设有数组定义“char array[ ]= "China", 则数组array所占的空间为()。

A.4个字节

B.5个字节

C.6个字节

D.7个字节

2-24

有定义“char x[ ]= " abcdefg "; char y [ ]={'a', 'b', 'c', 'd', 'e ', 'f', 'g'};”, 则正确的叙述为()。

A.数组x和数组y等价

B.数组x和数组y的长度相同

C.数组x的长度大于数组y的长度

D.数组x的长度小于数组y的长度

2-25

下列能正确定义字符串的语句是()。

A.char str[ ]={'\064'};

B.char str ="kx43";

C.char str= " ";

D.char str[ ]="\0";

2-26

设有如下数组定义: char str[8]={ "FuJian"};则分配给数组str的存储空间多少字节。

A.6

B.7

C.8

D.9

2-27

若有定义:char a[]="abcdef";char b[]="xyz";则以下程序段运行后屏幕输出为strcpy(a,b);printf("%c",a[2]);

A.c

B.z

C.

D.d

2-28

以下程序段运行后屏幕输出为
 

char a[]="abcmis";
printf("%d",strlen(a));

A.6

B.8

C.3

D.4

2-29

以下程序段运行后*(p+3)的值为( )。

char a[]="good";
 char *p;
 p=a;

A.'d'

B.‘c’

C.存放'd'的地址

D.‘o’

2-30

下面程序段的运行结果是()。

char s[ ] = "language", *p = s;

while( *p++ != 'u') {
    printf("%c", *p – 'a' + 'A');
}

A.LANGUAGE

B.ANGU

C.LANGU

D.LANG

2-31

执行语句char a[10]={"abcd"}; *p=a;后,*(p+4)的值是( )。

A."abcd"

B.'d'

C.'\0'

D.不能确定

2-32

以下语句或语句组中,能正确进行字符串赋值的是____。

A.char *sp; *sp="right!";

B.char s[10]; s="right!";

C.char s[10]; *s="right!";

D.char *sp="right!";

2-33

下面程序运行后的输出结果是____。

#include
int main()
{
    char  s[ ]="159",*p;
    p=s;
    printf("%c",*p++);
    printf("%c",*p++);
    return 0;
}

A.15

B.16

C.12

D.59

2-34

下列选项中正确的语句组是____。

A.char s[8]; s={"Beijing"};

B.char *s; *s="Beijing";

C.char s[8]; s="Beijing";

D.char *s; s="Beijing";

2-35

设有下面的程序段:char s[]="china";char *p=s;则下列叙述正确的是____。

A.数组s中的内容和指针变量p中的内容相等

B.s和p完全相同

C.s数组长度和p所指向的字符串长度相等

D.*p与s[0]相等

2-36

有以下函数

int fun(char  *a, char  *b)
{
    while ( (*a!='\0') && (*b!='\0') && (*a==*b ) )
    {
        a++;
        b++;
   }
   return  (*a-*b);
}

该函数的功能是____。

A.计算a和b所指字符串的长度之差

B.将b所指字符串复制到a所指字符串中

C.将b所指字符串连接到a所指字符串后面

D.比较a和b所指字符串的大小

2-37

以下程序的输出结果是( )。

int main(void)
{
   char a[ ] = "programming",  b[ ] = "language";
   char *p1 = a, *p2 = b; 
   int i;
     
   for(i = 0; i < 7; i++){
       if( *(p1+i) == *(p2+i) ){
           printf("%c", *(p1+i));
       }
   }
        
   return 0;
}

A.gm

B.rg

C.or

D.ga

2-38

若有以下定义:

char s[20]="programming",*ps=s;

则不能代表字符o的表达式是

A.ps+2

B.s[2]

C.ps[2]

D.ps+=2,*ps

2-39

以下程序的输出结果是:

#include 
#include 
int main()
{
     char *s1="AbCdEf",  *s2="aB";
     s1++;
     s2++;
     printf("%d\n",strcmp(s1,s2) );
     return 0;
  }

A.正数

B.负数

C.0

D.不确定的数

2-40

设p1和p2是指向同一个字符串的指针变量,c为字符变量,则以下不能正确
执行的赋值语句是( )。

A.c=*p1;

B.p2=c;

C.p1=p2;

D.p1+=2;

2-41

下面程序段执行后的输出结果是( )。

char a[] = "language", *p;
p = a;
while ( *p != 'u' )
{
    printf( "%c", *p - 32 ); p++;
}

A.LANGUAGE

B.language

C.LANG

D.langUAGE

2-42

下面程序执行后的输出结果是( )。

#include 
char cchar( char ch )
{
    if ( ch >= 'A' && ch <= 'Z' )
        ch = ch - 'A' + 'a';
    return (ch);
}

int main()
{
    char s[] = "ABC+abc=defDEF", *p = s;
    while ( *p )
    {
        *p = cchar( *p );
        p++;
    }
    printf( "%s", s );
    return(0);
}

A.abc+ABC=DEFdef

B.abc+abc=defdef

C.abcaABCDEFdef

D.abcabcdefdef

2-43

下面能正确给字符串s赋值的是( )。

A.char s[6]="ABCDE";

B.char s[5]={'A','B','C','D','E'} ;

C.char s[6] ; s="ABCDE";

D.char *s; scanf("%s",s);

2-44

下面程序段执行后的输出结果是( )。

char *s = "abcde";
s += 2;
printf( "%d", s );

A.cde

B.字符'c'

C.字符'c'的地址

D.不确定

你可能感兴趣的:(PTA,c语言)