碧江网站建设,网站建设的步骤教程,小说网站开发 小说网站源码,wordpress影视主题下载失败学习程序设计的目的是什么呢#xff1f;
不一定要做出一个软件或系统出来#xff0c;更重要的是理解计算机是如何工作的以及它的长处和短处。
计算机本身是无意识的#xff0c;因此我们要求它为我们做事时#xff1a;应该将步骤细化、“直”化#xff08;规律化#xf…学习程序设计的目的是什么呢
不一定要做出一个软件或系统出来更重要的是理解计算机是如何工作的以及它的长处和短处。
计算机本身是无意识的因此我们要求它为我们做事时应该将步骤细化、“直”化规律化其实计算机什么也不会我们必须手把手地教他一步一步的做。而计算机的某个优点也正是如此——听话你叫它往东它绝不往西。然后我们还得教计算机哪些步骤串成一个功能而此种联系、规范就是程序而我们通过编程语言来交流、认识计算机。
int u 32;
int v 26;
while(v ! 0){int temp u%v;u v;v temp;
}
printf(%d, u);
“程序画”一览
计算机做的所有事情都叫 计算万物皆数计算的步骤就是算法 计算机的思维方式重复
人类最讨厌做重复的事情了而计算机恰恰相反——它最喜欢做重复的事情。在计算机的世界里当你造出第一个轮子时那么距离造出成千上万的轮子就不远了。
编程语言单以执行方式分类
解释同声传译编译翻译出书
C 语言
C 是一种比较基础的编程语言其后的语言几乎都是”C-like“语言。语言的能力/适用领域主要由其函数库决定的
变量缓冲数据
将一个数据用变量缓冲下来这就能确保它能参与到后面的计算中。格式如下
类型名称 变量名称; C 的保留字一览 auto,break,case,char,const,continue,default,do,double,else,enum,extern,float,for,goto,ifint,long,registerreturn,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile,while,inline.restrict 所谓赋值和初始化
“”可用作赋值即把右边的值赋值给左边——
初始化在定义的同时就已经赋值了
注意C 是一种有类型的语言所有变量在使用前必须定义或声明即所有变量都应有确定的数据类型。数据类型表明在变量可以存储什么样的数据是一种指定规范 读值
scanf(%d, price);
其中“”是取地址符自己可以 try 一 try
常量固定不变的数
在运算过程中值不变的数就是常量直接量 literal以下是定义示例
const int AMOUNT 100; 运行逻辑
if...else
1.
if(逻辑表达式) {}2.
if(逻辑表达式) {}else {}3.
if(逻辑表达式) {}else if(逻辑表达式){...}...逻辑表达式条件 运算符意义相等!不相等大于大于或等于小于小于或等于
循环*
while不确定循环次数多用此do...while至少执行一次的循环for已确定循环次数多用此
数据类型就不全说了上网查吧
数组
数据可以存放在变量里每一个变量有一个名字有一个类型还有它的生存空间。如果我们需要保存一些相同类型、相似含义、相同生存空间的数据我们可以用数组来保存这些数据而不是用很多个独立的变量。数组是长度固定的数据结构用来存放指定的类型的数据。一个数组里可以有很多个数据所有的数据的类型都是相同的。引用一手
const int number 10;
int x;
int count[number];
int i;
for(i0; inumber; i) {count[i] 0;
}
scanf(%d, x);
while(x!-1) {if(x0 x9) {count[x];}scanf(%d, x);
}
for(i0; inumber; i) {printf(%d:%d\n, i, count[i]);
}
函数一块代码yf(x)
main() 函数是 C 语言程序的正式入口
函数的好处提高了代码复用性和可读性及更方便的调用调试。
函数接收0/若干个参数做个事情并返回0/若干个值
函数原型就是提前写出函数头而未有函数体目的是先告诉编辑器这个函数的基本信息参数列表定义等等
每个函数都有自己的变量空间其参数也位于这个独立的空间中与其它函数无关一般叫函数参数表中的参数为“形式参数”而实际调用函数时给的值称作“实际参数”
扩展
变量的生存期和作用域二维数组 如 int a[3][5];通常理解为一个3行5列的矩阵
注意C 语言不允许函数嵌套定义
井字棋第一个 C语言程序
#include stdio.hint main() {int board[3][3] {{0,0,0},{0,0,0},{0,0,0}};int i 0,x,y;int result 0; //0没人赢1X赢2O赢int round 0; //回合数 while (i 50){printf(\n第%d回合开始\n\n, round);show(board);printf(\nX方请选择您的横纵坐标中间用空格隔开);scanf(%d %d, x, y);board[y][x] 1;printf(O方请选择您的横纵坐标中间用空格隔开);scanf(%d %d, x, y);board[y][x] 2;if (judge(board) 0){continue;}else if (judge(board) 1){show(board);printf(恭喜X方胜利);break;}else if (judge(board) 2){show(board);printf(恭喜O方胜利);break;}i;}return 0;
}
int show(int board[3][3]) {for (int i 0; i 3; i){for (int j 0; j 3; j){if (board[i][j] 1){printf(X );continue;}else if (board[i][j] 2){printf(O );continue;}else {printf(_ );continue;}}printf(\n\n);}return 0;
}
int judge(int board[3][3]){int row_numOfX 0;int row_numOfO 0;int col_numOfX 0;int col_numOfO 0;int i,j;for (i 0; i 3; i){for (j 0; j 3; j){if (board[i][j] 1){row_numOfX ;}else if (board[i][j] 2){row_numOfO ;}}if (board[j][i] 1){col_numOfX ;}else if (board[j][i] 2){col_numOfO ;}if (row_numOfX 3 || col_numOfX 3){return 1;}else if (row_numOfO 3 || col_numOfO 3){return 2;}}return 0;
}