c语言 1.0

news2025/1/16 16:08:07

1.1 C语言概述

C语言是什么

C语言是计算机编程语言的一种,编程语言用于人和机器交流。

编程语言通过一系列的语法和语义规则来描述计算机程序的行为和逻辑,程序员使用编程语言编写程序后,计算机可以将程序转化为二进制指令(即机器码),并由CPU执行,CPU会按照指令的顺序依次执行每个指令。

语言发展历程

  • 机器语言
    •  机器语言是一组由0和1系列组成的指令码,这些指令码,是CPU制作厂商规定出来的,然后发布出来,程序员必须遵守。
  • 汇编语言
    • 汇编语言,用一些容易理解和记忆的缩写单词来代替一些特定的指令,汇编语言和机器自身的编程环境息息相关,推广和移植很难。
  • 高级语言
    • 高级语言摆脱了计算机硬件的限制,把主要精力放在了程序设计上,不在关注低层的计算机硬件。
    • 高级语言要被计算机执行,也需要一个翻译程序将其翻译成机器语言,而翻译工作由编译器或解释器完成。
      • C语言通过编译器翻译成机器语言

为什么学习C语言

C语言特点

  • 简洁
    • C语言的语法简单,语句清晰明了,使得程序易于阅读和理解。
  • 高效
    • C语言的执行效率高,可以用于开发需要高性能的应用程序。
  • 可移植
    • C语言可以在不同的硬件平台和操作系统上运行,具有较高的可移植性。
  • 模块化
    • C语言支持函数和结构体等模块化编程方法,使得程序的复杂性得到有效控制。
  • 标准化
    • C语言的语法和标准库已经被ISO和ANSI标准化,具有广泛的应用和兼容性。

2.1 第一个C语言程序:HelloWorld

示例代码如下:

#include <stdio.h>

int main() {
    printf("hello world\n");

    return 0;
}
  • C语言的源代码文件是一个普通的文本文件,但扩展名必须是 .c

代码分析:

  • include头文件包含
    • #include的意思是头文件包含,#include <stdio.h>代表包含stdio.h这个头文件
    • 使用C语言库函数需要提前包含库函数对应的头文件,如这里使用了printf()函数,需要包含stdio.h头文件
    • 头文件:在c语言中后缀名为h的文件被称为头文件,头文件就像一本书的目录,当我们想使用某本书里的内容时,只需把目录(头文件)引进来就可以了。
  • main函数
    • 程序的入口,一个程序有且只有一个main函数入口
    • {}叫代码块,一个代码块内部可以有一条或者多条语句
    • 所有的可执行语句必须是在代码块里面

  • C语言每句可执行代码都是";"分号结尾
    • 所有的#开头的行,都代表预编译指令,预编译指令行结尾是没有分号的
    • printf函数
    • printf是C语言库函数,功能是向标准输出设备输出一个字符串
    • printf(“hello world\n”);\n的意思是回车换行
  • return语句
    • return代表函数执行完毕,返回return代表函数的终止
    • 在main函数中return 0代表程序执行成功

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

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

相关文章

Fiddler抓包工具的使用(高级操作精华)

概述 在软件项目的开发过程中&#xff0c;软件的质量同样在项目起这十分重要的地位&#xff0c;如何保证产品质量一直是业内人员十分重视的问题。全员质量保证、软件研发流程、各种开源工具这都是对产品质量保证有一定的促进作用。那么如何将这种理念和方式落地到实际场景&…

实战教程:如何用微信小程序功能建立一个自己的商城?

微信小程序商城是一种便捷、高效的电商平台&#xff0c;让商家能够快速搭建自己的线上店铺&#xff0c;并与用户进行交互和交易。在本文中&#xff0c;我们将逐步介绍如何创建自己的微信小程序商城&#xff0c;并分享一些实战技巧。 首先&#xff0c;登录乔拓云网后台&#xff…

40 秒下线一台特斯拉,装配速度“令人发指”,第200万辆整车下线

今天&#xff0c;特斯拉宣布&#xff0c;中国上海超级工厂已经下线了第 200 万辆新能源汽车&#xff0c;这标志着其在中国市场的销售量继续增长。 这家特斯拉位于中国上海的超级工厂是其在全球最大的工厂之一。该超级工厂于2019年建成并开始生产&#xff0c;仅仅使用了33个月的…

伦敦金K线图头部怎样看?

伦敦金既可以做多也可以做空&#xff0c;如果投资者能够把握到一波行情的头部位置&#xff0c;并适时以空单介入&#xff0c;接下来等待着投资者的将是盈利的快速进账。但投资者如何才能从K线图中&#xff0c;看出金价是在酝酿头部呢&#xff1f; 我们认为判断金价阶段性头部最…

使用SpringBoot整合redis多主多从集群

SpringBoot整合Redis多主多从集群 环境准备SpringBoot整合Redis集群新建项目修改SpringBoot配置文件编写代码测试编写DTO编写Controller 测试编写的代码 环境准备 首先我们需要准备一套redis集群&#xff0c;可以参考我写的文章&#xff1a;https://blog.csdn.net/m0_51510236…

对于“微软的亲儿子“汇编真的什么都不算吗?

今日话题&#xff0c;汇编真的不如人称“微软的亲儿子“的C语言吗&#xff1f;一位毕业生分享了他的见解。他学习了汇编和C语言&#xff0c;随后加入嵌入式企业。他发现&#xff0c;C语言由于可移植性、开发效率和可读性更广泛适用。然而&#xff0c;在某些情况下&#xff0c;汇…

