判断字符串a和b是否相等
第五章练习题
一、选择题
1、判断字符串a和b是否相等,应当使用()
A、if(a==b)
B、if(a=b)
C、if(strcpy(a,b))
D、if(strcmp(a,b))
2、以下正确的定义语句是()
A、int a[1][4]={1,2,3,4,5};
B、float x[3][]={{1},{2},{3}};
C、long b[2][3]={{1},{1,2},{1,2,3}};
D、double y[][3]={0};
3、以下各组选项中,均能正确定义二维实型数组a的选项是()
A、float a[3][4]; float a[ ][4]; float a[3][ ]={{1},{0}};
B、float a(3,4); float a[3][4]; float a[ ][ ]={{0},{0}};
C、float a[3][4]; static float a[ ][4]={{0},{0}}; auto float a[ ][4]={{0},{0},{0}};
D、float a[3][4]; float a[3][ ]; float a[ ][4];
4、下面程序的运行结果是()
#include "stdio.h"
main()
{ char str[]="SSSWLIA",c;
int k;
for(k=2;(c=str[k]!='\0');k++)
{ switch(c)
{case 'I':++k;break;
case 'L':continue;
default:putchar(c);continue;
}
putchar('*');
}
}
A、SSW*
B、SW*
C、SW*A
D、SW
5、下面程序段是输出两个字符串中对应相等的字符。横线处应填入()
char x[]="programming";
char y[]="Fortran";
int i=0;
while(x[i]!='\0'&&y[i]!='\0')
if(x[i]==y[i]) printf("%c",《1》);
A、x[i++]
B、y[++i]
C、x[i]
D、y[i]
6、有下面的程序段,则()
char a[3],b[]="china";
a=b;
strcmp比较数组printf("%s",a);
A、运行后将输出China
B、运行后将输出Ch
C、运行后将输出Chi
D、编译出错
7、下面程序的运行结果是()
main()
{ char ch[7]={"12ab56"};
int i,s=0;
for(i=0;ch[i]>='0'&&ch[i]<='9';i+=2)
s=10*s+ch[i]-'0';
printf("%d\n",s);
}
A、1
B、1256
C、12ab56
D、1
2
5
6
8、定义如下变量和数组:则下面语句的输出结果是()
int k;
int a[3][3]={1,2,3,4,5,6,7,8,9,};
for(k=0;k<3;k++)
printf("%d",a[k][2-k]);
A、3 5 7
B、3 6 9
C、1 5 9
D、1 4 7
9、下面程序段的运行结果是()
char c[5]={'a','b','\0','c','\0'};
printf("%s",c);
A、'a''b'
B、ab
C、ab c
D、abc
10、若有说明:int a[][3]={1,2,3,4,5,6,7};则a数组第一维的大小是()
A、2
B、3
C、4
D、无确定值
11、下面程序的运行结果是()
main()
for(i=1;i<6;i++)
{ a[i]=9*(i-2+4*(i>3))%5;
printf("%2d",a[i]);
}
}
A、-4 0 4 0 4
B、-4 0 4 0 3
C、-4 0 4 4 3
D、-4 0 4 4 0
12、下面程序的运行结果是()
main()
{int a[6][6],i,j;
for(i=1;i<6;i++)
for(j=1;j<6;j++)
a[i][j]=(i/j)*(j/i);
for(i=1;i<6;i++)
{ for(j=1;j<6;j++)
printf("%2d",a[i][j]);
printf("\n");
}
}
A、1 1 1 1 1
B、0 0 0 0 1
C、1 0 0 0 0
D、1 0 0 0 1
1 1 1 1 1 0 0 0 1 0 0 1 0 0 0 0 1 0 1 0
1 1 1 1 1 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0
1 1 1 1 1 0 1 0 0 0 0 0 0 1 0 0 1 0 1 0
1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 1
13、下述对C语言字符数组的描述中错误的是()
A、字符数组可以存放字符串。
B、字符数组的字符串可以整体输入、输出。
C、可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值。
D、不可以用关系运算符对字符数组中的字符串进行比较。
14、判断字符串s1是否大于字符串s2,应当使用()
A、if(s1>s2)
B、if(strcmp(s1,s2))
C、if(strcmp(s2,s1)>0)
D、if(strcmp(s1,s2)>0)
15、下面程序(每行程序前面的数字表示行号):()
1 main()
2 {
3 int a[3]={3*0};
4 int i;
5 for(i=0;i<3;i++) scanf("%d",&a[i]);
6 for(i=1;i<3;i++) a[0]=a[0]+a[i];
7 printf("%d\n",a[0]);
8 }
A、第3行有错误
B、第7行有错误
C、第5行有错误
D、没有错误
16、下面程序的功能是从键盘输入一行字符,统计其中有多少个单词,单词之间用空格分隔。横线处应填入()
main()
{char s[80],c1,c2=' ';
int i=0,num=0;
gets(s);
while(s[i]!='\0')
{c1=s[i];
if(i==0) c2=' ';
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论