C语言(1):初识C语言

0 安装vs2022

见 鹏哥视频即可

1 什么是C语言

c语言擅长的是底层开发

现在一般用的是C89和C90的标准

主要的编辑器:

2 第一个C语言项目

.c 源文件 .h头文件 .cpp c++文件

c语言代码中一定要有main函数

标准主函数的写法:

int main()
{
return 0;
}

注意和java一样是先后呼应的!

#include <stdio.h> 
//C语言规定main是代码执行的入口,只能写一个,必须有!!!!!!
// 是为了导入printf这个库,才可以打印
//std 标准 i-input o- output输入输出
int main() {
	printf("hello world");
	return 0;
}
//运行代码ctrl+F5
//为什么 return 0 历史习惯:正确的返回是0 错误的话返回1

运行代码:ctrl+F5

3 数据类型

char         // 字符数据类型
short       // 短整型
int         // 整形
long         // 长整型
long long   // 更长的整形
float       // 单精度浮点数
double       // 双精度浮点数【精度更高一些】
//C 语言有没有字符串类型?
#include <stdio.h>
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));
    printf("%d\n", sizeof(long double));
    return 0;
}

上面输出的单位是字节!

计算机中的单位:

1 byte = 8 bit

类型的使用:

char ch = 'w';
int weight = 120;
int salary = 20000;

本质是向计算机申请空间!

4 变量和常量

4.1 局部变量和全局变量

b是全局变量 a是局部变量!

在统一个范围里同一个变量名不能重复定义!

 局部优先!

#include <stdio.h>
int global = 2019;//全局变量
int main()
{
    int local = 2018;//局部变量
    //下面定义的global会不会有问题?
    int global = 2020;//局部变量
    printf("global = %d\n", global);
    return 0;
}

输入函数scanf 输出函数printf

输出两个整数的和:

#include <stdio.h>
int main()
{
    int num1 = 0;
   int num2 = 0;
    int sum = 0;
    printf("输入两个操作数:>");
    scanf("%d %d", &num1, &num2);
    sum = num1 + num2;
    printf("sum = %d\n", sum);
    return 0;
}

一定要在第一行放!!!

对scanf报错了:解决办法有两个!

但是建议在源文件的第一行上加入:#define

有一个一劳永逸的办法就是在newc++file.cpp 文件里加入 #define _CRT_SECURE_NO_WARNINGS 即可!!这样每次创建的.c文件时都会自己出来在第一行!

printf打印%d %c等含义

%d - 打印整型

%c- 打印字符

%s- 打印字符串

%f- 打印float类型的数据

%1f- 打印double类型的数据

4.2 变量的作用域和生命周期

作用域
作用域( scope )是程序设计概念,通常来说,一段程序代码中所用到的名字并不总是有效 / 可用
而限定这个名字的可用性的代码范围就是这个名字的作用域。
1. 局部变量的作用域是变量所在的 局部范围
2. 全局变量的作用域是整个工程。
【一个括号就是一个范围!】
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int a = 10;
void test() {
	printf("test-->%d\n", a);
}

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

如果想要调用的a实在另外一个文件里定义的话:

只需要加入:

extern int a;

生命周期
变量的生命周期指的是变量的创建到变量的销毁之间的一个时间段
1. 局部变量的生命周期是:进入作用域生命周期开始,出作用域生命周期结束。
2. 全局变量的生命周期是:整个程序的生命周期。

4.3 常量

常量是不变的!用来描述不变的东西!

C 语言中的常量分为以下以下几种:

1、字面常量

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

// 字面常量
int main(){
	30;
	3.14;
	'w';//字符
	"abc";//字符串
	return 0;

}

2、const 修饰的常变量【不能改变了】

一般定义后的a在后面是可以被覆盖的,但是如果不想被修改就可以在创建的时候加上const!!!
上面例子上的a   被称为 const 修饰的常变量, const 修饰的常变量在 C 语言中只是在语法层面限制了 变量 a 不能直接被改变,但是 a 本质上还是一个变量的,所以叫常变量。
arr[n]中的n是常量不能是变量!!!!

3、#define 定义的标识符常量

4、枚举常量

枚举的东西从0开始

5 字符串

5.1 字符和字符串

空格也是字符!

字符--是一个字母,用单引号

字符串--是多个字母,用双引号

但是C语言里只有字符类型,没有字符串类型!字符串用数组的类型进行存储!

字符串是以\0作为结束的!【自己分开创建的时候要注意】

如果不弄\0时,打印的时候会一直打印到遇到\0才停止

打印字符串的长度

