C语言学习笔记----基础篇

1.数据类型-变量-常量

数据类型

数据类型
│
├── 基本数据类型
│   ├── 整数类型
│   │   ├── int
│   │   ├── unsigned int
│   │   ├── short
│   │   ├── unsigned short
│   │   ├── long
│   │   ├── unsigned long
│   │   ├── long long
│   │   └── unsigned long long
│   ├── 浮点数类型
│   │   ├── float
│   │   ├── double
│   │   └── long double
│   └── 字符类型
│       ├── char
│       ├── unsigned char
│       └── signed char
│
├── 派生数据类型
│   ├── 数组
│   ├── 指针
│   ├── 结构体
│   └── 共用体
│
├── 空类型
│   └── void
│
├── 类型限定符
│   ├── short
│   ├── long
│   ├── signed
│   └── unsigned
│
└── 枚举类型
    └── enum

常量

常量是指在程序运行过程中,其值不发生变化的量。

常量又分为整型 实型(浮点型)字符串型

变量

为了指定存储区域,应该为每个变量赋予唯一的名称(标识符)

变量命名规则

变量名称只能包含字母(大写和小写字母),数字和下划线。

变量的第一个字母应该是字母或下划线。

对于变量名称(标识符)可以使用多长没有指定。但是,如果变量名超过31个字符,则在某些编译器中可能会遇到问题。

常见的格式说明符

1. 整数类型
%d / %i:输出带符号的十进制整数。
例子:int x = -42; printf("%d", x); 输出:-42
%u:输出无符号的十进制整数。
例子:unsigned int x = 42; printf("%u", x); 输出:42
%o:输出无符号的八进制整数。
例子:unsigned int x = 42; printf("%o", x); 输出:52
%x:输出无符号的十六进制整数(小写字母)。
例子:unsigned int x = 42; printf("%x", x); 输出:2a
%X:输出无符号的十六进制整数(大写字母)。
例子:unsigned int x = 42; printf("%X", x); 输出:2A
2. 浮点类型
%f:输出浮点数(默认保留六位小数)。
例子:float x = 3.14159; printf("%f", x); 输出:3.141590
%e:以科学计数法格式输出浮点数(小写)。
例子:float x = 3.14159; printf("%e", x); 输出:3.141590e+00
%E:以科学计数法格式输出浮点数(大写)。
例子:float x = 3.14159; printf("%E", x); 输出:3.141590E+00
%g:根据值的大小自动选择 %f 或 %e 格式来输出浮点数,且不会打印多余的零。
例子:float x = 0.000123; printf("%g", x); 输出:1.23e-04
%G:类似 %g,但是使用大写字母表示科学计数法。
例子:float x = 1234.5678; printf("%G", x); 输出:1234.57
3. 字符与字符串
%c:输出单个字符。
例子:char x = 'A'; printf("%c", x); 输出:A
%s:输出字符串。
例子:char *str = "Hello, World!"; printf("%s", str); 输出:Hello, World!
%p:输出指针的地址。
例子:int *p = &x; printf("%p", p); 输出:0x7fffd71f9e2c(取决于平台和指针值)
4. 宽度与精度
宽度:你可以在格式说明符中指定最小宽度。例如,%5d 会确保输出的数字至少有 5 个字符宽。如果数字较小,会使用空格填充。
例子:int x = 42; printf("%5d", x); 输出:   42
精度:在浮点数输出中,可以指定小数点后的位数,格式是 .数字。例如,%.2f 会输出保留两位小数的浮点数。
例子:float x = 3.14159; printf("%.2f", x); 输出:3.14
组合宽度与精度:你可以同时指定宽度和精度,例如 %10.3f 会打印出宽度为 10 的浮点数,并且保留 3 位小数。
例子:float x = 3.14159; printf("%10.3f", x); 输出:      3.142
5. 无符号整数大小类型
%zu:输出 size_t 类型的无符号整数(适用于 sizeof)。
例子:size_t x = 100; printf("%zu", x); 输出:100
%ld:输出 long 类型的整数。
例子:long x = 1000000; printf("%ld", x); 输出:1000000
%lld:输出 long long 类型的整数。
例子:long long x = 1000000000000; printf("%lld", x); 输出:1000000000000
6. 其他格式说明符
%n:这个格式说明符并不会输出任何内容,而是将当前打印的字符数存储到传入的 int 变量中。
例子:int count; printf("Hello, World!%n", &count); printf("Number of characters printed: %d", count); 输出:Hello, World! Number of characters printed: 13
%%:输出一个百分号 %。
例子:printf("100%% done\n"); 输出:100% done
格式说明符的一般结构:
格式说明符的基本结构是:

%[flags][width][.precision][length]specifier

flags(标志):用来控制输出的格式,比如左对齐、填充零等。

-:左对齐。
0:用零填充空白(适用于数值类型)。
+:总是输出符号(正数时加 +)。
空格:如果是正数,前面输出一个空格。
width(宽度):指定输出的最小宽度,如果输出的内容小于该宽度,则会用空格填充。

.precision(精度):通常用于浮点数和字符串,控制小数位数或者字符串最大长度。

length(长度):指定数据类型的大小(如 l 表示 long,ll 表示 long long,z 表示 size_t 类型)。

#include <stdio.h>

int main() {
    int a = 123;
    float f = 3.14159;
    char c = 'A';
    char *str = "Hello, World!";
    size_t size = sizeof(a);

    // 输出整数
    printf("Integer: %d\n", a);  // 输出:Integer: 123

    // 输出浮点数
    printf("Float: %.2f\n", f);  // 输出:Float: 3.14

    // 输出字符
    printf("Char: %c\n", c);  // 输出:Char: A

    // 输出字符串
    printf("String: %s\n", str);  // 输出:String: Hello, World!

    // 输出 size_t 类型的值
    printf("Size of a: %zu\n", size);  // 输出:Size of a: 4

    return 0;
}

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/914614.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

ReactPress与WordPress:一场内容管理系统的较量

ReactPress Github项目地址&#xff1a;https://github.com/fecommunity/reactpress WordPress官网&#xff1a;https://wordpress.org/ ReactPress与WordPress&#xff1a;一场内容管理系统的较量 在当今数字化时代&#xff0c;内容管理系统&#xff08;CMS&#xff09;已成为…

DevExpress WinForms中文教程:Data Grid - 如何绑定到实体框架数据源?

在本教程中&#xff0c;您将学习如何将DevExpress WinForms的网格控件绑定到实体框架数据源、如何使用数据注释属性来更改网格显示和管理数据的方式&#xff0c;以及如何将单元格值更改发送回数据源。 P.S&#xff1a;DevExpress WinForms拥有180组件和UI库&#xff0c;能为Wi…

使用多种机器学习调参模型进行二分类建模的全流程,代做分析辅导

使用多种机器学习调参模型进行二分类建模的全流程教程 机器学习全流程分析各个模块用到的总的参数文件 0. 分析参数文件 参数文件名称&#xff1a;total_analysis_params_demo.xlsx &#xff0c;很多分析模块都是这个总的参数文件&#xff0c;我的这个总的参数文件如果有更新…

材质(一)

描述&#xff1a; 材质蓝图&#xff0c;蓝图可以这么定义&#xff0c;是一种数据结构&#xff0c;是一种带有流水线的模糊的数据结构&#xff0c; 材质蓝图也是一种蓝图。 示例操作:

SCI论文数据可视化的在线网址

目录 SCI论文数据可视化的在线网址 EVenn(Evenn):免费 SCI论文数据可视化的在线网址 数据可视化的在线网址,以下是一些值得推荐的资源: ImageGP(ImageGP | ImageGP):该平台可以在线生成常见的线图、柱状图、散点图、箱线图、集合图、热图和直方图等。用户只需粘贴数…

电子应用产品设计方案-4:基于物联网和人工智能的温度控制器设计方案

一、概述 本温度控制器旨在提供高精度、智能化、远程可控的温度调节解决方案&#xff0c;适用于各种工业和民用场景。 二、系统组成 1. 传感器模块 - 采用高精度的数字式温度传感器&#xff0c;如 TMP117&#xff0c;能够提供精确到 0.01C 的温度测量。 - 配置多个传感器分布在…

5G的发展演进

