当前位置:学者斋 >

计算机 >C语言 >

C语言字符数组的几种输出方式

C语言字符数组的几种输出方式

篇一:C语言字符数组的几种输出方式

C语言字符数组的几种输出方式

#define _CRT_SECURE_NO_WARNINGS

#include

#include//std标准,任何平台都行 /*void main()

{

char str[10] = "taskoist";

char *p = str;

*(p + 4) = 'l';

printf("%x,%x,%c",p, str,*p);

system(p);

system("pause");

}*/

void main()

{

char str[20] = "tasklist";

char *p = str;

printf("%s", p);

printf(" ");

for (int i = 0; i < 20; i++)

{

printf("%c", str[i]);

}

printf(" ");

for (int i = 0; i < 20; i++)

{

printf("%c", p[i]);

}

printf(" ");

for (p; p < str + 20; p++)

{

printf("%c", *p);

}

printf(" ");

printf("%s", str);

system("pause");

}

篇二:C语言 数组有答案

一、选择题

1. 以下对一维整型数组a的正确说明是 A.int a(10); B.int n=0, a[n]; C.int n;

scanf(“%d”,&n); int a[n];

D.#define SIZE 10 int a[SIZE]

2. 若有说明:int a[10]; ,则对a数组元素的正确引用是 A.a[10] B.a[3.5]C.a(5) D.a[10-10] 3. 以下能对一维数组a进行正确初始化的语句形式是 A.int a[10]=(0, 0, 0, 0, 0); B.int a[10]={ }; C.double a[ ][4];D.int a[10]={10*1}; 4. 以下对二维数组a的正确说明是

A.int a[3][ ]; B.float a(3,4); C.double a[ ][4];D.float a(3)(4); 5. 若有说明:int a[3][4]; 则对a数组元素的正确引用是。 A.a[3][4] B.a[1, 3] C.a[1+1][0]D.a(2)(1) 6. 以下能对二维数组a进行正确初始化的语句是 A.int a[2][ ]={{1, 0, 1}, {5, 2, 3}}; B.int a[ ][3]={{1,2,3},{4,5,6}}; C.int a[2][4]={{1,2,3},{4,5},{6}}; D.int a[ ][3]={{1,0,1,0},{ },{1,1}};

7. 下面程序段。 1 int a[3]={3*0}; 2 int i

3 for(i=0; i<3; i++) scanf(“%d”,&a[i]); 4 for(i=1; i<3; i++) a[0]=a[0]+a[i]; 5 printf(“%d ”,a[0]);

A.第1行有错误 B.第5行有错误C.第3行有错误 D.没有错误 8. 若有定义float x[4]={1.3, 2.4, 5.6},y=6; 则错误的语句是 A.y=x[3];B.y=x+1; C.y=x[2]+1 D.x[0]=y; 9. 定义如下变量和数组: 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 7B.3 6 9 C.1 5 9 D.1 4 7

10. 下面程序的运行结果是 #includeint 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(" "); } return 0; }

A.1 1 1 1 1

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

B. 0 0 0 0 1

0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0

C.1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1

D.1 0 0 0 1 0 1 0 1 0 0 0 1 0 0 0 1 0 1 0 1 0 0 0 1

11. 下面是对数组s的初始化,其中错误的语句是 A.char s[5]={“abc”}; B.char s[5]={?a?, ?b?, ?c?}; C.char s[5]= “ ”;D.char s[5]= “abcde”; 12. 下面程序段的运行结果是(□表示1个空格) char c[5]={'a','b','','c',''}; printf("%s",c);

A.'a''b'B.ab C.ab□c D.ab□ 13. 有两个字符数组a、b,则以下正确的输入格式是。 A.gets(a,b);B.scanf(“%s%s”,a,b); C.scanf(“%s%s”,&a,&b); D.gets(“a”),gets(“b”);

14. 有字符数组a[80]和b[80],则正确的输出形式是

A.puts(a,b); B.printf(“%s%s”,a[ ],b[ ]); C.puta,b);D.puts(a),puts(b); 15. 有下面的程序段,则 char a[3],b[ ]="China"; a=b;

printf("%s",a);

