重学C语言---05运算符、表达式和语句
一、循环简介
实例程序
/*shoes1.c--把一双鞋的尺码变为英寸*/
#include <stdio.h>
#define ADJUST 7.64
#define SCALE 0.325
int main(void)
{
double shoe,foot;
printf("Shoe size(men's) foot length\n");
shoe = 3.0;
while(shoe<18.5) /*while循环*/
{ /*代码开始*/
foot = SCALE* shoe+ADJUST;
printf("%10.1f %15.2f inches\n",shoe,foot);
shoe = shoe+1.0;
} /*代码结束*/
printf("If the shoe fits.Wear it\n");
return 0;
}
解释while循环是怎么工作的:
1、当第一次到达while循环时,检查括号里面的条件是否为真,即shoe<18.5?,若条件为真,执行下一句,然后打印结果,最后执行shoe=shoe+1;
2、继续返回while部分判断shoe<18.5?此时shoe的值为4.0,因为在代码块里面shoe已经加1.0;
3、继续返回while部分进行判断,知道shoe的值大于18.5,就不再执行while部分代码,即while()圆括号里面的条件返回结果为假时,就跳过循环,执行下面的语句。
上面例子就是一个循环的演示,计算机内做着无数的循环操作,这也是我们手工难以简单完成的工作。
二、基本运算符
C使用运算符来代表算数运算
1、赋值预算符:=
在C里(包括很多程序设计语言),符号=不表示“相等”,而是一个赋值运算符。
例如:height = 1.73;
符号=的左边是一个变量名,右边是赋给该变量的值,方向是从右到左。
几个术语:数据对象、左值、右值和操作数
数据对象---是泛指数据存储区的术语,数据存储区用于保存值。
左值---用于标识一个特定的数据对象的名字或表达式。
右值---可赋给可修改左值的量
操作数---运算符操作的对象。
2、加法运算符:+
使得在它两侧的值被加到一起。
3、减法运算符:-
从它前面的数减去它后面的数
4、符号运算符:-和+
负号可以用于指示或改变一个值的代数符号
5、乘法运算符:*
6、除法运算符:/
7、运算符优先级:
8、其他运算符:自增(++)和自减(--)
前缀式:出现在它作用的变量的前面,先自增或自减,后参与算数
后缀式:出现在它作用的变量的后面,先做运算,后自增
#include<stdio.h>
int main(void)
{
int a =1,b=1;
int q,r;
int aplus,plusb; aplus = a++;/*后缀*/
plusb = ++b;/*前缀*/
q = 2*++a;
r = 2*b++;
printf("a aplus b plusb\n");
printf("%1d %5d %5d %5d %5d %5d\n",a,aplus,b,plusb,q,r);
return 0;
}
重学C语言---05运算符、表达式和语句的更多相关文章
- 重学C语言
重学C语言 #include <stdio.h> int main() { ; ; printf("I am %d year old.\n",age); printf( ...
- 重学C语言---01概述
1.什么是C语言 C语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点.计算机语言是从第二次世界大战以后,经历了戏剧性的发展过程.从机器语言到汇编语言和高级语言.C语言是与硬件 ...
- 重学C语言---02C语言概述
1.第一个C语言实例 #include<stdio.h> int main(void) /*一个简单的C程序*/ { int num; /*定义一个num的变量*/ num = ; /*为 ...
- PHP语句【变量、运算符表达式、语句】
一.变量的方法.1.empty可以用empty的方法能够判断变量的值是不是为空.①如果我们看一下某一个变量是不是已经存在过了假如我们输出一下 var_dump (empty($a)); 返回值为tru ...
- c语言(3)--运算符&表达式&语句
计算机的本职工作是进行一系列的运算,C语言为不同的运算提供了不同的运算符! 1.那些运算符们 .基本运算符 算术运算符:+ - * / % ++ -- 赋值运算符:= 逗号运算符:, 关系运算符:& ...
- 重学C语言 -- printf,scanf
printf(); 用来显示格式串的内容 注意: 参数不可以换行,否则会出一个警告. 格式串中占位符比表达式数量多 会显示一个无意义值 格式串中占位符比表 ...
- 重学C语言---04字符串和格式化输入/输出
1.程序示例 //talkback.c一个能为你提供一些信息的对话框 #include <stdio.h> #include <string.h> //提供strlen函数原型 ...
- 重学C语言之结构体
概念 结构体是一种构造类型,由若干个成员组成,成员可以是基本数据类型,或是另一个结构体 声明结构体 struct 结构体名 { 成员列表 }; 结构体名表示结构的类型名. 声明一个结构体表示创建一种新 ...
- 重学C语言---03数据和C
1.数据的必要性.数据使我们生活中不可缺少的东西,程序也是如次,离不开数据.将文字.图片和单词等输入到算计,将其展现出来或者做一系列操作等. 2.实例程序. /*rhodium.c--用金属铑衡量体重 ...
随机推荐
- SpringBoot + docker + neo4j
下拉镜像 docker pull neo4j 启动镜像 docker run -d -p 7473:7473 -p 7687:7687 -p 7474:7474 neo4j 打开浏览器:http:// ...
- Java - replace a character at a specific index in a string?
String are immutable in Java. You can't change them. You need to create a new string with the charac ...
- StreamSets学习系列之StreamSets的集群安装(图文详解)
不多说,直接上干货! 若是集群安装 需要在对应节点执行相同的操作. 见 StreamSets学习系列之StreamSets支持多种安装方式[Core Tarball.Cloudera Parcel . ...
- OSRM笔记
OSRM OSRM(OpenStreetMap Routeing Machine)可用于路线规划.作为高性能的路线规划引擎,OSRM使用C++14编写,基于开源的OpenStreetMap数据实现. ...
- java 正则例子
1.不易开头.结尾:小数:圆角字符 包含数字.字母.圆角字符 不以<br/>开头.结尾,但中间可以存在 小数中的小数点是半角 正则表达式 "^(?!<br/>)(([ ...
- Navicat创建视图与美化SQL
数据库-->视图-->新建视图,点击视图创建工具,将需要用到的表拖入到右侧,然后再底部填写具体的字段等,示意图如下: 注意:视图的字段别名或者列名是不能重复的,否则创建失败: 当视图语句非 ...
- vue---数据更新,视图不更新问题
写点赞功能时,点赞后已经追加到对象里了,但是视图没有更新. 查找了些资料: 数据已经更新了但是视图不更新的问题,有几个原因: 1.根属性不存在,而想要直接给根属性赋值导致的视图不更新.此时初始化属性的 ...
- .16-浅析webpack源码之编译后流程梳理
这节把编译打包后的流程梳理一下,然后集中处理compile. 之前忽略了一个点,如下: new NodeEnvironmentPlugin().apply(compiler); // 引入插件加载 i ...
- C#基础知识回顾--串行化与反串行化
串行化是指存储和获取磁盘文件.内存或其他地方中的对象.在串行化时,所有的实例数据都保存到存储介质上, 在取消串行化时,对象会被还原,且不能与其原实例区别开来.只需给类添加Serializable属性, ...
- 关于.net程序集引用不匹配的问题
今天启动asp.net mvc 程序,其中也用到了web api ,autofac等,为了版本兼容性问题,将mvc和 web api 的版本控制到5.2.0.0,Newtonsoft.Json 的版本 ...