壹
1.HELLOW
#include <stdio.h> /将stdio.h档案的内容加入
#include <stdlib.h>
int main(void)
{ /程序开始执行的位置 程式进入点(entry point)
printf("Hello world"); /;代表句子的结束 ""内的为字串
system("pause");
return 0; /程式正常结束
} /一个大括号内的内容称为一个区块,
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
printf("Hellow\"c\"World"); /("\"\" ")可实现在语句中加入双引号 \n 换行符号
system("pause");
return 0;
}
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
printf("Hellow\n"); /\n换行 \\可输出\
printf("H\\");
system("pause");
return 0;
}
2.文字图形
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
printf("H H A\n");
printf("H H A A\n");
printf("HHHHHHH AAAAA\n");
printf("H H AAAAAAA\n");
printf("H H A A\n");
system("pause");
return 0;
}
此方法可读性较强,效率也并不一定会低
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
printf("H H A\n"
"H H A A\n"
"HHHHHHH AAAAA\n"
"H H AAAAAAA\n"
"H H A A\n");
system("pause");
return 0;
}
3.求和
两者求和
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int integer1; /int 整数 integer1(自己取的名字)变数
int integer2; /int 申请了一部分空间,用来存储整数
int sum; /给出定义的三个名字,为三个整数
printf("Please enter the first integer: ");
scanf("%d",&integer1); /scanf 表示从键盘读入资料 %d读入十进位的整数 &取址运算 eg:取出integer1然后存入
printf("Please enter the secend integer: ");
scanf("%d",&integer2);
sum = integer1 + integer2; /=☞运算子,将右边的值算出后,指定为左边的变数内容
printf("Sum is %d.\n",sum); /%d 将需要的值带入,”“内的内容会一模一样的输出,所以不写sum
system("pause");
return 0;
}
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int integer1;
int integer2;
int sum;
printf("Please enter integer1: ");
scanf("%d",&integer1);
printf("Please enter integer2: ");
scanf("%d",&integer2);
sum = integer1 + integer2;
printf("Sum is %d.\n",sum);
system("pause");
return 0;
} /这个没什么意义,瞎改的 ”“内的可随意书写
三个数字相加
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int ab,cd,ef,sum;
printf("Please enter ab: ");
scanf("%d",&ab);
printf("Please enter cd: ");
scanf("%d",&cd);
printf("Please enter ef: ");
scanf("%d",&ef);
sum = ab + cd + ef;
printf("Sum is %d.\n",sum);
system("pause");
return 0;
}
随着数字的增多,基地会变多
过多的资源占用会使处理器变慢
多个数字相加
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int gddl,sum;
printf("Please enter the first gddl: ");
scanf("%d",&gddl) ;
sum = gddl + sum;
printf("Please enter the second gddl: ");
scanf("%d",&gddl);
sum = gddl + sum;
printf("Please enter the third gddl: ");
scanf("%d",&gddl);
sum = sum + gddl;
printf("Sum is %d.\n",sum);
system("pause");
return 0;
}
只使用两个变数,进行多个数字的加和,后一个加和的结果会直接把前一个加和的结果替换
在扩充和基底的使用上比较容易控制
会执行更多的指令,除了运算以外,还进行了更多的赋值,花的时间可能会多,效率可能会多,多耗中央处理器处理的时间
写程式码时考虑的要点
可读性:正确性
维护性
效率
处理器的使用
记忆体的使用 (记忆体是电脑的重要组成部分, 电脑的存储记忆功能由它实现,它的主要功用是暂存资料,其实电脑有很多资料都是靠记忆体来存取,记忆体基本上可以分成两类: RAM 和ROM以及高速缓存(CACHE)。只不过因为 RAM 是其中最重要的存储器 。)
扩展性
4.程式写作风格(coding style)
每一句分号后换行
大括号换行
区块内每一句缩排
5.数值交换
新增程式码,使得gddl1与gddl2的数值交换。
C语言无法进行多重指定 EG:
(gddl1, gddl2) = (gddl2, gddl1);
不能直接使用 gddl1 替换 gddl2 ,再用 gddl2 替换 gddl1
此时的 gddl2 已经成为了 gddl1 ,没有了原来的数字 EG:
gddl1 = gddl2;
gddl2 = gddl1;
备份法(使用额外定数)
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int gddl1, gddl2;
printf("PLease enter the first gddl: ");
scanf("%d",&gddl1); //gddl1 :3
printf("Please enter the second gddl: ");
scanf("%d",&gddl2); //gddl2 :5
int L = gddl1; //L = 3, gddl1 = 3, gddl2 = 5
gddl1 = gddl2; //L = 3, gddl1 = 5, gddl2 = 5
gddl2 = L; //L = 3, gddl1 = 5, gddl2 = 3
printf("gddl1:%d\n",gddl1); //gddl1 = 5
printf("gddl2:%d\n",gddl2); //gddl2 = 3
system("pause");
return 0;
}
其他
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int gddl1, gddl2;
printf("PLease enter the first gddl: ");
scanf("%d",&gddl1); //gddl1 :3
printf("Please enter the second gddl: ");
scanf("%d",&gddl2); //gddl2 :5
gddl1 = gddl1 + gddl2; //gddl1 = 8, gddl2 = 5
gddl2 = gddl1 - gddl2; //gddl1 = 8, gddl2 = 3
gddl1 = gddl1 - gddl2; //gddl1 = 5, gddl2 = 3
printf("gddl1:%d\n",gddl1); //gddl1 = 5
printf("gddl2:%d\n",gddl2); //gddl2 = 3
system("pause");
return 0;
}*/
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int gddl1, gddl2;
printf("PLease enter the first gddl: ");
scanf("%d",&gddl1); //gddl1 :3
printf("Please enter the second gddl: ");
scanf("%d",&gddl2); //gddl2 :5
gddl1 = gddl1 ^ gddl2;
gddl2 = gddl1 ^ gddl2;
gddl1 = gddl1 ^ gddl2;
printf("gddl1:%d\n",gddl1); //gddl1 = 5
printf("gddl2:%d\n",gddl2); //gddl2 = 3
system("pause");
return 0;
}
^具有特殊的性质
主要运用了数学的运算
贰
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)