第二课 输入与输出

输入与输出

浮点型:

float:除非特别指定,否则隐含输出6位小数

Name 控制符 Byte 小数点有效位数
float 单精度 %f 4 7
double 双精度 %lf 8 16

科学计数法

1
2
3
10000   =>    1e5
12300   =>    1.23e4
0.0034  =>    3.4e-3

e 后面必须为整数(正负),且前后必须有参数;

float 可以表示整数,若小数点前面为 0,则 0 可以忽略

在程序中,字符的表示有两种:

字符常量:规定符号,不准改变

Name Byte 控制符
char 字符变量 1 %c

字符输入如果没有隔开控制符,千万不要隔开

若有隔开就用对应的符号隔开

字符类型仅一个,char 型仅从缓冲区获取一个字符(包括数字)

1
2
scanf("%c%c",&a,&b);
// input    :    ab

Ascll 码表

键盘的每个符号都对应一个数值,在 c program 中,符号可参加数运算

1
2
3
‘a’   =   97 ~ 122
‘A’   =   65 ~ 90
‘0’   =   48 ~ 57

大写对应小写,相差32;凡是键盘符号有序,对应的 ascll 码 value 也是有序的!

字符的转义表示

不用自身表达自身,而是用另外一种形式;转义符:\

两种形式:必须转义 和 8进制、16进制

1 必须转义

’ \n ' 换行(Newline) ’ " ' 一个双引号
’ \r ' 回车(不换行,回到行首) ’ ' ' 单引号
’ \0 ' 空字符,字符串结束标志 ’ \ ' 一个反斜杠
’ \b ' 退格(Backspace) ’ \ddd ' 1 到 3 位八进制 ascll 码
’ \f ' 走纸换页(Form Feed) ’ \xhh ' 1 到 2 位十六进制 asc
’ \t ' 制表符(水平) ’ \v ' 制表符(垂直)

2 进制转义

十进制转换为 N 进制(2,8,16),采用的方法就是 除N取余

1
e  =  (d)'101'  =  (o)'\145'  =  (h)'\7A' 

以下表达式相等

1
2
3
4
5
printf("%c",e);
printf("%c",'/145');
printf("%c",'/x7A');
printf("%c",0145);
printf("%c",0x7A);

四 系统的两个专门用于字符输入/输出

1 getchar()

仅仅获取一个字符,回车表示输入结束;

⚠️ 该函数没有参数,函数的返回值就是从终端键盘读入的字符

1
2
char n;
n = getchar();  // scanf("%c",&n);

2 putchar()

该函数的参数就是待输出的字符,仅仅输出一个字符

1
putchar(n);  // 亦可输出常量,不会自动换行

补充:

  1. 整数与浮点实数运算时,其中的整数操作数在运算之前被自动转换为了浮点数(float)
  2. 两个整数相除后的商仍是整数(int)
  3. 余数的符号与被除数的符号相同((-10) / 3 = 3…..(-1))
  4. 求余运算限定参与运算的两个操作数都是整数!(int % int)

image-20221119214627316

Licensed under CC BY-NC-SA 4.0
本文阅读量 次, 总访问量 ,总访客数
Built with Hugo .   Theme Stack designed by Jimmy