【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
原创粉丝点击