当前位置: 首页 > news >正文

华清远见25072班C语言学习day1

重点内容:

1.第一个C语言程序

  1. #预处理标识符
  2. include C中包含头文件的标准格式
  3. <> 直接从标准库中找头文件
  4. "" 先从当前目录下的文件中找头文件,若没找到则去标准库中找头文件
  5. stdio.h ---->标准输入输出头文件(C中所以头文件以.h为后缀)
  6. int 函数返回值类型 main 函数名(每一个C程序有且仅有一个main函数,又叫主函数是程序的入口) (int argc,const char *argv[])主函数的外部参数,平时在不使用外部参数的情况下,()里面的内容可以不写
  7. {}C中代码块的的标志
  8.  printf是标准的输出函数,printf()中双引号中的内容除了格式符和转义字符外原封不动的输出
  9. \n就是换行 ;
  10. C中的语句以;为结尾
  11. return 返回函数的返回值(函数中return后面的语句都不会执行) 0就是函数返回值,如果函数的返回值类型是void,那么return后面可以不加数据,甚至可以直接不写return

2.编程语言的分类

  1. 编译型语言:编译整个源文件生成可执行文件,每次只需要运行可执行程序即可
  2. 解释型语言:每次解释器都会运行文件中的每一条代码

3.gcc分步编译(ESc   iso)

1.预处理     gcc -E xxx.c -o xxx.i

展开头文件、替换宏定义、删除注释、不检查语法错误、生成编译文件

2.编译     gcc -S xxx.i  -o xxx.s

检查语法错误、生成汇编文件

3.汇编   gcc -c xxx.s -o xxx.o

生成二进制文件

4.链接   gcc xxx.o -o xxx

链接到程序需要的库(静态/动态),生成可执行文件


4.进制转换

1.十进制转任意进制-->辗转相除法

        eg:123:0111 1011

2.任意进制转十进制-->位权*数码相加

        eg:0010 1101:32+8+4+1=45

3.二进制和八进制相互转换(三位二进制转一位八进制,一位八进制转三位二进制)

        eg:0011 1011 ----> 73        042 ----> 0010 0010

4.二进制和十六进制相互转换(一位十六进制数转四位二进制数,四位二进制数转一位十六进制)

        eg:0XAF:1010 1111         0101 1101:0X5D

5.宏定义常量

1.无参宏格式

  1. #define 宏名 宏体
  2. 代码中所有出现宏名的位置都会被替换成宏体

2.有参宏格式

  1. #define 宏名(参数1,参数2,参数3,···,参数n) 宏体
  2. 带参宏的宏体常常是对参数做的相关操作
  3. 带参宏中的参数,只有发生参数传递时,参数才有具体的值

3.宏定义的注意事项

  1. 宏定义一般写在头文件下方,主函数上方
  2. 宏名一般大写,为了和变量做区分
  3. 宏定义的后面一般不需要加分号
  4. 宏替换发生在预处理阶段,所以宏体中尽量不要出现语法错误

6.变量

1.变量名是一个标识符,要满足标识符的命名规范

  1. 由数字、字母和下划线构成
  2. 不能以数字开头
  3. 严格区分大小写
  4. 不能和C语言的32个关键字重复
  5. 尽量做到见名知意

2.存储类型

  1. const const修饰的变量值不能更改
  2. static 静态变量(后面详细介绍)
  3. auto 不写存储类型,默认都是auto
  4. extern 引入外部变量
  5. register 寄存器变量
  6. volatile 每次从内存中取最准确的值,防止内存优化

7.原码、反码和补码

1.正数和无符号数的原码、反码和补码相同

2.1负数的原码就是数据的二进制形式

2.2负数的反码是符号位不变,其他位取反

2.3负数的补码是在反码的基础上+1

  1. 原码:数据十进制转成的二进制
  2. 反码:原码转补码的一种中间状态
  3. 补码:计算机中数据实际存储的个数

eg:-28        原:1001 1100反:1110 0011补:1110 0100

eg:-36        原:1010 0100反:1101 1011补:1101 1100

作业:1.思维导图

http://www.dtcms.com/a/314944.html

相关文章:

  • 机器学习【六】readom forest
  • 不良事件管理系统,PHP不良事件系统源码,实现事件系统化统计分析,查找根本原因,从而进行改进
  • 【传奇开心果系列】Flet图片由小到大动画加轮播展示组件样式自定义模板
  • 【电路测试】如何测试电源纹波
  • Hive_sql如何计算连续签到天数
  • word常见问题汇总
  • 无偿分享120套开源数据可视化大屏H5模板
  • Fiddler 中文版怎么用 实现接口抓包调试与前后端联调闭环
  • Harmon、TokLIP论文解读
  • Flask全栈入门:打造区块链艺术品交易所
  • RTX5060显卡安装cuda版本PyTorch踩坑记录
  • 疏老师-python训练营-Day35模型可视化推理
  • K均值聚类与Apriori应用探索中医证素数据分析
  • 区块链 和 一致性哈希的结合
  • 多模态大模型研究每日简报【2025-08-03】
  • vue3入门-概览讲解
  • Mirror学习笔记
  • 飞算 JavaAI 实战:从代码生成到架构优化的全场景应用指南
  • 抢救HD7670M假显卡记录
  • 第12届蓝桥杯Scratch_选拔赛_初级组_真题2020年9月20日
  • MySQL Router
  • Spring Boot 应用结合 Knife4j 进行 API 分组授权管理配置
  • sqli-labs:Less-24关卡详细解析
  • 挑战指针题
  • TCP(2)
  • IP 成长的破局之道:从停滞到突破的核心逻辑
  • MyBatis高效查询:简化JDBC开发实战
  • Python 虚拟环境深入浅出全指南
  • 为流媒体时代而生的云服务:Akamai 推出 Accelerated Compute 加速计算服务
  • 在 Maven 多模块项目中统一管理配置文件