喜迎
春节

c语言的输入输出


0.常见的输入函数

  • scanf() 可输入多种类型的数据

  • getchar() 输入单个字符

  • getche() 输入单个字符

  • getch() 输入单个字符

  • gets() 获取一行数据,并作为字符串处理

1.printf用法详解

1.2输出控制符

%d

%ld

%c 字符型

%s 字符串

%f 单精度的浮点数

%lf 高精度的浮点数

%x 十六进制的形式输出

%#x 十六进制标准形式

  • printf(“%d”) d是可以打印带符号的 (signed)

  • printf(“%u”) u 是打印无符号的( unsigned)

c语言中的printf函数,有一个坑,详情见“运算符和表达式章节

2.scanf

scanf(“<格式化字符串>”, <地址表>);

2.1 输入函数原理

详情也可以看 章节 “关于 char 的那一章节。

输入函数的原理:

在输入函数中包含了 scanf()函数和 getchar()函数,它们都是从键盘上来读取我们的数据,但它们不是直接从键盘上来读取我们的数据。它们和键盘之间有一个区域叫缓冲区。输入函数先来看缓冲区中是否有数据,如果有,它直接就拿走了,不需要从键盘输入,如果缓冲区什么都没有,则需要从键盘输入,再拿走

image-20230323111431926

代码:getchar() 此时先输入一个字符 例如输入一个 A 吧!

分析:在程序开始运行之后,缓冲区里什么都没有,我们只能通过键盘输入A ,为了让字符**A 进入缓冲区 我们其实不知不觉中输入了 \n 最终在缓冲区里出现的是 A\n

image-20230323111543618

2.2scanf的常见问题

3.putchar

4.getcahr

关于putchar和getchar的详细细节,看笔记 “1.关于char“

只能输入或者输出一个字符,能输出字符串。

5.puts

puts函数输出字符串并换行

调用格式为puts(s)

其中s为字符串变量(字符串数组 , 字符串指针)

puts函数的作用于 printf(“%s\n”,s) 相同

int main()
{
  char s[20], *f;
  strcpy(s, “Hello! Turbo C2.0);
  f=“Thank you”;
  puts(s);
  puts(f);
}

注意:puts函数只能输出字符串,不能输出数值或者进行格式变换

6.gets

gets(n) n是字符串数组

gets() 函数用来读取字符串直到回车结束,回车符不属于这个字符串,

6.1 gets和scanf读取字符串时的差异

gets()函数与 scanf(”%s”,&s) 相似,但不完全相同

    char n[20] ;
//    scanf("%s\n",n) ; 
    gets(n) ;
    printf("%s",n) ; 

使用scanf函数数字符串时存在啊一个问题,如果输入了空格会认为输入字符串结束,空格后的字符将作为下一个输入项处理

gets()函数接收输入的整个字符串直到回车为止

7.getche

getche()是一个比叫有意思的 输入函数,他没有缓冲区,输入一个字符后会立即读取,不用等待用户按下回车键,这是它和scanf(),getchar()的最大区别。

    char n ;
    n = getche() ;
    printf("%c",n) ;
// 没有按下回车就直接输出了,像这种情况,一般不用这个函数

8.getch()

getch()也没有缓冲区,输入一个字符会立即读取,不用按下回车键,这一点和getche()相同。但getch()的特别之处是getch()没有回显,看不到输入的字符。(回显就是在控制台显示用户输入的字符;没有回显,就不会显示用户输入的字符)


文章作者: ljhaa
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 ljhaa !
评 论
 上一篇
运算符以及优先级和结合性
运算符以及优先级和结合性
1.算数运算符需要注意的是 求余运算,必须是int类型才可以 2.运算符的优先级和结合性普通的数学里面是,先乘除后加减 但是如果一个表达式里面存在多种不同的运算符 , 则需要考虑运算符的优先性和结合性的问题 优先级是用来标识运算符在表达式
2023-04-18
下一篇 
char的细节
char的细节
什么是ascii码 int main() { char c = 'a' ; printf("%d",c) ; // 97 char b = "a" ; // 这是错误的,因为双引号会默认添加\0字符
2023-04-18
  目录