首页 > 其他分享 >【C语言】输入、输出函数知识、getchar()、putchar()、 scanf()、printf()

【C语言】输入、输出函数知识、getchar()、putchar()、 scanf()、printf()

时间:2024-07-29 21:24:07浏览次数:11  
标签:字符 putchar 函数 scanf C语言 格式 输入 getchar

函数的声明和定义

1.1 函数声明

1. 告诉编译器有一个函数叫什么,参数是什么,返回类型是什么。但是具体是不是存在,函数声明决定不了。

2. 函数的声明一般出现在函数的使用之前。要满足先声明后使用。

3. 函数的声明一般要放在头文件中的。

1.2 C本身是不提供输入输出功能的,需要使用C语言函数库中的标准输入输出函数库来实现函数中的输入输出。

c语言中提供的输入输出函数有;

getchar / putchar  一次性操作一个字符;

get / put 一次性操作一个字符串
scanf / printf 格式化函数

2.输入输出函数相关知识

2.1 getchar() 与 putchar()

2.1.1 getchar

含义:能在屏幕是输入一个字符。

原型:int getchar(void);
参数:void 证明返回值为空,返回时不用给返回值。
注意:getchar函数的返回值是int类型。
简单来说,getchar()函数就是从键盘(缓冲区)读取用户的输入,返回读取的字符对应的ASCII码值。

#include <stdio.h>
int main()
{
    // 输入
	char ch = getchar();
    // 输出字符
	putchar(ch);
 
	return 0;
}
2.1.2 putchar()

含义:能在屏幕是输出一个字符,putchar函数的主要作用就是打印字符。

原型:int putchar(int c);
参数:void 证明返回值为空  //  返回时不用给实参
注意:putchar函数的输出可以是一个字符,也可以是在0~127之间的一个十进制整型(包括0与127),也可以是用char定义好的字符型常量。
下面用法示例:

#include<stdio.h>
int main() {
	char c = 'A'; 
	putchar(c);    //输出字符A
	putchar('\n'); //输出换行符
	putchar('a');  //输出a
	return 0;
}
#include<stdio.h>
int main() {
	char c, d;
	c = getchar();  //输入字符
	d = getchar();  
	putchar(c);     //输出字符
	putchar('\n');
	putchar(d);
	return 0;
}

2.2 scanf()与printf()

2.2.1 printf()按指定格式输出数据(其最后一个字母f为”格式“(format)之意)

1.定义:printf函数调用的一般形式:

2.printf函数是标准库函数,其函数原型在头文件<stdio.h>中定义,使用形式为:

printf(格式控制字符串,输出表);
3.格式控制字符串可以包含三种字符:格式说明符、转义字符和普通字符。

注意:使用%c格式符按字符形式输出,输出前,系统会将该整数作为ASCII码转换为相应的字符。同样,一个字符型数据也可以用%d格式符以整数形式输出其对应的ASCII值。

  其中:%m.nf形式:

可以指定数据宽度和小数位数。

m表示该浮点数整体所占的列数,包括整数部分、小数点和小数部分;

n表示该浮点数中小数部分所占的列数,

在格式说明符中的%和字母之间,可以使用辅助控制符:

#include<stdio.h>

int main(void)
{
    int a;
    printf("%d",a)
    return 0;
}

2.2.2 scanf()

使用形式:

scanf(格式控制字符串,输入项地址表);

scanf函数的格式控制字符串可以包含三种字符:格式说明符、空白符和非空白符。

(1)格式说明符:用来指定数据的输入格式。

(2)空白符:包括空格、制表符和换行符,通常作为相邻两个输入数据的缺省分隔符。

(3)非空白符:又称普通字符。在输入有效数据时,必须原样输入。

使用scanf函数需要注意的几点
  1. scanf函数中要求输入项地址,应为地址格式,而不是变量名。

  2. 当输入的数据类型为多个数值型数据时,若相邻两个格式指示符之间没有分隔符(如逗号,冒号等),则相应的两个输入项之间可用的分隔符有三种:空格、制表符或换行符。

  3. 当输入的数据类型为字符型数据时,则认为所有输入的字符均为有效字符,特别地,空格和换行符等都作为有效字符被输入。

  4. 输入数据时,遇到以下情况时系统认为该数据输入结束:

    (1)遇到空格、制表符或换行符。

    (2)遇到非法输入。

    (3)超过指定宽度。

