C语言入门----输出语句

原创 2015年10月31日 13:53:43
  1. printf中的字符包括以下三种:以%开头的格式控制字符,以\开头的转义字符,普通字符。
  2. 双引号中出现一个%,后面一定要跟随一个输出常量,变量或表达式。
  3. 两个连续的%表示输出一个%。
  4. 一旦出现格式控制字符和转义字符,它们立即会寻找后面紧跟着的字符进行组合,但是它们前面的算普通字符。如:
    printf("a,%c\n",t);
    %c只能算一个字符,它会输出t中的字符。\n又算一个字符,它会输出回车。而前面的”a,”只能算普通字符,会原样输出。
  5. 在格式控制串中,格式说明与输出项从左到右在类型上必须一一对应匹配。如果不匹配,数据不能正确输出,这时系统并不报错。如:
    printf("%d,%d",i);
    因为只有一个参数,第二个%d会输出一个乱码。
  6. %m.nf指定输出的数据共有m位,其中有n位小数。如果数值长度小于m,则左端补空格;如果长度超过m,原样输出。%-m.nf与%m.nf基本相同,只是使输出的数值向左端靠,右端补空格。
  7. 用f或lf格式打印浮点数时,系统会自动四舍五入。
  8. 格式控制符除了X,E,G外,其他字符必须用小写字母。
  9. 原本字符常量只能是一个字符,但是因为有些字符看不见或不好表达,所以特殊的字符常量可以是多个字符,它们以\开头后面跟着其他字符,这也叫转义字符。
    下面是C语言中的所有转义字符:
    \n 回车换行
    \t 横向跳格(Tab键)
    \v 竖向跳格(打印机专用)
    \r 回车
    \f 换页(打印机专用)
    \b 退格(BackSpace键)
    \\ 反斜杠 \
    \’单引号 ’
    \”双引号 ”
    \ddd以八进制形式代表的ASCII字符
    \xhh以十六进制形式代表的ASCII字符
    \0空值
    printf("%c",'\x41')
    会输出字符A。
  10. 格式控制字符“%”只能在printf和scanf中使用,而转义字符“\”可以用在所有字符和字符串处理函数中。
  11. 转义字符会娶后面所有符合条件的字符,并且只取一次,就失去作用,后面的都按普通字符输出。如:\x41n会输出An。
#include <stdio.h>
int main()
{
    long FmtLong=99999999;              /*长整型*/
    double FmtDouble=88888888.88888888; /*双精度数*/
    int FmtInt1=3,FmtInt2=4;            /*两个普通整型*/

    /*整数输出*/
    printf("输出整数:");
    printf("%d\n",13);              /*输出整数*/

    printf("输出整数:");
    printf("%i\n",-13);             /*输出整数*/

    printf("输出无符号整数:");
    printf("%u\n",+13);             /*输出无符号整数*/

    printf("输出单个字符:");
    printf("%c\n",'X');             /*输出单个字符*/

    printf("输出长整型:");
    printf("%ld\n",FmtLong);        /*输出长整型*/

    printf("以16进制输出整数,没有正负数:");
    printf("%x\n",13);              /*以16进制输出整数,没有正负数*/

    printf("以8进制输出整数,没有正负数:");
    printf("%o\n",13);              /*以8进制输出整数,没有正负数*/

    /*控制输出*/
    printf("控制宽度输出,左端补空格:");
    printf("%3d\n",13);             /*控制宽度输出,左端补空格*/

    printf("控制宽度输出:");
    printf("%2d\n",1234);           /*控制宽度输出*/

    printf("控制宽度输出也适用于长整型:");
    printf("%2ld\n",FmtLong);       /*控制宽度输出也适用于长整型*/

    printf("格式串后面的字符为普通字符:");
    printf("%2ld3\n",FmtLong);      /*格式串后面的字符为普通字符*/

    /*浮点输出*/
    printf("\n");                   /*输出一个换行*/

    printf("输出浮点数:");
    printf("%f\n",100.33);          /*输出浮点数*/

    printf("以指数形式输出浮点数:");
    printf("%e\n",100.33);          /*以指数形式输出浮点数*/

    printf("以指数形式输出浮点数:");
    printf("%E\n",100.33);          /*以指数形式输出浮点数*/

    printf("由系统决定采用f还是e格式输出:");
    printf("%g\n",100.33);          /*由系统决定采用%f还是%e格式输出*/

    printf("输出长浮点型:");
    printf("%lf\n",FmtDouble);      /*输出长浮点型*/

    printf("控制有效位数,左端补空格:");
    printf("%8.1fok\n",100.33);     /*控制有效位数,左端补空格*/

    printf("控制有效位数,右端补空格:");
    printf("%-8.1fok\n",100.33);    /*控制有效位数,右端补空格*/

    /*特殊输出*/
    printf("输出一个换行:");
    printf("\n");                   /*输出一个换行*/

    printf("输出一个百分号:");
    printf("%%\n");                 /*输出一个百分号*/

    /*字符串输出*/
    printf("用变量方式输出字符串:");
    printf("%s\n","诸葛亮出山前也没带过兵啊,你们凭啥要我有工作经验");  /*用变量方式输出字符串*/

    printf("原样输出字符串:");
    printf("诸葛亮出山前也没带过兵啊,你们凭啥要我有工作经验\n");       /*原样输出字符串*/

    printf("混合输出:");
    printf("诸葛亮出山前也没带过兵啊,%s\n","你们凭啥要我有工作经验");  /*混合输出*/

    /*综合输出*/
    printf("同时输出好几个数据:");
    printf("%ld,%lf\n",FmtLong,FmtDouble);      /*同时输出好几个数据*/

    printf("直接输出结果:");
    printf("%d\n",FmtInt1*FmtInt2);             /*直接输出结果*/

    printf("用漂亮的格式输出结果:");
    printf("%d*%d=%d\n",FmtInt1,FmtInt2,FmtInt1*FmtInt2);   /*用漂亮的格式输出结果*/
    return 0;
}

