p12初步认识c语言

news2024/11/14 14:30:54

1.初识c语言

什么是c语言

c语言是一门计算机语言

计算机语言是什么

人和计算机交流语言

c/c++/JAVA/python

语言发展:

二进制语言

硬件-电-正电/负电

1010001010101010101010101010手册

科学家

1010100010-ADD -助记符-汇编语言

B语言

C语言

C++、---高级语言

c语言---->早期不是很成熟---->成熟---->流行

国际标准

ANSI C C89/C90

C99/C11并不流行--不少编译器不支持

写C代码

1.创建工程

2.创建文件

#include<stdio.h>
int main()
{
        printf("hehe\n");
         return 0;
}

#include<stdio.h>
int main(){//主函数-程序的入口
printf("hello world\n");
return 0;
}

//int 是整型的意思
//main前面的int表示main函数 调用返回一个整型值
int main()
{
return 0;//返回0
}

void main 是过时的写法

int main(){

//这里完成任务

//在屏幕上输出hello world

//函数-printf function -printf -打印函数

printf("hello 比特\n");

return 0;

}

//用别人的东西,打招呼

//include

std-标准 standard

i-input

o-output

<stdio.h>标准输入输出

#include<stdio.h>

char   //字符数据类型

short  //短整型

int //整型

long // 长整型

int main()

{

        char ch='A' ; //内存

        printf("%c");//%c打印字符格式的数据

         //20

//short int -短整型

//int 整型

//int age=20;

//printf("%d\n",age);//%d-------打印整型|进制数据

//long长整型

//long num=100

//printf("%d\n",num);

float f =5.0

//printf("%f\n",num);

//float f=5.0

//printf("%f\n",f);

//double d=3.14;

//printf("lf\n",d);

          return 0;

}

//char -字符类型

//%d -打印整型

//%c 打印字符

//%f 打印浮点数字 -大小数

//%p一地址的形式打印

//%x -打印16进制数字

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;
}

1 2 4 4 8 4 8

2.字节

计算机中单位

bit 比特位

byte -字节

kb

mb

gb

tb

pb

计算机是硬件--通电

正点 负电

1          0

二进制

10进制

0 1 2 3 4 5 6 7 8 9 

2进制

0 1

8进制

0 1 2 3 4 5 6 7 

1byte=8bit

10110011

1个字节=8个比特位的大小

字节跳动

Byte Dance

1kb=1024bit

1mb=1024bit

1gb=1024bit

1tb=1024bit

1pb=1024bit

000000000000000000

000000000000000001

000000000000000010

000000000000000011

000000000000000100

.

.

.

1111111111111111111111

123  十进制

1*10^2+2*10^1+3*10^0=123

010

0*2^2+1*2^1+0*2^0=2

c语言标准规定

sizeof(long)>=sizeof(int)

取决于平台

3.变量、常量

int age=150

int main()
{
    //年龄
    short age=20;//向内存申请两个字节用来尺寸放20
    float weight=95.6f;//向内存申请了4个字节

    return 0;
}

int num2=20;//全局变量-定义在代码块之外的变量

int main(){

int num1=10;//局部变量--定义在代码块内部

}

#include<stdio.h>
int a=100;
int main(){
    int a=10;
    printf("%d\n",a);
    return 0;
}

局部变量和全部变量尽量不要相同,容易产生bug。

当全局变量和局部变量名字相同的时候,局部变量优先

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

这样错误

需要a成为全局变量

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

int main()
{int sum =0;
    int num1=0;
    int num2=0;
    scanf("%d%d",&num1,&num2);//取地址符&
    
    //c语言语法规定变量要在当前代码块的最前面

//int sum =0;
    sum =num1+num2;
    printf("sum=%d\n",sum);

return 0;
}

4.作用域

局部变量的作用域:变量在哪里用,哪里就是它的作用域

int main(){

int num=0;

printf("num=%d\n",num);

return 0;

}

全局变量的作用域

int  global=2020;
void test(){
    printf("test()--%d\n",global);

}
int main(){
    test();
    printf("%d\n",global);
    return 0;
}

source 1.c

int g_val=2020;

source 2.c

int main(){

//未声明的标识符

extern int g_val;//生命外部符号

printf("g_val=%d",g_val);

return 0;

}

