前言

学一门编程语言,不能编写让用户输入数据然后输出处理后的数据的程序那么就等于没学,而在C语言中可以用printf() 和 scanf() 函数进行输入和输出操作。这两个函数是内置的库函数,定义在 stdio.h(头文件)中。

printf() 函数

printf() 函数用于输出操作。它将给定的语句打印到控制台上。

printf() 函数的语法如下:

printf("format string",argument_list);
  • format string:格式字符串,包含了要打印的文本和占位符,格式字符可以是 %d(整数)、%c(字符)、%s(字符串)、%f(浮点数)等。

  • argument_list:可变参数列表,根据格式字符串中的占位符进行替换

比如下面的例子,使用printf输出1+1的结果

#include<stdio.h>    

int main() {
int number1=1;
int number2=1;
printf("%d + %d = %d", number1,number2,number1+number2);
return 0;
}

运行结果如下:

如果printf中的占位符错误的话就会下面这种情况

scanf() 函数

scanf() 函数用于输入操作。它从控制台读取输入数据。

scanf("format string",argument_list);

打印给定数字的立方的程序

下面是一个简单的 C 语言示例,它从用户获取输入并打印给定数字的立方。

#include<stdio.h>
int main(){
int number;
printf("请输入一个数字:");
scanf("%d",&number);
printf("数字的立方是:%d ",number*number*number);
return 0;
}

输出结果:

请输入一个数字:5
数字的立方是:125

scanf("%d",&number) 语句从控制台读取整数,并将给定的值存储在 number 变量中。

printf("数字的立方是:%d ",numbernumbernumber) 语句在控制台上打印数字的立方。

打印两个数字的和

下面是一个简单的 C 语言示例,用于输入和输出操作,打印两个数字的求和结果。

#include<stdio.h>
int main(){
int x=0, y=0, result=0; printf("请输入第一个数字:");
scanf("%d", &x);
printf("请输入第二个数字:");
scanf("%d", &y); result = x + y;
printf("两个数字的和为:%d ", result); return 0;
}

输出结果:

请输入第一个数字:9
请输入第二个数字:9
两个数字的和为:18

常用的占位符

下面是C语言中常用的占位符

  1. 整数占位符

    • %d:以十进制形式打印整数。
    • %u:以十进制形式打印无符号整数。
    • %o:以八进制形式打印整数。
    • %x%X:以十六进制形式打印整数,分别使用小写和大写字母。
  2. 浮点数占位符
    • %f:以小数形式打印浮点数。
    • %e%E:以指数形式打印浮点数,分别使用小写和大写字母。
    • %g%G:以%f或%e中较短的形式打印浮点数,分别使用小写和大写字母。
  3. 字符和字符串占位符
    • %c:打印字符。
    • %s:打印字符串。
  4. 指针占位符
    • %p:以十六进制形式打印指针。
  5. 宽度和精度控制
    • %nd:指定输出字段宽度为n,不足n位则在左侧补空格。
    • %.nf:指定浮点数的小数点后的位数为n。
  6. 其他占位符
    • %%:打印百分号。
    • %n:将已打印的字符数保存到参数中。

