C语言如何使用print语句

作者&投稿:淡纯 (若有异议请与网页底部的电邮联系)
~ C语言里printf函数格式控制符的完整格式

printf的格式控制的完整格式:
% - 0 m.n l或h 格式字符
下面对组成格式说明的各项加以说明:
①%:表示格式说明的起始符号,不可缺少。
②-:有-表示左对齐输出,如省略表示右对齐输出。
③0:有0表示指定空位填0,如省略表示指定空位不填。
④m.n:m指域宽,即对应的输出项在输出设备上所占的字符数。N指精度。用于说明输出的实型数的小数位数。为指定n时,隐含的精度为n=6位。
⑤l或h:l对整型指long型,对实型指double型。h用于将整型的格式字符修正为short型。
--------------------------------------------------------------------------------
格式字符
格式字符用以指定输出项的数据类型和输出格式。
①d格式:用来输出十进制整数。有以下几种用法:
%d:按整型数据的实际长度输出。
%md:m为指定的输出字段的宽度。如果数据的位数小于m,则左端补以空格,若大于m,则按实际位数输出。
%ld:输出长整型数据。
②o格式:以无符号八进制形式输出整数。对长整型可以用"%lo"格式输出。同样也可以指定字段宽度用“%mo”格式输出。
例:
main()
{ int a = -1;
printf("%d, %o", a, a);
}
运行结果:-1,177777
程序解析:-1在内存单元中(以补码形式存放)为(1111111111111111)2,转换为八进制数为(177777)8。
③x格式:以无符号十六进制形式输出整数。对长整型可以用"%lx"格式输出。同样也可以指定字段宽度用"%mx"格式输出。
④u格式:以无符号十进制形式输出整数。对长整型可以用"%lu"格式输出。同样也可以指定字段宽度用“%mu”格式输出。
⑤c格式:输出一个字符。
⑥s格式:用来输出一个串。有几中用法
%s:例如:printf("%s", "CHINA")输出"CHINA"字符串(不包括双引号)。
%ms:输出的字符串占m列,如字符串本身长度大于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表示整个输出数据所占的宽度。
⑨g格式:自动选f格式或e格式中较短的一种输出,且不输出无意义的零。
--------------------------------------------------------------------------------
关于printf函数的进一步说明:
如果想输出字符"%",则应该在“格式控制”字符串中用连续两个%表示,如:
printf("%f%%", 1.0/3);
输出0.333333%。
--------------------------------------------------------------------------------

对于单精度数,使用%f格式符输出时,仅前7位是有效数字,小数6位.
对于双精度数,使用%lf格式符输出时,前16位是有效数字,小数6位.

拾遗
由高手指点
对于m.n的格式还可以用如下方法表示(例)
char ch[20];
printf("%*.*s\n",m,n,ch);
前边的*定义的是总的宽度,后边的定义的是输出的个数。分别对应外面的参数m和n 。我想这种方法的好处是可以在语句之外对参数m和n赋值,从而控制输出格式。

今天(06.6.9)又看到一种输出格式 %n 可以将所输出字符串的长度值赋绐一个变量, 见下例:

int slen;

printf("hello world%n", &slen);

执行后变量被赋值为11。

又查了一下, 看到一篇文章(查看)说这种格式输出已经确认为一个安全隐患,并且已禁用。再搜搜果然这种用法都被用来搞什么溢出、漏洞之类的,随便找了一个:格式化字符串攻击笔记

特别注意下%*.*s这种用法

需要准备的材料分别有:电脑、C语言编译器。
1、首先,打开C语言编译器,新建一个初始.cpp文件,例如:test.cpp。
2、在test.cpp文件中,输入C语言代码:
int
a
=
6;double
b
=
3.14;char
*c
=
"hello";printf("%d%lf%s",
a,
b,
c);
3、编译器运行test.cpp文件,此时成功使用print语句打印了整数、浮点数、字符串。

1、首先,我们打入程序的头文件以及Main函数的主体框架。
2、接下来我们给出一定的提示信息。
3、然后我们便可以以scanf(控制格式,取值列表)的格式书写程序。
4、然后我们可以编写输出测试语句。
5、测试后没有错误,我们便可以运行程序。
6、这时候我们便可以看到此效果。


C语言中if(pri(0))什么意思??
if是判断语句,若后面条件成立则执行if块中的语句。pri()应该是个自定义的函数。具体功能得看这个函数的定义。这个函数出现在判断语句的判断中,它应该是能够有返回值的。但返回值类型无法直接判断,有可能是整型,也有可能是字符型。0是传递给pri()的参数 ...

