-
深入浅析php中sprintf与printf函数的用法及区别
2020-10-23 00:05:30主要介绍了php中sprintf与printf函数的用法及区别,涉及到printf函数、sprintf函数相关资料,需要的朋友可以参考下 -
C语言入门学习(02)——HelloWorld程序分析&printf函数的用法
2018-08-01 21:07:42接着上一篇 C语言入门学习(01)——C编程环境的搭建及HelloWorld程序 ...Part_2.2:printf函数的用法 Part_2.2.1:函数概念简介 Part_2.2.2:用printf函数输出字符串 Part_2.3 printf函数的练习 Part_...接着上一篇 C语言入门学习(01)——C编程环境的搭建及HelloWorld程序 继续
//本文不是最终版本,该教程还在编写整理中。
目录
Part_2.1:HelloWorld程序的解释
搭建好环境之后,我们来仔细分析一下上一节搭建环境时候的写的那几行代码,代码如下:
#include <stdio.h> int main(void) { printf("Hello world!"); return 0; }
上面代码中第四行的printf("Hello world!");放在后面printf函数的基本用法中解释。剩下的五行代码,要想解释清楚,会涉及到很多的知识点和新的概念名词,并不适合现在讲,等编程有一定的基础了之后再理解这五行代码会很容易。所以这里只告诉大家,这五行代码是后面每段程序都必须要有的,可以理解为是一种固定的格式、一种固定的模板、框架,只要写C语言的程序,首先写好这五行代码,然后在这五行代码的基础上,去加别的东西(比如加一句printf("Hello world!");)。所以这五行代码,暂时不用理解,把它当做写C语言的一种格式和模板即可,随着学习的深入,会逐步解释这五行代码。
即,写C语言程序的模板如下,在今后的很长时间里,写C语言程序都要写先写好这几行代码,然后开始在空行的地方开始写别的代码。
#include <stdio.h> int main(void) { return 0; }
可以试一下把上面的代码敲一遍,然后单击编译链接按钮,正常情况下,也会弹出一个窗口的,但是没有显示任何内容,截图如下:
这应该算是最简单的C语言程序了,当然要想省还可以把第五行的return 0;和第一行的#include<stdio.h>也都删掉,即花括号里面什么都不写,执行效果也会是上图那样,包括之前的HelloWorld源程序,把return 0;那句删掉,花括号里面只保留一个printf("Hello world!");,程序依然能执行。但是我建议不要去掉这句话,因为去掉之后会显得不专业、不舒服、不完整。当然具体这句话从何而来,以后介绍函数这个概念的时候会提到。
Part_2.2:printf函数的用法
这里只介绍printf函数最简单最基本的用法——输出字符串到屏幕上。
printf("Hello world!");
这行代码是在屏幕上显示了一个字符串—— Hello world!。它是通过调用printf这个库函数实现的,这里提到了一个新的概念——(库)函数。首先简单解释下函数的概念,具体函数这个概念以后会讲到。
还有字符串这个概念,一个英文字母、一个英汉标点符号、一个汉字,这都叫做字符,好多字符连起来,就叫做字符串。
Part_2.2.1:函数概念简介
对于函数可以这样理解:函数是可以帮我们完成一些特定功能的一段代码,比如这个printf函数就帮我们完成了在屏幕上输出一句话的功能。函数可以是自己写的,也可以是别人写好你直接调用的,这是函数的简单概念。
下面这一段内容是对函数的进一步解释,可以简单看一下,能理解多少算多少,现在理解不了也没关系。
函数可以供我们的程序调用,即我们写程序时想实现某个功能,就可以看看有没有现成的函数可以调用,如果有现成的函数可以调用,就直接在我们的程序里调用函数即可实现相关功能。如果没有现成的函数,我们可能就需要自己写函数,然后在我们的程序里调用,以实现相关功能。比如程序想实现在屏幕上输出一句话的功能,就可以直接调用printf函数,并且把要输出的这句话告诉给printf函数,该功能即可实现。但比如程序想实现对一组数字从小到大排序的功能,就没有现成的函数可以调用,需要自己写一个可以实现排序功能的函数,然后调用排序函数并把要排序的这一组数字告诉排序函数,它就能帮你把这组数字排好顺序。
介绍另一个概念——库函数,首先库函数也是函数,库函数是把大家最常用的函数都写好放到一个文件里面,供大家使用的一种方式,库函数所在的文件叫做库文件,如果程序需要使用库函数,那么程序就要把相关的库加载到自己的程序中。比如printf函数就是一个库函数,它被放在stdio.h这个库文件里面,因此如果我们想使用printf函数,就需要在我们的程序里加载stdio.h文件。
这样我们前面的HelloWorld程序第一行代码就可以解释清楚——加载库函数文件stdio.h。C语言中,加载库函数文件的格式如下:
#include<stdio.h> #include<string.h> #include<math.h>
上面三行代码演示了加载库文件的格式,三行代码分别加载了三个库函数文件,第一个文件stdio.h大家已经见过了,stdio是“standard buffered input&output (带缓冲的标准输入输出)”的缩写,即这个文件里面放的都是和输入输出相关的函数。第二个库文件叫string.h,string,即字符串,所以这个库文件里面放的函数都是和字符串处理相关的函数。第三个库文件math.h,猜也能猜到这里面放了一堆和数学相关的函数,比如要对一个数开方,取绝对值等一些操作就可以用这个库里面的函数。
Part_2.2.2:用printf函数输出字符串
printf函数的基础用法就是在屏幕上输出字符串,看如下两行代码,猜一下它的执行结果是什么。
#include <stdio.h> int main(void) { printf("Hello world!") printf(用printf函数输出字符串"); reutrn 0; }
这应该很好猜吧,当然猜完也要去写一遍验证一下,执行结果如下:
Hello world!用printf函数输出字符串
这段程序告诉告诉我们:printf函数输出的内容即可以是英文字符,也可以是中文字符。
但是上面的输出结果并不是很好看,我们更多时候希望第一次printf输出的内容显示在第一行,第二次用printf函数时输出内容显示在第二行,即我们希望输出是下面这样的格式:
Hello world! 用printf函数输出字符串
为此,我们要学习一个新的东西——回车换行(‘\n’)。
尝试运行一下下面的代码(建议最好不要复制这里的代码,而是自己从头敲一遍):
#include <stdio.h> int main(void) { printf("Hello world!\n") printf(用printf函数输出字符串"); reutrn 0; }
还可以再试试下面的两段代码:
#include <stdio.h> int main(void) { printf("Hello world!\n\n"); printf("Hello world!"); return 0; }
#include <stdio.h> int main(void) { printf("Hello world!\nHello world!\nHello world!\n"); return 0; }
我就不贴出来结果了,自己对比一下源代码和运行结果,就应该能发现'\n'在的代码中的作用就是将光标移动到下一行的开始位置继续输出剩余内容。上面两段你代码应该没什么难度。
来看一下下面这个有点变态的程序:
#include <stdio.h> int main(void) { printf("n\nnn\nnnn\nnnnn\nnnnnn\n"); return 0; }
执行结果如下图:
注意红色方框圈出来的部分,表示五个换行符('\n'),其余的字符‘n’都是输出内容了,这段程序主要是想说明编译器是如何识别换行符和普通的字符'n'的——编译器是靠反斜线来区分的,如果printf函数双引号中出现了一个反斜线(‘\’),那编译器就会看下一个字符是不是‘n’,如果是的话,那么编译器就知道在这里要换行了。
小结一下回车换行符('\n')相关内容:
(1)回车换行符用在printf函数中,用于对输出内容的换行进行控制,一个'\n'换一行,两个'\n'换两行。
(2)回车换行符可以出现在printf函数的双引号中的任意位置,其作用都是换行。
Part_2.3 printf函数的练习
1.用printf函数输出如下内容:
* ** *** **** *****
如果理解了上面那个输出一对字母n的程序,那这个程序应该不是问题吧,答案如下,给出两种解:
#include <stdio.h> int main(void) { printf("*\n**\n***\n****\n*****\n"); return 0; }
#include <stdio.h> int main(void) { printf("*\n"); printf("**\n"); printf("***\n"); printf("****\n"); printf("*****\n"); return 0; }
-
【学习笔记】KEIL中C51printf函数的用法
2018-01-04 16:11:17博客搬家,原贴日期:2015-02-27 C51中printf函数通过调用putchar函数实现串口打印, 部分代码如下: while (!...因此,在使用printf函数时需要先将TI置1再使用printf函数发送数据 ...同时,printf函数参数的使博客搬家,原贴日期:2015-02-27
C51中printf函数通过调用putchar函数实现串口打印,
部分代码如下:while (!TI);
TI = 0;
return (SBUF = c);它会等待TI置位之后才真正发送数据;
因此,在使用printf函数时需要先将TI置1再使用printf函数发送数据
同时,printf函数参数的使用略有不同:%d-->%bd(没搞懂为什么这么奇葩)
即:
TI = 1;
printf("Test : %bd\n",78);
TI = 0;
-
matlab在终端显示有颜色的字(cprintf函数的用法)
2012-05-15 08:50:05我们知道在matlab中显示文字用display,但它显示出来的颜色默认是黑色字体,我们要相在终端显示有颜色的字体怎么办呢? 有以下两种方法供参考: 1.... >>fprintf(2,'红颜色\n') ...用cprintf函数,这是国外的我们知道在matlab中显示文字用display,但它显示出来的颜色默认是黑色字体,我们要相在终端显示有颜色的字体怎么办呢?
有以下两种方法供参考:
1.用fprintf函数如下:
>>fprintf(2,'红颜色\n')
红颜色
不过它有个缺点是只能显示这种error的红颜色
2.用cprintf函数,这是国外的一个叫Yair M. Altman的人写的程序,它的博客地址为:
这个函数的下载地址为:(下载后将放入当前程序运行目录下就可以调用了)
它的用法我来简单翻译一下:
语法: count = cprintf(style,format,...)
描述: CPRINTF 用指定格式(style)来处理指定的文档
可用的格式名为
'Text' -- 默认:黑色black
'Keywords' -- 默认:蓝色 blue
'Comments' -- 默认:绿色green
'Strings' -- 默认:紫色 purple
'UnterminatedStrings' -- 默认:暗红 dark red
'SystemCommands' -- 默认:橘色 orange
'Errors' -- 默认:淡红 lightred
'Hyperlinks' -- 默认:带下划线的蓝色underlined blue
其他颜色如下
'Black','Cyan','Magenta','Blue','Green','Red','Yellow','White'
注意: 以'-'开始的是下划线,例如:
'-Blue' 是蓝色的下划线,与'Hyperlinks'相似
STYLE 也接受通用的RGB向量做为参数,在它前面加负号,表示下划线,例如:
-[0,1,1]表示带下划线的蓝绿色cyan
STYLE 不区分大小写 (case-insensitive),接受唯一的部分字符串
一些实用例子:
附原文帮助文件:
或参照http://www.mathworks.com/matlabcentral/fileexchange/24093
% CPRINTF displays styledformatted text in the Command Window
%
% Syntax:
% count = cprintf(style,format,...)
%
% Description:
% CPRINTF processes the specified text usingthe exact same FORMAT
% arguments accepted by the built-in SPRINTFand FPRINTF functions.
%
% CPRINTF then displays the text in theCommand Window using the
% specified STYLE argument. The acceptedstyles are those used for
% Matlab's syntax highlighting (see: File /Preferences / Colors /
% M-file Syntax Highlighting Colors), andalso user-defined colors.
%
% The possible pre-defined STYLE names are:
%
% 'Text' - default: black
% 'Keywords' - default: blue
% 'Comments' - default: green
% 'Strings' - default: purple
% 'UnterminatedStrings' - default: dark red
% 'SystemCommands' - default: orange
% 'Errors' - default: light red
% 'Hyperlinks' - default: underlined blue
%
% 'Black','Cyan','Magenta','Blue','Green','Red','Yellow','White'
%
% Note: styles beginning with '-' will beunderlined. For example:
% '-Blue' is underlined blue, like'Hyperlinks';
% '-Comments' is underlined green etc.
%
% STYLE also accepts a regular Matlab RGBvector, that can be negated
% for underlining. For example: -[0,1,1]means underlined cyan.
%
% STYLE is case-insensitive and acceptsunique partial strings just
% like handle property names.
%
% CPRINTF by itself, without any inputparameters, displays a demo
%
% Example:
% cprintf; % displays the demo
% cprintf('text', 'regular black text');
% cprintf('hyper', 'followed %s','by');
% cprintf('k', '%d colored', 4);
% cprintf('-comment','& underlined');
% cprintf('err', 'elements\n');
% cprintf('cyan', 'cyan');
% cprintf('-green', 'underlined green');
% cprintf(-[1,0,1], 'underlined magenta');
% cprintf([1,0.5,0],'and multi-\nlineorange\n');
% cprintf('string'); % same as fprintf('string') andcprintf('text','string')
-
printf函数的基本用法
2016-04-12 22:12:03加上对C中的输出不太了解,故特此整理printf函数的用法。 printf函数称为格式输出函数,其关键字最末一个字母f即为“格式”(format)之意。其功能是按用户指定的格式,把指定的数据显示到显示器屏幕上。 printf...感想:感觉自己太懒惰,不太适合C++中关于控制格式符<iomanip>的用法。加上对C中的输出不太了解,故特此整理printf函数的用法。
printf函数称为格式输出函数,其关键字最末一个字母f即为“格式”(format)之意。其功能是按用户指定的格式,把指定的数据显示到显示器屏幕上。
printf函数调用的一般形式
printf函数是一个标准库函数,它的函数原型在头文件“stdio.h”中。但作为一个特例,不要求在使用 printf 函数之前必须包含stdio.h文件。printf函数调用的一般形式为:
printf(“格式控制字符串”, 输出表列)
其中格式控制字符串用于指定输出格式。格式控制串可由格式字符串和非格式字符串两种组成。格式字符串是以%开头的字符串,在%后面跟有各种格式字符,以说明输出数据的类型、形式、长度、小数位数等。如:- “%d”表示按十进制整型输出;
- “%ld”表示按十进制长整型输出;
- “%c”表示按字符型输出等。
非格式字符串原样输出,在显示中起提示作用。输出表列中给出了各个输出项,要求格式字符串和各输出项在数量和类型上应该一一对应。格式字符串
在Turbo C中格式字符串的一般形式为:
[标志][输出最小宽度][.精度][长度]类型。
其中方括号[]中的项为可选项。
各项的意义介绍如下。
1) 类型
类型字符用以表示输出数据的类型,其格式符和意义如下表所示:格式字符 意义 d 以十进制形式输出带符号整数(正数不输出符号) o 以八进制形式输出无符号整数(不输出前缀0) x,X 以十六进制形式输出无符号整数(不输出前缀Ox) u 以十进制形式输出无符号整数 f 以小数形式输出单、双精度实数 e,E 以指数形式输出单、双精度实数 g,G 以%f或%e中较短的输出宽度输出单、双精度实数 c 输出单个字符 s 输出字符串
标志字符为 -、+、# 和空格四种,其意义下表所示:标 志 意义 - 结果左对齐,右边填空格 + 输出符号(正号或负号) 空格 输出值为正时冠以空格,为负时冠以负号 # 对c、s、d、u类无影响;
对o类,在输出时加前缀o;
对x类,在输出时加前缀0x;
对e、g、f 类当结果有小数时才给出小数点。
3) 输出最小宽度
用十进制整数来表示输出的最少位数。若实际位数多于定义的宽度,则按实际位数输出,若实际位数少于定义的宽度则补以空格或0。
4) 精度
精度格式符以“.”开头,后跟十进制整数。本项的意义是:如果输出数字,则表示小数的位数;如果输出的是字符,则表示输出字符的个数;若实际位数大于所定义的精度数,则截去超过的部分。
5) 长度
长度格式符为h、l两种,h表示按短整型量输出,l表示按长整型量输出。
- #include<stdio.h>
- #include<string.h>
- int main()
- {
- char c, s[20];
- int a=1234;
- float f=3.141592653589;
- double x=0.12345678912345678;
- strcpy(s, "Hello,World");
- c='\x41';
- printf("a=%d\n", a);//按照十进制整数格式输出,显示 a=1234
- printf("a=%d%%\n", a);//输出%号 结果 a=1234%
- printf("a=%6d\n", a);//输出6位十进制整数 左边补空格,显示 a= 1234
- printf("a=%06d\n", a);//输出6位十进制整数 左边补0,显示 a=001234
- printf("a=%2d\n", a);//a超过2位,按实际输出 a=1234
- printf("a=%-6d\n", a);///输出6位十进制整数 右边补空格,显示 a=1234
- printf("f=%f\n", f);//浮点数有效数字是7位,结果 f=3.141593
- printf("f=6.4f\n", f);//输出6列,小数点后4位,结果 f=3.1416
- printf("x=%lf\n", x);//输出长浮点数 x=0.123457
- printf("x=%18.16lf\n", x);//输出18列,小数点后16位,x=0.1234567891234567
- printf("c=%c\n", c); //输出字符 c=A
- printf("c=%x\n", c);//以十六进制输出字符的ASCII码 c=41
- printf("s[]=%s\n", s);//输出数组字符串s[]=Hello,World
- printf("s[]=%6.9s\n", s);//输出最多9个字符的字符串 s[]=Hello,Wor
- return 0;
- }
#include<stdio.h> #include<string.h> int main() { char c, s[20]; int a=1234; float f=3.141592653589; double x=0.12345678912345678; strcpy(s, "Hello,World"); c='\x41'; printf("a=%d\n", a);//按照十进制整数格式输出,显示 a=1234 printf("a=%d%%\n", a);//输出%号 结果 a=1234% printf("a=%6d\n", a);//输出6位十进制整数 左边补空格,显示 a= 1234 printf("a=%06d\n", a);//输出6位十进制整数 左边补0,显示 a=001234 printf("a=%2d\n", a);//a超过2位,按实际输出 a=1234 printf("a=%-6d\n", a);///输出6位十进制整数 右边补空格,显示 a=1234 printf("f=%f\n", f);//浮点数有效数字是7位,结果 f=3.141593 printf("f=6.4f\n", f);//输出6列,小数点后4位,结果 f=3.1416 printf("x=%lf\n", x);//输出长浮点数 x=0.123457 printf("x=%18.16lf\n", x);//输出18列,小数点后16位,x=0.1234567891234567 printf("c=%c\n", c); //输出字符 c=A printf("c=%x\n", c);//以十六进制输出字符的ASCII码 c=41 printf("s[]=%s\n", s);//输出数组字符串s[]=Hello,World printf("s[]=%6.9s\n", s);//输出最多9个字符的字符串 s[]=Hello,Wor return 0; }
<iomanip>中函数控制符的例子:
cout<<setw(10)<<setprecision(4)<<7.5641<<endl;//输出宽度为10,精度为4,保留小数点后三位,输出为7.564
控制符 功能 sefill(char a) 设置填充符 setprecision(int n) 精确小数点 setw(int n) 设置输出宽度 -
[C] printf函数用法详解
2016-07-06 23:42:30针对C语言的printf函数的用法详解 -
printf函数与snprintf函数的用法
2019-12-10 18:44:14看起来和printf函数很像啊= - =有啥关系呢? 来对比一下: int printf(const char *format, ...) 不用多解释了叭= - = 第一个参数format是我们的打印形式,第二个参数是我们要带入到第一个参数中的变量... -
printf函数的趣味用法---输出彩色界面
2017-02-08 22:07:19简单介绍一下,printf函数的用法 如何用printf打印信息我就不介绍了,我相信大家都很熟息了吧,就来讲讲如何打印出来的信息富有色彩 格式: printf("\033[字背景颜色;字体颜色m字符串\033[0m" ); printf... -
scanf函数与printf函数用法
2019-09-25 05:22:03一开始学习就是用的cin、cout,所有习惯用这个,但是后来做题发现这样的输入方式有弊端,所以决定整理熟悉一下scanf函数与printf函数。 头文件 # include <stdio.h> scanf("输入控制符",输入参数) ... -
printf函数用法小记
2017-08-26 10:56:00C语言中printf函数是一个比较常用的函数,但是常用并不代表完全了解,本文翻译了printf的man手册,介绍了其全部功能(不包括man手册中不建议使用的)。 printf – 格式化输出转换 概述 #include <stdio.h>... -
php中sprintf与printf函数用法区别解析
2020-10-26 06:41:34主要介绍了php中sprintf与printf函数用法区别解析,需要的朋友可以参考下 -
单片机sprintf函数的用法_单片机中printf函数的运用
2020-12-22 16:00:3051中printf使用注意C51标准串口发送程序(已C8051F120为例,注意C8051F120特殊功能寄存器是分页的)/***********************************************************函数名称:send_char_com函数功能:向串口发送一字节... -
C语言基础知识(1): printf函数用法
2020-04-02 20:34:51printf 函数功能:按用户指定格式,将指定的内容输出到显示器上。 printf 函数是一个标准库函数,它的函数原型在头文件“stdio.h”中。...printf函数三种基本用法如下: printf(“字符串\n”); //用法1 printf... -
printf函数的另一用法
2015-10-16 21:43:25思考:如果printf函数里面控制输出的一句话里包含数字,我想让这些数字随着我的输入数值而打印什么,怎么做? 例: printf("数字1= , 数字2= "); 我想让两个等号后面的两个数字,是由我填多少就打印多少,怎么做? ... -
实例详解printf函数用法
2016-03-15 20:38:07使用printf打印时发现, 如果数据类型和打印使用的类型不一致, 结果就是混乱的. 这是因为printf本身并不进行数据的类型转换, 他只是把输入按照给定的数据格式输出, 如果二者不匹配, 那么由于不同数据类型的二进制... -
printf()函数的用法
2017-09-24 14:14:28printf()函数的用法 1.printf()函数的调用格式为: printf("",); A格式化字符串包括两部分内容: 一部分是正常字符, 这些字符将按原样输出; 另一部分是格式化规定字符, 以"%"开始, 后跟一个或几个规定字符, ... -
scanf函数的用法_ios从入门到放弃之C基础巩固printf函数、scanf函数、scanf函数实现原理...
2020-12-08 09:05:37printf函数:继续IOS的C基础之旅,对于printf函数来说应该都非常之熟了,除了C有这个函数外,像Koltin也是有它,这里还是对它进行一个梳理,它里面的有些细节如果未来忘了回来也可以查询一下,很简单但是有必要把它... -
printf函数的详细用法以及整型数据的相关详细分析
2020-05-16 11:26:44printf函数的详细用法 printf函数的通式语法 printf(“输出框架*格式化设置”,附加参数)接下来就是详细解释各个的部分使用 输出框架 比如 printf(“Hello, world!\n”)中,就只用到了「输出框架」这一个参数。 格式... -
关于VC++中printf函数用法的一些记录
2015-06-06 10:36:19一个很简单的程序,对高手来说,很小白,不过对自己来说,感觉还是值得记录下来的。 先上程序: // testdemo.cpp : 定义控制台应用程序的入口点。 #include "stdafx.h" #include using namespace std; int _... -
C++中printf()函数的用法10-2
2020-04-13 11:25:30在《C++中printf()函数的用法1》中提到printf()函数的格式中的format,可以是普通的字符串、转义序列或者是格式标准,并且介绍了当format是普通的字符串、转义序列时的用法。 intprintf( constchar*format [, ... -
fprintf sprintf printf函数用法及区别
2017-05-03 20:32:17 1: fprintf() #include ...fprintf()函数根据指定的format(格式)发送信息(参数)到由stream(流)指定的文件.因此fprintf()可以使得信息输出到指定的文件.比如 char name[20] = "Mary"; F -
C语言中 v...printf类函数的用法
2016-01-17 16:16:00C语言的自学渐渐接近尾声,今天学到了标准库中的stdarg.h头,里面关联了stdio.h头里面的一类函数:v...printf函数,里面举的例子看了之后还是不太明白,google了一下依旧不是很懂,所以自行测试了一下,以下是过程:... -
C++中printf()函数的用法5
2020-04-20 12:01:18printf()函数的type是%n时,不是表示打印数据,而是将打印信息的数量保存到指定的变量中,需要注意的是,在printf()函数中使用%n时,其对应的参数是变量的地址。 1 打开%n的开关 当printf()使用%n时,会有不安全的...