重新学习C语言——关于printf 和scanf语法和语句

来源:互联网 发布:淘宝金酷娃玩具扫地车 编辑:程序博客网 时间:2024/04/28 08:58
/*
Printf
printf函数称为格式输出函数,主要体现在最后一个字母f(format)格式上


四则运算符 C符号 意义
       +  +    加
-  - 减
×  * 乘
÷  / 除
null              %               取余

例:  1 % 3 = 1···1        
 6 % 3 = 2···0


  printf("格式控制字符串",输出表列);
  格式控制串可由格式字符串和非格式字符串两种组成。
  格式字符串是以%开头的字符串,在%后面跟有各种格式字符
  以说明输出数据的类型、形式、长度、小数位数等。如:
“%d”表示按十进制整型输出;
“%ld”表示按十进制长整型输出;
“%c”表示按字符型输出等。




例如: int a=88,b=89;
    printf("%d %d\n",a,b);
    printf("%d,%d\n",a,b);
    printf("%c,%c\n",a,b);
    printf("a=%d,b=%d",a,b);








计算:
1.Print("%d \n",23+43);
%d说明后面有一个整数要输出在这个位置上。
2.Printf("23+43=%d \n",23+43)


 




Scanner:

 输入是用scanf语句,用法:scanf("%输入格式类型",&变量)


例子:
#include<stdio.h>
{
int i;
scanf("%d",&i);
printf("%d",i);
}
输入的格式类型有很多种,要看你定义的变量是什么类型
常见的类型有:


%d输出带符号十进制数 *
%o输出无符号八进制数
%x输出无符号十六进制数 
%u输出无符号数 
%c输出单个字符 *
%s输出一串字符 
%f输出实数(6位小数) *
%e以指数形式输出实数 
%g选用f与e格式中输出宽度较小的格式,不输出0 
%ld输入输出long型数据 
%lf输入输出double型数据*
%m数据输出宽度为m 
%.n输出小数位数为n *


  精度
  精度格式符以“.”开头,后跟十进制整数。本项的意义是:如果输出数字,则表示小数的位数;
  如果输出的是字符,则表示输出字符的个数;
  若实际位数大于所定义的精度数,则截去超过的部分。




  #include <stdio.h>
void main()
{
   int a=15;
   long float b=123.1234567;


 
   double c=12345678.1234567;
   char d='p';
   printf("a=%d\n", a);


   printf("a(%%d)=%d, a(%%5d)=%5d, a(%%o)=%o, a(%%x)=%x\n\n",a,a,a,a);  // %% 可以输出 %


   printf("b=%f\n", b);


   printf("b(%%f)=%f, b(%%lf)=%lf, b(%%5.4lf)=%5.4lf, b(%%e)=%e\n\n",b,b,b,b);


   printf("c=%f\n", c);


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


   printf("d=%c\n", d);


   printf("d(%%c)=%c, d(%%8c)=%8c\n",d,d);
 
}
 


















第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个空格。
0 0
原创粉丝点击