lesson008 作业

1.分别用 %d  %o %x 输出一个泌值,并写清楚区别。

#include <stdio.h>

//1.分别用 %d  %o %x 输出一个泌值,并写清楚区别。

int main()
{
    int a = 1234;
    printf("以百分之d显示:%d \n以百分之o显示: %o \n以百分之x显示: %x", a, a, a);
    getchar();
    return 0;
}

 它们之间的区别:显示的进制的区别。

2.将printf的帮助文档看一遍,将里边的例子运行一遍,注意C11新增的函数,printf和printf_s的区别。

 

3.printf详解笔记。

 

转换
说明符
解释参数类型
长度修改器hhh(None)llljztl
% 写文字 %。规范必须完整的转换 %%. N /A N /A N /A N /A N /A N /A N /A N /A N /A
c
写一个字符。

首先转化为参数unsigned char。如果使用l修饰符,首先转换为一个char串参数,好像通过% lswchar_t[2]论点。

N /A N /A
int
wint_t
N /A N /A N /A N /A N /A
s
写一个字符串

参数必须是一个指针的初始元素的char数组。精确指定要写入的最大字节数。每个字节写道,如果没有指定精度,不包括第一个空终结者。如果使用l说明符,参数必须是一个指针初始元素的数组wchar_t,它可以转化为字符数组调用 wcrtomb与zero-initialized转换状态。

N /A N /A
char*
wchar_t*
N /A N /A N /A N /A N /A
d
i
有符号整数转换成十进制表示法[-]dddd。

精确指定数字的最小数量。默认的精度是1.
如果转换值和精度0​转换的结果在任何字符。

signed char
short
int
long
long long
signedsize_t
N /A
o
将一个unsigned整数转换为八进制表示呜。

精确指定数字的最小数量。默认的精度是1。如果转换值和精度0​转换的结果在任何char。另一种实现精度是提高如果必要,写一个前导零。在这种情况下如果转换值和精度0​、单0​是写的。

unsigned char
unsigned short
unsigned int
unsigned long
unsigned long long
unsigned的版本ptrdiff
N /A
x
X
将一个unsigned整数转换为十六进制表示hhhh。字符

x转换字母 abcdef使用。
X转换字母 ABCDEF使用。
精确指定数字的最小数量。默认的精度是1。如果转换值和精度0​转换的结果在任何char。在选择实现0 x0 x前缀的结果如果转换后的值是零。

N /A
u
将一个unsigned整数转换成十进制表示dddd。

精确指定数字的最小数量。默认的精度是1。如果转换值和精度0​转换的结果在任何字符。

N /A
f
F
将浮点数转换为十进制记数法在[-]ddd.ddd风格。

精确指定了最小数量的小数点后位数出现char。默认的精度是6。在另一种实现小数点char是书面即使没有数字跟随它。无穷和不是一个数字转换风格看笔记。

N /A N /A
double
double (C99以来)
N /A N /A N /A N /A
long double
e
E
将浮点数转换为十进制指数表示法。

e[-]d.ddd转换风格e使用±dd。
E[-]d.ddd转换风格E使用±dd。
该指数包含至少两个数字,数字仅在必要时使用。如果该值为0​指数也0​。精确指定了最小数量的小数点后位数出现char。默认的精度是6。在另一种实现小数点char是书面即使没有数字跟随它。无穷和不是一个数字转换风格看笔记。

N /A N /A N /A N /A N /A N /A
a
A
将浮点数转换为十六进制指数表示法。

一个转换风格(-)0 xh.hhhp使用±d。
一个转换风格(-)0 xh.hhhP使用±d。
第一个十六进制数字 0如果论点不是规格化的浮点值。如果该值为0​指数也0​。精确指定了最小数量的小数点后位数出现char。默认值的精度满足精确表示。在另一种实现小数点char是书面即使没有数字跟随它。无穷和不是一个数字转换风格看笔记。

N /A N /A N /A N /A N /A N /A
g
G
将浮点数转换为十进制或十进制指数表示法根据价值和精度。

