第1题
下面是有关C语言字符数组的描述,其中错误的是()。
不可以用赋值语句给字符数组名赋字符串
可以用输入语句把字符串整体输入给字符数组
字符数组中的内容不一定是字符串
字符数组只能存放字符串
第2题
以下叙述中正确的是()。
语句“char str[10]="string!";”和“char str[10]={"string!"};”并不等价
对于字符串常量“string!”,系统已自动在最后加入了'\0'字符,表示 串结尾
对于一维字符数组,不能使用字符串常量来赋初值
在语句“char str[]="string!";”中,数组str的大小等于字符串的长度
第3题
以下正确的字符串常量是()。
""
'abc'
Olympic Games
"\\\"
第4题
以下能正确定义字符串的语句是()。
char str[]="\0";
char str="kx43";
char str=";
char str[]={'\064'};
第5题
设有以下定义:
char
s1[]=
"0123"
;
s2[]={
'0'
,
'1'
'2'
'3'
};
则以下叙述正确的是()。
数组s1的长度小于s2的长度
数组s1和s2的长度相同
数组s1的长度大于s2的长度
数组s1和s2完全等价
第6题
以下选项中,合法的是()。
char str3[]={'d', 'e', 'b', 'u', 'g', '\0'}
char str4; str4="hello world";
char name[10]; name="china";
char str1[5]="pass", str2[6]; str2=str1;
第7题
以下能正确进行字符串赋值的语句组是()。
char*ch; ch="abc";
char ch[]={'a', 'b', 'c'};
char ch[3]= "abc";
char ch[4]; ch="abc";
第8题
以下涉及字符串数组、字符指针的程序段,不会产生编译错误的是()。
char*str,name[10]; str="Hello World";
char*str,name[10]; name="Hello World";
char str1[10]="prog.c", str2[10]; str2=str1;
char head_line[]; head_line="== == == == == == =";
第9题
有以下程序:
#include <stdio.h>
#include <string.h>
main()
{
str[12]={
's'
't'
'r'
'I'
'n'
'g'
printf
(
"%d\n"
strlen
(str));
}
程序运行后的输出结果是()。
6
7
11
12
第10题
s[] =
"012xy\08s34f4w2"
int
i,n = 0;
for
(i = 0;s[i]!=
;i++)
if
(s[i]>
&& s[i]<=
'9'
)n++;
,n);
0
3
8
第11题
main(){
s[]={
"012xy"
i,n=0;
(i=0;s[i]!=0;i++)
(s[i]>=
'a'
&&s[i]<=
'z'
2
5
第12题
name[10] = {
'S'
'T'
'R'
name[2]=
'#'
name[6]=0;
"%s\n"
,name);
ST#
STR#
STR#0
STR0
第13题
有如下程序:
'N'
'G'
name[3]=
'E'
name[5]=0;
STRENG
STRIEG
STREN
STREN0
第14题
i,j=0;
a[] =
"How are you!"
,b[10]={0};
(i=0;a[i];i++)
(a[i]==
' '
)
b[j++]=a[i-1];
,b);
we
How are you!
ay
we!
第15题
"How are you"
b[j++]=a[i+1];
Hay
How are you
第16题
以下选项中正确的语句组是()。
char s[]; s="BOOK!";
char*s; s={"BOOK!"};
char s[10]; s="BOOK!";
char*s; s="BOOK!";
第17题
以下使指针指向一个字符串的选项错误的是()。
char str[]="string"; char * ps; *ps= str;
char str[]="string"; char *ps; ps= str;
char str[]="strinh",* ps=str;
char * ps; ps=str; ps="strinh";
第18题
下列语句中,正确的是()。
char *s; s = "Olympic";
char s[7]; s= "Olympic";
char *s; s= {"Olympic"};
char s[7]; s= {"Olympic"};
第19题
下面选项中的程序段,没有编译错误的是()。
char*sp, s[10]; sp ="Hello";
chart sp, s[10]; s ="Hello"
char str1[10] ="computer", str2[10]; str2 = str1;
char mark[]; mark="PROGRAM";
第20题
不能用字符串常量对字符数组名进行整体赋值操作
字符串常量"Hello"会被隐含处理成一个无名字符型数组,它有5个 元素
“char str[7] = "string!";”在语法上是合法的,运行也是安全的
“char *str = "Hello";”与“char str[]; str = "Hello";”效果是一样的
第21题
设有如下程序段:
s[20]=
"Bejing"
,*p;
p=s:
则执行p=s;语句后,以下叙述正确的是()。
可以用*p表示s[0]
s数组中元素的个数和p所指字符串长度相等
s和p都是指针变量
数组s中的内容和指针变量p中的内容相等
第22题
设有定义:char *c;以下选项中能够使字符型指针c正确指向一个字符串的是()。
char str[]="string";c=str;
scanf("%s",c);
c=getchar();
*c="string";
第23题
有以下说明语句:
*s =
"'Name\\Address\n"
指针s所指字符串的长度是( )。
17
15
14
说明语句不合法
第24题
若有说明和语句:
str[]=
"Hello"
, *p; p=str;
则此时*(p+5)中的值为()。
'\0'
'o'
'o'的地址
不确定的值
第25题
s[]=
"rstuv"
"%c\n"
,*s+2);
tuv
字符t的ASCII码值
t
出错
第26题
有以下程序
ch[]=
"uvwxyz"
,*pc;
pc=ch;
,*(pc+5));
z
元素ch[5]的地址
字符y的地址
第27题
有以下程序(注:字符a的ASCII码值为97):
*s={
"abc"
do
"%d"
,*s%10);
++s;
while
(*s);
abc
789
7890
979899
第28题
s[10] =
"verygood"
, *ps = s;
ps += 4;
ps =
"nice"
puts
(s);
程序的运行结果是()。
nice
verynice
nicegood
verygood
第29题
disp(
*str)
(*str)
putchar
(*str++);
return
*str;
,disp(
"NAME"
));
NAME0
NAMEE
NAME
NAME\0
第30题
);
"C##123"
C##123#0
C##1230
C##0
C##123#\0
第31题
#include<stdio.h>
fun(
*s)
*p=s;
(*p++!=
(p-s);
*p=
"01234"
,fun(p));
4
第32题
password;
*p,old_str[10]=
"wind"
scanf
,&password);
p = old_str;
(*p)
"#%c"
,*p+password);
p++;
程序运行时,从键盘输入2<回车>,输出结果是()。
#y#k#p#f
#wi#nd#
xj#oe
#2222#
第33题
"programe"
,s2[]=
"Language"
*p1=s1,*p2=s2;
k;
(k=0;k<8;k++)
(*(p1+k)==*(p2+k))
"%s "
,(p1+k));
grame ame e
g a e
programe
无输出字符
第34题
若要求从键盘读入含有空格字符的字符串,应使用函数()。
gets()
getc()
getchar()
scanf()
第35题
设有定义:char s[81];int i=0;,以下不能将一行(不超过80个字符)带有空格的字符串正确读入的语句或语句组是()。
gets(s);
while((s[i++]=getchar())!='\n');s[i]='\0';
scanf("%s",s);
do{ scanf("%c",&s[i]);} while(s[i++]!='\n');s[i]='\0';
第36题
第37题
以下不能将键盘输入的字符串:This is a string<回车>读入到str中的程序段是()。
char str[80]; scanf("%s",str);
char str[80]; int i=0; while((str[i++]=getchar())1='\n'); str[i]=0;
char str[80]; gets(str);
char str[80], *ps=str; do{ scanf("%c",ps); }while(* ps++!='\n'); *(ps)=0;
第38题
有定义语句:
s[10];
若要从终端给s输入5个字符,错误的输入语句是()。
gets(&s[0]);
scanf("%s",s+1);
scanf("%s",s[1]);
第39题
a[30],b[30];
"%s"
,a);
gets
(b);
"%s\n%s\n"
,a,b);
程序运行时若输入:how are you?I am fine<回车>则输出结果是()。
how are you? <换行>I am fine
how<换行> are you? I am fine
how are you? I am fine
how are you?
第40题
a,b,c,d;
"%c%c"
,&a,&b);
c=
getchar
();d=
();
"%c%c%c%c\n"
,a,b,c,d);
当执行程序时,按下列方式输入数据(从第一列开始,<CR>代表回车,注意:回车是一个字符)12<CR>34<CR>则输出结果是()。
1234
124
12<CR>3
12<CR>34
第41题
*c)
(*c<=
'Z'
&&*c>=
'A'
*c-=
-
*c;
s[81],*p=s;
*p=fun(p);
(*p);
"\n"
若运行时从键盘上输入OPEN THE DOOR<回车>,程序的输出结果是()。
OPEN THE DOOR
OPEN tHE dOOR
open the door
Open The Door
第42题
A,B,C;
B=
C=
(A=0;A<6;A++)
(A%2)
(B+A);
else
(C+A);
程序运行后输出的结果是()。
1
3D5FBABCDFE
A2C4E6
1123456
第43题
"%c"
ykpf
wind
xjoe
2222
第44题
以下选项中有语法错误的是()。
char *str[] = {"guest"};
char str[][10] = {"guest"};
char *str[3]; str[1] = "guest";
char str[3][10]; str[1] = "guest";
第45题
以下语句中存在语法错误的是()。
char ss[6][20];ss[1]="right?";
char ss[][20]={"right?"};
char *ss[6];ss[1]="right?";
char *ss[]={"right?"};
第46题
若有定义:char*ps[]={"aa","bb","cc","dd"};,则以下叙述正确的()。
ps[0]是字符串"aa"
*ps[0]是字符串"aa"的首地址
ps[0]是字符串"aa"的首地址
*ps[0]是字符串"aa"
第47题
若有以下程序段
str[4][12] = {
"aa"
"bbb"
"ccccc"
"d"
},*strp[4];
i;
(i=0;i<4;i++)
strp[i]=str[i];
不能正确引用字符串的选项是()。
*strp
str[0]
strp[3]
strp
第48题
ch[3][5] = {
"AAAA"
"BBBB"
"CC"
,ch[1]);
AAAA
CC
BBBCC
BBBB
第49题
b[4][10];
,b[i]);
"%s%s%s%s\n"
,b[0],b[1],b[2],b[3]);
执行时若输入:Fig flower is red.<回车>则输出结果是()。
Figflowerisred.
Figflowefis red.
Figflower is red.
Fig flower is red.
第50题
b[3][10],c;
(i=0;i<2;i++)
i=0;
((c=
())!=
'\n'
)b[2][i++]=c;
b[2][i] =
"%s%s%s\n"
,b[0],b[1],b[2]);
执行时若输入以下字符串:Peach flower is pink.<回车>则输出结果是()。
Peachflower is pink.
Peachfloweris pink.
Peachflowerispink.
Peach flower is pink.
第51题
b[4][10],c;
i,j;
j=0;
&& c!=
)b[i][j++]=c;
b[i][j] =
程序运行时从第一列开始输入: Peach flower is pink.<回车>则输出结果是()。
Peachflowefispink.
Peachflowefis pink.
第52题
w[20], a[5][10] = {
"abcdef"
"ghijkl"
"mnopq"
"wxyz"
(i=0;i<5;i++)
(a[i][j]!=
)j++;
w[i]=a[i][j-2];
w[5]=
(w);
agmrw
ekpuy
djotx
flqvz
第53题
*a[]={
"abcd"
"ef"
"gh"
"ijk"
,*a[i]);
aegi
dfhk
abcd
abcdefghijk
第54题
*mm[4]= {
"1234"
"mnop"
"5678"
**pm= mm;
,pm[i]+i);
abcd1234mnop5678
abcd234op8
a2o8
a1m5
第55题
*s[6]={
"ABCD"
"EFGH"
"IJKL"
"MNOP"
"QRST"
"UVWX"
},**p;
p=s;
,p[i]);
ABCDEFGHIJKLMNOP
ABCDEFGHHKL
ABCD
AEIM
第56题
c[2][5]={
"6938"
"8254"
},*p[2];
i,j,s=0;
p[i]=c[i];
(j=0;p[i][j]>0;j+=2)
s=10*s+p[i][j]-
,s);
9284
9824
6982
6385
第57题
void
**p)
++p;
,*p);
*a[] = {
"Morning"
"Afternoon"
"Evening"
"Night"
fun(a);
Afternoon
flemoon
Morning
oming
第58题
以下关于字符串的叙述中正确的是()。
C语言中有字符串类型的常量和变量
两个字符串中的字符个数相同时才能进行字符串大小的比较
可以用关系运算符对字符串的大小进行比较
空串比空格打头的字符串小
第59题
若有定义语句char s[10]="1234567\0\0",则strlen(s)的值是()。
9
10
第60题
下列选项中,能够满足“若字符串s1等于字符串s2,则执行ST”要求的是()。
if(strcmp(s2,s1)==0) ST;
if(s1==s2) ST;
if(strcpy(s1,s2)==1) ST;
if((s1-s2)==0) ST;
第61题
字符数组a和b中存储了两个字符串,判断字符串a和b是否相等,应当使用的是()。
if(strcmp(a,b)==0)
if(strcpy(a,b))
if(a==b)
if(a=b)
第62题
若有定义语句
*s1=
"OK"
,*s2=
"ok"
以下选项中能够输出"OK"的语句是()。
if(strcmp(s1,s2)==0)puts(s1);
if(strcmp(s1,s2)!=0)puts(s2);
if(strcmp(s1,s2)==1)puts(s1);
if(strcmp(s1,s2)!=0)puts(s1);
第63题
若有定义语句:
str1[] =
"string"
, str2[8], *str3, str4[10] =
库函数strcpy的功能是复制字符串,以下选项中错误的函数调用是()。
strcpy(str3, "HELLO!");
strcpy(str2, "HELLO!");
strcpy(str1, "HELLO!");
strcpy(str4, "HELLO!");
第64题
以下不能将s所指字符串正确复制到t所指存储空间的是()。
while(*t=*s){t++;s++;}
for(i=0;t[j]=s[i];i++);
do{*t++=*s++;}while(*s);
for(i=0,j=0;t[i++]=s[j++];);
第65题
若有以下定义和语句:
s1[10]=
"abcd!"
, *s2=
"n123\\"
"%d%d\n"
(s1),
(s2));
则输出结果是()。
55
105
107
58
第66题
以下语句的输出结果是()。
"\t\"\065\xff\n"
输出项不合法,无正常输出
第67题
"0\t\nA011\1"
第68题
#include<string.h>
a[10]=
"%d,%d\n"
(a),
sizeof
(a));
7,4
4,10
8,8
10,10
第69题
str[]={
"Hello,Beijing"
(str),
13,13
13,14
13,15
14,15
第70题
x[]=
"STRING"
x[0]=0;
x[1]=
x[2]=
"%d %d\n"
(x),
(x));
6 1
7 0
6 3
7 1
第71题
a[]=
"THIS"
, *b=
"%d,%d,%d,%d\n"
(b),
(b));
4,5,2,4
4,4,2,1
5,5,3,3
4,5,2,3
第72题
name[10]=
"c-book"
*str=name;
(name),
10,6,4,6
11,6,11,6
11,6,1,6
10,7,1,7
第73题
name[9]=
"c##line"
9,7,4,7
8,6,9,6
8,6,3,6
10,8,5,8
第74题
*p1 = 0;
*p2 = 0;
float
*p3 = 0;
"%d,%d,%d\n"
(p1),
(p2),
(p3));
4,4,4
1,4,8
0,0,0
1,2,4
第75题
有以下程序(strcpy为字符串复制函数,strcat为字符串连接函数):
a[10] =
,b[10] =
"012"
,c[10] =
"xyz"
strcpy
(a+1,b+2);
strcat
(a,c+1));
a12xyz
12yz
a2yz
bc2yz
第76题
a[20]=
"ab"
,b[20]=
"cdef"
k=0;
(a,b);
(a[k]!=
b[k]=a[k];
k++;
abcdef
cbcdef
cdef
ab
第77题
有以下程序(其中的strstr()函数头部格式为:char *strstr(char*p1,char *p2)确定p2字符串是否在p1中出现,并返回p2第一次出现的字符串首地址):
*a=
"you"
*b=
"Welcome you to Beijing!"
*p;
p=
strstr
(b,a)+
(a)+1;
,p);
to Beijing!
you to Beijing!
Welcome you to Beijing!
Beijing!
第78题
p=b;
(*p != *a)p++;
p+=
第79题
"Beijing"
(s,
"China"
)));
第80题
w[20],a[5][10]={
"wxyz."
(i=0;i<5;i++)w[i]=a[i][
(a[i])-1];
flqv.
第81题
有以下函数:
*x,
*y)
n=0;
((*x==*y)&&*x!=
x++;
y++:
n++;
函数的功能是()。
查找x和y所指字符串中是否有'\0'
统计x、y所指字符串最前面连续相同的字符个数
将y所指字符串赋值给x所指存储空间
统计x和y所指字符串中相同的字符个数
第82题
*ps)
p=ps;
(*ps==NULL)
0;
(*++p);
(p-ps);
该函数的功能是()。
计算字符串的长度
实现字符串的赋值
将字符串逆序存放
计算字符串所占字节数
第83题
有以下函数
aaa(
*t=s;
(*t++);
t--;
(t-s);
以下关于aaa函数功能叙述正确的是()。
求字符串s的长度
比较两个串的大小
将串s复制到串t
求字符串s所占字节数
第84题
计算s所指字符串占用内存字节的个数
比较两个字符串的大小
计算s所指字符串的长度
将s所指字符串复制到字符串t中
第85题
*p,
*q)
((*p++=*q++)!=
实现字符串的复制
第86题
下列函数的功能是()。
* a,
* b)
((*b= *a)!=
a++;
b++;
将a所指字符串赋给b所指空间
使指针b指向a所指字符串
将a所指字符串和b所指字符串进行比较
检查a和b所指字符串中是否有'\0'
第87题
*s,
*t)
((*s)&&(*t)&&(*t++==*s++));
(*s-*t);
求字符串的长度
将字符串s复制到字符串t中
连接字符串s和字符串t
第88题
(a,&a[i+1]);
you!
Howareyou!
areyou!
are you!
第89题
a[5][10]= {
"china"
"beijing"
"tiananmen"
"welcome"
t[10];
(j=i+1;j<5;j++)
strcmp
(a[i],a[j])>0)
(t,a[i]);
(a[i],a[j]);
(a[j],t);
(a[3]);
beijing
china
welcome
tiananmen
第90题
有以下程序(strcat函数用以连接两个字符串):
"ABCD\0EFG\0"
, b[]=
"IJK"
ABCDE\0FG\0IJK
ABCDIJK
IJK
EFGIJK
第91题
有以下程序(程序中库函数islower(ch)用以判断ch中的字符是否为小写字母):
#include <ctype.h>
*p)
(p[i])
(p[i]==
&&
islower
(p[i-1]))p[i-1]=p[i-1]-
+
i++;
s1[100]=
"ab cd EFG!"
fun(s1);
,s1);
程序运行后的输出结果是( )。
ab cd EFG!
Ab Cd EFg!
aB cD EFG!
ab cd EFg!
第92题
str[][20]={
"One*World"
"One*Dream!"
}, *p=str[1];
"%d,"
(p));
9,One*World
9,One*Dream!
10,One*Dream!
10,One*World
第93题
p[20]= {
'b'
'c'
'd'
}, q[]=
, r[]=
"abcde"
(p,r);
(p+
(q),q);
选择题(1 - 93题,共计100分)