C语言编程的核心是指针和库,而库的核心就是函数,函数的基本组成部分就是语句。

  C语言合法表达式加上分号(语句结束符)构成C函数的基本部分语句。如果只有分号没有表达式就构成空语句,空语句常常用来形成占位之用。

  一、C语言的符号与运算符的连接构成表达式,根据运算符的不同,主要分为:

  1、算术表达式:用算术运算符连接起来的表达式;

  2、关系表达式:用关系运算符连接起来的表达式;

  3、逻辑表达式:用逻辑运算符连接起来的表达式;

  4、赋值表达式:用赋值运算符连接起来的表达式;

  二、常见的运算符主要分为:

  1、算术运算符:能够完成基本数学运算的符号,主要包括:

    (1)、+:加         var1 + var2算术表达式的结果就是变量var1和变量var2相加的结果

    (2)、-:减          var1 - var2算术表达式的结果就是变量var1和变量var2相减的结果

    (3)、*:乘          var1 * var2算术表达式的结果就是变量var1和变量var2相乘的结果

    (4)、/:除          var1 / var2算术表达式的结果就是变量var1和变量var2相除的结果,牵涉到变量的自动类型转化

    (5)、%:余          var1 % var2算术表达式的结果就是变量var1和变量var2相除的余数

    (6)、++:自增        var++和++var两种形式,是var = var + 1的等效形式,两种形式的运算时机不同,常用在循环中

    (7)、--:自减          var--和--var两种形式,是var = var - 1的等效形式,两种形式的运算时机不同,常用在循环中

    (8)、&:位与          var1 & var2算术表达式的结果就是变量var1和变量var2位与的结果

    (9)、|:位或           var1 * var2算术表达式的结果就是变量var1和变量var2位或的结果

 

  2、关系运算符:能够完成变量特性的条件判别,大小及是否相等,表达式成立结果为真,否则为假,若var1为12,var2为9,则有:

    (1)、>:大于          var1 > var2关系表达式的结果就是真

    (2)、<:小于          var1 < var2关系表达式的结果就是假

    (3)、>=:大于等于      var1 >= var2关系表达式的结果就是真

    (4)、<=:小于等于      var1 <= var2关系表达式的结果就是假

    (5)、!=:不等于        var1 != var2关系表达式的结果就是真

    (6)、==:等于        var1 == var2关系表达式的结果就是假

    注:关系运算符又可称为条件运算符,关系表达式主要用于条件判断语句中。

  3、逻辑运算符:完成多条件的逻辑运算,表达式的结果为逻辑状态,若sel1为真,sel2为假,则有:

    (1)、&&:逻辑与        sel1 && sel2关系表达式的结果就是假,在逻辑与运算中,只要有一个条件为假,结果必然为假

    (2)、||:逻辑或         sel1 < sel2关系表达式的结果就是真,在逻辑与运算中,只要有一个条件为真,结果必然为真

    (3)、!:逻辑非          !sel1 关系表达式的结果就是假

  

  4、赋值运算符:完成变量的赋值运算,若var1为2,var2为9,则有:

    (1)、=:赋值         var1 = var2赋值表达式的结果将var2的内容9与变量var1关联起来(赋值),运算顺序为从右至左

    (2)、+=:加赋值         var1 += var2赋值表达式的结果将var1的值2与变量var2的值9相加的结果11重新赋值给var1

    (3)、-=:加赋值          var1 -= var2赋值表达式的结果将var1的值2与变量var2的值9相减的结果-7重新赋值给var1

    (4)、*=:加赋值          var1 *= var2赋值表达式的结果将var1的值2与变量var2的值9相乘的结果18重新赋值给var1

    (5)、/=:加赋值          var1 /= var2赋值表达式的结果将var1的值2与变量var2的值9相除的结果0重新赋值给var1

    (6)、%=:加赋值        var1 %= var2赋值表达式的结果将var1的值2与变量var2的值9相与的结果2重新赋值给var1

  下面代码的运行结果为:

Please input two numbers use space split: 9 2
You input two numbers is: 9 and 2
下面演示+=赋值运算符:
var1 = 11 var2 = 2 var1 += var2 : 11
Please input two numbers use space split: 9 2
You input two numbers is: 9 and 2
下面演示-=赋值运算符:
var1 = 7 var2 = 2 var1 -= var2 : 7
Please input two numbers use space split: 9 2
You input two numbers is: 9 and 2
下面演示*=赋值运算符:
var1 = 18 var2 = 2 var1 *= var2 : 18
Please input two numbers use space split: 9 2
You input two numbers is: 9 and 2
下面演示/=赋值运算符:
var1 = 4 var2 = 2 var1 /= var2 : 4
Please input two numbers use space split: 9 2
You input two numbers is: 9 and 2
下面演示%=赋值运算符:
var1 = 1 var2 = 2 var1 %= var2 : 1

  代码为:  

  #include <stdio.h>

  int main(int argc, char **argv)
{
int var1;
int var2; printf("Please input two numbers use space split: ");
scanf("%d %d", &var1, &var2);
printf("You input two numbers is: %d and %d\n", var1, var2);
printf("下面演示+=赋值运算符:\n");
printf("var1 = %d var2 = %d var1 += var2 : %d\n", var1, var2, var1 += var2); printf("Please input two numbers use space split: ");
scanf("%d %d", &var1, &var2);
printf("You input two numbers is: %d and %d\n", var1, var2);
printf("下面演示-=赋值运算符:\n");
printf("var1 = %d var2 = %d var1 -= var2 : %d\n", var1, var2, var1 -= var2); printf("Please input two numbers use space split: ");
scanf("%d %d", &var1, &var2);
printf("You input two numbers is: %d and %d\n", var1, var2);
printf("下面演示*=赋值运算符:\n");
printf("var1 = %d var2 = %d var1 *= var2 : %d\n", var1, var2, var1 *= var2); printf("Please input two numbers use space split: ");
scanf("%d %d", &var1, &var2);
printf("You input two numbers is: %d and %d\n", var1, var2);
printf("下面演示/=赋值运算符:\n");
printf("var1 = %d var2 = %d var1 /= var2 : %d\n", var1, var2, var1 /= var2); printf("Please input two numbers use space split: ");
scanf("%d %d", &var1, &var2);
printf("You input two numbers is: %d and %d\n", var1, var2);
printf("下面演示%=赋值运算符:\n");
printf("var1 = %d var2 = %d var1 %= var2 : %d\n", var1, var2, var1 %= var2); return ;
}

  其他的代码都很简单,就不浪费页面了。

 

