字符数组c语言例题,c语言中的字符串数组

  字符数组c语言例题,c语言中的字符串数组

  一.数组1.1。数组的概念是一种数据结构,用于存储一组相同类型的数据。有点像班上的手机袋,超市的储物柜。

  特点:只能存储一种类型的数据,比如全int类型或者全char类型,数组中的数据变成元素。

  1.2.数组的定义格式:键入数组名[元素个数];

  示例:存储五个人的年龄。

  int ages[5];//在内存中开辟4x5=20字节的存储空间

  char str[]={x , y };

  char str[]= xy ;

  双数组[10];

  您可以在定义数组时初始化它:

  int ages[5]={17,18,19,20,21 };

  遍历数组:

  for(int I=0;我我)

  {

  printf("ages[%d]=%d\n ",I,ages[I]);

  }

  注意:

  (1)数组的初始化

  .int ages[5]={17,18,19,20,21 };//一般写作

  .int ages[5]={17,18 };//只给前两个元素赋值

  .int ages[5]={[3]=10,[4]=11 };//为指定的元素赋值,这里是第三和第四个元素

  .int ages[]={11,12,13}。//正确。如果确定了右边的元素,则可以省略该数字。这里,有三个。

  .int ages[];//错误,编译器无法知道应该分配多少存储空间。

  .int ages[5];年龄={17,18,19,20,21 };//错误,定义数组时只能这样初始化。

  .int ages[A]={1,2,3 };//正确,相当于年龄[65]

  .int count=5;int ages[count];//不初始化的话,这个写法是对的。编译器不会报告错误,并为其分配20字节的存储空间。年龄[0]=1;年龄[1]=2;可以像这样给数组的元素赋值,但是元素2,3,4等的值。都不确定。

  。并且int count=5;int ages[count]={1,2,3,4,5 };//这种写法不对。定义数组时,数组被初始化。元素的数量必须是常数或不成文的,而不是变量。

  然而,当访问一个数组时,它是通过使用相同的数组名及其不同的下标来访问的。下标必须从0开始计算,所以最后一个元素的下标是“length -1”。也就是说,数组元素的一般形式是:数组名[下标]

  #include stdio.hvoid main(){ //数组定义int a[5],I;//定义一个长度为5的int类型数组,相当于定义了5个变量。//使用数组元素,0-5称为下标a[0]=100;a[1]=200;a[2]=300;a[3]=400;a[4]=500;//循环输入for(I=0;i5;i ) { scanf(%d ,a[I]);}//遍历数组中的每个元素for(I=0;i5;i ) { printf(%d \n ,a[I]);}}

  1.3.计算平均分和总分。/*注:你的选择是c ide */# include stdio . h void main(){//定义一个长度为10的float数组,//循环输入10个学生的成绩//计算平均分和总分//用数组定义int I;浮点标记[10],s=0;//为(I=0,定义一个长度为10,0-9的浮点数组;i 10i ) { printf(mark[%d]=,I);scanf(%f ,标记[I]);} for(I=0;i 10i ) { s=s标记[I];} printf(总分:%.2f ,s);Printf(平均分:%.2f ,s/10);}

  1.4.数组初始化初始化赋值的一般形式是:

  类型说明符数组名[常量表达式]={value,value…value };

  其中,{}中的每个数据值是每个元素的初始值,这些值用逗号分隔。例如:

  int a[10]={ 0,1,2,3,4,5,6,7,8,9 };

  相当于a[0]=0;a[1]=1.a[9]=9;

  只能给一些元素赋初始值,但是值的个数大于数组元素的个数。当{}中值的个数小于数组元素的个数时,只对第一部分元素赋值;当数目大于数组元素的数目时,它就越界了。

  只能逐个给元素赋值,而不能给整个数组赋值。

  如果所有元素都被赋值,数组元素的数目可能不会在数组的描述中给出。

  # include stdio . h void main(){ int I,a[]={1,2 };for(I=0;i3;i ) { printf(%d\n ,a[I]);} }1

  2

  1.5.求最大数# include stdio . h void main(){ int a[]={ 95,59,98,0,35,46,8,-1,99,98},max,I;//假设最大数是a[0]max=a[0];//遍历并枚举for(I=1;i 10I){ if(a[I]max){ max=a[I];} } printf(%d ,max);}99

  1.6.冒泡排序是计算机科学领域中一种简单的排序算法。

  冒泡排序算法的操作如下:比较相邻元素(从后向前)。如果第一个比第二个大,两个都换。对每一对相邻的元素做同样的工作,从开始的第一对到结束的最后一对。此时,最后一个元素应该是最大的数字。对除最后一个元素之外的所有元素重复上述步骤。每次对越来越少的元素重复上述步骤,直到没有要比较的数字对。

  泡泡分类舞蹈示范

  /*注意:您的选择是C IDE */

  #include stdio.h

  void main()

  //冒泡排序

  int a[]={195,99,98,0,-35,46,8,-10,99,98},I,j,t;

  for(I=0;I 9;我)

  for(j=0;j 9-I;j)

  if(a[j] a[j 1])

  t=a[j];

  a[j]=a[j 1];

  a[j ^ 1]=t;

  for(I=0;i 10我)

  printf(%d \n ,a[I]);

  }

  N数排序,外重循环N-1,内重循环N-1-i,比较交换

  泡泡分类和匈牙利民间舞蹈

  第二,字符串

  2.1.字符串的概念和定义

  C中的字符数组是一个字符串,字符串是一个特殊的字符数组。

  单字符数组的定义

  例如:

  char c[10];/*单字符数组,即字符串*/

  单字符数组的初始化

  例如:

  char c[10]={H , e , l , l , \ 0 };

  char c[]={H , e , l , l , o ,0 };

  在这种初始化方法中,系统不会自动添加字符串终止符,也就是 \0 字符,只好人工添加。

  字符串结束标志:C语言中没有特殊的字符串变量。通常,字符数组用于存储字符串。字符串常量总是使用 \0 作为字符串的终止符。因此,当字符串存储在数组中时,终止符 \0 也存储在数组中,用作字符串结束的标志。有了 \0 标志,就不再需要根据字符数组的长度来判断字符串的长度。

  /*注意:您的选择是C IDE */

  #include stdio.h

  void main()

  //字符串(糖葫芦)

  char str[]={H , e , l , l , \ 0 };

  int I;

  char str 1[]= Kitty ;

  printf(%s ,str 1);

  for(I=0;i5;我)

  printf(\n %c ,str 1[I]);

  }

  2.2、字符串输入和输出

  2.2.1、使用scanf和printf可以完成字符串的输入。

  字符串[100];

  scanf(%[^\n]s,str);

  printf(%s ,str);

  2.2.2.使用get和puts来完成。

  /*注意:您的选择是C IDE */

  #include stdio.h

  #include string.h

  void main()

  //输入数组字符串时不需要获取地址。

  char name[100];

  获取(名称);//从键盘输入字符串

  认沽(名称);//输出字符串

  }

  2.3.字符串连接函数strcat

  格式:

  Strcat(字符数组名1,字符数组名2)

  功能:

  将字符数组2中的字符串连接到字符数组1中的字符串后面,删除字符串1后面的字符串标记“\0”。这个函数的返回值是字符数组1的第一个地址。

  注意:第一个参数只能是字符数组变量,不能是字符串常量。

  #include stdio.h

  # include“string . h”;

  void main()

  char str 1[100]= Hello ;

  char str 2[]= Kitty ;

  //使用strcat函数将str2的内容复制到

  //str1,仅适用于字符串。

  strcat(str1,str 2);

  printf(%s \n ,str 1);

  printf(%s \n ,str 2);

  }

  2.4.字符串复制函数strcpy

  格式:

  Strcpy(字符数组名1,字符数组名2)

  功能:

  将字符数组2中的字符串复制到字符数组1中。字符串结束标志“\0”也被复制。字符2也可以是字符串常量。这相当于将一个字符串赋给一个字符数组。

  /*注意:您的选择是C IDE */

  #include stdio.h

  # include“string . h”;

  void main()

  char str1[100]=好家伙!;

  char str2[]=女孩!;

  printf(%s \n ,str 1);

  printf(%s \n ,str 2);

  //将str2的内容复制到str1中

  strcpy(str1,str 2);

  printf(%s \n ,str 1);

  printf(%s \n ,str 2);

  }

  2.5.字符串比较函数strcmp

  格式:

  Strcmp(字符数组名1,字符数组名2)

  功能:

  按照ASCII码顺序比较两个数组中奇偶校验字母的大小,通过函数的返回值返回比较结果。

  如果字符串1=字符串2,返回值=0;

  2 string字符串2,返回值为0;

  1字符串string 2,返回值为0。

  这个函数也可以用来比较两个字符串常量,或者用字符串常量比较数组。

  /*注意:您的选择是C IDE */

  #include stdio.h

  # include“string . h”;

  void main()

  char str 1[]= Abe 123 ;

  char str 2[]= Abd ;

  //-1小于

  //0等于

  //1大于

  printf(%d ,strcmp(str1,str 2));

  }

  一个

  2.6.获取字符串长度函数strlen

  格式:

  Strlen(字符数组名)

  功能:

  计算数组中字符串的实际长度(不包括字符串结束标志“\ 0”),并将该长度作为函数返回值返回;你也可以计算字符串常量的长度。

  /*注意:您的选择是C IDE */

  #include stdio.h

  # include“string . h”;

  void main()

  char str 1[]= Abe 123 ;

  //获取字符串的长度,中文占两位数

  printf(\n %d ,strlen(str 1));

  }

  六

  更多功能请点击此处。

  2.7.阵列移动作业P181

  /*注意:您的选择是C IDE */

  #include stdio.h

  void main()

  //10

  int a[]={3,6,9,15,18,26,98,0,0,0},n,p=7,I;

  //输入要插入的数字

  scanf(%d ,n);

  //确定位置

  for(I=0;I 7;我)

  If(a[i]=n)//如果数组中的当前数字与n相同

  p=I;

  打破;

  //移动

  for(I=7;我我-)

  a[I]=a[I-1];

  //插入

  a[p]=n;

  //显示结果

  for(I=0;I 8;我)

  printf(%d \t ,a[I]);

  }

  3.二维数组

  一个数组是线性的,两个数组是平面的。

  /*注意:您的选择是C IDE */

  #include stdio.h

  void main()

  int a[3][3],I,j;

  a[0][0]=1;

  a[0][1]=5;

  for(I=0;i3;我)

  for(j=0;j 3;j)

  a[I][j]=I * j;

  for(I=0;i3;我)

  for(j=0;j 3;j)

  printf(a[%d][%d]=%d \t ,I,j,a[I][j]);

  printf( \ n );

  }

  /*注意:您的选择是C IDE */

  #include stdio.h

  void main()

  int a[3][3]={{1,2,3},{4,5,6},{7,8,9}},I,j;

  for(I=0;i3;我)

  for(j=0;j 3;j)

  printf(a[%d][%d]=%d \t ,I,j,a[I][j]);

  printf( \ n );

  }

  四。课堂范例和作业源文件下载

  点击下载。

  来自的。转载请联系作者取得授权,否则将追究法律责任。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • c语言调用退出函数 c语言退出整个程序怎么写
  • c语言中怎么给函数初始化 c语言的初始化语句
  • c语言编写函数计算平均值 c语言求平均函数
  • 详解c语言中的字符串数组是什么,详解c语言中的字符串数组结构,详解C语言中的字符串数组
  • 表达式求值c++实现,c语言实现表达式求值
  • 看懂c语言基本语法,C语言详解,C语言的基本语法详解
  • 用c语言实现快速排序算法,排序算法设计与实现快速排序C语言,C语言实现快速排序算法实例
  • 深入解析c语言中函数指针的定义与使用方法,深入解析c语言中函数指针的定义与使用情况,深入解析C语言中函数指针的定义与使用
  • 描述E-R图,E-R图举例,关于C语言中E-R图的详解
  • 折半查找法C语言,折半查找算法(算法设计题)
  • 折半查找法C语言,c语言折半法查找数据,C语言实现折半查找法(二分法)
  • 扫雷小游戏c++代码设计,c语言扫雷游戏源代码,C语言实现扫雷小游戏详细代码
  • 怎样统计程序代码行数,C语言统计行数,C#程序员统计自己的代码行数
  • 基于c语言的贪吃蛇游戏程序设计,用c语言编写贪吃蛇游戏程序,C语言实现简单的贪吃蛇游戏
  • 图的两种遍历算法,图的遍历算法代码c语言,Python算法之图的遍历
  • 留言与评论(共有 条评论)
       
    验证码: