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()函数,大学入门知识
在解释这两个函数之前,为了方便大家更容易理解,我们先来讲讲下面的这幅图. 这个图中的例子其实很简单,我们就是把题目通过输入设备(例如键盘鼠标)传输到计算机中,然后让计算机进行运算得出结果,再然后把 ...
随机推荐
- Flash-制作空心文字
常常看到站点上用很多空心文字作为站点的名称或者特色项目的名称等等,那这些空心文字是怎么做出来的呢? 用Flash事实上非常快就能做出来.过程例如以下: (1)新建空白文件.工具箱中选择"文本 ...
- [WebGL入门]二十三,反射光的光照效果
注:文章译自http://wgld.org/,原作者杉本雅広(doxas).文章中假设有我的额外说明.我会加上[lufy:],另外,鄙人webgl研究还不够深入.一些专业词语.假设翻译有误.欢迎大家指 ...
- Hilbert曲线简单介绍及生成算法
Hilbert曲线 Hilbert曲线是一种填充曲线,相似的填充曲线还包含Z曲线.格雷码等其它方法.Hilbert曲线根据自身空间填充曲线的特性,能够线性地贯穿二维或者更高维度每一个离散单元.而且只穿 ...
- vbs use
VBScript中SendKeys的妙用 标签: vbscriptbasicmicrosoftinsertdeletestring 2011-05-26 15:29 1830人阅读 评论(0) 收藏 ...
- 在win10 64 bit上安装theano
在windows10上安装theano,过程例如以下: 1.准备工作.先安装Anaconda 64位.然后执行 conda install mingw libpython 2.先安装pycuda,能够 ...
- linux下多线程的调试
多线程调试的基本命令(均在gdb命令行使用): info threads ---- 显示当前可调试的全部线程.每个线程都有自己的线程ID,显示结果中前面有*的表示当前调试的线程. eg: ...
- hibernate初步
Hibernate开发步骤1.新创建工程并且导入相关的包 主要是hibernate.mysql相关的JAR包. 注意:新导入的hibernate相关的JAR包是否与你当前所使用的jdk版本是否兼容,且 ...
- mac os lscpu 【转】
CPU Information on Linux and OS X This is small blog post detailing how to obtain information on you ...
- 把一个文件夹下的多个csv文件合并到一个excel的多个sheet
#!/usr/bin/env python3 # -*- coding: UTF-8 -*- import pandas as pd import os import re if __name__ = ...
- 第2课 Git配置文件的妙用
2-1 "git config" 指令的用法 文件夹中".git"子文件夹内的config文件的优先权>登录账号的home directory中的.gi ...