总结2

来源:互联网 发布:拿破仑三皇会战知乎 编辑:程序博客网 时间:2024/04/29 13:35

                                                                      8月24日

               今天没有上新课,而是自己做了一个用最简单的C语言的ATM机,因为没有学到循环,而又不能用GOTO,所以都是一通到底的,自己的好多想法想加在上面都没办法写出来,这才感觉到书到用时方恨少,毕竟才开始学习C语言,而且是最基础的,所以能做成这样觉得还是挺有成就感的,自己做的ATM机的模型,第一次做这么贴近生活,实实在在的东西,感觉有点激动,对自己以后的道路也充满了希望和期盼。

           在写代码的时候,出现了很多错误,在不断的改错,不断的纠正中把代码写了出来,并且能够成功运行,这一次次的失败,一次次的克服,充满了成就感,我想很多程序员喜欢写代码其实是喜欢这种不短的改正错误,不短的战胜困难的成功喜悦的感觉吧。

 

 

 

8月25、26日

           今天学习了循环结构,一共有三种循环结构:

     

        for循环:(最得最多的循环,先验循环) 

 

for (表达式1; 表达式2; 表达式3)

{循环体语句}

 

 

表达式1只执行一次,初始化循环的控制变量

表达式2是判断这个循环是不是进行的条件

表达式3就是自增长

 

如:for (sum = 100; sum <1000; sum++)
 {
 a = sum / 100 ;
   b = sum /10 %10;
 c = sum % 10;
 if (sum == a * a * a+ b * b * b+ c * c * c)
  {
   printf ("%d = %d*%d*%d+%d*%d*%d+%d*%d*%d\n",sum,a,a,a,b,b,b,c,c,c);
  
  }
 }

 

 

while循环:(先验循环,一般用于达到某个条件不循环,不知道要循环多久的)

 

while(表达式)

{循环语句}

 

表达式就是满足的条件

 

 

 

do...while循环:(后验循环)

 

do

{循环语句}

while(判断表达式);

 

至少执行一次循环,而for   ,  while 至少执行0次

 

 

break是跳出本层循环

continue是跳出本次循环,不一样

 

 

在循环里面里面再循环,二重循环,这个总共要循环这两个循环的乘积

 

 

for(表达式1;表达式2;表达式3)

 

for(表达式1;表达式2;表达式3)

 

 

当然可以把内循环换成  while循环或者do....while循环,也可以换成选择语句来进行选择

 

 

 

        说实话,这循环真的有点难,很多问题都不能及时的想到,有时候就根本就不知道该怎么入手,这两个每天做作业都要做得很晚才能睡觉,而且还不一定能作对,感觉很受打击,上课老师讲的时候都能够听懂,但是就是自己做的时候不能够及时的想到,哎,一下子都难起来了,遇到了学习一来第一次挫折,虽然这样,但是我相信我可以过去的,只要我认真的学,认真的听,那么我肯定能够走出这个循环的,我对自己有信心,加油!!

 

 

 

 

 

 

 

                                                                                                                        8月27、28日

 

             星期天啊!一个痛苦的礼拜天,面对这三道题的星星,感觉如从下手啊,最典型的大星星,差点让我的人生失去意义,在for循环里循环了几个小时才打出了第一个星星,弄得满头都是小星星,这个没有很好的逻辑思维能力真的很痛苦啊,但是打出来了后头一看,很简单,很有规律啊,可是面对第二题第三题的时候,总是错错错,都不知道计算机是第几次进入死循环了。星星啊,确实让我痛苦了很久,因为都在打星星,除了逻辑思维能力有点增强,我没感觉哪里有甚么收获,可能那些星星就是最大的收获吧!

 

 

 

 

 

 

                                                                                                                      8月29日

 

 

 

                    今天学习了数组,数组就是很多同一类型的变量的集合,分为一维数组,二维数组,多维数组

 

数据类型    数组名 【整型常量表达式】

 

数组内的所有的元素都是同一数据类型

 

数组名【下标】————下标全部是从0开始的

 

在使用数组的时候都是先要给他们初始化的

如:

a【18】={0};

a【12】【31】= {0};

 