A.运行后将输出China B.运行后将输出Ch C.运行后将输出Chi D.编译出错

16. 下面程序段的功能是输出两个字符串中对应相等的字符,请选择填空。 char x[ ]="programming"; char y[ ]="Fortran"; int i=0;

while(x[i]!='' && y[i]!='')

); else i++;

A.x[i++] B.y[++i] C.x[i] D.y[i] 17. 下面程序的功能是将字符串s中所有的字符c删除。请选择填空。 #includeint main() {char s[80]; int i,j; gets(s);

for(i=j=0;s[i]!=''; i++)

if(s[i]!='c') ; s[j]=''; puts(s); return 0; }

A.s[j++]=s[i] B.s[++j]=s[i] C.s[j]=s[i];j++ D.s[j]=s[i] 18. 下面程序的运行结果是 #includeint 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 ",s); return 0; }

A.1B.1256C.12ab56 D.15

19. 当运行以下程序时,从键盘输入:ab<回车> c<回车> def<回车>,则下面程序的运行结果是 。

#include#define N 6 int main() { char c[N];int i=0;

for( ; i<N; c[i]=get ), i++);for(i=0;i<N;i++) putc[i]);return 0; } A.abcdef

#includeint main()

{ char a[]="morning",t; int i,j=0;for(i=1;i<7;i++)

if(a[j]<a[i]) j=i;t=a[j]; a[j]=a[7]; a[7]=t;puts(a);return 0; }

A.mogni B.moC.morningD.mornin 答案:

1. D2. D3. B4. C5. C6. B7. A8. B9. A10. C11. D 12. B13. B14. D15. D16. A17. A18. A19. D20. B 二、填空题

1. 若有定义float a[3][5];则a数组所含数组元素个数是,a数组所占的字节数是 。

2. 若有定义:double x[3][5]; ,则x数组中行下标的下限为,列下表的

B.a b c d e f

C.b c d

D.ab c d

20. 下面程序的运行结果是

上限为。

3. 假设M为已经声明的符号常量,则定义一个具有M×M个元素的双精度型数组a,且所有元素初值为0的形式是 。

4. 若有定义:int a[3][4]={{1,2}, {0}, {4,6,8,10}}; 则初始化后,a[1][2]得到的初值是 ,a[2][1]得到的初值是。

5. 下面程序给a数组输入数据并以每行4个数据的形式输出。请填空。 #include#define N 20 int main() {int a[N],i;

for(i=0;i<N;i++) for(i=0;i<N;i++)

printf("%3d",a[i]); }

printf(" "); return 0; }

6. 下面程序将二维数组a的行和列元素互换后存到另一个二维数组b中,请填空。

#includeint main()

{ int a[2][3]={{1,2,3},{4,5,6}};int b[3][2],i,j;printf("array a: ");for(i=0;i<=1;i++)

{printf("%5d",a[i][j]); ;}

printf(" ");}

printf("array b: ");;i++){for(j=0;j<=1;j++)

篇三:在C语言中,找出一个数组中的最小值输出,并且输出整个数组。

#include

#define N 4

#define M 3

void findmin(int a[M][N],int m[],int k[])

{

int i,j;

for(j=0;j<N;j++)

{

m[j]=0;

for(i=0;i<M;i++)

{

if(a[i][j]<m[j])

{ m[j]=a[i][j];

k[j]=i;}

}

}

}

void outdata(int a[M][N],int b[4],int k[])

{

int i,j;

for(i=0;i<M;i++)

{

for(j=0;j<N;j++)

{ printf("a[%d][%d]=%d ",i,j,a[i][j]);

} printf(" ");

}

for(j=0;j<N;j++)

printf("b[%d]=%d ",j,b[j]);

printf(" ");

for(j=0;j<N;j++)

printf("k[%d]=%d ",j,k[j]);

}

int main()

{

int b[3][4]={{3,-14,-14,-20},{-2,-9,-4,-6},{3,4,5,6}};int min[4],hang[4];

findmin(b,min,hang);

outdata(b,min,hang);

//printf("max=%d k=%d ",max);

return 0; }

  • 文章版权属于文章作者所有,转载请注明 https://xuezhezhai.com/jsj/cyuyan/5mgnw.html