5G发展的驱动力 什么是5G [远程会议&#xff0c;2020年7月10日] 在来自世界各地的政府主管部门、电信制造及运营企业、研究机构约200多名会议代表和专家们的共同见证下&#xff0c;ITU-R WP 5D#35e远程会议宣布3GPP 5G技术&#xff08;含NB-IoT&#xff09;满足IMT-2020 5G技…

人工智能--自然语言处理简介

上一篇&#xff1a;《人工智能模型训练中的数据之美——探索TFRecord》 序言&#xff1a;自然语言处理&#xff08;NLP&#xff09;是人工智能中的一种技术&#xff0c;专注于理解基于人类语言的内容。它包含了编程技术&#xff0c;用于创建可以理解语言、分类内容&#xff0c…

第8章 利用CSS制作导航菜单

8.1 水平顶部导航栏 水平莱单导航栏是网站设计中应用范围最广的导航设计&#xff0c;一般放置在页面的顶部。水平 导航适用性强&#xff0c;几乎所有类型的网站都可以使用&#xff0c;设计难度较低。 如果导航过于普通&#xff0c;无法容纳复杂的信息结构&#xff0c;就需要在…

企望制造ERP系统 drawGrid.action SQL注入致RCE漏洞复现

0x01 产品简介 企望制造ERP系统是一款专为制造企业设计的企业资源计划(ERP)软件,旨在优化企业的资源配置,提高运营效率,并增强企业的竞争力。系统集成了财务管理、生产管理、供应链管理、客户关系管理(CRM)、人力资源管理(HRM)等多个核心功能模块,能够全面覆盖企业的…

基于JDBC的书库系统(MySQL)

一、创建数据库中的表 1、需求 有一张表叫javabook【创建表要求使用sql语句进行】 表中列 bookid 整数自增类型 表中列 bprice 小数类型 表中列 bookname 字符串类型 长度不能小于50 工程和包要求&#xff1a; domain dao …

内置RTK北斗高精度定位的4G执法记录仪、国网供电服务器记录仪

内置RTK北斗高精度定位的4G执法记录仪、国网供电服务器记录仪BD311R 发布时间: 2024-10-23 11:28:42 一、 产品图片&#xff1a; 二、 产品特性&#xff1a; 4G性能&#xff1a;支持2K超高清图传&#xff0c;数据传输不掉帧&#xff0c;更稳定。 独立北…

腾讯音乐2024Q3财报:“稳”是核心,再进一步

11月12日&#xff0c;腾讯音乐娱乐集团&#xff08;以下简称“腾讯音乐”&#xff09;发布了截至2024年9月30日止的第三季度未经审计财务报告&#xff0c;各项核心财务指标均符合市场预期。本季度总收入为70.2亿元&#xff0c;同比增长6.8%&#xff1b;调整后净利润为19.4亿元&…

地宫取宝(摘花生+最长上升子序列)C++

1212. 地宫取宝 - AcWing题库 #include <iostream>using namespace std;const int N 55; const int MOD 1000000007;int w[N][N],f[N][N][13][14]; int n,m,k;int main() {cin >> n >> m >> k;for (int i 1;i < n;i) {for (int j 1;j < m;j)…

2024 年 8 个最佳 API 设计工具图文介绍

8 个最佳 API 设计工具推荐&#xff0c;包括 Apifox、Postman、Swagger、Insomnia、Stoplight、Hoppscotch、RapidAPI和Paw。 详细介绍&#xff1a;2024 年 8 个最佳 API 设计工具推荐

minio 分布式

方案设计 需要5台服务器&#xff0c;一台nginx用作分发请求&#xff0c;4台minio服务器&#xff0c;每个minio服务器上至少2个盘。在这个方法中&#xff0c;我使用了lvm的缓存&#xff0c;在同种固态盘的情况下&#xff0c;可以使读性能提高数倍到十倍&#xff0c;使写性能提高…

kettle开发-Day43-数据对比

前言&#xff1a; 随着数字化的深入&#xff0c;各种系统及烟囱的建立&#xff0c;各系统之间的架构和数据存储方式不同&#xff0c;导致做数据仓库或数据湖时发现&#xff0c;因自建的系统或者非标准化的系统经常存在物理删除而不是软删除。这就延伸出一个问题&#xff0c;经常…

vscode中执行git合并操作需要输入合并commit信息,打开的nano小型文本编辑器说明-

1.前提&#xff1a; VScode中的git组件执行任何合并动作的时候需要提交远程合并的commit信息&#xff0c;然后编辑器自动打开的是nano文本编辑器 2.nano编辑器说明&#xff1a; 1.保存文件&#xff1a;按 Ctrl O&#xff0c;然后按 Enter 来保存文件。 2.退出编辑器&#xf…

Android音视频直播低延迟探究之:WLAN低延迟模式

Android WLAN低延迟模式 Android WLAN低延迟模式是 Android 10 引入的一种功能&#xff0c;允许对延迟敏感的应用将 Wi-Fi 配置为低延迟模式&#xff0c;以减少网络延迟&#xff0c;启动条件如下&#xff1a; Wi-Fi 已启用且设备可以访问互联网。应用已创建并获得 Wi-Fi 锁&a…

如何详细查询全球药品研发的进度信息?

药品的研发进展对于医药研发人员来说&#xff0c;不仅是知识和技能的积累&#xff0c;更是职业精神和价值观的塑造。通过了解药品的研发进展&#xff0c;研发人员可以更好地提高自己的专业知识和技能&#xff0c;激发创新思维&#xff0c;保持专业竞争力&#xff0c;提高研发效…