C语言 百分网手机站

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

时间:2020-11-22 17:58:10 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; }

【C语言字符数组的几种输出方式】相关文章:

1.C语言字符数组和字符串

2.C语言字符串的输入输出

3.C语言的字符串输出puts()函数

4.c语言中用字符串数组写菜单的代码

5.C语言数组方法

6.C语言数组是什么

7.C语言指针数组的概念

8.C语言数组元素的查询