- 1、本文档共25页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第2章 例子驱动的C语言语法元素概览解析
第2章 例子驱动的C语言语法元素概览 计算机解题的特点 百钱买百鸡问题 “百钱买百鸡”的C程序 2.1 变量和表达式 2.2 分支语句 2.3 循环语句 2.4 符号常量 2.5 输入输出 2.6 数组 2.7 函数 2.8 算法 * * 计算机解题和人解题在方法和思路上有很大不同。 计算机有很高的运算速度。用计算机解题不会惧怕用很繁琐的过程处理问题,而人更喜欢用公式、用推导过程来解题。 公鸡:5元一只。 母鸡:3元一只。 鸡雏:1元三只。 问:用100元钱买100只鸡,则公鸡、母鸡和鸡雏各几只? 设可买公鸡数量为x,母鸡数量为y,鸡雏数量为z。 x+y+z=100 5x+3y+z/3=100 用这两个方程无法直接求出x、y、z的值。 穷举法:罗列所有可能,逐个测试。 否 否 0 0 1 … … … … … … 否 是 0 100 0 否 是 0 0 100 否 否 1 1 0 否 否 0 1 0 否 是 100 0 0 … … … 否 否 3 0 0 否 否 2 0 0 否 否 1 0 0 5x+3y+z/3=100 x+y+z=100 z y x #include stdio.h int main() { int x,y,z; for(x=0;x=100;x++) { for(y=0;y=100;y++) { for(z=0;z=100;z++) if(x+y+z==100 5*x+3*y+z/3==100 z%3==0) printf(公鸡%d个,母鸡%d个,鸡雏%d个\n, x, y, z); } } } C语言中存放数据的量称为变量。每个变量都必须指定它的类型。 int x; //x是变量,类型为整型(int) double y; //y是变量,类型为实型(double) int start,end,step; //start、end、step是3个整型变量 C语言中变量的名字可以很长。 C语言中常量、变量、函数调用以及运算符组成了表达式。 start=0; //赋值语句,其中start=0是一个赋值表达式 while(x=end) //循环语句,其中x=end是一个条件表达式 y=sin(x*3.1415926/180); /* x*3.1415926/180是一个算术表达式 sin()是一个函数调用表达式 */ 2.2.1 if 语句 if(条件) 语句1; else 语句2; if语句可以根据条件从两个语句中选择一个执行。 条件为“真”执行语句1,为“假”执行语句2。 if 语句的变体: if(条件) 语句1; 如果条件为“真”执行语句1,为“假”不执行语句1。 if(条件1) 语句1; else if(条件2) 语句2; else 语句3; 语句1、语句2、语句3只有一个被执行。 如果在一个条件下要执行多条语句,需要用{ }把这些语句括起来。 if(条件) { 语句1; 语句2;} else { 语句3; 语句4;} 2.3.1 while 语句 while(条件) 语句; 当条件为“真”时,反复执行语句,为“假”时停止循环。 循环前:x为0; 每执行一次循环x值增30; 当x360时停止循环。 这个循环共执行了12次。 start=0;end=360;step=30;x=start;while(x=end) { …… x=x+step; } 2.3.2 for 语句 for(表达式1;表达式2;表达式3) 语句; 表达式1指定循环起点; 表达式2指定循环条件; 表达式3指定循环步长。 x从0开始执行到360,每执行一次,x值增30。 这个循环共执行12次。 for(x=0;x=360;x=x+30) { …… } #define 名字 常量 符号常量是为程序中用到的某些常量起名字。 #define是编译预处理命令,写在程序头部,末尾不加分号。 习惯上,符号常量的名字使用大写字母定义,以区别于变量名。 程序在编译时,所有符号常量名字都被常量值所替换。 printf(): 用于向屏幕上输出文本。 printf(文本); 把文本输出到屏幕上(不包括双引号)。 printf(带控制符的文本,表达式1,表达式2,…); 把控制符依次用表达式的值替换,非控制符原样输出。 int x,y,z; x=1; y=2; z=x+y; printf(x+y=z); printf(x+y=%d,z)
文档评论(0)