近来对指针基础、一二维数组的心得和linux下c语言的编程

来源:互联网 发布:张大奕的淘宝店 编辑:程序博客网 时间:2024/05/29 19:42

     1、指针方面

    明确不同的指针类型之间的指向关系。

    整数或其他非地址量都不能做为地址值给指针变量赋初值。

    了解了tolower函数。

   #include"stdio.h"
   main()
   {
   float a,b,c,*i,*p,*q,*m;
   printf("请输入a,b,c:");
   scanf("%f%f%f",&a,&b,&c);

           p=&a;
   q=&b;
   m=&c;
           if(a>b)

   {
i=p;
p=q;
q=i;
   }
   if(a>c)
   {
i=p;
p=m;
m=i;
   }
   if(b>c)
   {
i=q;
q=m;
m=i;
   }
   printf("%f\t%f\t%f\n",a,b,c);
   printf("%f\t%f\t%f\t\n",*p,*q,*m);
   }

     比如这个交换3个数字而原数不改变,这个程序就可以用指针实现。

    2、数组

       如何控制输入数据到数组中,用for循环去做。

       对一个冒泡排序法的理解。

      对一个数组的初始化。

     /*对多名学生的成绩进行排序*/

      #include"stdio.h"
      #include"stdlib.h"
      main()
      {
   int i=0,j=0,k=0;
   int fen[101];
   int ren[10];
   printf("请输入十个学生成绩");
   for(i=0;i<10;i++)
   scanf("%d",&ren[i]);//输入10个成绩数据
   for(i=0;i<101;i++)//对0到100的分数初始化为0
   fen[i]=0;
   for(i=0;i<10;i++)
   fen[ren[i]]++;//确定每个分数的人数
   for(i=0;i<101;i++)
   {
   if(fen[i]!=0)
       {
   for(k=0;k<fen[i];k++)//将重复的成绩按统计次数输出
   {
   ren[j]=i;
   j++;
   }
   }
   }
   printf("排序结果");
   for(i=0;i<10;i++)
     printf("%d\t",ren[i]);
   }

    而二维数组方面用于矩阵。

   对二维数组的赋值要表达清楚。

    int a[][4]={{1,2},{3},{4}};

    int a[][4]={1,2,0,0,3,0,0,0,4};

    两个是一样的。

    理解多维数组,如int c[3][2][3]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18};。

   /*在二维数组A(3*4)中每行选择一个最小的数组成一个矩阵B*/
   #include"stdio.h"
   main()
   {
   int i,j,k,min,max;
   int A[3][4];
   int B[3];
   printf("请输入一个3*4矩阵A:\n");
   for(i=0;i<3;i++)
   {
for(j=0;j<4;j++)
{
scanf("%d",&A[i][j]);
}
   }
   printf("输入的矩阵为:\n");
   for(i=0;i<3;i++)
   {
   for(j=0;j<4;j++)
   {
       printf("%d\t",A[i][j]);
   }
   printf("\n");
   }
   for(i=0;i<3;i++)
   {
   k=A[i][0];
   for(j=0;j<4;j++)
   {
   if(A[i][j]<k)
    k=A[i][j];
   }
   B[i]=k;
   }
   printf("B矩阵为\n");
   for(i=0;i<3;i++)
   printf("%d\t",B[i]);
   printf("\n");
   }

    是一个对二维矩阵的运算。

   3、linux下的c语言编程

     vi +文件夹/文件名

   1.vim 文件名.c(创建一个文件)

   2 .按o/a编辑   
   3.编辑完毕
   4.按esc,切换状态 
   5.按:  输入wq( 
保存退出)

   6.输入ZZ( 保存退出)
   7.gcc+文件名.c
   8.运行输入 ./a.out

      

0 0