C语言基础之基础的输入输出的更多相关文章

  1. awk程序设计语言之-awk基础

    awk程序设计语言之-awk基础 http://man.linuxde.net/ 常用工具命令之awk命令 awk是一种编程语言,用于在Linux/Unix下对文本和数据处理.数据可以来自标准输入(s ...

  2. JAVA基础(三)—— 输入输出处理

    JAVA基础(三)-- 输入输出处理 1 输入解析 //Scanner获取输入 import java.util.Scanner; Scanner s = new Scanner(System.in) ...

  3. Groovy语言学习--语法基础(5)

    至此groovy语言学习-语法基础就结束了,新的工作已经安排下来,要干活了. 对groovy了解到一定程度之后就可以在java项目中对其进行引入了.为此新建了一个微型的项目,个人觉得千言万语不如代码实 ...

  4. Groovy语言学习--语法基础(1)

    2018年11月末,从上家公司离职后进入现在的公司.进入项目以来,发现项目中有很多groovy脚本,以前没接触过groovy,抽时间系统地学一下,也方便后期项目的开发和维护. groovy和java的 ...

  5. 第二十五节:Java语言基础-面向对象基础

    面向对象 面向过程的代表主要是C语言,面向对象是相对面向过程而言,Java是面向对象的编程语言,面向过程是通过函数体现,面向过程主要是功能行为. 而对于面向对象而言,将功能封装到对象,所以面向对象是基 ...

  6. Unity 3D开发-C#脚本语言的一些基础用法

    Unity 中C#语言的一些基础用法 本文提供全流程,中文翻译.Chinar坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) 1 Lerp -- 线 ...

  7. [.net 面向对象编程基础] (7) 基础中的基础——流程控制语句

    [.net 面向对象编程基础] (7) 基础中的基础——流程控制语句 本来没有这一节的内容,后来考虑到既然是一个系列文章,那么就尽可能写的详细一些,本节参考了网上朋友所写的例子,为的是让更多小伙伴学习 ...

  8. jQuery基础---Ajax基础教程

    jQuery基础---Ajax基础 内容提纲: 1.Ajax 概述 2.load()方法 3.$.get()和$.post() 4.$.getScript()和$.getJSON() 5.$.ajax ...

  9. Java基础技术基础面试【笔记】

    Java基础技术基础面试[笔记] String.StringBuilder以及StringBuffer三者之间的区别? 三者的区别可以从可变性,线程安全性,性能这三个部分进行说明 可变性 从可变性来说 ...

  10. Golang 基础之基础语法梳理 (三)

    大家好,今天将梳理出的 Go语言基础语法内容,分享给大家. 请多多指教,谢谢. 本次<Go语言基础语法内容>共分为三个章节,本文为第三章节 Golang 基础之基础语法梳理 (一) Gol ...

随机推荐

  1. 容器网络Cilium:DualStack双栈特性分析

    本文分享自华为云社区<容器网络Cilium入门系列之DualStack双栈特性分析>,作者: 可以交个朋友. 一 . 关于IPV6/IPV4 双栈 目前很多公司开始将自己的业务由ipv4切 ...

  2. Oracle表空间和数据文件

    表空间:tablespace 表空间就是:存放数据库表.索引.等等对象的逻辑空间. oracle数据在安装并创建实例后,默认会自动创建多个表空间. ORACL默认表空间 SYSTEM表空间 存放ora ...

  3. python操作mongodb副本集(mongodb高可用)

    https://pymongo.readthedocs.io/en/stable/examples/high_availability.html# pymongo比较"智能",只要 ...

  4. Calico IPIP模式下的Cross Subnet特性分析

    本文分享自华为云社区<Calico IPIP模式下的CrossSubnet特性分析>,作者: 可以交个朋友. Calico ipip crossSubnet 模式 Calico-ipip模 ...

  5. MyBatisPlus-使用步骤

    MyBatisPlus-使用步骤 第一步 引入maven坐标依赖 <dependency> <groupId>com.baomidou</groupId> < ...

  6. @Value是个什么东西

    对注解不了解的可以看一下: Java注解,看完就会用 首先我们要明确: @Value 是 Spring 框架的注解. 它有什么作用呢? 作用 @Value 通过注解将常量.配置文件中的值.其他bean ...

  7. 直接在*.vue文件(SFC)中使用JSX/TSX渲染函数,真香!

    前言 在日常开发中vue的模版语法在大多数情况都能够满足我们的需求,但是在一些复杂的业务场景中使用模版语法就有些麻烦了.这个时候灵活的JSX/TSX渲染函数就能派上用场了,大多数同学的做法都是将*.v ...

  8. Mybatis源码1JDBC->mybatis主要流程->mybatis Excutor简介

    === 一丶mybatis概述 MyBatis 是一款优秀的持久层框架,它支持自定义 SQL.存储过程以及高级映射.MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作.My ...

  9. 使用Terraform部署华为云和kubernetes资源

    本文分享自华为云社区<使用Terraform部署华为云和kubernetes资源>,作者: 可以交个朋友. Terraform概述 Terraform 是由 HashiCorp 创建的开源 ...

  10. DevOps敏捷60问,一定有你想了解的问题

    摘要:问题覆盖了规划设计.开发集成.测试.部署发布.运维监控等DevOps落地实践中的关键疑点与难点. "DevOps的价值是又快又好地交付软件" --<凤凰项目>的作 ...