C语言入门-1.数据的类型、数据的输入输出

数据类型·常量·变量(整型-浮点-字符)

数据类型

基本类型

整型int
符号常量

定义一个整形变量时要使用关键字int

#include <stdio.h>
//符号常量练习
#define PI 3 + 2
int main() {
    int i = PI * 2;
    printf("i=%d\n",i);
    return 0;
} //7
//因为符号常量PI是直接替换的效果,因此不可以写PI=8
整型变量
#include <stdio.h>
//符号常量练习
#define PI 3 + 2
int main() {
    int i = PI * 2;
    printf("i=%d\n",i);
    printf("i size = %d\n", sizeof(i));//sizeof可以用来计算某个变量的空间大小
    //i size = 4
    return 0;
}#include <stdio.h>
//符号常量练习
#define PI 3 + 2
int main() {
    int i = PI * 2;
    printf("i=%d\n",i);
    printf("i size = %d\n", sizeof(i));//sizeof可以用来计算某个变量的空间大小
    //i size = 4
    return 0;
}
浮点型float
浮点型常量

小数形式:0.123

指数形式 3e-3(为3*10^-3)e代表10的幂次

浮点型变量
#include <stdio.h>
int main() {
    float f = 3e-3;
    printf("f=%f\n",f);//f=0.003000
    return 0;
}
 字符型char

‘a’,’c’,’1’

\n转义字符 换行 \\ 输出一个斜杠

字符数据在内存中的存储形式及其使用方法

一个字符型变量占用1字节大小的空间

#include <stdio.h>
int main() {
    char a = 'A';
    printf("%c\n",a+32);//以字符形式输出 a
    printf("%d\n",a);//以数值形式输出  65
    return 0;
}
构造类型 

数组([])、结构体(struct)

指针类型
空类型void

常量

分为 整型、实型(浮点型)、字符型(’c’)、字符串型(”abc”)

字符串型常量

“a” 双引号 占用的内存单元不是1个字符,而是2个字符,及大小为2个字节,最后一个字符为’\0’

变量

变量名、变量值、存储单元。

这些值在程序的执行过程中是可以改变的。

命名规范:

字母、数字和下划线

📌 并且第一个字符必须为字母或下划线

混合运算-printf使用

混合运算

类型强制转换场景

整形数进行除法运算时,如果运算结果为小数,那么存储浮点数时一定要进行强制类型转换

#include <stdio.h>
int main() {
    int i = 5;
    float j = i/2;//这里做的是整型运算,因为左右操作数都是整型
    float k = (float)i/2;
    printf("%f\n",j);//2.000000
    printf("%f\n",k);//2.500000
    return 0;
}

printf讲解 

1.原理:printf函数将这些类型的数据格式化为字符串后,放入标准输出缓冲区,然后将结果输出在屏幕上。

//语法
#include <stdio.h>
int printf(const char *format,...);

2.字符串格式(format)由两部分组成:显示到屏幕上的字符和定义printf函数显示的其他参数

 

%c字符
%d带符号整数
%f浮点数
%s一串字符
%u无符号整数
%x无符号十六进制数,用小写字母

#include <stdio.h>
int main() {
    int age = 12;
    printf("Hello %s,you are %d years old.\n","Bob",age);
    //Hello Bob,you are 12 years old.
    int i = 10;
    float f = 96.3;
    printf("student number = %-3d,score = %5.2f\n",i,f);
    //student number = 10 ,score = 96.30
    i = 100;
    f = 98.21;
    printf("student number = %3d,score = %5.2f\n",i,f);
    //student number = 100,score = 98.21
    return 0;
}

整型进制转换 

执行语句int i = 123,变量i会在内存上分配空间,大小为4字节。其中i的值变为7b(以十六进制方式查看内存),其十进制值为7*16+11=123.i的值是0x0000007b。为什么显示结果为7b 00 00 00呢?原因是因特尔CPU采用了小端方式进行数据存储,因此低位在前、高位在后

scanf读取标准输入 

scanf函数的原理

C语言未提供输入/输出关键字,其输入和输出是通过标准函数库来实现的。C通过scanf函数读取键盘输入,键盘输入又被成为标准输入。当scanf函数读取标准输入时,如果还没有输入任何内容,那么scanf函数会被卡住(专业用语阻塞)

