C语言中printf输出问题

作者&投稿:播变 (若有异议请与网页底部的电邮联系)
c语言问题,关于printf语句的输出~

  printf函数是一个标准库函数,它的函数原型在头文件“stdio.h”中。但作为一个特例,不要求在使用 printf 函数之前必须包含stdio.h文件。printf函数调用的一般形式为: printf(“格式控制字符串”, 输出表列),其中格式控制字符串用于指定输出格式。格式控制串可由格式字符串和非格式字符串两种组成。格式字符串是以%开头的字符串,在%后面跟有各种格式字符,以说明输出数据的类型、形式、长度、小数位数等。如:
  “%d”表示按十进制整型输出;
  “%ld”表示按十进制长整型输出;
  “%c”表示按字符型输出等。
   非格式字符串原样输出,在显示中起提示作用。输出表列中给出了各个输出项,要求格式字符串和各输出项在数量和类型上应该一一对应。

  看下面例子:
  #include
  int main(void)
  {
  int a=88,b=89;
  printf("%d %d
",a,b);
  printf("%d,%d
",a,b);
  printf("%c,%c
",a,b);
  printf("a=%d,b=%d",a,b);
  return 0;
  }
  本例中四次输出了a、b的值,但由于格式控制串不同,输出的结果也不相同。第3行的输出语句格式控制串中,两格式串%d 之间加了一个空格(非格式字符),所以输出的a、b值之间有一个空格。第4行的printf语句格式控制串中加入的是非格式字符逗号,因此输出的a、b值之间加了一个逗号。第5行的格式串要求按字符型输出a、b值。第6行中为了提示输出结果又增加了非格式字符串。
  
  在Turbo C中格式字符串的一般形式为: [标志][输出最小宽度][.精度][长度]类型。其中方括号[]中的项为可选项。
    1) 类型:类型字符用以表示输出数据的类型,其格式符和意义如下表所示:

  格式字符 意义

  d 以十进制形式输出带符号整数(正数不输出符号)
  o 以八进制形式输出无符号整数(不输出前缀0)
  x,X 以十六进制形式输出无符号整数(不输出前缀Ox)
  u 以十进制形式输出无符号整数
  f 以小数形式输出单、双精度实数
  e,E 以指数形式输出单、双精度实数
  g,G 以%f或%e中较短的输出宽度输出单、双精度实数
  c 输出单个字符
  s 输出字符串
  
  2) 标志:标志字符为 -、+、# 和空格四种,其意义下表所示:

  标 志 意义

  - 结果左对齐,右边填空格
  + 输出符号(正号或负号)
  空格 输出值为正时冠以空格,为负时冠以负号
   ( 对c、s、d、u类无影响; 对o类,在输出时加前缀o; # 对x类,在输出时加前缀0x; 对e、g、f 类当结果有小数时才给出小数点。)
3) 输出最小宽度:用十进制整数来表示输出的最少位数。若实际位数多于定义的宽度,则按实际位数输出,若实际位数少于定义的宽度则补以空格或0。 4) 精度:精度格式符以“.”开头,后跟十进制整数。本项的意义是:如果输出数字,则表示小数的位数;如果输出的是字符,则表示输出字符的个数;若实际位数大于所定义的精度数,则截去超过的部分。 5) 长度:长度格式符为h、l两种,h表示按短整型量输出,l表示按长整型量输出。
 
 看下面例子:
  #include
  int main(void){
  int a=15;
  long float b=123.1234567;
  double c=12345678.1234567;
  char d='p';
 printf("a=%d
", a);
  printf("a(%%d)=%d, a(%%5d)=%5d, a(%%o)=%o, a(%%x)=%x

",a,a,a,a); // %% 可以输出 %
 printf("a=%f
", b);
  printf("b(%%f)=%f, b(%%lf)=%lf, b(%%5.4lf)=%5.4lf, b(%%e)=%e

",b,b,b,b);
  printf("c=%f
", c);
  printf("c(%%lf)=%lf, c(%%f)=%f, c(%%8.4lf)=%8.4lf

",c,c,c);
  printf("d=%c
", d);
  printf("d(%%c)=%c, d(%%8c)=%8c
",d,d);
  return 0;
  }
  运行结果为:

  本例中:第11行以四种格式输出整型变量a的值,其中“%5d ”要求输出宽度为5,而a值为15,只有两位故补三个空格。
  第14行以四种格式输出实型量b的值。其中“%f”和“%lf ”格式的输出相同,说明“l”符对“f”类型无影响。“%5.4lf”指定输出宽度为5,精度为4,由于实际长度超过5,故应该按实际位数输出,小数位数超过4位部分被截去。
  第17行输出双精度实数,“%8.4lf ”由于指定精度为4位,故截去了超过4位的部分。
  第20行输出字符量d,其中“%8c ”指定输出宽度为8,故在输出字符p之前补加7个空格。

C语言中输出两个变量的方法如下:
1.首先需要先定义两个变量。这里演示以定义两个整形变量A,B为例。

2.定义完成后,需要为A,B赋值,这样才能在后面的输出语句中被输出到屏幕显示出来。

3.最后就可以使用printf语句来输出变量了,以输出A,B变量为例,格式为pirntf("%d %d",A,B);其中一个%d代表一个变量。

扩展资料:
关于printf()函数的介绍如下:
1.printf()函数是式样化输出函数, 一般用于向准则输出设备按规定式样输出消息。正在编写步骤时经常会用到此函数。printf()函数的挪用式样为: printf("",);
2.其中式样化字符串包括两部分内容: 一部分是正常字符, 这些字符将按原样输出;另一部分是式样化规定字符, 以"%"开端, 后跟一个或几个规定字符, 用来确定输出内容式样。
3.注意:函数printf从右到左压栈,然后将先读取放到栈底,最后读取的放在栈顶,处理时候是从栈顶开始的,所以我们看见的结果是,从右边开始处理的。
参考资料:百度百科-printf

printf("%d\n",1); =>打印出来是:整型数1
printf("%d\n",'1');=》字符‘1’所对应ASCII为49

输出数据不一样

上面是输出数值1;
下面输出字母'1',但由于C语言字符与int可相互转换,所以'1'也可以认为是整形数,不过值是'1'的ASCII码,即49。


c语言printf中的\\ n什么意思?
在c语言中printf函数中,复可以使用\\n来进行语句换行,\\n是一个转义字符常量,它相当于一个换行符。比如下面的代制码:printf("hello\\nWorld\\n");程序在执行时,会先将hello字符串以一行输出,再另一行输出World字符串。

C语言中的printf是什么意思
C语言中的printf函数是标准库中的一个重要工具,它负责将格式化后的文本输出到标准输出设备,即我们通常所说的屏幕。这个函数在stdio.h头文件中被声明。它的基本用法是这样的:int printf(const char *format, ...);函数执行后,如果输出顺利,会返回输出字符的总数,若出现错误则返回负值。同时,它...

C语言中printf函数输出格式的是什么?
C语言中,格式化输出函数printf使用的格式字符是控制输出格式的关键。在printf函数中,没有直接用于输出二进制数的格式符,而十六进制数的输出使用的是格式符"%x",对应于小写的"%X"用于大写十六进制输出。printf函数的基本格式是:```printf("", );```其中,格式化字符串由格式控制符和普通字符组成。

在C语言里printf是什么意思?怎么用??
在C语言中printf( )是专门用于输出的语句。 用法如下:1、printf()函数是格式化输出函数,一般用于向标准输出设备按规定格式输出信息。2、printf()函数的调用格式为: printf("", )。3、格式输出,它是c语言中产生格式化输出的函数(在 stdio.h 中定义)。用于向终端(显示器,控制台等)输出字符...

C语言printf怎么输出中文?
include <stdio.h> int main(void){ char name[20];printf("请输入你的姓名:");scanf("%s",name);printf("你的姓名是:%s\\n",name);return 0;}

c语言printf()的意思是什么?
C语言中printf("%u")表示按无符号数形式输出一个整数。现在的机器一般为32位或64位机,整数存储占4个字节,一个字节8位,共计32位。整数在计算机中以补码形式存储,-1的补码为32个1组成的二进制数,按无符号数输出这个二进制数,就是2^32-1=4294967295 由于采用补码表示整数,计算机本身不关心整数...

C语言 printf详解
在C语言中,printf函数是数据输出的核心工具,它通过格式化字符串来精确控制各种类型数据的显示方式。让我们一起深入探讨其强大的功能和用法。首先,让我们了解printf中的转换符号和标志。%a-%A用于十六进制浮点数,%c显示字符,%d-%i、%u-%x-%X分别处理整数、无符号整数和十六进制表示,%p输出内存地址,...

c语言中, printf是什么意思?
输出格式为f格式或e格式,系统根据数据占宽度m大小,自动选择占宽度较小的某种格式输出,g格式符不输出小数点后无意义的零。例:main(){float x=654.321;printf("%f,%e,%g",x,x,x);}打印输出:654.320984,6.543210e+002,654.321(其中输出的654.320984是因为在内存中的存储误差引起的)。

C语言程序中为什么要加printf("\\n")这句话?
C语言程序中加printf("\\n")这句话,是因为前面的输出没有换行,加了这个语句以后就结束以前那一行的输出,换到一个新行。

在C语言里PRINTF后“%d\\n”什么意思?
c语言中printf函数是显示输出函数,其中百分号后面的字符定义如下:\\x0d\\x0a%a(%A) 浮点数、十六进制数字\\x0d\\x0a %c 字符 \\x0d\\x0a\\x0d\\x0a %d 有符号十进制整数 \\x0d\\x0a %f 浮点数(包括float和doulbe) \\x0d\\x0a%e(%E) 浮点数指数输出[e-(E-)记数法...

广州市15198314436: C语言中printf输出函数问题 -
养克感冒: printf("%6.3d",a);如果a的位数大于等于6,则输出与正常一样;如果a是3、4或5位(如123,1234,12345),则输出的时候按照右对齐方式输出,左边补空,如123输出为 123(1前面有三个空格),如1234输出则为 1234(1前面有两个空格),而12345输出则为 12345(1前面有1个空格),如果a的位数小于3,如12,输出则为 012,(0的前面有三个空格),又如1,输出则为 001(第一个0的前面有三个空格)

广州市15198314436: C 语言中调用 printf 进行输出时需要注意, -
养克感冒: (1)“格式控制”是用双撇号括起来的字符串,也称“转换控制字符串”,它包括两种信息: ①格式说明:由“%”和格式字符组成,它的作用是将输出的数据转换为指定的格式输出.②普通字符,即需要原样输出的字符.(2)“输出表列”...

广州市15198314436: 一道C语言面试题printf输出问题,高手们都来看看吧 -
养克感冒: C语言的计算规则是由右到左,先计算右,再计算左,所以根据语句上面看 c=(c+b)=20+30=50;b=(c*2)=20*5=100;a+b+c=10+100+50=160;

广州市15198314436: 关于C语言中printf输出字符串的问题! -
养克感冒: 因为a和b没有字符串的结束符号'\0' 所以"chi"是会输出的,但后面再输出什么,就不得而知了"na"也会输出的,但它后面再输出什么,也不得而知了 你这种输出结果,只是很多中不可预期的输出里面的一种情况而已

广州市15198314436: c语言中能不能用printf函数直接输出数组?如printf("%d",a[3][3]); -
养克感冒: 限制在C语言中,利用printf直接输出数组是不可以的.但是你的做法是可以的.只是问题出在你数组使用越界了. 解释一下: printf不能直接用来输出数组. 例如:1 2 3 4 5 6 7#include<stdio.h> intmain(){ inta[3]={1,2,3}; inti; for(i=0;i<3;i++) ...

广州市15198314436: C语言printf输出问题 -
养克感冒: #include void main() { int i = 0; char c = 'A'; float a[4] = {0.1, 0.2, 0.3, 0.4}; while(i{ printf("%c%.1f ", c+i, a[i]); i++; } printf("\n"); }

广州市15198314436: c语言中printf打印字符串的问题 -
养克感冒: printf("%s", "Hello world"); printf() 函数 有2 个 实际参数, 第2个参数: "Hello world" 是字符串常量,存放在某内存区域. 第一个参数是格式,其中 %s 是输出格式转换. 执行时 要把 第2个参数 按 %s 的方式 作 格式转换,然后输出. ...

广州市15198314436: c语言printf输出格式问题 -
养克感冒: %% 输出百分号%

广州市15198314436: 有关C语言printf输出问题
养克感冒: 这是要输出-36这个数字. %d是按整型输出, -8.4中,8表示输出的数字占8个位置,0.4表示的是输出的数字显示4位数,负号表示左对齐. 所以输出的应该是:"-0036 ” 负号、0036、三个空格,共8个位置,数字显示4个位,不足的补0,左对齐,所以右边空几个位置. 以上信息希望对你有帮助..^^

广州市15198314436: 调用C库的printf函数为什么不能输出 -
养克感冒: C语言控制printf函数输出是通过格式化参数来实现的.一、printf函数调用的一般形式 printf函数是一个标准库函数,它的函数原型在头文件“stdio.h”中.但作为一个特例,不要求在使用 printf 函数之前必须包含stdio.h文件.printf函数调用的一般...

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