字符数组练习题

更新时间:2023-11-14 04:36:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

字符数组练习题

1、以下定义语句中,错误的是________。

A) int a[]={1,2}; B) char a[]={\C) char s[10]={\ D) int n=5,a[n];

2、以下给字符数组str定义和赋值正确的是________。

A) char str[10]; str={\B) char str[ ]={\

C) char str[10]; strcpy( str,\D) char str[10]={\

3、当接受用户输入的含有空格的字符串时,应使用________函数。

A) gets( ) B) getchar( ) C) scanf( ) D) printf( )

4、设有数组定义:char array[]=\则strlen(array) 的值为________ 。

A) 4 B) 5 C) 6 D) 7

5、设有数组定义:char array[]=\则数组array所占 的存储空间为________。

A) 4个字节 B) 5个字节 C) 6个字节 D) 7个字节

6、设有数组定义:char array[10]= \则数组array所占 的存储空间为________。

A) 4个字节 B) 5个字节 C) 6个字节 D) 10个字节

7、下面程序的运行以后的结果是________。

main()

{ char a[]=\ int i,j,k; k=strlen(a); for(i=0;i<=k-1;j+=1) for(j=i+1;ja[j])

{t=a[i];a[i]=a[j];a[j]=t;} puts(a);

printf(\ }

A) clanguage B) alancuegg C) egauganlc D) cgalgnaue

8、以下程序的功能是:将无符号八进制数字构成的字符串转换为十进制整数。 例如,输入的字符串为:556,则输出十进制整数366,划线处应填________。 #include main()

{ char s[6]; int n,j; gets(s);

第 1 页 共 4 页

if(s[0]!='\\0') n=s[0]-'0'; j=1;

while(s[j++]!='\\0') ____________; printf(\ }

A) n=n*8+s[j] B) n=n*8+s[j-1]-'0' C) n=n*8+s[j]-'\\0' D) n=n*8+s[j-1]-'\\0'

9、有如下程序

main( )

{ char ch[2][5]={\ int i,j;long s=0; for(i=0;i<2;i++)

for(j=0;ch[i][j]>'\\0';j++) s=10*s+ch[i][j]-'0'; printf(\ }

该程序的输出结果是________。

A) 69825 B) 693825 C) 6385 D) 69378254

10、有如下程序

main()

{ char ch[80]; int j;long s=0;

printf(\ gets(ch); for(j=0;ch[j]>'\\0';j++) s=10*s+ch[j]-'0'; printf(\ }

如果运行时,从键盘上输入由数字组成的字符串, 该程序的功能是________。

A) 测字符数组ch的长度 B) 将数字字符串ch转换成十进制数 C) 将字符数组中的小写字母转换成大写 D) 将字符数组中的大写字母转换成小写

11、有如下程序

main()

{ char ch[80]=\ int j;long s=0; puts(ch);

for(j=0;ch[j]>'\\0';j++)

if(ch[j]>='a'&&ch[j]<='z') ch[j]=ch[j]-'b'+'B'; puts(ch); }

该程序的功能是________。

A) 测字符数组ch的长度 B) 将数字字符串ch转换成十进制数

C) 将字符数组ch中的小写字母转换成大写 D) 将字符数组ch中的大写字母转换成小写

12、有如下程序

第 2 页 共 4 页

main()

{ char ch[80]=\ int j;long s=0;

for(j=0;ch[j]>'\\0';j++) ; printf(\ }

该程序的功能是________。 A) 测字符数组ch的长度

B) 将数字字符串ch转换成十进制数

C) 将字符数组ch中的小写字母转换成大写 D) 将字符数组ch中的大写字母转换成小写

13、以下程序的输出结果是________。

main()

{ char a[10]={'1','2','3',0,'5','6','7','8','9','\\0'}; printf(\ }

A) 123 B) 1230 C) 123056789 D) 1230567890

14、以下程序的输出结果是________。

main()

{ char s[]={\ for(k=0;s[k];k++) { switch(s[k])

{ case '1':i=0;break; case '2':i=1;break; case '3':i=2;break; case '4':i=3; }

v[i]++; }

for(k=0;k<4;k++) printf(\ \ }

A) 4 2 1 1 B) 0 0 0 8 C) 4 6 7 8 D) 8 8 8 8

15、以下程序的输出结果是________。

main()

{ char p1[]=\ strcat(str,p1); strcat(str,p2); printf(\ }

A) ABCDEFGefghabcd B) ABCDEFGefgh

C) abcdefgh D) ABCDEFGabcdefgh

16、以下程序的输出结果是________。 #include #include

第 3 页 共 4 页

main()

{ char str[12]={'s','t','r','i','n','g'}; printf(\ }

A) 6 B) 7 C) 11 D) 12

17、设有如下定义语句:

static char str[]=\则执行:

printf(\,\后的输出结果为________。

A) 5 B) 7 C) 12 D) 14

18、以下程序输出的结果是_________ 。

#include main( )

{ char str[ ]=\ int i; for(i=0;str[i]!='\\0';i++)

if(str[i]<'0' || str[i]>'9') printf(\ printf(\

A) 123456789 B) 1a2b3c C) abc D) 123

19、若有定义语句:char s[100],d[100]; int j=0,i=0; ,且s中已赋字符串,请在划线处填______以实现将字符串s中的内容拷贝到字符串d 中。(注意:不得使用逗号表达式) while(s[i]) { d[j]=__________; j++; } d[j]=0;

A) s[i] B) s[++i] C) s[i++] D) s[j]

20、下面程序的功能是________。

main()

{ char s[ ]=\ int i,j=0;

for(i=1;i<6;i++) if(s[j]>s[i]) j=i;

printf(\ }

A) 输出字符数组s中ASCII码最大的字符及位置 B) 输出字符数组s中ASCII码最小的字符及位置

C) 输出字符数组s中ASCII码最大的字符及字符串的长度 D) 输出字符数组s中ASCII码最小的字符及字符串的长度

第 4 页 共 4 页

本文来源:https://www.bwwdw.com/article/wg4v.html

Top