二维数组的【】【】就是整个元素的行和列           几行几列     共有【】*【】个元素

 

给一维数组   二维数组初始值:

如:

a【4】= {1,2,3,4};

a【3】【3】 = { {1,2,3}{1,2,3}{1,2,3} };

 

 

 

 

 

 

 

                                                                         8月30日

 

 

字符串:

 

字符串都是char类型的变量

 

他的用法和数组差不多,只是把数据类型变成char类型的    

 

在整个字符串中最重要的就是‘/0’,这是每个字符串的最后一个字符,这个字符也表示着这个字符串的结束

 

在输入字符串的时候    %s      后面没有地址符 &

 

我觉得在学习字符数组的时候只要把数据类型和‘/0’弄清楚,那么他和数组没有多大的区别,只是把里面的元素换成了字符而已,在输入打印的时候注意地址符的时候,那么字符数组这一节我感觉就没多大问题了,只有掌握了数组也就掌握了字符数组。

 

补充:

#include <stdio.h>
#include <string.h>

int main()
{
 char str0[50],str1[50];
 int i = 0;
 printf("请输入第一个字符串:");
 scanf("%s",str0);
 printf("请输入第二个字符串:");
 scanf("%s",str1);
 
 //strlen()函数--得到字符串的长度
 /*
 for(i = 0; i < strlen(str0); i++)
 {
  printf("%c\n",str0[i]);
 }
 */
 
 //strcmp()函数--比较两个字符串的大小
 /*
 if(strcmp(str0,str1) == -1)
 {
  printf("前一个比后一个小");
 }
 else if(strcmp(str0,str1) == 0)
 {
  printf("两个字符串相等");
 }
 else
 {
  printf("前一个字符串比后一个大!"); 
 }
 */ 
 
 //strcpy()函数--将第二个字符串拷贝给第一个
 /*
 strcpy(str0,str1);
 printf("%s\n",str0);
 */
 
 //strcat()函数--将第二个字符串连接到第一个字符串的后面
 strcat(str0,str1);
 printf("%s\n",str0);
 
}

 

strlen()函数--得到字符串的长度

strcat()函数--将第二个字符串连接到第一个字符串的后面

strcmp()函数--比较两个字符串的大小


strcpy()函数--将第二个字符串拷贝给第一个

 

 

 

 

 

 

 

 

 

 

 

 

 

 

                                                                         8月31日

 

c语言的数据类型:

 

基本数据类型                           指针类                       结构类              共用类               枚举类

 

 

结构体类型:就是几个基本数据类型的集合  ,最大的有点就是牵一发而动全身   主要的就是struct的使用方法

 

如:

#define STUDENT struct student

struct student
{
 char name[20];
 char gender;
 int age;
};


int main()
{
 STUDENT stu[5];
 int i = 0;
 for(i = 0; i < 5; i++)
 {
  printf("请输入你的名字:");
  scanf("%s",stu[i].name);
  getchar();
  printf("请输入你的性别(M|F):");
  scanf("%c",&stu[i].gender);
  printf("请输入你的年龄:");
  scanf("%d",&stu[i].age);
 }
 
 printf("%d",sizeof(STUDEN));
}

 

struct student   相当于是定义了一个数据类型,里面包含了char类型, int类型

 

 

使用的时候在输入保存数据的时候要用‘、’来指明是在struct中的哪一个类型,这个‘、’绝对不能少

 

sizeof是打印占有多少个字节    长度

 

c编译器的空间分配是4个字节4个字节的分,    不满四个字节,在接相加超过4个字节的数据时要重新另起一行,那剩下的不用但是要占有,所以说在算的时候要加上占有的

 

 

 

共用类:

就是在这个共用类型里可以使用它有的任何一个数据类型,不再是单一的了,但是在答应的时候最后一个要覆盖前面的,显示不出来

 

如;

include <string.h>

union myunion
{
 int a;
 char b;
 char name[20];
};

int main()
{
 union myunion m;
 printf("%d\n",sizeof(m));
 
 m.b = 'A';
 m.a = 10;
 strcpy(m.name,"Hello");
 printf("%s\n",m.name);
}

 

最后printf出来的10!