c语言入门-3-打印复杂类型

news2024/9/22 4:19:27

打印复杂类型

  • 前言
  • 上代码
    • 字符
    • 整形
    • 浮点型
    • 打印超长小数
    • 向内存中申请空间
    • 局部变量,全局变量
    • 使用输入函数 scanf
    • 作用域
    • 生命周期
  • 深度解析
    • 1 c语言中数据类型
    • 2 这些字段类型的大小又是多少呢
    • 3 计算机的大小单位
    • 4 scanf 报错
  • 下一篇

前言

语言本身的学习,有两点比较重要,一,就是坚持,二,就是把每一小节学会了就好了,哪怕过后即忘,再回首也是一眼就会,把难点变成简单的一点点

上代码

字符

int main() {
	// char - 字符类型
	char ch = 'A';
	printf("%c\n",ch);  // %c -- 打印字符格式的数据
	return 0;
}

在这里插入图片描述

整形

int main() {
	// int  - 整型
	int age = 20;
	printf("%d\n",age);   // %d -- 打印整型十进制数据
	return 0;
}

在这里插入图片描述

浮点型

int main() {
	// float - 浮点型
	float f = 5.0;
	printf("%f\n",f); // %f -- 打印浮点型数据
	return 0;
}

在这里插入图片描述

打印超长小数

int main() {
	// float - 浮点型
	double d = 3.14442123126234;
	printf("%.14f\n",d);     // %.14f  中的14 是打印位数,你需要打印多长位的小数,就写多少,但是超过一定位数的小数会失真
	return 0;
}

在这里插入图片描述

向内存中申请空间

int main() {
   // 数字20
	short age = 20; // 向内存申请2个字节=16bit位,用来存放20这个数字
	float weight = 3.25; // 向内存申请4个字节,存放小数
	return 0;
}

局部变量,全局变量

int a = 100;  // 局部变量-定义在代码块{} 之外的变量
int main() {
	int a = 10;  // 局部变量-定义在代码块{} 之内的变量
	printf("%d\n",a);  // 局部变量可以和全局变量同时存在,会优先取值局部变量
	return 0;
}

在这里插入图片描述

使用输入函数 scanf

#define _CRT_SECURE_NO_WARNINGS

#include <stdio.h>

int main() {
	// 计算两个数字的和
	int num1 = 0;
	int num2 = 0;
	// 输入数据-使用输入函数 scanf
	scanf("%d%d",&num1,&num2);
	int sum = num1 + num2;
	printf("sum = %d\n",sum);
	return 0;
}

作用域

1,局部变量的作用域是变量所在的局部范围,看示例代码

int main() {
	// 当前大括号的局部变量
	int a = 0;
	printf("%d\n",a);
	return 0;
}

在这里插入图片描述

int main() {
	// 对于内部大括号中的变量
	{
		int a = 1;
	}
	printf("%d\n",a);
	return 0;
}

在这里插入图片描述
2,全局变量的作用域是整个工程

int a = 123;
int main() {
	printf("%d\n",a);
	return 0;
}

在这里插入图片描述
创建一个文件 test2.c

#define _CRT_SECURE_NO_WARNINGS
int cc = 345;

在原来的文件中访问 cc

int a = 123;
int main() {
	// 对于内部大括号中的变量
	extern int cc;
	printf("%d\n",cc);
	return 0;
}

在这里插入图片描述

生命周期

1,局部变量的生命周期是:进入作用域生命周期开始,出作用域生命周期结束
2,全局变量的生命周期是:整个程序的生命周期

深度解析

1 c语言中数据类型

char  				//字符数据类型 
short 				//短整型
int 					//整形
long 				//长整型
long long 		//更长的整形
float 				//单精度浮点型
double				//双精度浮点型

为什么要有不同的数据类型
减少内存消耗,对应数据对应类型,不同的数据类型对内存的消耗不同

2 这些字段类型的大小又是多少呢

int main() {
	printf("%d\n", sizeof(char));
	printf("%d\n", sizeof(short));
	printf("%d\n", sizeof(int));
	printf("%d\n", sizeof(long));
	printf("%d\n", sizeof(long long));
	printf("%d\n", sizeof(float));
	printf("%d\n", sizeof(double));
	return 0;
}

在这里插入图片描述

3 计算机的大小单位

bit 比特位
byte 字节 = 8 bit
kb = 1024 byte
mb = 1024 kb
gb = 1024 mb

4 scanf 报错

C4996 ‘scanf’: This function or variable may be unsafe.Consider using scanf_s instead.To disable deprecation, use _CRT_SECURE_NO_WARNINGS