运行结果
这里写图片描述

转义字符的使用

#include <stdio.h>
int main()
{
    printf("没有转义字符:");
    printf("abc");          /*没有转义字符*/
    printf("d");
    printf("\n");

    printf("回车:");
    printf("abc\r");        /*回车\r */
    printf("d");
    printf("\n");

    printf("退格:");
    printf("abc\b");        /*退格\b */
    printf("d");
    printf("\n");

    printf("竖向跳格只作用在打印机上,这里是乱码:");
    printf("abc\v");        /*竖向跳格只作用在打印机上,这里是乱码\v\f */
    printf("d");
    printf("\n");

    printf("引号和右斜杠只能用转义字符输出:");
    printf("\\\n");
    printf("\'\n");

    printf("空字符\n:");
    printf("\0\0\0");       /*什么也不干*/

    printf("用ASCII码输出:");
    printf("\101\n");       /*用八进制输出ASCII码*/
    printf("\x42\n");       /*用十六进制输出ASCII码*/

    printf("制表符演示:\n");
    printf("%d\t%d\t%d\t\n",1,2,3);
    printf("%d\t%d\t%d\t\n",10,20,30);
    printf("%d\t%d\t%d\t\n",9999,200,333);

    printf("-------------------------\n");
    printf("│ %d\t│ %d\t│ %d\t│\n",1,2,3);
    printf("-------------------------\n");
    printf("│ %d\t│ %d\t│ %d\t│\n",10,20,30);
    printf("-------------------------\n");
    printf("│ %d\t│ %d\t│ %d\t│\n",9999,200,333);
    printf("-------------------------\n");
    return 0;
}

运行结果
这里写图片描述

相关文章推荐

C语言基础——%X(十六进制)的几种不同输出格式

十六进制的输出格式控制符

《C语言及程序设计》实践参考——输出小星星(全解)

返回:贺老师课程教学链接  项目要求(1)要输出的是:代码:#include int main( ) { int i,j,n=6; for(i=n;i...

有关C语言中输入语句的问题

在C语言中输入的方法为scanf("");但是有些同学会出现一些问题常常使得在输入后程序无法继续运行或者根本就无法输入。这里列出一些我曾经遇见过得问题。 1. 输入语句为:scanf("a=...

C语言打印自己

今天在网上看到了一个C语言趣味小程序:打印自身代码。程序代码如下: 1 char*s="char*s=%c%s%c;main(){printf(s,34...

打印内存的c语言实现

有很多时候,特别是linux服务端开发程序是,需要看内存块的信息,网上搜到的一个现成的代码,用了不错,记一下! void HexDump(char *buf,int len,int addr) { ...

使用C语言打印月历

使用C语言打印月历打印日历应该是程序员入门时候的一个基础练习。打印一年的日历有许多不同的实现,我这里提一个可以实现的方法。首先需要确定该年是闰年还是平年,闰年的二月是29天,全年是366天;平年二月是...
  • calkee
  • calkee
  • 2016年01月16日 16:39
  • 2723

C语言 打印*号金字塔~~~

#include int main() {  int n,i,x,y;  while(scanf("%d",&n)!=EOF)  {   for(i=1;i   {    for(x=1;x    ...

C语言数据输入与输出

C语言数据输入与输出

c语言printf()输出格式大全

转载自:http://www.cnblogs.com/tureno/articles/3630689.html 1.转换说明符       %a(%A)     浮点数、十六进制数字和p-(P-)记...

C语言的基本输入与输出函数(全解)

C语言的基本输入与输出函数 1.1.1 格式化输入输出函数   Turbo C2.0 标准库提供了两个控制台格式化输入、 输出函数printf() 和scanf(), 这两个函数可以在标准输入输出设备...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C语言入门----输出语句
举报原因:
原因补充:

(最多只允许输入30个字)