第2章 C语言基础知识
第2章 C语言基础知识
1.printf()函数
在控制台输出数据,需要使用输出函数,C语言常用的输出函数为printf()。
printf()函数为格式化输出函数,其功能是按照用户指定的格式将数据输出到屏幕上。
printf(“格式控制字符串”,[输出列表]);
格式控制字符串:指定输出格式,以%开头,%符号后面跟各种格式控制字符;格式控制字符串的具体形式: “%标志][宽度][.精度][长度]类型”,例如: %c、%d、%3d、%.6f ┄
(1)类型
printf()函数可以输出任意类型的数据,如整型、字符型、浮点型数据等。
格式控制字符 | 含义 |
---|---|
s | 字符串 |
c | 单个字符 |
d | 有符号十进制整型 |
u | 无符号十进制整型 |
o | 无符号八进制整型 |
x | 无符号十六进制整型小写 |
X | 无符号十六进制整型大写 |
f | 单精度/双精度浮点型(默认打印6位小数) |
e | 科学记数e |
E | 科学记数E |
p | 变量地址 |
类型应用示例一:
printf("%c", 'H'); //以%c格式输出字符'H'
printf("%s", "Hello, world!\n"); //以%s格式输出字符串"Hello, world!"
printf("%d", 100); //以%d格式输出整数100
类型应用示例二:
printf("%d%d%d\n",1,2,3); //使用3个%d输出三个整数1、2、3
printf("%f\n%c\n",2.1,'a'); //使用%f与%c输出2.1与字符'a'
(2)标志
printf()函数中的标志字符用于规范数据的输出格式,如左对齐、右对齐、空缺填补等,标志符有“-”“+”“0”“空格”“#”五种。
标志符 | 含义 |
---|---|
- | 左对齐;printf()函数输出数据默认为右对齐 |
+ | 当一个数为正数时,前面加上一个+符号。默认正数不显示+符号 |
0 | 右对齐时,用0填充左边空缺。默认使用空格填充 |
空格 | 输出正数时,前面为空格;输出负数时,前面带-符号 |
# | 对%c、%s、%d、%u等无影响;对%o格式,输出时加上八进制前缀0;对%x(%X)格式,输出时加上十六进制前缀0x |
(3)宽度
宽度是用十进制表示的输出数据的位数,若实际位数多于定义的宽度,则按实际位数输出;若实际位数少于定义的宽度则补以空格或0。
宽度应用示例一:
printf("%d\n", 123); //按实际位数3输出
printf("%5d\n", 123); //设置宽度为5
printf("%10d\n", 123); //设置宽度为10
宽度应用示例二:
printf("%d\n", 123);
printf("%-5d\n", 123); //添加-符号,左对齐输出
printf("%010d\n", 123); //添加0,左边以0填充
(4)精度
精度格式以字符“.”开头,后面跟十进制整数,精度主要作用于浮点型数据,表示输出小数点后面的位数。
- 如果不设置精度,默认输出小数点后6位。
- 如果作用于整型数据,则表示按照一定宽度输出数据,左侧空缺填充0。
- 在使用精度时,如果实际位数大于所定义的精度数,则截去超出的部分。
精度应用示例:
printf("%f\n", 1.234567); //默认输出小数点后6位
printf("%.8f\n", 1.234567); //输出小数点后8位,后面填充0
printf("%.3f\n", 1.234567); //输出小数点后3位,截断超出的部分
printf("%.6d\n", 123); //输出123的宽度为6,左侧填充0
(5)长度
长度格式符包括h、l两种,h是short的简写,表示按短数据类型量输出;l是long的简写,表示按长数据类型输出。
长度应用示例:
printf("%d\n", 123); //正常输出
printf("%hd\n", 123); //按短数据类型输出
printf("%lf\n", 1.23); //按长数据类型输出
2.scanf()函数
scanf()函数用于读取用户从键盘输入的数据,用法与printf()函数类似,但不同的是,scanf()函数只能使用类型(%d、%c、%f等)格式控制,并不使用宽度、精度、标志等格式控制。
scanf()函数应用示例:
int a;
char c;
float f;
scanf("%d", &a); //接受一个从键盘输入的整型数据
scanf("%c", &c); //接受一个从键盘输入的字符类型数据
scanf("%f", &f); //接受一个从键盘输入的float类型数据
注意:
scanf()函数在读取输入的数据时,遇到终止符会停止输入。
scanf()函数的终止符有多个。
字符 | 含义 |
---|---|
0x20 | 空格 |
\t | 水平制表符(tab键) |
\n | 换行 |
\v | 垂直制表符 |
\f | 换页 |
\r | 回车 |
scanf()函数不安全,经常导致程序编译不通过。
解决办法
1.#define _CRT_SECURE_NO_WARNINGS
2.C11标准中的scanf_s()函数代替scanf()函数
案例
#include <stdio.h>
#include <stdlib.h>
int main()
{printf("我爱C语言");return 0;
}
相关文章:
![](https://i-blog.csdnimg.cn/direct/433615690d4e43978b41541e771843ab.png#pic_center)
第2章 C语言基础知识
第2章 C语言基础知识 1.printf()函数 在控制台输出数据,需要使用输出函数,C语言常用的输出函数为printf()。 printf()函数为格式化输出函数,其功能是按照用户指定的格式将数据输出到屏幕上。 printf(“格式控制字符串”,[输出列表]); 格式控…...
![](https://i-blog.csdnimg.cn/direct/aa8cfe909b314e2cb1b966869d30bfb2.jpeg#pic_center)
鹭鹰优化算法SBOA优化RBF神经网络的扩散速度实现多数入多输出数据预测,可以更改数据集(MATLAB代码)
一、鹭鹰优化算法介绍 鹭鹰优化算法(Secretary Bird Optimization Algorithm, SBOA)是一种新型的元启发式算法,它于2024年4月由Youfa Fu等人提出,并发表在SCI人工智能二区顶刊《Artificial Intelligence Review》上。该算法的灵感…...
![](https://i-blog.csdnimg.cn/direct/61befcba12bd45b58dc2c08e433751fe.png)
MySQL基础练习题48-连续出现的数字
目录 题目 准备数据 分析数据 题目 找出所有至少连续出现三次的数字。 准备数据 ## 创建库 create database db; use db;## 创建表 Create table If Not Exists Logs (id int, num int)## 向表中插入数据 Truncate table Logs insert into Logs (id, num) values (1, 1) i…...
![](https://i-blog.csdnimg.cn/direct/9418d289348447f6a4532fd6c74bc6d8.png)
webrtc学习笔记2
音视频采集和播放 打开摄像头并将画面显示到页面 1. 初始化button、video控件 2. 绑定“打开摄像头”响应事件onOpenCamera 3. 如果要打开摄像头则点击 “打开摄像头”按钮,以触发onOpenCamera事件的调用 4. 当触发onOpenCamera调用时 a. 设置约束条件,…...
![](https://i-blog.csdnimg.cn/direct/78488bc8a8d64c3e8c2b14f3ec6cec17.jpeg#pic_center)
Simple RPC - 06 从零开始设计一个服务端(上)_注册中心的实现
文章目录 Pre核心内容服务端结构概述注册中心的实现1. 注册中心的架构2. 面向接口编程的设计3. 注册中心的接口设计4. SPI机制的应用 小结 Pre Simple RPC - 01 框架原理及总体架构初探 Simple RPC - 02 通用高性能序列化和反序列化设计与实现 Simple RPC - 03 借助Netty实现…...
![](https://www.ngui.cc/images/no-images.jpg)
【深度学习】基于Transformers的大模型推理框架
本文旨在介绍基于transformers的decoder-only语言模型的推理框架。与开源推理框架不同的是: 本框架没有利用额外的开源推理仓库,仅基于huggingface,transformers,pytorch等原生工具进行推理,适合新手学习大模型推理流…...
![](https://i-blog.csdnimg.cn/direct/d7585aa78dc04f0e8c70d27db5031cf0.png)
电脑监控怎样看回放视频?一键解锁电脑监控回放,守护安全不留死角!高效员工电脑监控,回放视频随时查!
你是否曾好奇那些键盘敲击背后的秘密?电脑监控不仅是守护企业安全的隐形盾牌,更是揭秘高效与合规的魔法镜!一键解锁安企神监控回放,就像打开时间宝盒,让过去的工作瞬间跃然眼前。无论是精彩瞬间还是潜在风险࿰…...
![](https://i-blog.csdnimg.cn/direct/dff65b4d04c24307bd2d823a70f9c3b7.png#pic_center)
【一起学Rust | 框架篇 | Tauri2.0框架】tauri中rust和前端的相互调用(rust调用前端)
文章目录 前言1. rust中调用前端2. 如何向前端发送事件3. 前端监听事件4. 执行js代码 前言 近期Tauri 2.0 rc版本发布,2.0版本迎来第一个稳定版本,同时官方文档也进行了更新。Tauri是一个使用Rust构建的框架,可以让你使用前端技术来构建桌面…...
![](https://i-blog.csdnimg.cn/direct/2c8fe034e25144db876a5f1a5665a38a.png)
deque容器
deque容器的基本概念 deque 是 C 标准库中的双端队列(double-ended queue)容器,提供了在两端进行插入和删除操作的功能。 deque与vector区别: vector对于头部的插入删除效率低,数据量越大效率越低。deque相对而言&am…...
![](https://www.ngui.cc/images/no-images.jpg)
Redis远程字典服务器(9)—— 类型补充
类型查询传送门:Understand Redis data types | Docs 一,stream类型 官方文档对于这个类型的解释是:streams是一个数据结构,它表现得像一个 “append-only log”,就是只能往后面添加,底层是字符串&#x…...
![](https://i-blog.csdnimg.cn/direct/93c47cde17c54e1fb852a196eba263a5.png)
VMware虚拟机nat无法联通主机
VMware在nat模式下主机无法ping通虚拟机 原因: 虚拟机和对应的网卡不在一个网段 虚拟机开启了防火墙 解决方法: 首先判断虚拟机的网络ip是否和网卡在一个网段上 判断虚拟机使用的网卡 nat模式在VMware虚拟机中一般只有一个对应的网卡 如图笔者的nat网卡为VM…...
![](https://i-blog.csdnimg.cn/direct/0f9f4736f3904b6ab021b25011fe96be.png)
「字符串」详解AC自动机并实现对应的功能 / 手撕数据结构(C++)
目录 前置知识 概述 核心概念:fail指针 作用 构建 图示 Code 成员变量 创建销毁 添加词库 文本扫描 复杂度 Code 前置知识 在此前,你应该首先了解trie树(字典树)的概念: 「字符串」详解Trie࿰…...
![](https://i-blog.csdnimg.cn/direct/add618b7faec4e3387468eb64d0eb673.png)
freecad遭遇网络不同无法安装插件Addon Manager: Unexpected 0 response from server
16:31:18 Addon Manager: Unexpected 0 response from server 16:31:18 Failed to connect to GitHub. Check your connection and proxy settings. 打开freecad的插件管理器时候,有些地方,比如我在家里就不行,在公司就ok。 于是找到了解…...
![](https://www.ngui.cc/images/no-images.jpg)
Ruby模板引擎:构建动态视图的艺术
标题:Ruby模板引擎:构建动态视图的艺术 在Ruby on Rails的世界里,模板引擎是构建动态网页的基石。它们允许开发者将服务器端的逻辑嵌入到HTML中,实现数据的动态展示。本文将深入探讨Ruby中几种常用的模板引擎,包括ERB…...
![](https://i-blog.csdnimg.cn/direct/37029b3f7062447f93db6b577755634a.png)
HarmonyOS NEXT星河版零基础入门(3)
目录 1. 系统弹出框 2.interface转成class类 3.vp/fp 4. 写一个正方形 设置它的宽度 但不设定高度 不论屏幕怎么变实现他的宽高比 5.State 6.图片和资源 7.淘宝镜像 7.1windows 脚本禁用(操作策略 允许npm包的命令可执行) 8. es6&ArkTS中…...
![](https://www.ngui.cc/images/no-images.jpg)
第二十讲 python中的异常结构-try except-else-finally
目录 1.try... except 结构 2. try... 多个except结构 3. try...except...else结构 4. try...except...finally结构 5. return语句和异常处理问题 5.1 异常处理前的 return 5.2异常处理后的 return 5.3 finally 块中的 return 6.常见的异常 1.try... except 结构 try except 是…...
![](https://i-blog.csdnimg.cn/direct/e823c97958164b32a3d53944d0a5e602.png)
springer 投稿系统中返修注意点
初次提交 初次提交时, manuscript 提交的是 pdf 文件 返修后提交 在经过返修之后需要提交的是注意一下几点: 此时提交的Blined manuscript ,虽然名字没变,但不能再提交pdf 文件, 而需要提交的是可编辑的源文件 .te…...
![](https://www.ngui.cc/images/no-images.jpg)
CSS:display和visiblity
隐藏元素- display:none和visibility:hidden display 属性设置一个元素应如何显示,visibility 属性指定一个元素应可见还是隐藏。 隐藏一个元素可以通过吧display属性设置为“none”,或者把visibility属性设置为“hidden”。但是这两种会产生不同的结果…...
![](https://i-blog.csdnimg.cn/direct/5fda22f45dcb433488d60e260fe66350.png)
43.x86游戏实战-XXX寻找吸怪坐标
免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 本次游戏没法给 内容参考于:微尘网络安全 工具下载: 链接:https://pan.baidu.com/s/1rEEJnt85npn7N38Ai0_F2Q?pwd6tw3 提…...
![](https://www.ngui.cc/images/no-images.jpg)
Redis地理位置相关应用
下面是一个结合 MySQL 数据库和 Redis 的地理位置服务示例,包含表结构、PHP 代码和 Redis 操作,用于处理基于地理位置的数据存储和查询。 1. 创建 MySQL 数据库表 首先,创建一个用于存储位置信息的 MySQL 表,如下所示࿱…...
![](https://i-blog.csdnimg.cn/direct/f69ed7f1ba5e4405861207252c3d5dac.png)
优化WAN流量:如何通过调整系统设置降低企业网络成本
一、症状与问题背景 当电脑显示空闲状态时,如果满足以下条件,第二拨号链接可能会意外激活: 您正在使用基于 Microsoft Windows 的计算机,该计算机连接到远程网络并且是 Active Directory 域服务 (AD DS) 域的成员。 您通过二级…...
![](https://www.ngui.cc/images/no-images.jpg)
Java-HttpHeaders请求头或响应头
HttpHeaders 是 Spring Framework 中的一个类,用于封装 HTTP 头部信息。它提供了一种方便的 方式来设置 HTTP 请求头和处理 HTTP 响应头。下面分别介绍如何使用 HttpHeaders 来设置请求 头和处理响应头。 设置请求头 在发送 HTTP 请求时,可以通过 HttpHeaders 设置各种请…...
![](https://www.ngui.cc/images/no-images.jpg)
Elasticsearch高阶查询
Elasticsearch高阶查询 文章目录 Elasticsearch高阶查询相关性和相关性算分相关性 (Relevance)什么是TF-IDFBM25explain关键字Boosting如何通过Boost控制想要的文档排在前面? 布尔查询(bool Query)查询语法语法格式 单字符串多字段查询三种场…...
![](https://i-blog.csdnimg.cn/direct/2ba18cfeacee46bd8459f25ed03539fc.png)
【流媒体】RTMPDump—RTMP_Connect函数(握手、网络连接)
目录 1. RTMP_Connect函数1.1 网络层连接(RTMP_Connect0)1.2 RTMP连接(RTMP_Connect1)1.2.1 握手(HandShake)1.2.2 RTMP的NetConnection(SendConnectPacket) 2.小结 RTMP协议相关&am…...
![](https://www.ngui.cc/images/no-images.jpg)
通过https方式访问内网IP
单位要做个用浏览器扫二维码的功能。我先在本地测试一直不成功,后来放到服务器上运行成功了。比较了一下,服务器上是https,但是本地没有证书。我问了一下信安的同事,要求二维码必须在本地扫描,不能上公网。所以只好在本…...
![](https://www.ngui.cc/images/no-images.jpg)
flutter 键盘弹出 都会重新Build
原因是调用MediaQuery.of(context)后,点击TextField组件时会导致调用build方法。 解决方法:在Scaffold组件的body嵌套Builder组件,然后设置一个BuildContext变量,将Builder组件中的context传递给BuildContext变量,然后…...
![](https://www.ngui.cc/images/no-images.jpg)
RedisDistributedLock 分布式锁
设计一个简单的 RedisDistributedLock 类,实现单例模式,并包含基本的锁定机制。这个类将使用 Redis 来管理锁,确保在分布式系统中资源的同步访问 import redis.clients.jedis.Jedis;public class RedisDistributedLock {private static Redi…...
![](https://i-blog.csdnimg.cn/direct/549cb3b0c7fe4c85a3d06a004dc4a8eb.png)
Java之包装类
Java中的包装类(Wrapper Classes)是基本数据类型的对象包装类。Java为每个基本数据类型(如int、char等)提供了对应的包装类,使得基本类型可以被当作对象来处理。这些包装类位于java.lang包中。 包装类的用途 对象化&a…...
![](https://i-blog.csdnimg.cn/direct/9cf11cf3c4f84335ae7db200a78dda89.png)
Linux - 权限
文章目录 一、用户二、文件 一、用户 1、Linux下有两种用户:超级用户(root)、普通用户。 超级用户:可以再linux系统下做任何事情,不受限制 。 普通用户:在linux下做有限的事情。 超级用户的命令提示符是“…...
![](https://i-blog.csdnimg.cn/direct/0fe5db714ccf411fa740872d9619a2c7.png)
免费图形化nginx管理工具nginxWebUI
nginxWebUI是一款图形化管理nginx配置得工具, 可以使用网页来快速配置nginx的各项功能, 包括http协议转发, tcp协议转发, 反向代理, 负载均衡, 静态html服务器, ssl证书自动申请、续签、配置等, 配置好后可一建生成nginx.conf文件, 同时可控制nginx使用此文件进行启动与重载, 完…...
![](https://img-my.csdn.net/uploads/201212/24/1356323195_5412.gif)
怎么做.com的网站/网址注册查询
转载:http://blog.csdn.net/kimmking/article/details/8424319 DOM方式是直接把xml文件全部加载到内存,然后建立dom树,特点:可读可写,支持XPath,但是非常慢,占用内存为xml的10倍数量级ÿ…...
![](https://img-blog.csdnimg.cn/img_convert/7f913e96a023df7f8a9b92dfcf890937.png)
安徽政府网站建设管理/进入百度app查看
本文来自 威锋网 ,作者 乔纳森森森 iOS 15 为许多系统应用程序和功能提供了新的小组件。用户可以轻松地通过上下滚动以查看选定的小组件、重新排列它们或将它们从堆栈中删除。堆栈还有另外两个选项:智能旋转的打开与关闭,小组件建议的开启与…...
![](/images/no-images.jpg)
2021中国企业500强/杭州seo
按照网上的方法能够实现连接数据库,方法如下:(网址为http://jingyan.baidu.com/article/86112f135e624a2736978755.html?qq-pf-topcqq.c2c),问怎样查询一个建好的数据库?(希望...按照网上的方法能够实现连接数据库,方…...
![](https://2.bp.blogspot.com/-5wD9Vt5s1oY/WM-ArmJOeGI/AAAAAAAAyGE/ql1FnrrFC_gCoNDJqF8RV4idHEhCuMoPQCLcB/s640/%25E8%259E%25A2%25E5%25B9%2595%25E5%25BF%25AB%25E7%2585%25A7%2B2017-03-19%2B%25E4%25B8%258B%25E5%258D%258810.38.49.png)
武汉做网站哪个好/腾讯企业qq官网
理解 SVG 中的 Viewport 和 ViewBox - 實做縮放(zoom)和拖曳(drag)效果 本文章同步刊載於 PJCHENder 前端網頁資源站 不同於以往將 SVG 視為一張圖案(ICON 或 LOGO)的概念,在這篇文章中…...
![](http://www.d1net.com/uploadfile/2017/0613/20170613100340453.jpg)
网站需要备案吗/怎么建立自己的企业网站
小伙伴们,我们的行摄游记又回来啦,这次要去一个我向往已久的地方,重庆!嘿嘿,吃货之魂已经燃起,一起来瞧瞧吧。 作为一个资深吃货,虎虎对重庆可是种草已久,各种美食我来啦!…...
![](https://images2015.cnblogs.com/blog/899685/201611/899685-20161117112302248-1776221598.jpg)
织梦的网站关键词/seo课程培训学校
开始准备看Java NIO的,这篇文章:http://xly1981.iteye.com/blog/1735862 里面提到了这篇文章 http://xmuzyq.iteye.com/blog/783218 同步、异步、阻塞、非阻塞、reactive、proactive等讲的不错。 在高性能的I/O设计中,有两个比较著名的模式Re…...