C语言:运算符-符号常量-输入输出
文章目录
- 运算符
- 运算符和表达式
- 算术运算符和算术表达式
- 复合赋值运算符和复合赋值表达式
- 自增自减运算符
- 符号常量
- 宏常量与宏替换
- 逗号表达式
- 标准输入输出函数
- 字符输入输出
- 字符常量
- 单个字符输入输出函数
- 说明
- 数据的格式化屏幕输出
- 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 ;
}
符号常量
这里我们使用示例进行引入概念:
- 编程计算并输出半径 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 ;
}
- 编程从键盘输入圆的半径,并输出圆周长和面积
分析:半径需要使用变量存储,定义变量 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()函数格式修饰符用法表:
数值型数据输入结束说明:
- 遇到空格符、回车符、制表符(Tab键)
- 达到输入域宽
- 遇到非法字符
- 除空格、回车、制表符之外的其他字符
- 如果是整型,小数点也是非法字符
由于C语言仅是过去的笔记,量很大,不做过度细节叙述。
转载烦请注明出处。如果您觉得对您有所帮助,麻烦点赞支持。
C语言:运算符-符号常量-输入输出相关推荐
- c语言if.while.for,C语言操纵语句输入输出ifwhilefor.ppt
C语言操纵语句输入输出ifwhilefor 上次课核心内容回顾 什么叫变量? 为何要使用变量? 变量有哪些基本类型?特点? 为何要分类型? 如何定义变量?如何赋值? 输入.输出语句格式 C语言程序结构 ...
- c语言本身有输入输出语句正确错误,C语言模拟选择题
导出试题 1. 以下叙述正确的是. A) 在C程序中,main函数必须位于程序的最前面 B) C程序的每行中只能写一条语句 C) C语言本身没有输入输出语句 D) 在对一个C程序进行编译的过程中,可发 ...
- c语言的44种运算符,C语言重要知识点总结【9】:C语言运算符(详解)
目录 一.前言 二.运算符分类 三.运算符的优先级 四.常用运算符 1. 算术运算符 2. 关系运算符 3. 逻辑运算符 4. 赋值运算符 5. 条件运算符 6. 逗号运算符 7. 强制类型转换运算符 ...
- c语言运算符 amp 的意思,C语言运算符是什么意思
C语言运算符是做什么用的,他有什么用途?它的意思是是什么?下面是学习啦小编给大家整理的C语言运算符是什么意思,供大家参阅! C语言运算符是什么意思 C语言运算符是说明特定操作的符号 ,它是构造C语言表 ...
- c语言的int型运算符,C语言运算符
本词条缺少概述图,补充相关内容使词条更完整,还能快速升级,赶紧来编辑吧! C语言运算符是说明特定操作的符号[1] ,它是构造C语言表达式的工具[2] .C语言的运算异常丰富,除了控制语句和输入输出以外 ...
- C语言 —— 运算符的优先级
C 语言的符号众多,由这些符号又组合成了各种各样的运算符.既然是运算符就一定有 其特定的优先级,下表就是 C 语言运算符的优先级表: 优先级 运算符 名称或含义 使用形式 结合方向 说明 1 [] 数 ...
- 关于C语言运算符优先级的记忆技巧是什么?
关于C语言运算符优先级的记忆技巧是什么? (1)先(括号)内层,后(括号)外层. (2)先函数,后运算. (3)先算术,后关系,再逻辑. (4)先乘除,后加减. (5)先左,后右. (6)搞不清,加括 ...
- new是不是c语言运算符优先级表,C语言运算符优先级列表(超详细)
<C语言运算符优先级列表(超详细)>由会员分享,可在线阅读,更多相关<C语言运算符优先级列表(超详细)(7页珍藏版)>请在人人文库网上搜索. 1.本篇文章是对C语言中运算符的优 ...
- c语言二元运算符大全,C语言运算符大全
C语言运算符 for<{3个条件语句}循环> while<{循环> do while<{前do循环体语句,后while条件语句}循环> if<{else补充语 ...
最新文章
- 【正一专栏】走过2017——坚持
- 【机器学习】集成学习代码练习
- hadoop-0.21.0 在Windows环境下的部署(2)Hadoop配置
- vue项目中的遇错:Invalid Host header
- sql server 2008 日志处理
- 如何在Mac上设置FaceTime
- Linux操作系统load average过高,kworker占用较多cpu
- SQL Server中的计算列概述
- alwayson高可用组_了解AlwaysOn可用性组上的备份-第2部分
- python如何使用matlab_MATLAB中的mrdivide函数:它在做什么,以及在Python中如何做?...
- 【2017级面向对象程序设计】作业二
- Dreamweaver开发人员工作区 标准工作区的区别
- 外企计算机英语,职场英语:外企生存十大必备英语词汇
- 百度地图api php开发教程,百度地图API使用方法详解,api使用方法详解_PHP教程
- warning CS0108: `___' hides inherited member `___'. Use the new keyword if hiding was intended解决办法
- 周易六十四卦——同人卦
- 前端 下载文件简易方法(兼容IE)
- UE4 输入系统详解一、 UE4如何获取win系统输入消息
- 读书笔记:《浪潮之巅:下》
- PMPtiku项目管理第六版PMI人才三角
热门文章
- carto_grapher快速安装避坑指南
- 我国拟立法禁止大数据杀熟;工信部通报43款App违规整改不彻底丨钛晚报
- java中JAO,Java
- 以项目思维解读,秦穆公的“霸业梦”
- eating的中文意思_Eating是什么意思中文
- 阿姨说女婿只要程序员,IT男在婚恋市场真吃香吗?妹子有话要说
- 命令行的艺术( the-art-of-command-line )
- 数据中台之OneID (ID-Mapping)架构设计细节全解
- php smtp用户名和密码错误,PHPMailer中的“SMTP错误:无法进行身份验证”
- BAS——一种正在崛起的网络安全技术