文章目录

  • 运算符
    • 运算符和表达式
    • 算术运算符和算术表达式
    • 复合赋值运算符和复合赋值表达式
    • 自增自减运算符
  • 符号常量
    • 宏常量与宏替换
    • 逗号表达式
  • 标准输入输出函数
    • 字符输入输出
      • 字符常量
      • 单个字符输入输出函数
      • 说明
    • 数据的格式化屏幕输出
      • printf()函数格式说明符(部分)用法表:
      • printf()函数格式修饰符用法表:
    • 数据的格式化输入
      • scanf()函数格式说明符(部分)用法表:
      • scanf()函数格式修饰符用法表:
    • 数值型数据输入结束说明:

运算符

运算符和表达式

运算符是表示某种运算规则的符号

常见的运算有:
赋值运算、算术运算
逻辑运算、关系运算、条件运算
位运算

表达式是由运算符及其所操作的数据(称操作数)组成的式子。表达式还可以运算符的操作数

运算符不仅表示某种运算规则,还有优先级结合性的特征。

算术运算符和算术表达式


基本算术运算符: + - * / %(求余)

结合方向:从左向右
优先级: * / %,+ -

说明:
如果“/”两边都是整数,结果取整数部分
“%” 要求两侧均为整型数

示例:
计算并输出一个三位数的个位、十位和百位数字之和

分析:
该问题的核心是如何分解出各个位置的数
百位:整除100即可 表达式为:n/100
个位:模取10即可 表达式为:n%10
十位:将三位数去头(百位)或掐尾(个位),再整除或模取10即可 表达式为:n%100/10或n/10%10

应用:

#include <stdio.h>
int main()
{int number = 153, b0 , b1 , b2 , sum ;b2 = number / 100; b0 = number % 10 ; b1 = number %100 /10;         sum = b2 + b1 + b0 ;printf("b2=%d,b1=%d,b0=%d, sum=%d\n",b2,b1,b0,sum);return 0;
}

复合赋值运算符和复合赋值表达式

自增自减运算符


作用:使变量值加1或减1

种类:

  • 前置 ++i, --i
    (先执行i=i+1或i=i-1,再使用i值)
  • 后置 i++,i--
    (先使用i值,再执行i=i+1或i=i-1)

说明:
++ -- 不能用于常量和表达式,如5++,(a+b)++
++ --结合方向: 自右向左
优先级: ++ --,* / % ,+ -

示例代码:

#include <stdio.h>
int main()
{int m1,m2,m3,m4;
int n=3;
printf( ”m1=%d , n=%d\n”, m1=n++ , n );
n=3;
printf( ”m2=%d , n=%d\n”, m2=n-- , n );
n=3;
printf( ”m3=%d , n=%d\n”, m3=++n , n );
n=3;
printf( ”m4=%d , n=%d\n”, m4=--n , n );
return 0 ;
}

符号常量

这里我们使用示例进行引入概念:

  1. 编程计算并输出半径 r = 5.3的圆周长和面积

分析:半径需要使用变量 r 存储,因此要定义该变量

实际代码为:

#include <stdio.h>
int main()
{double r = 5.3 ;
printf ( ” Circumference = %f \n”, 2 * 3.1415926 * r ) ;
printf ( ” Circular area = %f \n”,  3.1415926 * r * r ) ;
return 0 ;
}
  1. 编程从键盘输入圆的半径,并输出圆周长和面积

分析:半径需要使用变量存储,定义变量 r 存储

实际代码为:

#include <stdio.h>
int main()
{double r ;
scanf ( ” %lf ” , &r ) ;
printf ( ” Circumference = %f \n”, 2 * 3.1415926 * r ) ;
printf ( ” Circular area = %f \n”,  3.1415926 * r * r ) ;
return 0 ;
}

比较前两个例题,分析程序后我们发现,程序中出现的常量3.141592,会造成下列麻烦和问题:

  • 很难保证不发生书写错误
  • 常量需要改变时,如改为3.14,需要修改程序中所有的常量
  • 过多使用字面常量,程序可读性变差

于是我们引入符号常量的概念。

宏常量与宏替换

宏定义:

#define 标识符 字符串

说明:
标识符,也称宏名、宏常量、符号常量
标识符与字符串之间必须有一个空格
标识符习惯上全部使用大写的单词命名
宏定义是编译预处理命令,不是C语句

宏替换:在编译阶段,将字符串替换标识符的过程。宏替换仅是字符串的简单替换,不进行数据类型的检查。

那我们再将方才的例题进行修改:
用宏常量实现计算圆周长和圆面积
下面是修改后的代码:

#include <stdio.h>
#define PI 3.141592
int main()
{double r;
printf(”Input Radius:”);
scanf(”%lf” , &r );
printf(”Circumference = %f \n”, 2 * PI * r);
printf(”Circular area = %f \n”,  PI * r * r);
return 0 ;
}

可以看到,我们用PI代替了3.141593,省略了输入数字的时间,并且即是后期需要修改数值,也不需要再一个个的进行修改。


逗号表达式

由逗号运算符“,”将多个表达式连接起来:

 表达式1,表达式2,……表达式n;

逗号表达式的语法规则:

  • 先计算表达式1,再计算表达式2,……再计算表达式n;
  • 最后整个逗号表达式的结果取表达式n的值。

了解逗号表达式的语法规则。

#include <stdio.h>
main()
{int a,b;a=3*5,a*4;b=(3*5,a*4);printf("a=%d\nb=%d\n",a,b);
}

算术运算符优先于赋值运算符

赋值运算优先于逗号运算符

标准输入输出函数

字符输入输出

字符常量

字符常量是用单引号“’”括起来的单个字符,例如转义字符也是字符常量,是以反斜杠()开头的字符序列

单个字符输入输出函数

  • getchar(): 从系统隐含指定的输入设备输入一个字符,按回车键表示输入结束
    (注意:不含参数)
  • putchar(x): 将一个字符输出到屏幕的当前光标位置
    (注意:需要参数)

说明

字符数据在内存中是以其对应的ASCII码的二进制形式存储,与整型数据类似,只是所占内存空间不同。因此字符数据即可按字符型数据输出,也可按整型格式输出

示例:
编程从键盘输入一个大写字母,转换为小写字母输出
运行代码为:

#include <stdio.h>
int main()
{char ch;
printf(”Press a key and then press Enter:”);
ch = getchar();
ch = ch + 32 ;
putchar( ch );
putchar( ’\n’ );
return 0 ;
}

数据的格式化屏幕输出

使用格式:

printf ( 格式控制字符串,输出值参数表 ) ;

细解:

printf()函数格式说明符(部分)用法表:

printf()函数格式修饰符用法表:

数据的格式化输入

使用格式:

scanf ( 格式控制字符串,参数地址表) ;

细解:

scanf()函数格式说明符(部分)用法表:

scanf()函数格式修饰符用法表:

数值型数据输入结束说明:

  1. 遇到空格符、回车符、制表符(Tab键)
  2. 达到输入域宽
  3. 遇到非法字符
    • 除空格、回车、制表符之外的其他字符
    • 如果是整型,小数点也是非法字符

由于C语言仅是过去的笔记,量很大,不做过度细节叙述。
转载烦请注明出处。如果您觉得对您有所帮助,麻烦点赞支持。

