设有数组定义“char array[ ]= "China", 则数组array所占的空间为()。
A.4个字节
B.5个字节
C.6个字节
D.7个字节
有定义“char x[ ]= " abcdefg "; char y [ ]={'a', 'b', 'c', 'd', 'e ', 'f', 'g'};”, 则正确的叙述为()。
A.数组x和数组y等价
B.数组x和数组y的长度相同
C.数组x的长度大于数组y的长度
D.数组x的长度小于数组y的长度
下列能正确定义字符串的语句是()。
A.char str[ ]={'\064'};
B.char str ="kx43";
C.char str= " ";
D.char str[ ]="\0";
设有如下数组定义: char str[8]={ "FuJian"};则分配给数组str的存储空间多少字节。
A.6
B.7
C.8
D.9
若有定义:char a[]="abcdef";char b[]="xyz";则以下程序段运行后屏幕输出为strcpy(a,b);printf("%c",a[2]);
A.c
B.z
C.
D.d
以下程序段运行后屏幕输出为
char a[]="abcmis";
printf("%d",strlen(a));
A.6
B.8
C.3
D.4
以下程序段运行后*(p+3)的值为( )。
char a[]="good";
char *p;
p=a;
A.'d'
B.‘c’
C.存放'd'的地址
D.‘o’
下面程序段的运行结果是()。
char s[ ] = "language", *p = s;
while( *p++ != 'u') {
printf("%c", *p – 'a' + 'A');
}
A.LANGUAGE
B.ANGU
C.LANGU
D.LANG
执行语句char a[10]={"abcd"}; *p=a;
后,*(p+4)
的值是( )。
A."abcd"
B.'d'
C.'\0'
D.不能确定
以下语句或语句组中,能正确进行字符串赋值的是____。
A.char *sp; *sp="right!";
B.char s[10]; s="right!";
C.char s[10]; *s="right!";
D.char *sp="right!";
下面程序运行后的输出结果是____。
#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
下列选项中正确的语句组是____。
A.char s[8]; s={"Beijing"};
B.char *s; *s="Beijing";
C.char s[8]; s="Beijing";
D.char *s; s="Beijing";
设有下面的程序段:char s[]="china";char *p=s;则下列叙述正确的是____。
A.数组s中的内容和指针变量p中的内容相等
B.s和p完全相同
C.s数组长度和p所指向的字符串长度相等
D.*p与s[0]相等
有以下函数
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所指字符串的大小
以下程序的输出结果是( )。
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
若有以下定义:
char s[20]="programming",*ps=s;
则不能代表字符o的表达式是
A.ps+2
B.s[2]
C.ps[2]
D.ps+=2,*ps
以下程序的输出结果是:
#include
#include
int main()
{
char *s1="AbCdEf", *s2="aB";
s1++;
s2++;
printf("%d\n",strcmp(s1,s2) );
return 0;
}
A.正数
B.负数
C.0
D.不确定的数
设p1和p2是指向同一个字符串的指针变量,c为字符变量,则以下不能正确
执行的赋值语句是( )。
A.c=*p1;
B.p2=c;
C.p1=p2;
D.p1+=2;
下面程序段执行后的输出结果是( )。
char a[] = "language", *p;
p = a;
while ( *p != 'u' )
{
printf( "%c", *p - 32 ); p++;
}
A.LANGUAGE
B.language
C.LANG
D.langUAGE
下面程序执行后的输出结果是( )。
#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
下面能正确给字符串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);
下面程序段执行后的输出结果是( )。
char *s = "abcde";
s += 2;
printf( "%d", s );
A.cde
B.字符'c'
C.字符'c'的地址
D.不确定