二维数组、字符数组习题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
则下面语句的输出结果是 。 for(i=0;i<3;i++) printf(“%d”,x[i][2-i]); A)1 5 9 B)1 4 7 C)3 5 7 D)3 6 9
6 。 11.下面程序的运行结果为 #include <stdio.h> main() { char ch[7]={"65ab21"}; 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); }
19、将已知字符串中的空格删去 main( ) { ="Our teacher teachs C language"; int j,k; char s[] for( ;s[j]!='\0';j++) j=k=0 if(s[j]!=' ') s[k++]=s[j] ; s[k]='\0'; printf("%s",s); }
3.设有数组定义: char array [ ]="China"; 则数组 array所占的空间为 。 C A)4个字节 B)5个字节 C)6个字节 D)7个字节 4.给出以下定义: C char x[]=“abcdefg”; char y[]={'a','b','c','d','e','f','g'}; 则正确的叙述为 。 A)数组X和数组Y等价 B)数组x和数组Y的长度相同 C)数组X的长度大于数组Y的长度 D)数组X的长度小于数组Y的长度
21.下列程序的功能是输出一5X5矩阵,使得上三 角元素为1,其余元素为0 main() i>j { int a[5][5],i,j; a[i][j]=1 for(i=0;i<5;i++) for(j=0;j<5;j++) if( ) a[i][j]=0; else ; for(i=0;i<5;i++) { for(j=0;j<5;j++) printf("%2d",a[i][j]); printf("\n"); } }
5.选择出正确的输入语句(其中:char s[5],c; int b;) A)scanf(“%s%c”,s,c); D B)scanf(“%%d%c”,&b,&c); C)scanf(“%d%%c”,b,&c); D)scanf(“%s%c”,s,&c);

6.设有定义:char s[12]={“string”};,则 A printf(“%d\n”,strlen(s));的输出是 。 A)6 B)7 C) 11 D) 12
20.把两个字符串连接起来。
#define LENGTH 40 main() { char str1[LENGTH+1],str2[LENGTH+1]; ; int len1,len2; scanf("%s",str1);scanf("%s",str2); ; while ( ) { result[len1]=str1[len1]; len1++; } len2=0; char result[2*LENGTH+1] while (str2[len2]!='\0') { result[len1]=str2[len2]; len1=0 len1++;len2++; } str1[len1]!='\0' ; result[len1]='\0' printf("%s\n",result); }
17.下面程序的运行结果为 main() { int a[5][5],i,j; for(i=0;i<5;i++) {a[i][i]=i+1; for(j=0;j<5;j++) if(j!=i) a[i][j]=0; } for(i=0;i<5;i++) { for(j=0;j<5;j++) printf("%2d",a[i][j]); printf("\n");} }
15.下面程序的运行结果为 #include <stdio.h> (1,1)=-5 main() { int i,j,row=0,col=0,m; static int a[3][3]={1,-2,0,4,-5,6,2,4}; m=a[0][0]; for(i=0;i<3;i++) for(j=0;j<3;j++) if(a[i][j]<m) {m=a[i][j]; row=i; col=j; } printf("(%d,%d)=%d\n",row,col,m); }
1. 下述对C语言字符数组的描述中错误的是 。C
A)字符数组可以存放字符串; B)字符数组中的字符串可以整体输入、输出; C)可以在赋值语句中通过赋值运算符“=”对字符数组整 体赋值; D)不可以用关系运算符对字符数组中的字符串进行比较。
2.不能把字符串:Hello!赋给数组b的语句 是 B 。 A)char b[10]={'H','e','l','l','o','!'}; B)char b[10];b=“Hello!”; C)char b[10];strcpy(b,“Hello!”); D)char b[10]=“He 00040 00005
18、程序的功能是,将字符数组a中下标值为偶数 的元素从小到大排列,其它元素不变。 #include <stdio.h> #include <string.h> strlen(a) main() { char a[]="clanguage",t; j+=2 a[i]>a[j] int i, j, k; k= ; for(i=0; i<=k-2; i+=2) for(j=i+2; j<k; ) if( ) { t=a[i]; a[i]=a[j]; a[j]=t; } puts(a); printf("\n"); }
的输出结果是a11b10将字符串str1复制到字符串str2中后再连接到字符串str3之后将字符串str1连接到字符串str2之后再复制到字符串str3之后将字符串str2复制到字符串str1中后再将字符串str3连接到字符串str1之后将字符串str2连接到字符串str1之后再将字符串str1复制到字符串str3中10
13.下面程序的运行结果为 S=15 #include <stdio.h> main() { int a[3][3]={1,2,3,4,5,6,7,8,9},i,s=0; for(i=0;i<=2;i++) s=s+a[i][i]; printf("s=%d\n",s); }
14.下面程序的运行结果为 18 main() 10 { static int a[][3]={9,7,5,3,1,2,4,6,8}; int i,j,s1=0,s2=0; for(i=0;i<3;i++) for(j=0;j<3;j++) { if(i==j) s1=s1+a[i][j]; if(i+j==2) s2=s2+a[i][j]; } printf("%d\n%d\n",s1,s2);}
7.下列语句中,正确的是 D。 A)char a[3][]={„abc‟,‟1‟}; B) char a[][3]={„123‟,‟1‟}; C) char a[3][]={„a‟,”1”}; D) char a[][3]={“a”,”1”};
8.语句”printf(“%d\n”,strlen(“ats\no12\1\\”));” 的输出结果是 C 。 A)11 B)10 C)9 D)8
9.函数调用”strcat(strcpy(str1,str2),str3)”的功能是 C 。 A 将字符串str1复制到字符串str2中后再连接到字符串 str3之后 B 将字符串str1连接到字符串str2之后再复制到字符串 str3之后 C 将字符串str2复制到字符串str1中后再将字符串str3连 接到字符串str1之后 D 将字符串str2连接到字符串str1之后再将字符串str1复 制到字符串str3中 10.定义如下变量的数组: int i; int x[3][3]={1,2,3,4,5,6,7,8,9}; C
16.设输入的字符串为:The Windows‟95 Operating System则输出的第一行和最 后一行分别是: 和 __ The erating main() { char a[4][10],j,k; for(j=0;j<4;j++) scanf("%s",a[j]); for(j=0;j<4;j++) { k=j; printf("%s\n",a[j++]+k); } }
12.下面程序的运行结果为
#include "stdio.h" SWITCH*#WaMP* main ( ) {char str[]="SSSWILTECH1\1\11W\1WALLMP1"; int k;char c; for(k=2;(c=str[k])!='\0';k++) {switch( c ) { case 'A': putchar('a');continue; case '1': break; case 1 : while((c=str[++k])!='\1'&&c!='\0'); case 9 : putchar('#'); case 'E': case 'L': continue; default : putchar(c );continue; } putchar('*'); }}
相关文档
最新文档