【C语言】程序结构和常量

《C语言的发展及标准》

  1. C语言:一种通用的、面向过程的计算机程序设计语言(第三代高级语言)
  2. 1972年,为了移植与开发UNIX操作系统,丹尼斯·里奇在贝尔电话实验室设计开发了C语言
  3. 为了利于C语言的全面推广,许多专家学者和硬件厂商联合组成了C语言标准委员会
  4. 1989年,诞生了第一个完备的C标准,简称“C89”,也就是“ANSI C”,截止2020年,最新的C语言标准为2018年6月分布的“C18”等

《C语言的特点》

  1. 语言简洁
  2. 运算符丰富
  3. 数据类型丰富
  4. 具有结构化的控制语句
  5. 可直接访问物理地址(增加访问方式;可对某个地址直接访问,跳过寻找步骤)
  6. 生成目标代码质量高,程序执行效率高
  7. 程序可移植性好
  8. 语法限制不太严格,程序设计自由度大

《C语言程序的结构》

  • 一个C程序(项目过程)里,包含若干个源程序文件,一个源程序文件里,包含以下部分:预处理命令、数据声明、若干个函数
  • 其中预处理命令不属于C语言的构成但是C语言的部分,在编译之前完成,存在是为了C语言的更好完成
  • 函数是程序的基本单位,函数里有两部分:函数首部和函数体
  • 函数体里有两部分:数据声明和执行语句
  • C语言文件后缀多以“.c”结尾,C++文件后缀多以“.cpp”结尾
  1. 一个C语言源程序可以由一个或多个源文件组成
  2. 每个源文件可由一个或多个函数组成
  3. 一个源程序不论由多少个文件组成,都有一个且只能有一个main函数,即主函数
  4. 源程序中可以有预处理命令,预处理命令通常应放在源文件或源程序的最前面
  5. 每一个语句都必须已分号结尾
  6. 标识符、关键字之间必须以空白符(空格 / 回车 / tab)间隔

《输入、调试、运行程序的一般过程》

//预处理(文件包含);<>里的为头文件,"stdio.h"为标准的输入/输出头文件==》引用"printf"
#include<stdio.h>
int main()
{
	printf("Hello World!");
	return 0;
}
![在这里插入图片描述](https://img-blog.csdnimg.cn/c73671540c224ae28dda7e994f5f124f.png)

《常量》

  1. 常量:在程序运行过程中,其值不能被改变的量
  2. 直接常量(字面常量)
  • 整型常量(“%d”):100,25,-100,0 (-100的‘-’为单目运算符,5-2的‘-’为双目运算符)
  • 实型常量(“%f”,浮点数):3.14,0.125,-3.789
  • 字符常量(“%c”, ’ ’ 包裹,中间不为空,只能包含一个字符,若多个,只输出最后一个字符):‘a’ , ‘b’ , ‘2’
  • 字符串常量( " " 包裹,中间可为空):“a” , “ab”
  • 整型常量
    十进制整数:如123,-455,4
    八进制整数:以0开头的数是八进制数,如010 》i》8
    十六进制整数:以0X或0x开头的数是十六进制数,如0X10==》16
  • 实型常量
    实型也称浮点型,实型常量也称实数或浮点数
    小数形式:3.14,0.125,-3.789
    指数形式:3e-3,-1e3,1.8e-3,-123e-6
    字母e或E之前必须有数字,且e后面的指数必须为整数
    e():10的多少次方
  • 字符串常量
    一对双引号括起来的字符序列,可含一个或多个字符
    C规定以字符‘\0’作为字符串结束标志,以便系统据此判断字符串是否结束。
    字符串常量占的内存字节数等于字符串中字节数加1(0的字节数)
printf('12\0abc')
==12
  1. 符号常量(间接常量)
  • 符号常量
    格式:#define 标识符 常量
    如:#define PI 3.14
    #define不是C语句,是一个预处理(预编译)命令,该行的末尾没有分号
    习惯上,符号常量名用大写,变量名用小写,以示区别
    使用符号常量的好处:含义清楚,一改全改
  1. 转义字符
  • 转义字符
    有些以“\”开头的特殊字符称为转义字符
    \n:换行(光标会由上一行跳至下一行的同一列,换行不换列)
    \t:横向挑格(一次跳8位,覆盖原有字符,保证保留一个空白符,超过8就到下一个制表位)
    \r:回车(光标移至当前行的行首,换列不换行)
    \:反斜杠
    ':单引号
    ":双引号
    \b:退格
    \ddd:ddd表示1到3位八进制数字
    \xhh:hh表示1到2位十六进制数字
printf('abcdef\r123')
==123def
printf('abcd\bef\b123')
==》abce123
printf('\82#')
==82#
printf('\101#\x41#\\X41')
==》A#A#\X41
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值