A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

       写了个小东东,不具有实用价值,不过包含了很多数据类型的知识。包括各种数据类型以及各种初始化。和一点点的基本用法,涵盖了整型,字符型,枚举,数组等一些比较常见的类型的实用。上代码
  1. #include<stdio.h>
  2. #include<string.h>

  3. int main()
  4. {
  5.         printf("\n\n——————6种基本类型情况——————\n");
  6.         //c语言的6总基本整型
  7.         short a=1;
  8.         int b=2;
  9.         long c=3;
  10.         float d=4.4f;
  11.         double e=5.53;
  12.         double e2=3.1562348432485654856241841;
  13.         char f='a';

  14.         printf("short        占用字节数为:%d\ta=%d\n",sizeof(short),a);
  15.         printf("int        占用字节数为:%d\tb=%d\n",sizeof(int),b);
  16.         printf("long        占用字节数为:%d\tc=%d\n",sizeof(long),c);
  17.         printf("float        占用字节数为:%d\td=%f\n",sizeof(float),d);
  18.         printf("double        占用字节数为:%d\te=%f\n",sizeof(double),e);
  19.         //注意这里的格式控制,%m.nf-->m表示输出的列数,n表示小数后面的位数
  20.         printf("double        占用字节数为:%d\te2=%20.15f\n",sizeof(e2),e2);
  21.         printf("char        占用字节数为:%d\tf=%c\n",sizeof(char),f);
  22.        
  23.         //一维数组的整初始化
  24.         int array10[5]={1,2,3,4,5};
  25.         //一维数组的部分元素初始化,如果前面为几个为0,则写上,如果后面为0,系统自动补0;
  26.         int array11[5]={0,0,1,3};
  27.         //当元素固定的时候,可以不用写到底有几个
  28.         int array12[]={1,2,3,4,5,6,7,8};
  29.        
  30.         //二维数组初始化,详情请看打印的结果
  31.         int array20[2][3]={{11,22,33},{44,55}};
  32.         int array21[2][3]={11,22,33,44,55,66};
  33.         int array22[][2]={{111,222},{333,444},{555,666}};
  34.         //打印array10[5]的情况
  35.         printf("array10[5]的情况:\n");
  36.         for(int i=0;i<5;i++)
  37.         {
  38.                 printf("%d\t",array10[i]);
  39.         }
  40.         //打印array11[5]的情况,比较两个的异同
  41.                 printf("\narray11[5]的情况:\n");
  42.         for(int j=0;j<5;j++)
  43.         {
  44.                 printf("%d\t",array11[j]);
  45.         }


  46. printf("\n\n——————二维数组情况——————\n");
  47.         {       
  48.         //打印二维数组的情况
  49.        
  50.         //array20的情况
  51.                 printf("\narray20[2][3]的情况:\n");
  52.                 for(int i=0;i<2;i++)
  53.                 {       
  54.                         printf("\n");
  55.                         int j=0;
  56.                         while(j<3)
  57.                         {
  58.                                 printf("%d\t",array20[i][j++]);
  59.                         }
  60.                 }
  61.         }
  62.         //array21情况
  63.         {
  64.         printf("\narray21[2][3]的情况:\n");
  65.         for(int i=0;i<2;i++)
  66.         {       
  67.                 printf("\n");
  68.                 int j=0;
  69.                 while(j<3)
  70.                 {
  71.                         printf("%d\t",array20[i][j++]);
  72.                 }
  73.         }
  74.         }
  75.         printf("\n\n——————字符数组情况——————\n");
  76.         //字符数组初始化,二维数组基本一样
  77.         char charArr[10]={'I',' ','a','m',' ','h','a','p','p','y'};
  78.        
  79.        
  80.        
  81.         printf("\ncharArr的情况:\n");
  82.         //printf("%s\n",charArr);//--->这是以字符串的方式输出charArr的值,但是%S是遇到\0结束,所以输出有乱码
  83.         //输出charArray的情况
  84.         for(int k=0;k<11;k++)
  85.         {printf("%c",charArr[k]);}
  86.         printf("\n");


  87.        
  88.         //字符串数组情况
  89.         printf("\n\n——————字符串数组情况——————\n");
  90.         //下面这三种初始化的效果是一样的,详情见输出
  91.         char charArr1[]="I am happy too";
  92.         char charArr2[]={"I am happy too"};
  93.         char charArr3[]={'I',' ','a','m',' ','h','a','p','p','y',' ','t','o','o','\0'};
  94.         //%s遇\0结束
  95.         printf("%s",charArr1);
  96.         printf("\n");
  97.         printf("%s",charArr2);
  98.         printf("\n");
  99.         printf("%s",charArr3);
  100.        
  101.         printf("\n\n——————枚举类型情况——————\n");
  102.         enum Weekday{monday=1,tuesday=2,wednesday,thursday,friday,saturday,sunday} workday,weekend;
  103.         //也可以不声明有名字的枚举类型,而直接定义枚举变量
  104. //        enum {monday,tuesday,wednesday,thursday,friday,saturday,sunday} workday,weekend;

  105.         enum Color{red,black,yellow,blue};
  106.         enum Color skirt=red;
  107.          int day;
  108.         //程序在理解,看懂这个其他也能做出来
  109.         printf("今天是星期几?(为了做测试,请输入6)");
  110.         scanf("%d",&day);
  111.         if(day==saturday&&skirt==0)
  112.         {
  113.                 weekend=saturday;
  114.        
  115. //这儿我们可以看出,枚举中的成员是有值的,分别编号,从0开始
  116.         printf("今天是%s,我们穿%s的skirt","weekend","red");
  117.         }



  118.         printf("\n\n——————结构体类型情况——————\n");
  119.         //定义结构体
  120.         struct Person
  121.         {
  122.                 int age;
  123.                 double height;
  124.                 char *name;
  125.         };
  126.        
  127.         struct Person tom={20,1.77,"tom"};
  128.         //这种也是可以的,就是用(.)加成员的方法进行初始化,不过我的编译器好像不支持
  129.         //struct Person Jerry={.name="jerry"};

  130.         printf("我叫%s,今年%d岁,身高%4.2f\n",tom.name,tom.age,tom.height);
  131. //        printf("我叫%s,今年%d岁,身高%4.2f\n",jerry.name,jerry.age,jerry.height);
  132.        


  133.         //结构体数组
  134. {
  135.         printf("\n——下面用一个投票解释结构体数组——\n");
  136.         printf("输入你选的人:AAA,BBB,CCC三人中选择一个");
  137.         struct People
  138.         {
  139.                 char name[20];
  140.                 int count;
  141.         }leader[3]={"AAA",0,"BBB",0,"CCC",0};

  142.         int i,j;
  143.         char leader_name[20];
  144.         for(i=0;i<6;i++)
  145.         {
  146.                 scanf("%s",leader_name);
  147.                 for(j=0;j<3;j++)
  148.                         if(strcmp(leader_name,leader[j].name)==0)
  149.                                 leader[j].count++;
  150.         }
  151.         printf("\n结果是:\n");
  152. for(i=0;i<3;i++)
  153. {
  154.         printf("%5s:%d\n",leader[i].name,leader[i].count);
  155. }


  156. }
  157.         return 0;
  158. }