#include <stdio.h>
//scanf用来读取标准输入,scanf把标准输入的内容,需要放到某个变量空间里,因此变量必须取地址
//scanf会阻塞,是因为标准输入缓冲区时空的
int main() {
    int i ;
    char c;
    float f;
    scanf("%d",&i);
    printf("i=%d\n",i);//把标准输入缓冲区的10读走了
//    fflush(stdin);//清空标准输入缓冲区
//    scanf("%c",&c);
//    printf("c=%c\n",c);
    scanf("%f",&f);//读取浮点数时,不需要fflush,会自己阻塞住
    printf("f=%f\n",f);
    return 0;
}

❓读取浮点数时,不需要fflush,会自己阻塞住

✅因为scanf函数在读取整型数、浮点数、字符串时,会忽略’\n’、空格符等字符(忽略是指scanf函数执行时会首先删除这些字符,然后再阻塞)

多种数据类型混合输入

#include <stdio.h>

int main() {
    int i,ret;
    char c;
    float f;
    ret = scanf("%d %c%f",&i,&c,&f);//ret是指scanf匹配成功的个数
    printf("i = %d,c = %c,f=%f\n",i,c,f);
    return 0;
}
//输出
100 a 98.2
i = 100,c = a,f=98.199997

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

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

相关文章

解密 AI 客服:LangChain+ChatGPT 打造智能客服新时代

你需要了解 ChatGPT ChatGPT 是 OpenAI 开发的一种基于人工智能技术的自然语言处理模型。它可以通过对大量文本数据进行训练&#xff0c;自动生成高质量的回答和对话。ChatGPT 具有高效、准确、自然的特点&#xff0c;可以帮助人们更加高效地处理信息和交流。 ChatGPT 有很多…

QT TCP多线程网络通信

学习目标&#xff1a; TCP网络通信编程 学习前置环境 运行环境:qt creator 4.12 QT TCP网络通信编程-CSDN博客 Qt 线程 QThread类详解-CSDN博客 学习内容 使用多线程技术实现服务端计数器 核心代码 客户端 客户端&#xff1a;负责连接服务端&#xff0c;每次连接次数1。…

启动tomcat时提示The JRE_HOME environment variable is not defined correctly

我的情况是在已经安装过jdk后&#xff0c;启动tomcat时出现以下问题 原因是环境变量配置不正确导致的 首先确认一下jre的实际安装路径 然后修改环境变量配置文件 vim /etc/profile 添加以下内容&#xff0c;JRE_HOME为实际jre的路径 然后保存退出 让文件生效一下 source…

Docker-搭建部署Jenkins(保姆篇)

文章目录 Jenkins部署拉取镜像启动容器查看初始密码关闭CSRF Jenkins页面使用解决插件下载缓慢访问jenkins页面推荐插件安装创建一个管理员账号实例配置页面展示 更多相关内容可查看 Jenkins部署 拉取镜像 如果想拉取对应版本请指明版本号 docker pull jenkins/jenkins:lts-…

数据分析入门指南:表结构数据(三)

在数字化转型的浪潮中&#xff0c;表结构数据作为企业决策支持系统的核心要素&#xff0c;其重要性日益凸显。本文深入剖析了表结构数据的本质特征、高效处理策略&#xff0c;并探讨了其在现代商业智能环境中的广泛应用&#xff0c;旨在为数据分析师与决策者提供前沿洞察与实战…

电脑屏幕亮度怎么调?3个技巧,指尖轻松调控明亮度

你是否曾因为屏幕亮度的不合适而感到眼睛疲劳&#xff1f;是否曾在深夜加班时&#xff0c;被电脑屏幕刺眼的亮度搅得心烦意乱&#xff1f;电脑屏幕亮度怎么调呢&#xff1f;本文将为你介绍3个简便易行的技巧&#xff0c;让指尖轻松掌控屏幕亮度&#xff0c;享受舒适的观看体验。…

前端vue 实现取色板 的选择

大概就是这样的 一般的web端框架 都有自带的 的 比如 ant-design t-design 等 前端框架 都是带有这个的 如果遇到没有的我们可以自己尝试开发一下 简单 的 肯定比不上人家的 但是能用 能看 说的过去 我直接上代码了 其实这个取色板 就是一个input type 是color 的input …

Vue组件通信props和$emit用法

父传子&#xff0c;通过props 子传父&#xff0c;通过$emit App.vue <template><div class"app" style"border: 3px solid #000; margin: 10px">我是APP组件<!-- 1.给组件标签&#xff0c;添加属性方式 赋值 --><!-- 添加属性传值 …

untiy 在菜单栏添加自定义按钮 点击按钮弹出一个Unity窗口,并在窗口里添加属性

using System.Collections.Generic; using UnityEditor; using UnityEngine; using UnityEngine.Rendering.PostProcessing;public class AutoGenerateWindow : EditorWindow //这是定义一个窗口 {public string subjecttName "科目名字";//科目的名字public GameOb…

