asp.net网站开发源码,北京企业宣传片制作公司,企业如何进行品牌推广,我的家乡网页制作代码之前我们使用 puts 来输出字符串。puts 是 output string 的缩写#xff0c;只能用来输出字符串#xff0c;不能输出整数、小数、字符等#xff0c;我们需要用另外一个函数#xff0c;那就是 printf。
printf 比 puts 更加强大#xff0c;不仅可以输出字符串#xff0c;…之前我们使用 puts 来输出字符串。puts 是 output string 的缩写只能用来输出字符串不能输出整数、小数、字符等我们需要用另外一个函数那就是 printf。
printf 比 puts 更加强大不仅可以输出字符串还可以输出整数、小数、单个字符等并且输出格式也可以自己定义例如 以十进制、八进制、十六进制形式输出要求输出的数字占 n 个字符的位置控制小数的位数。**printf 是 print format 的缩写意思是“格式化打印”。**这里所谓的“打印”就是在屏幕上显示内容与“输出”的含义相同所以我们一般称 printf 是用来格式化输出的。
示例
printf(今天天气晴朗);这个语句可以在屏幕上显示“今天天气晴朗”与puts(“今天天气晴朗”);的效果类似。
输出变量 abc 的值
int abc333;
printf(%d, abc);这里就比较有趣了。先来看%dd 是 decimal 的缩写意思是十进制数%d 表示以十进制整数的形式输出。输出什么呢输出变量 abc 的值。%d 与 abc 是对应的也就是说会用 abc 的值来替换 %d。
下面我们来看个复杂点的
int abc999;
printf(The value of abc is %d !, abc);会在屏幕上显示
The value of abc is 999 !字符串 “The value of abc is %d !” 中的 %d 被替换成了 abc 的值其他字符没有改变。这说明 %d 比较特殊不会原样输出会被替换成对应的变量的值。
再来看
int a100;
int b200;
int c300;
printf(a%d, b%d, c%d, a, b, c);会在屏幕上显示
a100, b200, c300再次证明了 %d 与后面的变量是一一对应的第一个 %d 对应第一个变量第二个 %d 对应第二个变量……
%d称为格式控制符它指明了以何种形式输出数据。格式控制符均以%开头后跟其他字符。%d 表示以十进制形式输出一个整数。除了 %dprintf 支持更多的格式控制例如 %c输出一个字符。c 是 character 的简写。%s输出一个字符串。s 是 string 的简写。%f输出一个小数。f 是 float 的简写。printf 支持更加复杂和优美的输出格式。
我们的完整程序
#include stdio.h
int main()
{int n 100;char c ; //字符用单引号包围字符串用双引号包围float money 93.96;printf(n%d, c%c, money%f\n, n, c, money);return 0;
}输出结果
n100, c, money93.959999程序解析 1 . \n是一个整体组合在一起表示一个换行字符。换行符是 ASCII 编码中的一个控制字符无法在键盘上直接输入只能用这种特殊的方法表示被称为转义字符。 所谓换行就是让文本从下一行的开头输出相当于在编辑 Word 或者 TXT 文档时按下回车键。puts 输出完成后会自动换行而 printf 不会要自己添加换行符这是 puts 和 printf 在输出字符串时的一个区别。
2 . //后面的为注释。注释用来说明代码是什么意思起到提示的作用可以帮助我们理解代码。注释虽然也是代码的一部分但是它并不会给程序带来任何影响编译器在编译阶段会忽略注释的内容或者说删除注释的内容。
3 . money 的输出值并不是 93.96而是一个非常接近的值这与小数本身的存储机制有关这种机制导致很多小数不能被精确地表示即使像 93.96 这种简单的小数也不行。
我们不用变量将数据直接输出
#include stdio.h
int main()
{float money 93.96;printf(n%d, c%c, money%f\n, 100, , money);return 0;
}输出结果与上面相同。
编程中我们会经常使用 printf说它是C语言中使用频率最高的一个函数一点也不为过。
%ds输出什么
%d 输出整数%s 输出字符串那么 %ds 输出什么呢
示例
#include stdio.h
int main()
{int a5555;printf(a%ds\n, a);return 0;
}运行结果
a5555s从输出结果可以发现%d被替换成了变量 a 的值而s没有变原样输出了。这是因为 %d才是格式控制符%ds在一起没有意义s仅仅是跟在%d后面的一个普通字符所以会原样输出。
那么如何在字符串中书写长文本 假设现在我们要输出一段比较长的文本它的内容为 我们说的是汉语是“中国语言”只要把我们的需求告诉父母父母就会满足我们用“中国语言”来控制父母让父母做我们喜欢的事情。如果将这段文本放在一个字符串中会显得比较臃肿格式也不好看就像下面这样
当文本超出编辑窗口的宽度时可以选择将文本换行也可以选择将文本隐藏可以在编辑器里面自行设置但是不管哪种形式在一个字符串里书写长文本总是不太美观。
当然你可以多写几个 puts 函数就像下面这样
我不否认这种写法也比较美观但是这里我要讲的是另外一种写法 #include stdio.h int main() { puts( “我们说的是汉语是“中国语言”只要把我们的需求告诉父母” “父母就会满足我们用“中国语言”来控制父母” “让父母做我们喜欢的事情。” ); return 0; } 在 puts 函数中可以将一个较长的字符串分割成几个较短的字符串这样会使得长文本的格式更加整齐。
注意这只是形式上的分割编译器在编译阶段会将它们合并为一个字符串它们放在一块连续的内存中。
多个字符串并不一定非得换行也可以将它们写在一行中例如 #include stdio.h int main() { puts(“今天” “明天” “后天”); return 0; }
我们所说的 puts、printf以及 fprintf、fputs 等与字符串输出有关的函数都支持这种写法。
如果感觉不错请点赞哟