复制代码
希望对入门新手有哪怕一点点帮助,我就满足了。




25 个回复

倒序浏览
我咋觉得你是水呢? 各种各样,不知道封装成函数啊
回复 使用道具 举报
大家叫我小祥子 发表于 2015-4-24 22:06
我咋觉得你是水呢? 各种各样,不知道封装成函数啊

C语言开篇讲废话,第二篇讲数据类型,第三篇讲结构化,第四篇讲函数,第五篇讲指针。不是我水呀,是有的人还不知道啥叫函数啊
回复 使用道具 举报
如果连函数也不知道,估计你写的也看不懂
回复 使用道具 举报
wow,写的很好
回复 使用道具 举报
写的很好
回复 使用道具 举报
还是封装成函数比较好,你这么写可能会吓着一些人
回复 使用道具 举报
先马 后看~~~
回复 使用道具 举报
变味的面包 来自手机 中级黑马 2015-5-4 08:18:25
9#
7楼说的有道理
回复 使用道具 举报
哈哈,谢谢啦
回复 使用道具 举报
不错。。。。
回复 使用道具 举报
不知怎么的,不是预想的那样
回复 使用道具 举报
新人看到会吓到  ,建议不封装成函数,也要分开写 不要写在一个函数里。新人进门一看基础知识就一长段代码,很多人没仔细看已经吓得放弃了
回复 使用道具 举报
看到你总结的内容很好,但是,从另一方面也充分证明了定义函数的必要性
回复 使用道具 举报
进来看看,学习学习
回复 使用道具 举报
学习 学习
回复 使用道具 举报
是有点冗余了。。。。
回复 使用道具 举报
MTT 中级黑马 2015-5-17 11:52:43
18#
太长会看?
回复 使用道具 举报
写的挺详细的
回复 使用道具 举报
shao 中级黑马 2015-5-17 14:45:08
20#
赞个。。。。
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马