菜鸟转行嵌入式_(第5天)C语言基础_输入输出函数1

200 阅读2分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

1. 输入输出

1.1 getchar/putchar

C语言无I/O语句,I/O操作由函数实现

#include <stdio.h>

1.1.1字符输入函数getchar

原型:int getchar(void);

格式: getchar( )

功能:从键盘读一字符

返值:正确返回读入的字符的ASCII;

出错或结束键盘输入,返回-1 (ctrl+d)

回车结束输入

注意无论传参是数字还是字符,最后都是输出字符

char c = getchar();  //有错误,应该为int c
//char 范围为-128-127,对应ASCII表(0-255)来说太小,unsigned char为0-255,但是无法接收出错返回的-1,所以返回值是int型
例如:
#include <stdio.h>
int main()
{  
   int c; //重点
   printf("Enter a character:");
   c=getchar();
   printf("%c--%d->hex%x\n", c, c, c);
}
运行结果:
Enter a character:A
A--65->hex41

1.1.2字符输出函数putchar

原型:int putchar(int c);

eg:putchar(32); 输出一个空格

putchar('a'); 输出a

格式: putchar( c )

参数: c为字符常量、变量或表达式

功能:把字符c输出到显示器上

返值:正常,为显示的字符;

注意无论传参是数字还是字符,最后都是输出字符

#include <stdio.h>
main()
{   
    int c;  //整形变量
    char a; //字符变量
    c=65;  a='B';
    putchar(c)//整形变量,输出的是ascii为65对应的字符; 
    putchar('\n')//字符常量; 
    putchar(a)//字符变量;
}
运算结果为:A
	   B

1.2 gets/puts

1.2.1字符串输入函数gets

格式: char * gets(char *s)

功能:从键盘输入一以回车结束的字符串放入字符数组中,并自动加‘\0’

说明1:输入串长度应小于字符数组维数

说明2:与scanf函数不同,gets函数并不以空格作为字符串输入结束的标志。

举例如下
int main( )
{     
       char string[15];  //最多可以输入14个字符
       printf(“Input a string:”);
       gets(string);     //从终端拿到的字符串需要提前申请一个数组来存放
       printf(“%s\n”, string);
       return 0;
 }

1.2.2字符串输出函数puts

格式:int puts(const char *s)

功能:向显示器输出字符串(输出完,换行)

说明:字符数组必须以‘\0’结束

返回值:int,成功返回正数,失败返回EOF

puts(arr); 输出arr字符串

puts函数默认有换行

举例如下
#include <stdio.h>
int main( )
{     
      char string[80] = “How are you”;
      puts(string);
      return 0;
 }
输出:  How  are  you?