《手把手教你学C语言》学习笔记(8)--- 运算符和表达式的更多相关文章

  1. 《手把手教你学C语言》学习笔记(2)---学习C语言的目标和方法

    一.学习C语言的目标主要是: 熟练掌握C语言的关键字,语法规则,程序控制等: 掌握基本的数据结构,数组.链表.栈和队列等: 掌握C语言中指针和内存.数组与指针.函数与指针.变量和指针.结构体和指针.硬 ...

  2. 《手把手教你学C语言》学习笔记(1)---C语言的特点

    学习C语言的原因,主要是需要使用C语言编程,我用故我学,应该是最主要的原因了. C语言的定位:C语言严格意义上只能算是中级语言,是面向过程编程语言的集大成者,虽然这种语言有很多的问题,但总体而言是瑕不 ...

  3. 《手把手教你学C语言》学习笔记(4)---代码规范

    编程过程中需要遵守编译器的各种约定,例如以下代码: 1 #include <stdio.h> 2 3 int main(int argc, char **argv) 4 { 5 print ...

  4. 《手把手教你学C语言》学习笔记(10)--- 程序的循环控制

    C语言程序设计中,有些代码需要重复执行很多次,循环主要有三类: 一.for循环 1.基本格式为:for(表达式1:表达式2:表达式3){ //表达式1:循环变量赋初值 //表达式2:循环变量满足的条件 ...

  5. 《手把手教你学C语言》学习笔记(9)--- 程序的选择控制

    C语言是面向过程编程语言的主要代表,其特征就是严格控制程序的执行语句顺序,因此,C程序的主要结构控制就是顺序控制,以main函数为入口函数,根据控制,一条一条地执行语句.由于实际需求是很复杂的,只用顺 ...

  6. 《手把手教你学C语言》学习笔记(7)---程序的输入与输出

    程序设计中,为了观察程序的运行状态和结构,需要输出指定的内容:为了让程序能够更加灵活,可以根据需求输入内容,让计算机处理和运行:所以程序的输入输出就显的尤为重要.主要包括printf和scanf函数. ...

  7. 《手把手教你学C语言》学习笔记(6)---数据类型和常量

    计算机中需要保存信息,就需要数据存储,数据的存储就需要划分数据类型.主要包括:基本数据类型.指针类型.构造类型.空类型. 基本类型:整型---主要用来表示整数,可以分为无符号和有符号:又分为基本整型. ...

  8. 《手把手教你学C语言》学习笔记(5)---计算机的存储和访问

    数据存储是以“字节”(Byte)为单位,数据传输是以大多是以“位”(bit,又名“比特”)为单位,一个位就代表一个0或1(即二进制),每8个位(bit,简写为b)组成一个字节(Byte,简写为B),是 ...

  9. 《手把手教你学C语言》学习笔记(3)---变量

    编程目的是为了解决问题,编程本质是用计算机的思维操作数据,操作就是算法,数据主要是数据类型,也可以说量,其中分为常量和变量,常量主要是指在量的生命周期内无法改变其值:变量主要是指在量的生命周期内可以随 ...

随机推荐

  1. JZOJ 5197. 【NOIP2017提高组模拟7.3】C

    5197. [NOIP2017提高组模拟7.3]C Time Limits: 1000 ms  Memory Limits: 262144 KB  Detailed Limits   Goto Pro ...

  2. LRU算法原理解析

    LRU是Least Recently Used的缩写,即最近最少使用,常用于页面置换算法,是为虚拟页式存储管理服务的. 现代操作系统提供了一种对主存的抽象概念虚拟内存,来对主存进行更好地管理.他将主存 ...

  3. 使用jieba和wordcloud进行中文分词并生成《悲伤逆流成河》词云

    因为词云有利于体现文本信息,所以我就将那天无聊时爬取的<悲伤逆流成河>的评论处理了一下,生成了词云. 关于爬取影评的爬虫大概长这个样子(实际上是没有爬完的): #!/usr/bin/env ...

  4. 503. Next Greater Element II

    https://leetcode.com/problems/next-greater-element-ii/description/ class Solution { public: vector&l ...

  5. .net core 项目加载提示项目文件不完整缺少预期导入的解决办法

    今天把在远端的仓库的代码在另一台电脑上拷贝下来,电脑上.net core 环境也已经安装了,但是发现有几个项目没有加载成功,然后重新加载项目,vs2017却提示 项目文件不完整,缺少预期导入 查看错误 ...

  6. IOS开发---菜鸟学习之路--(十五)-如何实现拍照功能

    本章将来讲解下如何实现拍照的功能 我们需要的实现的效果是      好了 直接开始内容吧 首先我们需要新建一个ViewController 就叫AddPictureViewController 然后选 ...

  7. 【Container With Most Water】cpp

    题目: Given n non-negative integers a1, a2, ..., an, where each represents a point at coordinate (i, a ...

  8. 【Luogu P2781】 传教

    这题是可以用线段树做的. 虽然$n\leq 10^9$ 可以发现,真正需要用到的节点很少,故动态开点,只有需要用到的时候才新建节点. 这里我在下放标记的时候新建节点,因为每操作/查询一个节点都需要先下 ...

  9. Aptana Studion出现 duplicate location重复定位报错

    1.下载SVN的时候出现报错 duplicate location 2.点击“available software sites”查看已可用的软件网站 3.在这里可以查看到SVN,勾选SVN复选框,点击 ...

  10. Python+Selenium练习篇之14-获取当前页面的title

    前面文章介绍了如何获取当前页面的URL的值,本文介绍如何获取当前页面的title,这个也可以作为测试结果的依据,通过得到的title和预期的值对比,可以支持我们判断页面跳转正确. 相关脚本代码如下: ...