C语言开发框架、printf(day02)
C语言里包含以.c作为扩展名的文件,这种
文件叫源文件。C语言程序的绝大部分内容
应该记录在源文件里。
C语言里还包括以.h作为扩展名的文件,这种
文件叫头文件. C语言程序里可以直接使用数字和加减乘除
四则运算符号(*代表乘法,/代表除法) 所有计算步骤都必须用分号做结尾,每个用
分号结束的计算步骤叫做一条语句 C语言程序里的绝大多数语句应该包含在
大括号中间 C语言程序里可以用大括号代表函数
(函数可以看作一组语句) 每个函数有一个名字,不同函数的名字不能
相同 C语言程序里至少要包含一个叫做main的函数,
这个函数叫主函数
整个程序从主函数的第一条语句开始执行,当
主函数最后一条语句结束后整个程序结束 一个函数结束后可以用一个数字表示它的工作
结果,这个数字叫函数的返回值
主函数应该有返回值,如果返回值是0表示
程序希望计算机认为它正常结束了,如果
返回值不是0表示程序希望计算机认为它
出问题了。 C语言里预先保留了几十个英文单词,它们叫做
关键字
每个关键字有特定的用途,不能随意使用
所有关键字都是由小写字母构成的 return就是一个关键字,它有两个用途。
主要用途是结束函数的执行,辅助用途
是指定返回值的数值 计算机里根据不同数字在某个方面的区别把
数字分成几组,每组叫做一个数据类型
每个数据类型都有自己的名字
整数类型叫做int,它几乎包含所有不带小数点
的数字 程序里的所有数字必须有类型,没有类型的
数字计算机无法处理
程序里不带小数点的数字默认是整数类型的 如果函数有返回值就应该把返回值的类型名称
写在函数名称前面 C语言程序编码规范
.一行里最多包含一条语句
.同级别语句最左边一列应该上下对齐
.在合适的地方使用空格和空行 C语言程序里通常会包含预处理指令
预处理指令都以#做开头,不是以;做结尾
标准C阶段遇到的预处理指令都可以把写在
文件里的内容替换成其他内容
#include预处理指令可以把一个头文件的
内容包含到当前文件里
这个预处理指令中通常采用相对路径表示
被包含头文件的位置
如果把相对路径包含在<>中间就表示以系统
中预先规定好的一组目录依次作为起点
如果把路径包含在""中间就表示首先以当前
文件所在目录作为起点,然后再以系统中
预先规定好的一组目录依次作为起点 可以在C语言程序里加入各种文字性的说明
信息
这些文字性的说明信息必须加入到注释区域里
计算机会直接忽略注释区域里的内容
单行注释以//做开头,一直到行尾
多行注释以/*做开头,以*/做结尾 C语言里大量使用名称区分不同内容,
这些名称叫做标识符
尽量采用英文单词做标识符
标识符编写规则
.标识符的第一个字符可以是英文字母或下划线
.后面的每个字符可以是英文字母,下划线或
阿拉伯数字
.大小写不同的标识符是不同的标识符
(大小写敏感)
.关键字不能作为标识符使用
.标识符的长度没有限制,计算机只会截取
前面一部分使用
.标识符可以采用驼峰方式或下划线方式书写 编译器可以把源文件翻译成计算机能认识的格式
gcc是Linux系统里常用的C语言编译器
MinGW是Windows里的gcc Linux系统里开发C语言程序的基本步骤
.采用vi编写源文件和头文件
.使用gcc把所有文件翻译成计算机能认识的
格式(编译)
.使用./a.out做命令就可以执行程序 gcc编译器的工作步骤
.处理所有预处理指令
.把第一步的处理结果翻译成计算机能
认识的格式(编译)
.把第二步的结果合并成可以执行的文件(链接) gcc选项介绍
-E 只处理预处理指令
-c 只处理预处理指令并把结果翻译
成计算机认识的格式
处理结果是以.o作为扩展名的
目标文件
-o 用来决定最终执行文件的名称
-std=c89/-std=c99
用来决定采用什么版本进行编译
默认采用c89规范编译 C语言里提供一组标准函数,它们用来一些解决
常见的问题
不同标准函数的名称不同
可以在程序里编写函数调用语句使用标准函数 printf标准函数可以把程序里的数字显示在
终端窗口里
为了使用这个标准函数需要包含stdio.h头文件
可以使用占位符把双引号里面的数字转移到
双引号后面
双引号后面的数字可以是一个计算公式的结果,
计算机会先计算出结果然后替换掉双引号
里面的占位符
不同类型的数据应该和不同的占位符配合使用,
整数类型数字和%d占位符配合使用
可以在一条语句里使用多个占位符,占位符
的数量应该和双引号后面数字的数量一样 程序中使用的数字都记录在内存里
内存由大量的字节构成,每个字节可以记录
一个数字
每个字节有一个编号,这个编号叫做字节的
地址
不同字节的地址不同
所有地址从0开始向正数方向递增
字节地址有前后顺序,地址小的在前,地址
大的在后 可以把几个相邻的字节合并成一个整体用来
记录一个数字 可以把内存里用来记录一个数字的所有字节叫做
一个存储区
一个存储区只能记录一种类型的数字
存储区也有地址,存储区的地址就是它所包含
的字节里最前面那个字节的地址 C语言里变量可以用来代表存储区(对变量的
操作就是对它所代表存储区的操作)
变量必须首先声明然后才能使用,变量声明
语句可以用来声明变量
变量声明语句会让计算机为程序分配一个存储区
可以在一条变量声明语句里声明多个同类型
变量 赋值语句可以向变量代表的存储区里放一个数字
赋值语句里需要使用赋值操作符(=)
赋值操作符左边的内容必须可以代表存储区,
这种内容叫左值(变量就是一种左值)
赋值操作符右边的内容必须可以当作数字使用
赋值操作符可以把右边的数字放在左边的
存储区里 可以在声明变量的时候立刻对变量进行赋值,
这叫做变量的初始化
C语言里所有变量都应该初始化 可以直接在程序中把变量当作数字使用,这个
数字就是变量代表存储区里的数字 变量名称既可以代表存储区也可以代表存储区
里的数字,由环境决定 存储区的地址也可以代表存储区
在变量名称前使用符号&可以得到存储区的地址
可以使用%p作为占位符把地址数据显示在屏幕上 变量可以用来代表固定数字 可以用一个变量代表一组数字(不同的时候代表
不同的数字)
C语言开发框架、printf(day02)的更多相关文章
- C语言的printf输出格式控制
C语言的printf输出格式控制 printf大家都耳熟能详,但是能真正将其用法弄透的估计很少见. 转一篇,改天整理. 1.转换说明符 %a(%A) 浮点数.十六进制数字和p-(P-)记数法( ...
- IOS学习笔记07---C语言函数-printf函数
IOS学习笔记07---C语言函数-printf函数 0 7.C语言5-printf函数 ------------------------- ----------------------------- ...
- 关于C语言的printf输出问题
前端面试的时候老总居然问这个问题,有点震惊…… #include <stdio.h> #include <stdlib.h> void main() { ; printf(&q ...
- 从C中变化过来的各种语言的printf输出格式
在c.php和shell中经常可以碰到printf的使用,特别是在php中printf的相关变种有好几个:print.printf.sprintf.vprintf.vsprintf 在这些语言 ...
- 【C语言】printf函数详解
C语言printf函数详解 一.相关基础知识 请求printf()打印变量的指令取决于变量的类型,例如打印整数用%d符号,打印字符用%c符号,这些符号称为转换说明(conversion specifi ...
- brew 的 调度工具DBGPRINTF 和 c语言的 printf
在官方的文档中是这样备注DBGPRINTF Prototype void dbgprintf(const char *pszFormat,...); Description This function ...
- Go语言fmt.Printf使用指南(占位符总结)
本文整理了Go语言的标准输出流(fmt.Printf)在打印到屏幕时的格式化输出操作. 在这里按照占位符将被替换的变量类型划分,更方便查询和记忆. 总结 1.1 General(通用占位符) 占位符 ...
- Go语言fmt.Printf使用指南
文章引用自 fmt fmt包实现了类似C语言printf和scanf的格式化I/O.主要分为向外输出内容和获取输入内容两大部分. 向外输出 标准库fmt提供了以下几种输出相关函数. Print Pri ...
- C/C++编程笔记:C语言基础printf()和scanf()函数,大学入门知识
在解释这两个函数之前,为了方便大家更容易理解,我们先来讲讲下面的这幅图. 这个图中的例子其实很简单,我们就是把题目通过输入设备(例如键盘鼠标)传输到计算机中,然后让计算机进行运算得出结果,再然后把 ...
随机推荐
- 《鸟哥的Linux私房菜-基础学习篇(第三版)》(五)
第4章 安装CentOS 5.x与多重引导小技巧 1. 本练习机的规划(尤其是分区參数) 分了四个分区: 1)/boot:primary 2)/:primary 3)/ho ...
- MySQL数据库数据迁移到SQLserver
近期因工作须要.须要将mysql数据库迁移到sqlserver.不过数据迁移.因此相对照较简单.对于mysql迁移到sqlserver,我们须要使用到mysql odbc驱动,然后透过sqlserve ...
- c# POST和GET方式通过server地址提交数据
1:POST方式提交: <strong><span style="font-size:14px;">private static string HttpPo ...
- Delphi 中控件路径加入不进去解决方法
使用notepa++打开project中的*.dproj文件,在里面找到相似例如以下的区域 <DCC_UnitSearchPath>T:\BusinessSkinForm1006Sourc ...
- Pig 在 shell script中被调用,批量载入处理文件
首先,我想达到的目的是批量的处理一个目录下的的很多文档,这些文档保存了我要处理的数据,由于pig是初学..所以不知到该怎么批量的load,没有写过 自己的UDF,仅仅能一个一个文件的load,然后处理 ...
- hdu 2586(Tarjan 离线算法)
How far away ? Time Limi ...
- JavaScript在表格中模拟搜索多关键词搜索和筛选
模拟搜索需要实现以下功能: 1.用户的模糊搜索不区分大小写,需要小写字母匹配同样可以匹配到该字母的大写单词. 2.多关键词模糊搜索,假设用户关键词以空格分隔,在关键词不完整的情况下仍然可以匹配到包含该 ...
- git clone 出现错误
看了好多资料终于搞定了git 中clone命令报错这个问题,废话不多说直接上步骤希望对大家有帮助. 1 删除.ssh文件夹(直接搜索该文件夹)下的known_hosts(手动删除即可,不需要git ...
- 前端性能优化---DOM操作
小结 1缓存DOM对象 场景:缓存DOM对象的方式也经常被用在元素的查找中,查找元素应该是DOM操作中最频繁的操作了,其效率优化也是大头.在一般情况下,我们会根据需要,将一些频繁被查找的元素缓存起来, ...
- 在Winform中怎么实现图片的旋转,比如说实现仪表盘功能,看代码吧,看太不懂的欢迎问
; //旋转的角度 //Timer定时器 private void timer1_Tick(object sender, EventArgs e) { timer1.Enabled = false; ...