1.HELLOW

  1. #include <stdio.h> /将stdio.h档案的内容加入
  2. #include <stdlib.h>
  3. int main(void)
  4. { /程序开始执行的位置 程式进入点(entry point
  5. printf("Hello world"); /;代表句子的结束 ""内的为字串
  6. system("pause");
  7. return 0; /程式正常结束
  8. } /一个大括号内的内容称为一个区块,
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. int main(void)
  4. {
  5. printf("Hellow\"c\"World"); /("\"\" ")可实现在语句中加入双引号 \n 换行符号
  6. system("pause");
  7. return 0;
  8. }
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. int main(void)
  4. {
  5. printf("Hellow\n"); /\n换行 \\可输出\
  6. printf("H\\");
  7. system("pause");
  8. return 0;
  9. }

2.文字图形

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. int main(void)
  4. {
  5. printf("H H A\n");
  6. printf("H H A A\n");
  7. printf("HHHHHHH AAAAA\n");
  8. printf("H H AAAAAAA\n");
  9. printf("H H A A\n");
  10. system("pause");
  11. return 0;
  12. }

此方法可读性较强,效率也并不一定会低

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. int main(void)
  4. {
  5. printf("H H A\n"
  6. "H H A A\n"
  7. "HHHHHHH AAAAA\n"
  8. "H H AAAAAAA\n"
  9. "H H A A\n");
  10. system("pause");
  11. return 0;
  12. }

3.求和

两者求和

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. int main(void)
  4. {
  5. int integer1; /int 整数 integer1(自己取的名字)变数
  6. int integer2; /int 申请了一部分空间,用来存储整数
  7. int sum; /给出定义的三个名字,为三个整数
  8. printf("Please enter the first integer: ");
  9. scanf("%d",&integer1); /scanf 表示从键盘读入资料 %d读入十进位的整数 &取址运算 eg:取出integer1然后存入
  10. printf("Please enter the secend integer: ");
  11. scanf("%d",&integer2);
  12. sum = integer1 + integer2; /=☞运算子,将右边的值算出后,指定为左边的变数内容
  13. printf("Sum is %d.\n",sum); /%d 将需要的值带入,”“内的内容会一模一样的输出,所以不写sum
  14. system("pause");
  15. return 0;
  16. }
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. int main(void)
  4. {
  5. int integer1;
  6. int integer2;
  7. int sum;
  8. printf("Please enter integer1: ");
  9. scanf("%d",&integer1);
  10. printf("Please enter integer2: ");
  11. scanf("%d",&integer2);
  12. sum = integer1 + integer2;
  13. printf("Sum is %d.\n",sum);
  14. system("pause");
  15. return 0;
  16. } /这个没什么意义,瞎改的 ”“内的可随意书写

三个数字相加

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. int main(void)
  4. {
  5. int ab,cd,ef,sum;
  6. printf("Please enter ab: ");
  7. scanf("%d",&ab);
  8. printf("Please enter cd: ");
  9. scanf("%d",&cd);
  10. printf("Please enter ef: ");
  11. scanf("%d",&ef);
  12. sum = ab + cd + ef;
  13. printf("Sum is %d.\n",sum);
  14. system("pause");
  15. return 0;
  16. }

随着数字的增多,基地会变多

过多的资源占用会使处理器变慢

多个数字相加

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. int main(void)
  4. {
  5. int gddl,sum;
  6. printf("Please enter the first gddl: ");
  7. scanf("%d",&gddl) ;
  8. sum = gddl + sum;
  9. printf("Please enter the second gddl: ");
  10. scanf("%d",&gddl);
  11. sum = gddl + sum;
  12. printf("Please enter the third gddl: ");
  13. scanf("%d",&gddl);
  14. sum = sum + gddl;
  15. printf("Sum is %d.\n",sum);
  16. system("pause");
  17. return 0;
  18. }

只使用两个变数,进行多个数字的加和,后一个加和的结果会直接把前一个加和的结果替换

在扩充和基底的使用上比较容易控制

会执行更多的指令,除了运算以外,还进行了更多的赋值,花的时间可能会多,效率可能会多,多耗中央处理器处理的时间

写程式码时考虑的要点

可读性:正确性

  1. 维护性

效率

处理器的使用

记忆体的使用 (记忆体是电脑的重要组成部分, 电脑的存储记忆功能由它实现,它的主要功用是暂存资料,其实电脑有很多资料都是靠记忆体来存取,记忆体基本上可以分成两类: RAM 和ROM以及高速缓存(CACHE)。只不过因为 RAM 是其中最重要的存储器 。)

扩展性

4.程式写作风格(coding style)

每一句分号后换行

大括号换行

区块内每一句缩排

5.数值交换

新增程式码,使得gddl1与gddl2的数值交换。

C语言无法进行多重指定 EG:

  1. (gddl1, gddl2) = (gddl2, gddl1);

不能直接使用 gddl1 替换 gddl2 ,再用 gddl2 替换 gddl1

此时的 gddl2 已经成为了 gddl1 ,没有了原来的数字 EG:

  1. gddl1 = gddl2;
  2. gddl2 = gddl1;

备份法(使用额外定数)

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. int main(void)
  4. {
  5. int gddl1, gddl2;
  6. printf("PLease enter the first gddl: ");
  7. scanf("%d",&gddl1); //gddl1 :3
  8. printf("Please enter the second gddl: ");
  9. scanf("%d",&gddl2); //gddl2 :5
  10. int L = gddl1; //L = 3, gddl1 = 3, gddl2 = 5
  11. gddl1 = gddl2; //L = 3, gddl1 = 5, gddl2 = 5
  12. gddl2 = L; //L = 3, gddl1 = 5, gddl2 = 3
  13. printf("gddl1:%d\n",gddl1); //gddl1 = 5
  14. printf("gddl2:%d\n",gddl2); //gddl2 = 3
  15. system("pause");
  16. return 0;
  17. }

其他

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. int main(void)
  4. {
  5. int gddl1, gddl2;
  6. printf("PLease enter the first gddl: ");
  7. scanf("%d",&gddl1); //gddl1 :3
  8. printf("Please enter the second gddl: ");
  9. scanf("%d",&gddl2); //gddl2 :5
  10. gddl1 = gddl1 + gddl2; //gddl1 = 8, gddl2 = 5
  11. gddl2 = gddl1 - gddl2; //gddl1 = 8, gddl2 = 3
  12. gddl1 = gddl1 - gddl2; //gddl1 = 5, gddl2 = 3
  13. printf("gddl1:%d\n",gddl1); //gddl1 = 5
  14. printf("gddl2:%d\n",gddl2); //gddl2 = 3
  15. system("pause");
  16. return 0;
  17. }*/
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. int main(void)
  4. {
  5. int gddl1, gddl2;
  6. printf("PLease enter the first gddl: ");
  7. scanf("%d",&gddl1); //gddl1 :3
  8. printf("Please enter the second gddl: ");
  9. scanf("%d",&gddl2); //gddl2 :5
  10. gddl1 = gddl1 ^ gddl2;
  11. gddl2 = gddl1 ^ gddl2;
  12. gddl1 = gddl1 ^ gddl2;
  13. printf("gddl1:%d\n",gddl1); //gddl1 = 5
  14. printf("gddl2:%d\n",gddl2); //gddl2 = 3
  15. system("pause");
  16. return 0;
  17. }

^具有特殊的性质

主要运用了数学的运算

1资料型别(data type)

资料的储存

电脑内部具有记忆储存空间而该空间是以位元组(byte)为单位来组成

每个位元组(byte)由多位元所构成(bit)

  • 一个位元组一般由8位元所构成
  • 每个位元(bit)可以表示0或1两个值

任何资料型别的资料都可以转换成由一串0跟1所组成的序列来表示

资料型别

使用 sizeof 查看所占记忆空间的大小

定义变数(使用)

  • 变数名称在使用前,需要先宣告或定义

  • 变数定义时需要指定名称与型别 (读取未指定值的变数在大部分情形下是未定义行为)

    • 资料型别 变数名称;
      int num(整数)【可精确知道num占多少位元组】;

    • 在定义时也可以直接指定初始值,成为初始化:
      int num = 0;

  • C语言命名时的限制

不同资料型别的差异

  • 表示的资料意义不同

    • 整数(int)与字元(char)
  • 表示的原理不同

    • 整数(int)与浮点数(float)
  • 可表示的值的范围不同

    • 短整数(short int)与长整数(long int)
  • 可表示的精确度不同

    • 单精度浮点数(float)与倍精度浮点数(double)
  • 有无正负数(有号无号)的不同

    • 有号整数(int)与无号整数(unsigned int)