BRAM/URAM资源介绍

BRAM/URAM资源简介 Bram和URAM都是FPGA&#xff08;现场可编程门阵列&#xff09;中的RAM资源。 Bram是Block RAM的缩写&#xff0c;是Xilinx FPGA中常见的RAM资源之一&#xff0c;也是最常用的资源之一。它是一种单独的RAM模块&#xff0c;通常用于存储大量的数据&#xff0…

测评自养号的优势和弊端有哪些?

做跨境电商平台的都知道&#xff0c;补单测评是提高销量的常用策略之一&#xff0c;无论是哪个平台的新店铺或新产品&#xff0c;很难依靠自然流量取得好的销售成绩&#xff0c;因此许多跨境卖家选择进行测评&#xff0c;以提高产品的排名、权重和销量&#xff0c;并增加订单量…

flink cdc多种数据源安装、配置与验证

搜索 flink cdc多种数据源安装、配置与验证 文章目录 1. 前言2. 数据源安装与配置2.1 MySQL2.1.1 安装2.1.2 CDC 配置2.2 Postgresql2.2.1 安装2.2.2 CDC 配置2.3 Oracle2.3.1 安装2.3.2 CDC 配置2.4 SQLServer2.4.1 安装2.4.2 CDC 配置3. 验证3.1 Flink版本与CDC版本的对应关系…

win10系统启用win32长路径

Step1、在系统开始 输入框中输入: gpedit.msc&#xff0c;然后回车键。 Step2、在本地计算机 策略中&#xff0c;选择: 计算机配置 -> 管理模板 Step3、然后选择: 系统 -> 文件系统 Step4、窗口中上靠右侧有 启用Win32长路径&#xff0c;如下图: Step5、双击 启用Win…

最长递增子序列

题目链接 最长递增子序列 题目描述 注意点 子序列 是由数组派生而来的序列&#xff0c;删除&#xff08;或不删除&#xff09;数组中的元素而不改变其余元素的顺序 解答思路 初始想到使用动态规划解决本题&#xff0c;对于任意位置元素&#xff0c;找到前面比其值更小的元…

MyBatis配置及单表操作

文章目录 一. MyBatis概述二. MyBatis项目的创建1. 准备一个数据表2. 创建项目 三. MyBatis的使用1. 基本使用2. SpringBoot单元测试 四. 使用MyBatis实现单表操作1. 查询2. 修改3. 删除4. 新增 五. 基于注解完成SQL 一. MyBatis概述 MyBatis 是一款优秀的持久层框架&#xff…

Python学习 -- datetime模块

当涉及到处理日期和时间数据时&#xff0c;Python的datetime模块提供了一系列类来帮助您执行各种操作。以下是各个类及其常用方法的详细介绍&#xff1a; date 类​ date 类表示一个年、月、日的日期对象。以下是一些常用的 date 类方法&#xff1a; date.today() 获取当前…

rtmp推流异常分析

问题描述 向srs媒体服务上推送rtmp流&#xff0c;推送失败 分析过程 srs日志分析 从日志中看到发生错误时层次调用关系 [2023-09-05 11:10:29.933][Error][13594][9w5og10q][11] serve error code3001 : service cycle : rtmp: stream service : rtmp: receive thread : ha…

Spring系列文章3:基于注解方式依赖注入

和XML 配置文件一样&#xff0c;注解本身并不能执行&#xff0c;注解本身仅仅只是做一个标记&#xff0c;具体的功能是框架检测 到注解标记的位置&#xff0c;然后针对这个位置按照注解标记的功能来执行具体操作&#xff0c;本质上所有操作都是Java代码来完成的&#xff0c;XML…

windows安装Oracle19c安装

windows安装Oracle19c安装 百度云安装包地址&#xff1a;链接&#xff1a;https://pan.baidu.com/s/11XvBN8Zqb7jbhugP88IHRw 提取码&#xff1a;ybsy 官网下载地址&#xff1a;https://www.oracle.com/database/technologies/oracle-database-software-downloads.html 下载…

基于vue3和element-plus的省市区级联组件

git地址&#xff1a;https://github.com/ht-sauce/elui-china-area-dht 使用:npm i elui-china-area-dht 默认使用 使用方法 <template><div class"app"><!--默认使用--><elui-china-area-dht change"onChange"></elui-china…

【android12-linux-5.1】【ST芯片】【RK3588】【LSM6DSR】HAL源码分析

一、环境介绍 RK3588主板搭载Android12操作系统,内核是Linux5.10,使用ST的六轴传感器LSM6DSR芯片。 二、芯片介绍 LSM6DSR是一款加速度和角速度(陀螺仪)六轴传感器,还内置了一个温度传感器。该芯片可以选择I2C,SPI通讯,还有可编程终端,可以后置摄像头等设备,功能是很…

MySQL阻塞与死锁

MySQL阻塞与死锁 阻塞 因为不同锁之间的兼容性关系&#xff0c;在有些时刻一个事务中的锁需要等待另一个事务中的锁释放它所占用的资源&#xff0c;这就是阻塞。 # 查看等待时间 show variables like innodb_lock_wait_timeout; SETinnodb_lock_wait_timeout60; # 是否在等待…

深度学习面试八股文(2023.9.06持续更新)

一、优化器 1、SGD是什么&#xff1f; 批梯度下降&#xff08;Batch gradient descent&#xff09;&#xff1a;遍历全部数据集算一次损失函数&#xff0c;计算量开销大&#xff0c;计算速度慢&#xff0c;不支持在线学习。随机梯度下降&#xff08;Stochastic gradient desc…