这个报错 是因为 VS 的问题,vs 觉得这个方法是不安全的
解决方案
1,所以可以按照提示添加,这样比较累,每新增一个文件都得添加一个头
#define _CRT_SECURE_NO_WARNINGS 来忽略这个报错
2 修改vs 配置文件 ,右键打开快捷方式 打开文件所在的位置
会出现在一个IDE 的文件夹 ,然后选择以下路径 \VC\VCProjectItems,然后编辑 newc++file.cpp 文件 添加 #define _CRT_SECURE_NO_WARNINGS 强制保存即可

下一篇

上一篇 ----> c语言入门-2-控制台项目分析

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【前端】Vue项目:旅游App-(7)city:搜索框search和标签页Tabs

文章目录目标过程与代码搜索框初步自己实现取消功能样式修改标签页效果总代码修改的文件common.csscity.vuemain.js目标 过程与代码 搜索框 初步 在Vant文档中找到搜索框&#xff1a;Search搜索 按照文档要求引入&#xff08;如果以插件的形式安装vant就不用这样引入&#x…

c语言 动态内存分配 柔性数组

常见的动态内存错误 对null指针的解引用操作 int main()//错误1 因为没有判断 {int* p (int*)malloc(10000);int i 0;for (i 0; i < 10; i){*(p i) i;}return 0; }对动态开辟空间的越界访问 int main() {int* p malloc(10 * sizeof(int));if (p NULL){return 1;}…

5G NR标准: 第16章 初始接入

第16章 初始接入 在 NR 中&#xff0c;初始接入功能包括&#xff1a; • 设备在进入系统覆盖区域时最初找到小区的功能和过程。 • 处于空闲/非活动状态的设备访问网络的功能和程序&#xff0c;通常是请求建立连接&#xff0c;通常称为随机访问。 在相当大的程度上&#xff0…

ORA-27102:out of memory Linux-x86_64 Error: 12: Cannot allocate memory

一 问题描述 无法启动数据库&#xff0c;报错&#xff1a; 二 排查思路 1.确保sga_target,sga_max_size比可用物理内存小 2.检查kernel.shmmax&#xff0c;kernel.shmall是否设置得太小 一般出现ORA-27102&#xff1a;out of memory&#xff0c;是/etc/sysctl.conf种内核参…

Apache Tomcat 存在 JsonErrorReportValve 注入漏洞(CVE-2022-45143)

漏洞描述 Apache Zeppelin是一款基于 Web 可实现交互式数据分析的notebook产品。 在Apache Zeppelin 0.10.1及以前的版本中“Move folder to Trash”功能存在路径遍历漏洞&#xff0c;由于未对InterpreterSettingManager类remove方法中id参数进行正确校验&#xff0c;攻击者可…

看完这篇文章,我再也不用担心线上出现 CPU 性能问题了(上)

目录CPU 使用率平均负载进程上下文切换总结生产环境上出现 CPU 性能问题是非常典型的一类问题&#xff0c;往往这个时候就比较考验相关人员排查问题的能力我相信不少小伙伴在工作当中多多少少都会碰到 CPU 出现性能瓶颈 不知道小伙伴们有没有跟我一样的感受——当 CPU 出现性能…

小红书排行榜 | 粉丝增量500w+,探寻爆款种草内容密码

随着兔年来临&#xff0c;回首上个月小红书母婴动态&#xff0c;行业热度依旧高涨&#xff0c;越来越多的达人和新品牌都涌入了小红书&#xff0c;母婴品牌要如何巧用小红书数据分析工具抢占用户心智&#xff1f;增量500w&#xff0b;的母婴博主有何亮点之处&#xff1f;和我一…

【甘特图软件部件】上海道宁与​DlhSoft助力您的Windows与移动应用程序开发

DlhSoft支持 使用可自定义的甘特图 时间轴、项目调度、资源负载图表、 看板、PERT图表和网络图 为您的WPF、ASP .NET、JavaScript 或macOS和iOS应用程序 设计更智能的应用程序 DlhSoft提供了 真正强大的甘特图软件部件 Apple平台开发人员可以 轻松地将其集成到 他们自…

equals和 == 的区别

1 问题equals和 都可以对于值类型&#xff0c;然后比较代数值是否相等。那么equals和 的具体区别是什么&#xff1f;2 方法 是运算符&#xff0c;可以使用在基本数据类型变量和引用数据类型变量中&#xff0c;如果比较的是基本数据类型&#xff1a;比较的是两个变量保存额数据…