变量生命周期

局部生命周期

#include<stdio.h>

int main(){

{

        int a=10;

printf("a=%d",a);

}

printf("a=%d",a);

}

全局生命周期

全局生命周期是整个程序的生命周期

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

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

相关文章

【全面介绍语言模型的原理,实战和评估】

🎥博主:程序员不想YY啊 💫CSDN优质创作者,CSDN实力新星,CSDN博客专家 🤗点赞🎈收藏⭐再看💫养成习惯 ✨希望本文对您有所裨益,如有不足之处,欢迎在评论区提出指正,让我们共同学习、交流进步! 🥂语言模型的原理 🥂语言模型基于统计和机器学习的原理,目标…

实验1 —— 安全策略的练习

实验拓扑图 实验要求 1.DMZ区内的服务器&#xff0c;办公区仅能在办公时间内&#xff08;9&#xff1a;00-18&#xff1a;00&#xff09;可以访问&#xff0c;生产区的设备全天可以访问&#xff1b; 2.生产区不允许访问互联网&#xff0c;办公区和游客区允许访问互联网 3.办公区…

Java protobuf序列化

Protobuf概述 Protobuf&#xff08;全称&#xff1a;Protocol Buffers&#xff09;是由 Google 开发的一种语言中立、平台无关、可扩展的序列化协议。它用于高效地结构化数据的序列化和反序列化。Protobuf 的主要特点是其紧凑、高效和可扩展的编码格式&#xff0c;使其在各种网…

Nginx中文URL请求404

这两天正在搞我的静态网站。方案是&#xff1a;从思源笔记Markdown笔记&#xff0c;用MkOcs build成静态网站&#xff0c;上传到到Nginx服务器。遇到一个问题&#xff1a;URL含有中文会404&#xff0c;全英文URL则正常访问。 ‍ 比如&#xff1a; ​​ ‍ 设置了utf-8 ht…

mac安装配置cmake

本机是2015 macbook pro mid&#xff0c;已经有点老了&#xff0c;用homebrew下cmake老出问题 其实cmake官网安装也不麻烦 一、官网下载对应安装包 Download CMake 和所有dmg文件一样安装 二、改成命令行使用 一般来说 tutorial 给的都是命令行build 命令行的设置如下&am…

React Hooks学习笔记