不数\0

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include<string.h>//引入头文件(才可以用strlen)!!!!!!

int main()
{
	char arr1[] = "bit";
	char arr2[] = { 'b', 'i', 't' };
	char arr3[] = { 'b', 'i', 't', '\0' };
	int len = strlen("abc");
	printf("%d\n", len);
	
	return 0;
}

5.2 转义字符

\ddd 和 \xdd 注意\ddd表示八进制数的时候后面的数字都不能超过8哦!

\130表示的是将8进制下的,130转换成10进制后得到的整数数字按照ASCII表对应找到字符类型输出!

\x63 表示的是16进制下的数字是 63

ASCII表

把被一个字符都编一个号方便计算机的二进制存储!

很无语的题:

转义字符合在一起是一个字符!

6 注释

前面加//

或者/* */ 适合于很长一段

快捷键:

//注释多行快捷键

Ctrl+k

ctrl+l

//解注释多行快捷键

Ctrl+k

ctrl+u

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

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

相关文章

菜鸟Java面向对象 1. Java继承

1. Java继承 Java继承 1. Java继承1. 继承的概念_简单介绍继承的用处生活中的继承&#xff1a; 2. 类的继承格式类的继承格式 3. 为什么需要继承企鹅类&#xff1a;老鼠类&#xff1a;公共父类&#xff1a;企鹅类&#xff1a;老鼠类&#xff1a; 4. 继承类型_多重继承5. 继承的…

视频怎么批量压缩?5个好用的电脑软件和在线网站

视频怎么批量压缩&#xff1f;有时候我们需要批量压缩视频来节省存储空间&#xff0c;便于管理文件和空间&#xff0c;快速的传输发送给他人。有些快捷的视频压缩工具却只支持单个视频导入&#xff0c;非常影响压缩效率&#xff0c;那么今天就向大家从软件和在线网站2个角度介绍…

AI建模效果到底行不行?试用这些AI工具告诉你!

当前AI大模型技术浪潮正掀起一股颠覆性的变革浪潮。诸如Midjourney、Stable Diffusion等AI绘画生成工具变得日益成熟&#xff0c;赋能千行百业。在之前的文章中我给大家介绍了很多Midjourney、Stable Diffusion的使用方法和对应的功能&#xff1a; Midjourney vs Stable Diffu…

【连接管理,三次握手,拥塞控制原理】

文章目录 连接管理TCP连接管理同意建立连接TCP3次握手3次握手解决&#xff1a;半连接和接受老数据问题TCP&#xff1a;关闭连接 拥塞控制原理拥塞控制的方法 连接管理 TCP连接管理 TCP连接管理 在正式交换数据之前&#xff0c;发送方和接收方握手建立通信关系&#xff1a; 同…

ECharts海量数据渲染解决卡顿

file模块用来写文件 我们首先使用node来生成10万条数据; 借助node的fs模块就行; 如果不会的小伙伴;也不要担心;超级简单// 引入模块 let fs = require(fs); // 数据内容 let fileCont=我是文件内容 /*** 第一个参数是文件名* 第二个参数是文件内容,这个文件的内容必须是字…

内容平台加码旅游:谁是下一个网红城市

“姐妹们&#xff0c;你们五一啥安排&#xff1f;”早在3月中旬&#xff0c;小威就在询问两个好朋友的行程&#xff0c;“不早早问&#xff0c;怕约不上你们。” 去年以来&#xff0c;国人的旅游需求快速复苏&#xff0c;像小威的朋友一样&#xff0c;之前爱玩的、不爱玩的似乎…

使用Unity扫描场景内的二维码,使用插件ZXing

使用Unity扫描场景内的二维码&#xff0c;使用插件ZXing 使用Unity扫描场景内的二维码&#xff0c;ZXing可能没有提供场景内扫描的方法&#xff0c;只有调用真实摄像机扫描二维码的方法。 实现的原理是&#xff1a;在摄像机上添加脚本&#xff0c;发射射线&#xff0c;当射线打…

世界首台能探测单个原子的量子模拟器,诞生!

量子物理学依赖于高精度的传感技术&#xff0c;以便深入研究材料的微观特性。近期开发的模拟量子处理器显示出量子气体显微镜在原子层面理解量子系统方面的强大潜力。这种显微镜可以生成极高分辨率的量子气体图像&#xff0c;甚至能够检测到单个原子。 在西班牙巴塞罗那的ICFO&…

XxlJob外网访问