C语言:运算符-符号常量-输入输出相关推荐

  1. c语言if.while.for,C语言操纵语句输入输出ifwhilefor.ppt

    C语言操纵语句输入输出ifwhilefor 上次课核心内容回顾 什么叫变量? 为何要使用变量? 变量有哪些基本类型?特点? 为何要分类型? 如何定义变量?如何赋值? 输入.输出语句格式 C语言程序结构 ...

  2. c语言本身有输入输出语句正确错误,C语言模拟选择题

    导出试题 1. 以下叙述正确的是. A) 在C程序中,main函数必须位于程序的最前面 B) C程序的每行中只能写一条语句 C) C语言本身没有输入输出语句 D) 在对一个C程序进行编译的过程中,可发 ...

  3. c语言的44种运算符,C语言重要知识点总结【9】:C语言运算符(详解)

    目录 一.前言 二.运算符分类 三.运算符的优先级 四.常用运算符 1. 算术运算符 2. 关系运算符 3. 逻辑运算符 4. 赋值运算符 5. 条件运算符 6. 逗号运算符 7. 强制类型转换运算符 ...

  4. c语言运算符 amp 的意思,C语言运算符是什么意思

    C语言运算符是做什么用的,他有什么用途?它的意思是是什么?下面是学习啦小编给大家整理的C语言运算符是什么意思,供大家参阅! C语言运算符是什么意思 C语言运算符是说明特定操作的符号 ,它是构造C语言表 ...

  5. c语言的int型运算符,C语言运算符

    本词条缺少概述图,补充相关内容使词条更完整,还能快速升级,赶紧来编辑吧! C语言运算符是说明特定操作的符号[1] ,它是构造C语言表达式的工具[2] .C语言的运算异常丰富,除了控制语句和输入输出以外 ...

  6. C语言 —— 运算符的优先级

    C 语言的符号众多,由这些符号又组合成了各种各样的运算符.既然是运算符就一定有 其特定的优先级,下表就是 C 语言运算符的优先级表: 优先级 运算符 名称或含义 使用形式 结合方向 说明 1 [] 数 ...

  7. 关于C语言运算符优先级的记忆技巧是什么?

    关于C语言运算符优先级的记忆技巧是什么? (1)先(括号)内层,后(括号)外层. (2)先函数,后运算. (3)先算术,后关系,再逻辑. (4)先乘除,后加减. (5)先左,后右. (6)搞不清,加括 ...

  8. new是不是c语言运算符优先级表,C语言运算符优先级列表(超详细)

    <C语言运算符优先级列表(超详细)>由会员分享,可在线阅读,更多相关<C语言运算符优先级列表(超详细)(7页珍藏版)>请在人人文库网上搜索. 1.本篇文章是对C语言中运算符的优 ...

  9. c语言二元运算符大全,C语言运算符大全

    C语言运算符 for<{3个条件语句}循环> while<{循环> do while<{前do循环体语句,后while条件语句}循环> if<{else补充语 ...

最新文章

  1. 【正一专栏】走过2017——坚持
  2. 【机器学习】集成学习代码练习
  3. hadoop-0.21.0 在Windows环境下的部署(2)Hadoop配置
  4. vue项目中的遇错:Invalid Host header
  5. sql server 2008 日志处理
  6. 如何在Mac上设置FaceTime
  7. Linux操作系统load average过高,kworker占用较多cpu
  8. SQL Server中的计算列概述
  9. alwayson高可用组_了解AlwaysOn可用性组上的备份-第2部分
  10. python如何使用matlab_MATLAB中的mrdivide函数:它在做什么,以及在Python中如何做?...
  11. 【2017级面向对象程序设计】作业二
  12. Dreamweaver开发人员工作区 标准工作区的区别
  13. 外企计算机英语,职场英语:外企生存十大必备英语词汇
  14. 百度地图api php开发教程,百度地图API使用方法详解,api使用方法详解_PHP教程
  15. warning CS0108: `___' hides inherited member `___'. Use the new keyword if hiding was intended解决办法
  16. 周易六十四卦——同人卦
  17. 前端 下载文件简易方法(兼容IE)
  18. UE4 输入系统详解一、 UE4如何获取win系统输入消息
  19. 读书笔记:《浪潮之巅:下》
  20. PMPtiku项目管理第六版PMI人才三角

热门文章

  1. carto_grapher快速安装避坑指南
  2. 我国拟立法禁止大数据杀熟;工信部通报43款App违规整改不彻底丨钛晚报
  3. java中JAO,Java
  4. 以项目思维解读,秦穆公的“霸业梦”
  5. eating的中文意思_Eating是什么意思中文
  6. 阿姨说女婿只要程序员,IT男在婚恋市场真吃香吗?妹子有话要说
  7. 命令行的艺术( the-art-of-command-line )
  8. 数据中台之OneID (ID-Mapping)架构设计细节全解
  9. php smtp用户名和密码错误,PHPMailer中的“SMTP错误:无法进行身份验证”
  10. BAS——一种正在崛起的网络安全技术