一、usestate的使用方法-初始化state函数 import React, { useState } from "react"; function App() {const [count, setCount] useState(0);return (<div><p>点击{count}次</p><button onClick{() > setCount(count 1)}>点击</bu…

【TAROT学习日记】韦特体系塔罗牌学习(1)——愚者 THE FOOL 0

韦特体系塔罗牌学习&#xff08;1&#xff09;——愚者 THE FOOL 0 https://www.tarotchina.net/major-arcana0-vip/ 目录 韦特体系塔罗牌学习&#xff08;1&#xff09;——愚者 THE FOOL 0牌面分析1. 基础信息2. 图片元素 正位牌意1. 关键词/句2.爱情婚姻3. 学业事业4. 人际关…

原生小程序生成二维码并保存到本地

需求&#xff1a;我要在一个页面中生成一个二维码&#xff0c;并且这个二维码可以长按保存到本地或者发送给好友&#xff1b; 我这里是将生成的canvas二维码转换成图片&#xff0c;利用长按图片进行保存或转发 效果图&#xff1a; 第一步先下载对应的包&#xff1a; npm instal…

Web3知识图谱,一篇读完

这张图展示了区块链生态系统的架构和主要组件。以下是对图中内容的概括总结&#xff1a; 基础层&#xff1a; 底层基础设施&#xff1a;包括光纤网络、P2P网络、非对称加密、哈希算法、默克尔树和随机数生成。共识机制&#xff1a; PoW&#xff08;工作量证明&#xff09;: 比特…

C语言笔记31 •单链表经典算法OJ题-3.反转链表•

反转链表 1.问题 给你单链表的头节点 head&#xff0c;请你反转链表&#xff0c;并返回反转后的链表。 2.代码实现&#xff1a; //3.反转链表 #define _CRT_SECURE_NO_WARNINGS 1 #include <stdio.h> #include <stdlib.h> #include <assert.h>typedef int …

华为模拟器ensp中USG6000V防火墙web界面使用

防火墙需要配置 新建拓扑选择USG6000V型号 在防火墙中导包 忘记截图了 启动设备 输入用户名密码 默认用户名&#xff1a;admin 默认密码&#xff1a;Admin123 修改密码 然后他会提示你是否要修改密码&#xff0c;想改就改不想改就不改 进入命令行界面 进入系统视图开启web…

【RHCE】基于用户认证和TLS加密的HTTP服务(HTTPS)

目录 一、创建用户账号 二、TLS加密 三、配置http服务子配置文件 四、创建访问http服务的文件夹以及输入重定向到文件 五、配置Linux本地仓库以及Windows下的本地仓库 六、基础操作 七、测试 一、创建用户账号 用户认证 # 创建两个账户 [rootlocalhost ~]# htpasswd -…

商业合作方案撰写指南:让你的提案脱颖而出的秘诀

作为一名策划人&#xff0c;撰写一份商业合作方案需要细致的规划和清晰的表达。 它是一个综合性的过程&#xff0c;需要策划人具备市场洞察力、分析能力和创意思维。 以下是能够帮助你撰写一份有效的商业合作方案的关键步骤和要点&#xff1a; 明确合作目标&#xff1a;设定…

网络协议(TCP三次握手,四次断开详解)

TCP的详细过程&#xff1a; TCP&#xff08;传输控制协议&#xff09;的三次握手和四次断开是其建立连接和终止连接的重要过程&#xff0c;以下是详细解释&#xff1a; 三次握手&#xff1a; 1. 第一次握手&#xff1a;客户端向服务器发送一个 SYN&#xff08;同步&#x…

深度探讨:无法恢复主文件表的困境与解救之道

在数据存储与管理的复杂世界中&#xff0c;主文件表&#xff08;Master File Table, MFT&#xff09;作为文件系统的核心组件&#xff0c;承载着至关重要的角色。一旦遭遇无法恢复主文件表的困境&#xff0c;用户将面临数据访问受限、文件丢失等严重后果。这通常是由于硬件故障…

火柴棒图python绘画

使用Python绘制二项分布的概率质量函数&#xff08;PMF&#xff09; 在这篇博客中&#xff0c;我们将探讨如何使用Python中的scipy库和matplotlib库来绘制二项分布的概率质量函数&#xff08;PMF&#xff09;。二项分布是统计学中常见的离散概率分布&#xff0c;描述了在固定次…

力扣 hot100 -- 动态规划(下)

目录 &#x1f4bb;最长递增子序列 AC 动态规划 AC 动态规划(贪心) 二分 &#x1f3e0;乘积最大子数组 AC 动规 AC 用 0 分割 &#x1f42c;分割等和子集 AC 二维DP AC 一维DP ⚾最长有效括号 AC 栈 哨兵 &#x1f4bb;最长递增子序列 300. 最长递增子序列…

GPT-4o不香了, Claude3.5 Sonnet来了,直接免费可用

大家好&#xff01;我是YUAN。 刚刚&#xff01; AI领域又迎来了一场新的风暴——Anthropic公司发布了全新的Claude 3.5 Sonnet模型&#xff0c;这一消息如同一颗重磅炸弹&#xff0c;震撼了整个科技界。 Claude 3.5 Sonnet与GPT-4o对比 性能飞跃&#xff1a;超越GPT-4o Cl…

如何修改node_modules里的代码

为什么要改node_modules&#xff1f; 在平常的开发中&#xff0c;其实是很少需要改 node_modules 里的代码的。但是如果npm包有点小问题或者不符合我们的场景。 应该怎么改才能是最好的呢&#xff1f; 方法一&#xff1a;直接改 这种很好懂&#xff0c;就是直接进 node_modu…

SpringBoot使用RedisTemplate、StringRedisTemplate操作Redis

前言 RedisTemplate 是 Spring Boot 访问 Redis 的核心组件&#xff0c;底层通过 RedisConnectionFactory 对多种 Redis 驱动进行集成&#xff0c;上层通过 XXXOperations 提供丰富的 API &#xff0c;并结合 Spring4 基于泛型的 bean 注入&#xff0c;极大的提供了便利&#x…