c语言的所以格式符?

Python014

c语言的所以格式符?,第1张

c语言中的格式说明符,以%开头,后面接上字母,如%d表示整数,%f表示浮点数,%s表示字符串,%c表示字符等等!

扩展:格式说明符详细说明

① d格式:用来输出十进制整数。有以下几种用法:

%d:按整型数据十进制的实际长度输出。

%md:m为指定的输出字段的宽度。如果数据的位数小于m,则左端补以空格,若大于m,则按实际位数输出。

%ld:输出长整型数据。

② o格式:以无符号八进制形式输出整数。

%d:按整型数据八进制的实际长度输出。

%lo:对长整型可以用格式输出

%mo:指定字段宽度用格式输出

③ x格式:以无符号十六进制形式输出整数。

%x:按整型数据十六进制的实际长度输出。

%lx:对长整型可以用格式输出

%mx:指定字段宽度用格式输出

④ u格式:以无符号十进制形式输出整数。

%u:按无符号整型数据十进制的实际长度输出。

%lu:对长整型可以用格式输出

%mu:指定字段宽度用格式输出

⑤ c格式:输出一个字符。

⑥ s格式:用来输出一个串。有几中用法

%s:例如:printf("%s", "CHINA")输出"CHINA"字符串(不包括双引号)。

%ms:输出的字符串占m列,如字符串长度大于m,将字符串全部输出。若串长小于m,则左补空格。

%-ms:如果串长小于m,则在m列范围内,字符串向左靠,右补空格。

%m.ns:输出占m列,但只取字符串中左端n个字符。这n个字符输出在m列的右侧,左补空格。

%-m.ns:其中m、n含义同上,n个字符输出在m列范围的左侧,右补空格。如果n>m,则自动取n值,即保证n个字符正常输出。

⑦ f格式:用来输出实数(包括单、双精度),以小数形式输出。有以下几种用法:

%f:不指定宽度,整数部分全部输出并输出6位小数。

%m.nf:输出共占m列,其中有n位小数,如数值宽度小于m左端补空格。

%-m.nf:输出共占n列,其中有n位小数,如数值宽度小于m右端补空格。

⑧ e格式:以指数形式输出实数。可用以下形式:

%e:数字部分(又称尾数)输出6位小数,指数部分占5位或4位。

%m.ne和%-m.ne:m、n和”-”字符含义与前相同。

此处n指数据的数字部分的小数位数,m表示整个输出数据所占的宽度。

⑨ p格式:输出指针地址

运算符的种类C语言的运算符可分为以下几类:

1.算术运算符

用于各类数值运算。包括加(+)、减(-)、乘(*)、除(/)、求余(或称模运算,%)、自增(++)、自减(–)共七种。

2.关系运算符

用于比较运算。包括大于(>)、小于(<)、等于(==)、 大于等于(>=)、小于等于(<=)和不等于(!=)六种。

3.逻辑运算符

用于逻辑运算。包括与(&&)、或(||)、非(!)三种。

4.位操作运算符

参与运算的量,按二进制位进行运算。包括位与(&)、位或(|)、位非(~)、位异或(^)、左移(<<)、右移(>>)六种。

5.赋值运算符

用于赋值运算,分为简单赋值(=)、复合算术赋值(+=,-=,*=,/=,%=)和复合位运算赋值(&=,|=,^=,>>=,<<=)三类共十一种。

6.条件运算符

这是一个三目运算符,用于条件求值(?:)。

7.逗号运算符

用于把若干表达式组合成一个表达式(,)。

8.指针运算符

用于取内容(*)和取地址(&)二种运算。

9.求字节数运算符

用于计算数据类型所占的字节数(sizeof)。

10.特殊运算符

有括号(),下标[],成员(→,.)等几种。

1.C的数据类型

基本类型,构造类型,指针类型,空类型

2.基本类型的分类及特点

类型说明符 字节  数值范围

字符型char   1 C字符集

基本整型int 2 -32768~32767

短整型short int   2    -32768~32767

长整型 long int   4 -214783648~214783647

无符号型 unsigned 2 0~65535

无符号长整型 unsigned long 4 0~4294967295

单精度实型 float  43/4E-38~3/4E+38

双精度实型 double 81/7E-308~1/7E+308

3.常量后缀

L或l 长整型

U或u 无符号数

F或f 浮点数

4.常量类型

整数,长整数,无符号数,浮点数,字符,字符串,符号常数,转义字符。

5.数据类型转换

·自动转换

在不同类型数据的混合运算中,由系统自动实现转换, 由少字节类型向多字节类型转换。 不同类型的量相互赋值时也由系统自动进行转换,把赋值号右边的类型转换为左边的类型。

·强制转换

由强制转换运算符完成转换。

6.运算符优先级和结合性

一般而言,单目运算符优先级较高,赋值运算符优先级低。 算术运算符优先级较高,关系和逻辑运算符优先级较低。 多数运算符具有左结合性,单目运算符、三目运算符、 赋值

7.表达式

表达式是由运算符连接常量、变量、函数所组成的式子。 每个表达式都有一个值和类型。 表达式求值按运算符的优先级和结合性所规定的顺序进行。

表示输出类型的格式字符  格式字符意义

d  以十进制形式输出带符号整数(正数不输出符号)

o  以八进制形式输出无符号整数(不输出前缀O)

x  以十六进制形式输出无符号整数(不输出前缀OX)

u  以十进制形式输出无符号整数

