【C语言】第二篇·输入输出和运算符
来源:互联网 发布:德州扑克入门知乎 编辑:程序博客网 时间:2024/06/04 18:40
一、输入输出
C语言中的主要输入输出函数printf和scanf。在使用这两个函数的时候,尽量要包含一个”stdio.h“的标准输入输出头文件。
1.printf
1)使用格式:
printf("格式控制字符串",变量列表);
2)格式控制符:
%d输出10进制整数
%f输出一个实型类型的数据,输出默认6位小数,小数部分不足为6位时,需要补0(注意:当整数部分大 于2的时候,小数部分的多余位为垃圾数据)
%c输出一个字符
%s输出一个字符串
3)域宽问题:
%md m为域宽。m为正数:左对齐;m为负数:右对齐。
%0md 不足域宽的部分补充0
2.scanf
1)使用格式:
scanf("格式控制符",地址列表);
2)常用的格式控制符
3)注意事项:
(1)如果在输入时,输入了多个空格、回车、Tab都会被系统忽略
(2)连续赋值的时候,在多个控制符之间,加入一个符号作为分隔符。例如:scanf("%d,%d",&a,&b);
4)scanf运行原理:
(1)用户从键盘输入的内容,放到输入缓存区当中
(2)从缓存区逐个取变量对应的内容,如果取的内容和变量设定的类型不一样,则变量不做任何改变
3.输入输出测试:
#include <stdio.h>void main(){float a=83.2f; //定义单精度char b='b'; //字符型//字符串类型定义的两种方法char *c="string"; //1.用指针char d[10]="string1";//2.使用数组float f1=3.14159265f;float a1=1111.11111f;float b1=2222.22222f;printf("a=%f\n",a); //正常输出printf("a=%6.2f\n",a); //保留两位小数printf("a=%-6.2f\n",a);//保留两位小数,共6位,不够向后面补充空格printf("b=%c\n",b);printf("c=%s\n",c);printf("d=%s\n",d);printf("************\n");
//float 类型的变量默认输出精度为:如果小数前1位,则小数点后6位,6位后面的数为无效数字 printf("f1=%f\n",f1);printf("f1=%.7f\n",f1);//小数点6位后面的数据为垃圾数据 printf("************\n");printf("a1=%f\n",a1);printf("b1=%f\n",b1);printf("a1+b1=%f\n",a1+b1); //float 类型变量的输出精度为:除过小数点前7位有效printf("a1+b1=%.7f\n",a1+b1); }
:
二、运算符
1. 运算符优先级和结合性:
优先级
运算符
名称或含义
使用形式
结合方向
说明
1
[]
数组下标
数组名[整型表达式]
左到右
()
圆括号
(表达式)/函数名(形参表)
.
成员选择(对象)
对象.成员名
->
成员选择(指针)
对象指针->成员名
2
-
负号运算符
-表达式
右到左
单目运算符
(类型)
强制类型转换
(数据类型)表达式
++
自增运算符
++变量名/变量名++
单目运算符
--
自减运算符
--变量名/变量名--
单目运算符
*
取值运算符
*指针表达式
单目运算符
&
取地址运算符
&左值表达式
单目运算符
!
逻辑非运算符
!表达式
单目运算符
~
按位取反运算符
~表达式
单目运算符
sizeof
长度运算符
sizeof 表达式/sizeof(类型)
3
/
除
表达式/表达式
左到右
双目运算符
*
乘
表达式*表达式
双目运算符
%
余数(取模)
整型表达式%整型表达式
双目运算符
4
+
加
表达式+表达式
左到右
双目运算符
-
减
表达式-表达式
双目运算符
5
<<
左移
表达式<<表达式
左到右
双目运算符
>>
右移
表达式>>表达式
双目运算符
6
>
大于
表达式>表达式
左到右
双目运算符
>=
大于等于
表达式>=表达式
双目运算符
<</div>
小于
表达式<表达式
双目运算符
<=
小于等于
表达式<=表达式
双目运算符
7
==
等于
表达式==表达式
左到右
双目运算符
!=
不等于
表达式!= 表达式
双目运算符
8
&
按位与
整型表达式&整型表达式
左到右
双目运算符
9
^
按位异或
整型表达式^整型表达式
左到右
双目运算符
10
|
按位或
整型表达式|整型表达式
左到右
双目运算符
11
&&
逻辑与
表达式&&表达式
左到右
双目运算符
12
||
逻辑或
表达式||表达式
左到右
双目运算符
13
?:
条件运算符
表达式1? 表达式2: 表达式3
右到左
三目运算符
14
=
赋值运算符
变量=表达式
右到左
/=
除后赋值
变量/=表达式
*=
乘后赋值
变量*=表达式
%=
取模后赋值
变量%=表达式
+=
加后赋值
变量+=表达式
-=
减后赋值
变量-=表达式
<<=
左移后赋值
变量<<=表达式
>>=
右移后赋值
变量>>=表达式
&=
按位与后赋值
变量&=表达式
^=
按位异或后赋值
变量^=表达式
|=
按位或后赋值
变量|=表达式
15
,
逗号运算符
表达式,表达式,…
左到右
从左向右顺序运算
2. 逻辑运算符短路问题
1)多个逻辑 && 的时候,0 && 1 || 1=0运算结果为:0,真实的结果为:1,出现的这个现象即短路问题。
2)多个逻辑 || 的时候,1 || 0 && 0 = 1 运算结果为:1,真实结果为:0
解决办法:加括号
3. 三目运算符:
(表达式0) ? 表达式1:表达式2 (表达式0为真,返回表达式1的值;反之,返回表达式2的值)
求两数的大值: max = a>b ? a:b
4. sizeof运算符
单目运算符,计算常量或者变量的占用内存空间的字节数
0 0
- 【C语言】第二篇·输入输出和运算符
- C语言第一节-进制,运算符,输入输出
- iOS笔记:第二篇 C语言scanf函数、变量和运算符
- C语言--第二篇类型、运算符与表达式
- C语言第二章:运算符
- C语言运算符控制语句和输入输出以外的几乎所有的基本操作都作为运算符处理
- 输入输出和运算符
- 【C++】重载输入输出运算符
- C语言~和>>运算符
- (C语言教程)第二章: 数据类型、运算符、表达式
- C语言教程---第二章: 数据类型、运算符、表达式
- C语言教程第二章: 数据类型、运算符、表达式
- C语言教程第二章: 数据类型、运算符、表达式
- C语言教程第二章: 数据类型、运算符、表达式
- C语言学习第二天——运算符优先级
- C语言第二节-关系运算符,switch,if
- C语言入门第二章 变量、数据类型及运算符
- 前期C语言回顾 进制、C数据类型、常量变量、运算符、表达式、格式化输入输出
- Volley详解(五)——网络(Network)
- 迪杰斯特拉/dijkstra 算法模板(详细注释)
- 用Python读写Excel文件
- Hdu 5391
- 【C语言】第一篇·C语言概述和数据类型
- 【C语言】第二篇·输入输出和运算符
- 【C语言】第三篇·基本程序结构
- 【C语言】第四篇·函数调用
- 【C语言】第五篇·进制转换
- 【C语言】第六篇·数组
- 【C语言】第七篇·指针
- 【C语言】第八篇·内存管理和结构体
- 【C语言】第九篇·枚举、定义类型和宏定义
- 【C语言】第十篇·文件操作