补光灯LED照明 2.7V4.2V5V升60V80V100V升压恒流芯片IC-H6902B

H6902B升压恒流芯片IC确实是一款为LED照明应用设计的稳定且可靠的解决方案。这款芯片具有以下几个显著特点&#xff1a; 高效率&#xff1a;效率高达95%以上&#xff0c;这意味着在驱动LED灯时&#xff0c;电源到LED的能量转换效率非常高&#xff0c;减少了能量损失&#xff0…

抖音本地生活服务商怎么申请?附详细教程!

随着本地生活的发展潜力和行业前景的不断展现&#xff0c;本地生活服务商也逐渐成为了一大热门职业。在此背景下&#xff0c;作为拥有约8亿日活用户的抖音成为了人们选择平台时的优先考虑对象&#xff0c;而以抖音本地生活服务商怎么申请为代表的相关问题也因此在多个创业者群中…

雪花算法改造失败导致ID重复问题分享

背景 雪花算法是分布式应用中应用比较多的 ID 生成算法&#xff0c;某项目中使用该算法生成ID&#xff0c;近期被反馈算法生成的 ID 存在重复的情况&#xff0c;排了一天&#xff0c;终于找到问题根源了。 本文将总结这个 Bug &#xff0c;顺便温故一下雪花算法及改造雪花算法…

mes系统在新材料行业中的应用价值

万界星空科技新材料MES系统是针对新材料制造行业的特定需求而设计的制造执行系统&#xff0c;它集成了生产计划、过程监控、质量管理、设备管理、库存管理等多个功能模块&#xff0c;以支持新材料生产的高效、稳定和可控。以下是新材料MES系统的具体功能介绍&#xff1a; 一、生…

创建 ComfyUI 自定义节点的基本指南

ComfyUI 自定义节点基础教程 开始前的准备理解 ComfyUI 节点创建自定义节点1. 定义节点参数2. 实现节点逻辑3. 与 ComfyUI 集成 测试和改进节点结论 ComfyUI 是一个多功能的Stable Diffusion图像/视频生成工具&#xff0c;能够让开发者设计并实现自定义节点&#xff0c;扩展功能…

无线领夹麦克风哪个牌子好,揭秘降噪领夹麦排行榜内幕!

在当今这个短视频如潮水般涌动的时代&#xff0c;人们的日常生活中掀起了一股新的潮流——用Vlog来捕捉生活的点点滴滴&#xff0c;许多博主在各种短视频和直播平台上开启了他们的副业之旅。这一现象催生了麦克风技术的飞速进步&#xff0c;使其从单一的录音工具转变为拥有多种…

私域运营从0到1冷启动

私域社群的冷启动是一个从无到有的过程&#xff0c;需要策略和耐心来吸引并维护用户。以下是一些步骤和策略&#xff0c;可以帮助你的私域社群实现从0到1的冷启动&#xff1a; 1. **明确目标和定位**&#xff1a; - 确定社群的目标用户和他们的需求。 - 明确社群的主题和…

一文清晰了解CSS——简单实例

首先一个小技巧&#xff1a; 一定要学会的vsCode格式化整理代码的快捷键&#xff0c;再也不用手动调格式了-腾讯云开发者社区-腾讯云 (tencent.com) CSS选择器用于选择要应用样式的HTML元素。常见的选择器包括&#xff1a; 类选择器&#xff1a;以.开头&#xff0c;用于选择具…

多个标签页中复用同一 QTableView

在 PyQt 中实现在多个标签页中复用同一个 QTableView 实例&#xff0c;复用同一个 QTableView 实例可以减少内存和资源的使用。每个 QTableView 实例都会消耗一定的内存和处理资源&#xff0c;如果每个标签页都创建一个新的实例&#xff0c;会增加系统的负担。通过复用实例&…

Hi3861鸿蒙开发环境搭建

1.1 安装配置Visual Studio Code 打开Download Visual Studio Code - Mac, Linux, Windows选择下载安装Windows系统的Visual Studio Code。 下载后进行安装。Visual Studio Code安装完成后&#xff0c;通过内置的插件市场搜索并安装开发所需的插件如图所示&#xff1a; 1.2 安…

2024 年最佳 Figma 字体

字体不仅仅是文本字符&#xff0c;它们还塑造了用户体验。从引导用户浏览界面到传达品牌个性&#xff0c;字体对于设计​​至关重要。然而&#xff0c;找到适合您的网站或应用风格的完美字体可能具有挑战性。 但不要害怕&#xff0c;我们会帮助您&#xff01;请继续关注&#x…