Xxl-Job使用外网访问 服务注册中心配置 ### web server.port8088 server.servlet.context-path/xxl-job-admin### actuator management.server.base-path/actuator management.health.mail.enabledfalse### resources spring.mvc.servlet.load-on-startup0 spring.mvc.static…

Java练习题

打印9*9乘法口诀表 解析&#xff1a;利用for循环解决 代码如图所示&#xff1a; public class Cc {public static void main(String[] args) {for (int i 1; i < 10; i){ //从1遍历到9 for(int j 1; j < i; j){ System.out.print(j "*" i "&…

由于找不到steam_api64.dll,无法继续执行代码的解决方法

当用户在尝试启动某款基于Steam平台的游戏时&#xff0c;遇到了“游戏显示找不到steam_api64.dll”的错误提示&#xff0c;这会导致无法正常启动游戏。这究竟是什么原因导致的呢&#xff1f;本文将介绍五种解决方法&#xff0c;帮助大家解决这一问题。 一&#xff0c;了解steam…

实现ALV页眉页脚

1、文档介绍 在ALV中&#xff0c;可以通过增加页眉和页脚&#xff0c;丰富ALV的展示。除了基本的页眉和页脚&#xff0c;还可以通过插入HTML代码的方式展示更加丰富的页眉和页脚&#xff0c;本篇文章将介绍ALV和OOALV中页眉页脚的使用。 2、ALV页眉页脚 效果如下 2.1、显示内…

对于地理空间数据,PostGIS扩展如何在PostgreSQL中存储和查询地理信息?

文章目录 一、PostGIS扩展简介二、PostGIS存储地理空间数据1. 创建空间数据表2. 插入空间数据 三、PostGIS查询地理空间数据1. 查询指定范围内的地理空间数据2. 计算地理空间数据之间的距离3. 对地理空间数据进行缓冲区分析 四、总结 地理空间数据是指描述地球表面物体位置、形…

翻译《The Old New Thing》 - What‘s so special about the desktop window?

Whats so special about the desktop window? - The Old New Thing (microsoft.com)https://devblogs.microsoft.com/oldnewthing/20040224-00/?p40493 Raymond Chen 2004年02月24日 简介 桌面窗口在 Windows 编程中具有特殊的地位&#xff0c;因为它代表整个桌面环境。滥用…

常见大厂面试题(SQL)01

知乎问答最大连续回答问题天数大于等于3天的用户及其对应等级 1.描述 现有某乎问答创作者信息表author_tb如下(其中author_id表示创作者编号、author_level表示创作者级别&#xff0c;共1-6六个级别、sex表示创作者性别)&#xff1a; author_id author_level sex 101 …

ARP 攻击神器:ARP Spoof 保姆级教程

一、介绍 arpspoof是一种网络工具&#xff0c;用于进行ARP欺骗攻击。它允许攻击者伪造网络设备的MAC地址&#xff0c;以欺骗其他设备&#xff0c;并截获其通信。arpspoof工具通常用于网络渗透测试和安全评估&#xff0c;以测试网络的安全性和漏洞。 以下是arpspoof工具的一些…

LabVIEW学习记录 - 实时显示时间

LabVIEW操作 - 实时显示时间 在程序框图&#xff0c;选择函数->定时->格式化日期/时间字符串 该函数的使用手册说明&#xff1a; 鼠标选择“格式化日期/时间字符串”->创建->输入控件->输入格式 查看时间代码格式&#xff1a; 编程->定时->获取时间日…

业务复习知识点Oracle查询

业务数据查询-1 单表查询 数据准备 自来水收费系统建表语句.sql 简单条件查询 精确查询 需求 &#xff1a;查询水表编号为 30408 的业主记录 查询语句 &#xff1a; select * from t_owners where watermeter 30408; 查询结果 &#xff1a; 模糊查询 需求 &#xff1a;查询业…

每日汇评:捍卫 2318美元的支撑位对于黄金至关重要

金价仍保持防御性&#xff0c;但周三早盘守住 2300 美元。&#xff1b; 在中东紧张局势缓和之际&#xff0c;美元下跌给金价带来了安慰。 只要 21 日均线守住&#xff0c;金价下跌空间似乎有限&#xff0c;因为 RSI 保持看涨&#xff1b; 周三早盘&#xff0c;金价维持在2300美…

机器学习-随机森林算法预测房租模型

文章目录 机器学习-随机森林算法预测房租模型解决问题数据集探索性数据分析数据预处理构建模型并训练结果分析与评估参数调优结果预测模型保存经验总结参考文章 机器学习-随机森林算法预测房租模型 解决问题 根据待租房源相关信息&#xff0c;通过随机森林机器学习算法构件预…