嵌入式实时操作系统的设计与开发(二)

加载应用程序与创建程序运行环境 将应用程序从Flash加载到RAM的实现代码是一定在启动代码中的。 计算机系统的运行其实是CPU到相应的内存地址去取回指令&#xff0c;然后译码并执行指令&#xff0c;再依次从下一个地址取指、执行&#xff0c;而程序就是指令与数据的集合。 程序…

JAVAWeb开发(基于分片的网络状态查询方法、装置及存储介质)

本文基于分片的网络状态查询方法、装置及存储介质已是申请的专利。本人为第一发明人&#xff0c;这里给出来是提供一种写专利的范本&#xff0c;仅供参考。专利申请号&#xff1a;CN202110346967.5正文部分&#xff1a;技术领域本申请涉及但不限于计算机网络数据传输一致性领域…

opencv--颜色物体追踪 图片的形态学处理函数

目录 一、主要函数介绍 1. cv2.erode() 2. cv2.dilate() 3. cv2.findContours() 4. cv2.circle() 5. cv2.line() 二、代码 这里首先确定是否安装imutils库&#xff0c;这个库能让调整大小或者翻转屏幕等基本任务更加容易实现。这一次主要应用的是对于图片的形态学处理函…

【Android春招】Android基础day1

一、填空题 1&#xff0e;Android是基于__ 的移动端开源操作系统。 Linux 2&#xff0e;Android系统是由__公司推出的。 谷歌 3&#xff0e;Android 11对应的API编号是__。 30 4&#xff0e;App除了在手机上运行&#xff0c;还能在电脑的__上运行。 模拟器&#xff08;AVD&…

测试之概念篇【需求、测试用例、Bug描述、产品的生命周期、开发模型、测试模型】

文章目录1. 什么是需求2. 测试用例是什么3. Bug 是描述4. 产品的生命周期5. 软件测试贯穿于软件的整个生命&#xff0c;如何贯穿&#xff1f;6. 开发模型&#xff08;瀑布模型、螺旋模型、增量模型和迭代模型、敏捷模型&#xff09;7. 测试模型&#xff08;V模型、W模型&#x…

【Java寒假打卡】Java基础-BigDecimal

【Java寒假打卡】Java基础-BigDecimal构造方法四则运算BigDecimal的特殊方法基本数据类型包装类自动装箱与自动拆箱Integer的类型转换将数字字符串进行拆分成整数数组构造方法 package com.hfut.edu.test1;import java.math.BigDecimal;public class test3 {public static void…

Crontab命令详解

crontab命令是Unix和Linux用于设置周期性被执行的指令&#xff0c;是互联网很常用的技术&#xff0c;很多任务都会设置在crontab循环执行。crontab命令可以精确到分&#xff08;精确到秒的一般写脚本&#xff09;&#xff0c;相当于闹钟。 如果不使用crontab&#xff0c;那么任…

GD32F103-TIMER模块

定时器是一个功能强大的外设。 一般功能&#xff1a; 定时中断&#xff0c;计时器&#xff0c;给定一个时间&#xff0c;到达时间后产生一个中断定时器输出比较的功能&#xff0c;用于PWM波形的产生&#xff0c;驱动电机定时器输入捕获&#xff0c;测频率 核心关键参数&#…

基于Java+SpringBoot+vue+element实现新冠疫情物资管理系统详细设计

基于JavaSpringBootvueelement实现新冠疫情物资管理系统详细设计 博主介绍&#xff1a;5年java开发经验&#xff0c;专注Java开发、定制、远程、文档编写指导等,csdn特邀作者、专注于Java技术领域 作者主页 超级帅帅吴 欢迎点赞 收藏 ⭐留言 文末获取源码联系方式 文章目录基于…

文件IO----(open、close、read、write、lseek)

1.文件IO 介绍:&#xff08;系统IO、系统调用&#xff09; POSIX&#xff08;可移植操作系统接口&#xff09;定义的一组函数&#xff0c;不提供缓冲机制&#xff0c;每次读写操作都引起系统调用&#xff0c;核心概念是文件描述符&#xff0c;访问各种文件类型&#xff0c;Lin…

Keychron 键盘指南

文章目录QQ1Q2Q3Q4Q5KK1K2k3 && k3proK3 VS K7k6 && K6prok7K8k10K12K14CVV1V2V3V4V5V6SQ Q1 Q1 是一款革命性的全金属键盘&#xff0c;每个开关、键帽、稳定器、旋钮甚至面板都具有可定制的功能。它专为个性化体验和卓越的打字舒适度而设计。 双垫片设计…