标签:字符,putchar,函数,scanf,C语言,格式,输入,getchar
From: https://blog.csdn.net/m0_63247632/article/details/140723108

相关文章

  • 随机数函数 和 猜数字游戏(c语言初学者拔高)
    目录1.随机数的生成方法1.1rand()函数1.1.1函数原型1.1.2函数功能1.2srand()函数1.2.1函数原型1.2.2函数功能1.3time()函数1.2.1函数原型1.1.2函数功能1.4设置随机数的范围2.猜数字游戏2.1普通版:结构逻辑解析2.1.1程序代码2.1.2 细节答疑2.2拓......
  • C语言------指针
    一、指针的理解与定义1.1变量的访问方式计算面中程序的运行都是在内存中进行的,变量也是内存中分配的空间,且不同类型的变量占用不同大小的空间。那如何问内存中变量存储的数据呢?有两种方式:直接访问和间接访问。直接访问:直接使用变量名进行的访问,以前的程序都是采用这种方式。......
  • c语言字符数组
            字符数组与字符串,字符数据输出用%s表示              上面两种方式的区别:             ......
  • 【C语言】VS实⽤调试技巧
    VS实⽤调试技巧1.什么是bug?2.什么是调试?3.debug和release4.VS调试快捷键4.1环境准备4.2调试快捷键5.监视和内存观察5.1监视5.2内存6.调试举例17.调试举例28.调试举例3:扫雷9.编程常⻅错误归类9.1编译型错误9.2链接型错误9.3运⾏时错误1.什么是bug?......
  • 可变阶数高斯消元算法-passcal-c shap-c语言
    高斯消元法在各种工程领域都有广泛的应用,尤其是在需要求解线性方程组的情况下。尽管高斯消元法在某些情况下可能不是最高效的算法,但它仍然是一个强大且通用的工具,对于许多工程问题来说是非常实用的。随着计算机性能的提高,高斯消元法在处理大规模问题时也变得更加可行。高斯消......
  • c语言中数据的格式化输出
     001、输出整型数据,直接输出[root@PC1test]#lstest.c[root@PC1test]#cattest.c#include<stdio.h>intmain(void){printf("[%d]\n",123);return0;}[root@PC1test]#gcctest.c-okkk[root@PC1test]#lskkktest.c[root@PC......
  • 学习C语言第十六天(调试、)
    调试第一题    C第二题    A第三题    C第四题    C第五题    Drelease不可以调试第六题        越界访问访问到了i的地址编程题模拟strcpyvoidmy_strcpy(char*arr1,char*arr2){ while(*arr2) { *a......
  • C语言day06(数组、字符数组)
    C语言day06【1】数组1》概念:具有一定顺序的若干变量的集合2》定义格式:存储类型数据类型数组名[元素的个数]例:intarr[5];//定义了一个数组arr,在内存空间中开辟了5个空间来储值在数组中保存的每一条数据都叫(元素)变量数组名:代表数组的首地址(地址常量);数组......
  • 社团要竞选社长(c语言)
    1.假设你们的社团要竞选社长,有两名候选人分别是A和B,社团每名同学必须并且只能投一票,最终得票多的人为社长。//一行,字符序列,包含A和B,输入以字符0结束//一行,一个字符,A或B或E,输出A表示A得票数多,输出B表示B得票数多,输出E表示二人得票数相等。2.第一步我先输入A或者B,或者0.(注意:我......
  • C语言:指针的进阶
    指针的进阶一、字符指针(一)字符指针(二)常量字符串和字符数组二、指针数组和数组指针(一)指针数组int*p1[10](二)数组指针int(*p2)[10]三、函数指针(一)函数指针1、概念2、两段有趣的代码(1)(*(void(*)()0))();(2)void(*signal(int,void(*)(int)))(int);(二)函数指针数组......