C语言输入输出函数1月18日学习笔记

c语言输入输出函数都需要引用头文件

#include

一、getchar()与putchar()

1.getchar()用于从标准输入(键盘)读取一个字符。

int getchar(void);

getchar()在调用时会等待用户输入一个字符,然后返回这个字符的 ASCII 值(以整数形式)。

2.putchar()用于将一个字符输出到标准输出(屏幕)。

int putchar(int ch);

putchar接收一个整数参数,代表要输出的字符的 ASCII 值。它返回一个整数值,通常用不到,可以忽略。

putchar(getchar());

直接打印输出的字符。

二、printf()与scanf()

2.1printf() 用于将格式化的数据输出到标准输出(屏幕)。

int printf(const char *format, ...);

printf(格式化字符串,可变参);

 占位符%- 占了一个位置,最终输出效果,将 输出列表中对应的参数,以占位符指定的格式输出。

  • %d:输出带符号的十进制整数
  • %f:输出浮点数(包括单精度浮点数和双精度浮点数)
  • %c:输出一个字符
  • %s:输出一个以空字符结尾的字符串
  • %x:输出无符号十六进制整数(小写)
  • %X:输出无符号十六进制整数(大写)
  • %p:输出指针的值
  • %u 输出无符号十进制
  • %#x  加了0x前缀的十六进制
  • %#o  加了o前缀   注意 这里是英文字母o  不是数字0

占位符个数若大于输出列表参数的个数,多的部分会输出随机值。 

占位符 %m.nf   用来控制输出浮点型数据的长度

m 和 n 是替换为具体数字的整数。

  • m 表示最小字段宽度,即输出的最少字符数。如果输出的字符串长度不足 m,会在字符串左侧填充空格以满足最小宽度。
  • n 表示要保留的小数位数。

例如

#include 

int main() {
    float number = 3.14159;
    printf("Formatted number: %8.2f\n", number);

    return 0;
}

 会输出

Formatted number:     3.14

%8.2f 表示将浮点数输出为字符串,最小字段宽度为 8 个字符,并保留两位小数。如果输出结果的字符数不足 8 个字符,会在左侧填充空格,以满足最小宽度的要求。

实际参数宽 >m , 则以实际参数的宽为准

实际参数宽

前面加一个 ’-‘   则可以左对齐

 printf("Formatted number: %-8.2f\n", number);
%#hx  //  h代表half  只输出一半  (2个字节)

2.2scanf() 是 C 语言中用于从标准输入(如键盘)读取输入数据的函数。

int scanf(const char *format, ...);

scanf("格式控制字符串",地址列表)   参数地址用取地址符 & 来获取

如果忘记写&,会出现Segmentation fault (core dumped) 的error❌,意思是程序试图访问不能被访问的空间。

当多个数据输入时,以空白符作为分割符来依次输入数据:
      空白符有以下三种:
      空格 
      回车 
      tab 

double 作为参数输入时  要用lf

double a;
scanf("%lf",a);

类型要匹配:

int    %d

long int  %ld

longlong int  %lld

scnaf("%md",&a);

m(整数)可以控制输入的宽度——只获取前m位数

scanf() 匹配结束的条件:

 a.空白符 
 b.指定宽度 
     123456
     scanf("%3d",&a); //123
     
 c.非法字符
     123a45     
     scanf("%d",&a);

%c 在scnaf中几乎可以识别键盘输入的任意字符,包括回车、空格

scanf("%c %c %c",&c1,&c2,&c3); // 一个空白符 会匹配任意多个空白符 ,直到遇到输入流中的下一个非空白字符为止。

输入缓冲区:标准输入流(如键盘)的输入会被缓冲起来,直到满足特定的条件后才给 scanf() 函数进行处理。默认情况下,scanf() 函数会以空格、制表符或换行符作为输入项的分隔符。这意味着如果在一个 scanf() 调用之后没有读取完全部输入,剩余的内容会留在输入缓冲区中,可能会影响后续的输入操作。

********************************************************************************************************

补充

gcc sqrt.c -o sqrt -lm

使用 -lm 告诉链接器将数学库与你的程序进行链接,以便在运行时使用数学函数库中的函数。

另外捕获一个鼠标小技巧:在Ubuntu终端命令行,使用鼠标先选中命, 然后按下鼠标的滚轮键 可以直接粘贴命令 并执行。

你可能感兴趣的:(c语言,学习,笔记)