f  以小数形式输出单、双精度实数

e  以指数形式输出单、双精度实数

g  以%f%e中较短的输出宽度输出单、双精度实数

c  输出单个字符

s  输出字符串

标志字符为-、+、#、空格四种,其意义下表所示:

标志格式字符 标 志 意 义

- 结果左对齐,右边填空格

+ 输出符号(正号或负号)空格输出值为正时冠以空格,为负时冠以负号

# 对c,s,d,u类无影响对o类, 在输出时加前

缀o  对x类,在输出时加前缀0x对e,g,f 类当结果有小数时才给出小数点

格式字符串

格式字符串的一般形式为: %[*][输入数据宽度][长度]类型 其中有方括号[]的项为任选项。各项的意义如下:

1.类型

表示输入数据的类型,其格式符和意义下表所示。

格式  字符意义

d 输入十进制整数

o 输入八进制整数

x 输入十六进制整数

u 输入无符号十进制整数

f或e 输入实型数(用小数形式或指数形式)

c 输入单个字符

s 输入字符串

转义字符

转义字符是一种特殊的字符常量。转义字符以反斜线”/”开头,后跟一个或几个字符。转义字符具有特定的含义,不同于字符原有的意义,故称“转义”字符。例如,在前面各例题printf函数的格式串中用到的“/n”就是一个转义字符,其意义是“回车换行”。转义字符主要用来表示那些用一般字符不便于表示的控制代码。

常用的转义字符及其含义

转义字符  转义字符的意义

/n 回车换行

/t 横向跳到下一制表位置

/v 竖向跳格

/b 退格

/r 回车

/f  走纸换页

// 反斜线符”/”

/’ 单引号符

/a 鸣铃

/ddd 1~3位八进制数所代表的字符

/xhh 1~2位十六进制数所代表的字符

广义地讲,C语言字符集中的`任何一个字符均可用转义字符来表示。表2.2中的/ddd和/xhh正是为此而提出的。ddd和hh分别为八进制和十六进制的ASCII代码。如/101表示字?quotA” ,/102表示字母”B”,/134表示反斜线,/XOA表示换行等。转义字符的使用

在C语言中,对变量的存储类型说明有以下四种:

auto 自动变量

register 寄存器变量

extern  外部变量

static  静态变量

自动变量和寄存器变量属于动态存储方式, 外部变量和静态变量属于静态存储方式。在介绍了变量的存储类型之后, 可以知道对一个变量的说明不仅应说明其数据类型,还应说明其存储类型。 因此变量说明的完整形式应为: 存储类型说明符 数据类型说明符 变量名,变量名…例如:

static int a,b 说明a,b为静态类型变量

auto char c1,c2说明c1,c2为自动字符变量

static int a[5]={1,2,3,4,5} 说明a为静整型数组

extern int x,y 说明x,y为外部整型变量

与指针有关的各种说明和意义见下表。

int *p  p为指向整型量的指针变量

int *p[n]p为指针数组,由n个指向整型量的指针元素组成。

int (*p)[n] p为指向整型二维数组的指针变量,二维数组的列数为n

int *p()  p为返回指针值的函数,该指针指向整型量

int (*p)() p为指向函数的指针,该函数返回整型量

int **p   p为一个指向另一指针的指针变量,该指针指向一个整型量。

指针变量的赋值

p可以有以下两种方式:

(1)指针变量初始化的方法 int a

int *p=&a

(2)赋值语句的方法 int a

int *p

p=&a

(1)取地址运算符&

(2)取内容运算符*

1.d格式符,用来输出十进制整数.

⑴%d,按整型数据的实际长度输出.

⑵%md,m为指定的输出字段的宽度,数据位数小于m,左边补空格,若大于m,按实际长度输出

⑶%ld,输出长整型数据(long)

2.o格式符,以八进制输出整数(不带符号,他将符号位也作为八进制数的一部分了)

⑴%o,参考%d的解释.

⑵%lo,参考%ld的解释.

⑶%mo,参考%md的解释.

3.x,X格式符,以十六进制输出整数

也是3种参考%d的解释.

4.u格式符,用来将unsigned型数据,既无符号数,以十进制形式输出

5.c格式符,输出一个字符.

6.s格式符,输出一个字符串.

⑴%s,如printf("%s","CHINA")

⑵%ms,输出的字符串占m列,字符串长度小于m,左边补空格,如果超出则全部输出.

⑶%-ms,串小于m,则在m列范围内字符串左靠,右补空格.

⑷%m.ns,输出占m列,但只取字符串左端n个字符.这n个字符输出在m列的右边,然后左边补空格.

⑸%-m.ns,和上面的放下,就是n个字符输出在m列的左侧,右边补空格.n>m,那么m自动取n的值,既保证n个字符正常输出.

7.f格式符,用来输出实数,以小数形式输出.

⑴%f,全部输出,而且输出6位小数.

⑵%m.nf,输出数据共占m列,n位小数,如果数据长度小于m那么左边补空格

⑶%-m.nf,和上面的m.nf相反,为左靠齐,右补空格.

8.e,E格式符,以指数形式输出实数

⑴%e,不指定输出数据所占的宽度和数字部分的小数位数.

⑵%m.ne和%-m.ne,这里n指小数部分的位数

9.g,G格式符,用来输出实数,它根据数值大小,自动选择f格式还是e格式,(选占宽最少的一种),且不输出无意义的0.这种格式用的不多.