C语言实现商品价格查询系统?
printf("%d\\t%s\\t%.2f\\n",i+1,a[i].name,a[i].pri);break;} else printf("未找到!");} } void outa(int n){ for(int i=0;i<n;i++){ printf("%d\\t%s\\t%.2f\\n",i+1,a[i].name,a[i].pri);} } void del(char s[],int n){ for(int i=0;i<n-1;i++){...

?c语言中是什么意思?
:在语言中表示判断的结果选择。所以编程逻辑就是先进行判断,然后再进行选择。例如,当a>b时,x=1否则x=0,可以写成x=a>b?1:0。C语言在一个表达式中,如果遇到几个运算符,要考虑优先级和结合方向。比如,表达式 x pri1 y pri2 z,可能出现两种可能性 (x pri1 y )pri2 z x pri1 (y ...

用C语言输出1到10000之间的所有素数
C语言程序如下:include<stdio.h> int main(){ int i,j,k=0;for(i=2;i<10000;i++){ for(j=2;j*j<=i;j++)if(i%j==0)break;if(j*j>i){ printf("%d ",i);k++;if(k%5==0)printf("\\n");} } }

c语言创建学生管理系统
;\/\/增加信息int control(struct student *head);\/\/控制函数void head_print();\/\/打印界面函数void change_list(struct student *head);\/\/更改链表信息函数void save(struct student *head);\/\/保存文件void remove(struct student *head);\/\/递归释放链表空间char name[10],number[12],age[3]...

C语言Printf怎么能够拥有多个形参?
实际上printf就1个参数,就是前面加""的字符串。""里的字符将被完整的输出,而%d,%f之类的属于占位符,就是替后面的变量占个位置,输出时Printf碰到占位符就会自动去逗号后的表达式中寻找相应的变量,并将其输出。有兴趣的话你可以去看看printf函数的定义就知道是怎么回事了。自定义的函数也可以这么写...

predrink是什么意思
英语音系学是指对英语音系(亦即声音系统)的研究。正如所有语言,无论考虑历史与否,英语口语的发音因不同方言而异。这种变异在英语特别明显,因其在广泛地区使用,是澳大利亚、加拿大、美国、新西兰、英国和加勒比海英语国家等国的主要语言,在世上每一个州都有人以之为母语或第二语言。英语并没有决定...

c++类的定义与使用
具体如下。C++是一款面向对象的编程语言,而使用类来进行数据隐藏,将函数当做接口,是一种面型对象很有效的实现方法。类的定义与结构体有些类似,用关键字c类对象的默认访问控制为privite型,因此在定义时,我们可以省略privite符号,上例为了表示清晰故加上了privite。在源文件中定义函数时,需要加上...

C语言求助
int a[100]; \/\/全局数组,这样子函数可以不用传递参数 void insert(void){ 代码 } void insert(void){ 代码 } void delete(void){ 代码 } void sort(void){ 代码 } void pri(void){ 代码 } void pr(void) \/\/这个打印菜单 { printf("1.insert (请插入一个数据)\\n");printf("...

C语言模拟操作系统进程调度和管理
int pri;int runtime;int waittime;struct PCB *next;}pcb[7];\/* 运行指针*\/ struct PCB *running;\/*高优先级就绪队列头指针*\/ struct PCB *Hready;\/*低优先级队列头指针*\/ struct PCB *Lready;\/*等待队列头指针*\/ struct PCB *wait;int ...

慈利县18658142879: c语言print函数输出格式? -
闫空复方: printf后面的参数包括“格式控制字符串”和输出变量的列表“格式控制字符串”由格式控制字符和普通字符.其中前者以%开始加某一个特殊字符.比如%d为输出整数、%c输出字符.普通字符是原样输出的内容. 输出变量列表即为输出的变量,其个数要与控制字符相对于.比如有int a=3,b=4,然后pritf(“a=%d,b=%d”,a,b);输出结果为a=3,b=4.所以printf("abc")中abc为格式控制字符串中的普通字符,原样输出. print(“%d”,i)为以整形输出变量i的值.至于具体的格式控制字符都包括什么可以查看相关书籍.

慈利县18658142879: 在C语言中,怎样用一个printf,输出三个语句? -
闫空复方: 使用换行符“\n”,比如printf("语句A+\n 语句B+\n 语句C+\n"),第三个“\n”作用下次输出换行

慈利县18658142879: 请问高手,在C 语言中printf与print两个有什么区别,功能上有什么不同? -
闫空复方: print--是函数,可以返回一个值,只能有一个参数.用起来最简单printf--函数,把文字格式化以后输出,直接调用系统调用进行IO的,他是非缓冲的. 如: $name="hunte"; $age=25; printf("my name is %s, age %d", $name, $age);

慈利县18658142879: 写一个c语言用printf语句打印以下文字 -
闫空复方: #include<stdio.h> int main () {printf("你想打印的文字");return 0; }

慈利县18658142879: 怎么在C语言里用printf输出一个中文 -
闫空复方: 一般情况下,应用程序采用的字符集为gbk, gb2312,该字符集中一个汉字由两个字节组成,所以在普通的C语言中,汉字是按字符串进行存储和输出的.(另:还有utf8字符集,一个汉字由三个字节组成,详情可查阅utf8字符集)char * p = "张...

慈利县18658142879: C语言打印字符串的一部分的方法 -
闫空复方: 你现在要使用的是printf()函数,而不是sprintf()函数.请看下例: # include <stdio. h> # include <stdlib. h> void main (void); void main (void) { char * source_str = "THIS IS THE SOURCE STRING" ; / * Use printfO to print the first 11 ...

慈利县18658142879: Print语句的使用方法是怎样的?Print语句的使用方法是怎样
闫空复方: print "a" 是输出字符串a .就是直接输出引号内的. print a 是输出程序内 a的当前值 print就是打印的意思. 比如空的print 意思就是空行. 比如 a=3 b=4 print "a";a;b print 显示的结果就是 a 3 4 (空行)

慈利县18658142879: “print”标识符怎么用?需要用特定的头文件吗? -
闫空复方: 1.1 输入和输出函数 在前两个例子中用到了输入和输出函数scanf和 printf,在以后要详细介绍.这里我们先简单介绍一下它们的格式,以便下面使用. scanf和 printf这两个函数分别称为格式输入函数和格式输出函数.其意义是按指定的格式输入...

慈利县18658142879: Print在c语言里的意思 -
闫空复方: 打印,输出的意思吧

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网