g转换风格转换与风格ef将被执行。
G转换风格转换与风格EF将被执行。
 P等于精密如果非零,6如果没有指定精度,或1如果精度0​。然后,如果一个转换与风格 E会有指数的 X:

  • 如果P > X≥−4、转换与风格fF和精密P−1−X。
  • 否则,转换与风格eE和精密P−1。

除非备选表示请求尾随零删除,删除小数点char如果没有小数部分。无穷和不是一个数字转换风格看笔记。

N /A N /A N /A N /A N /A N /A
n
返回char数迄今写这个调用函数。

结果写入指向的值参数。规范可能不包含任何国旗,字段宽度,或精度。

signed char*
short*
int*
long*
long long*
signed size_t*
N /A
p 写一个实现定义的char序列定义一个指针。 N /A N /A 无效* N /A N /A N /A N /A N /A N /A

∞转换为浮点转换功能 inf infinity。哪一个是用来实现定义。

不是一个数字转化为 nan南(char_sequence)哪一个是用来实现定义。

的转换F,E,G,一个输出 INF, INFINITY, NAN代替。

尽管 %c预计 int传递一个参数,它是安全的 char由于整数提升可变函数被调用时发生。

正确的转换规格固定宽度char类型(int8_t等)中定义的头< cinttypes >(c++)或< inttypes.h >(C)(尽管 PRIdMAX,PRIuMAX等的代名词 %jd, %ju等等)。

memory-writing转换说明符%n是一种常见的安全攻击的目标,格式char串取决于用户输入和不支持bounds-checked吗printf_s家庭的功能。

有一个序列点行动后的每个转换说明符;这允许存储多个%n结果在相同的变量和打印存储的值%n早些时候在同一个电话。

如果转换规范是无效的,行为是未定义的。

 

... - - - - - - 参数指定数据打印

返回值

1、2)char数传输到输出流或负面价值如果输出误差或编码错误(字符串和字符转换说明符)发生
3)写入的字符数 buffer(不包括终止空字符),或者一个负值如果一个编码错误(字符串和字符转换说明符)发生
4)字符数(不包括终止空字符),会被写入 buffer如果 bufsz被忽视,或者一个负值如果一个编码错误(字符串和字符转换specifier)发生
5、6)字符数传输到输出流或负面价值如果输出错误,运行时constrants违反错误,或者一个编码错误发生。
7)写入的字符数 buffer,不包括空字符(总是只要写的 buffer不是一个空指针 bufsz不为零和不大于 RSIZE_MAX),或在运行时零约束违反和负面价值编码错误
8)字符数不包括终止空字符(总是只要写的 buffer不是一个空指针 bufsz不为零和不大于 RSIZE_MAX),它会被写入buffer如果 bufsz被忽视,或者一个负值如果运行时约束违反或编码错误发生
 

4.厘米转英寸的程序编写,CM2FT,输出100次转换,前面保留3位,不足补零,小数5位,不保留0。

 1   前面保留3位,不足补零

#include <stdio.h>
//4.厘米转英寸的程序编写,CM2FT,输出100次转换,前面保留3位,不足补零,小数5位,不保留0。
int main()
{
    for (int i = 1;i<=100;i++)
    {
        printf("%d厘米 = %09.5f英尺 \n",i,i*0.0328);
        
    }
    getchar();
    return 0;
}

2  小数5位,不保留零

int main()
{
    for (int i = 1;i<=100;i++)
    {
        printf("%d厘米 = %9.5g英尺 \n",i,i*0.0328);
        
    }
    getchar();
    return 0;
}

 

 3  如果两个条件叠加,不会做。

 

5.米转英寸,要求同上。

1 前面保留3位,不足补零

 

//5.米转英寸,要求同上。
int main()
{
    for (int i = 1;i<=100;i++)
    {
        printf("%d米 = %09.5f英寸 \n",i,i*39.37);
        
    }
    getchar();
    return 0;
}

 

得出结果,实际小数点前面数位超过3位,就实际显示,少于3位就补零

2   小数5位,不保留零

int main()
{
    for (int i = 1;i<=100;i++)
    {
        printf("%d米 = %.5g英寸 \n",i,i*39.37);
        
    }
    getchar();
    return 0;
}

3  同上不会做。

 

posted on 2016-09-11 16:31  zzdoit  阅读(240)  评论(0编辑  收藏  举报

导航