博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
运算符与格式输出输入4
阅读量:5310 次
发布时间:2019-06-14

本文共 2031 字,大约阅读时间需要 6 分钟。

格式化输入输出:

printf("hello world!");
printf("期望薪资:%d\n",salary); //%站位符
格式化传分为两种:
1.普通字符,原样输出
2.转换说明:从%开始,%-0m.nl|h+转换说明
% 站位符,转换说明的开始,不能省略
- 左对齐,缺省是右对齐
0 可以是任意字符,表示空位补零
m.n 控制域宽只对应的输出内容在输出设备上所站的位数
n 表示精度,用于输出浮点数,小数点后面的位数
l或者h l 表示整数long %ld 浮点数double %lf
h 表示short %hd 将int格式修正成short

转换说明符:

i/d 输出十进制整数在printf函数中一样使用
o 输出无符号的八进制整数
x 输出一个十六进制
u 输出无符号十进制

c 输出一个字符

s 输出一个字符串
f 输出浮点 只包含float
e 以科学计数法输出一个浮点数
g 不输出无意义的0,在f和e之间选一个最短的输出
p 输出内存当中的地址 一个32位的整数

ps:格式字符串里面的转换说明要和后面的表达式--对应

格式化输入:

scanf(); stdio.h中的函数

scanf("格式字符串",地址列表);
scanf("%f,%f,%f",&f1,&f2,&f3); //可变长参数
段错误:程序段,数据段,bss段,堆和栈
scanf 访问了非法的地址
scanf 空白 回车 制表符 统统忽略
%d
scanf
1、 在寻找数据的时候,会跳过空白字符
2、 当遇到不属于格式转换的字符时,会把这个字符放回原处。
3、 最后一个回车scanf并不会读取;
4、 用户输入的内容放在输入缓冲区中
* scanf("%*c");从缓冲区忽略一个字符
scanf("%*[^\n]");scanf("%*c") //作用清除
缓冲区 清除所有^\n的字符
scanf("%c",&c); //只写转换说明

set cindent 以c文件缩进
set smartindent 智能缩进
ab stdio
vi .vimrc 在这里添加set cindent
set smartindent
ab stdio #include <stdio.h>
//把后边的字符串简写成前面这种

2、sizeof();
只检查类型在内存中占得字节数
类型名sizeof(int);
变量名 int i;sizeof(i);
表达式 sizeof(5.0);sizeof(5.0f);
sizeof()不会对表达式进行计算
详细,把所有的知识的来源,所有的过程都要弄明白
算数运算符:
+ - * / % (取余,求摸)
a+b a-b a*b a/b a%b
1、求摸操作必须为整数。
2、0不能作除数 也不能对0进行取余运算
3、两个整数相除,取结果的整数部分
4、c89 中对负数的操作没有具体规定,
-9/7 为 -1huozhe -2
可以向上取等,具体根据编译器的实现。
c99 结果向0靠近
练习:逆序打印一个两位数
91 19

80 08

赋值运算符= 左值 和 右值(右值可为表达式)
C语言中唯一一个可以作为左值的就是 变量。
int a=10;
i=k=j=0;也合法
5=8 不合法
-i=k
自增 和 自减运算符
++ --
前++: ++i 后++:i++
前--: --i 后--:i--
++i i=i+1 i+=1

关系运算符:

< <= > >=
10<11:逻辑结果 成立(真1) 不成立(假 0)
判断一个数是正数还是负数

i=10,0<i<100 在计算机中恒为真,这中表达式是错误的。
0<i:逻辑结果成立为1,1<100恒成立。
必须改成 i>0 && i<10;
判等运算符 == 等于
!= 不等于
逻辑运算符:
&& 逻辑与 短路与
|| 逻辑或 短路或
! 逻辑非
结果: 真或假 1或0
表达式1 && 表达式2

如果表达式中有逻辑运算,那么运算顺序是从左往右运算

才有了短路概念
如果表达式1为假,则表达式2不做运算
多买几本数,同种类型相比较着学
2.
表达式1 || 表达式2
如果表达式1位真,则表达式2不做运算,
整个表达式的结果就为真
3
三目运算符:
条件?表达式1:表达式2
如果条件表达式为真,则运行表达式1,否则运行表达式2.

5.优先级与结合性

作为通用规则,C语言允许在所有表达式中用圆括号进行分组
由实现定义中:所谓的实现:
实现:程序在特定的平台上编译、链接和执行所需要的软件。
4.地址运算符
&取地址
*根据地址取变量
printf中的%p用来输出地址。
取地址取得是一个变量的开始地址。
地址是按字节编号的。(如汇编当中十六进制按字节编号)

转载于:https://www.cnblogs.com/fanhongshuo/p/3886611.html

你可能感兴趣的文章
Android ViewPager 动画效果
查看>>
pip和easy_install使用方式
查看>>
博弈论
查看>>
Redis sentinel & cluster 原理分析
查看>>
我的工作习惯小结
查看>>
把word文档中的所有图片导出
查看>>
浏览器的判断;
查看>>
ubuntu 18.04取消自动锁屏以及设置键盘快捷锁屏
查看>>
Leetcode 589. N-ary Tree Preorder Traversal
查看>>
机器学习/深度学习/其他开发环境搭建记录
查看>>
xml.exist() 实例演示
查看>>
判断是否为空然后赋值
查看>>
zabbix监控日志文件
查看>>
正则表达式
查看>>
pip install torch on windows, and the 'from torch._C import * ImportError: DLL load failed:' s...
查看>>
java基础(一):我对java的三个环境变量的简单理解和配置
查看>>
arcgis api 4.x for js 结合 Echarts4 实现散点图效果(附源码下载)
查看>>
YTU 2625: B 构造函数和析构函数
查看>>
apache自带压力测试工具ab的使用及解析
查看>>
C#使用Xamarin开发可移植移动应用(2.Xamarin.Forms布局,本篇很长,注意)附源码
查看>>