C语言之程序结构和常量

news/2024/11/29 4:34:02/

2.1.1 C语言的发展及标准

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

2.1.2 C语言的特点

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

2.2.1 C语言程序的结构

一个C程序(项目过程)里,包含若干个源程序文件,一个源程序文件里,包含以下部分:预处理命令、数据声明、若干个函数
其中预处理命令不属于C语言的构成但是C语言的部分,在编译之前完成,存在是为了C语言的更好完成
函数是程序的基本单位,函数里有两部分:函数首部和函数体
函数体里有两部分:数据声明和执行语句

C语言文件后缀多以“.c”结尾,C++文件后缀多以“.cpp”结尾

  1. 一个C语言源程序可以由一个或多个源文件组成
  2. 每个源文件可由一个或多个函数组成
  3. 一个源程序不论由多少个文件组成,都有一个且只能有一个main函数,即主函数
  4. 源程序中可以有预处理命令,预处理命令通常应放在源文件或源程序的最前面
  5. 每一个语句都必须已分号结尾
  6. 标识符、关键字之间必须以空白符(空格 / 回车 / tab)间隔

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

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

2.3.1 常量

  1. 常量:在程序运行过程中,其值不能被改变的量
  2. 直接常量(字面常量)
  • 整型常量(“%d”):100,25,-100,0 (-100的‘-’为单目运算符,5-2的‘-’为双目运算符)
  • 实型常量(“%f”,浮点数):3.14,0.125,-3.789
  • 字符常量(“%c”, ’ ’ 包裹,中间不为空,只能包含一个字符,若多个,只输出最后一个字符):‘a’ , ‘b’ , ‘2’
  • 字符串常量( " " 包裹,中间可为空):“a” , “ab”
  1. 符号常量(间接常量)
  2. 转义字符

整型常量
十进制整数:如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的多少次方

转义字符
有些以“\”开头的特殊字符称为转义字符
\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

字符串常量
一对双引号括起来的字符序列,可含一个或多个字符
C规定以字符‘\0’作为字符串结束标志,以便系统据此判断字符串是否结束。
字符串常量占的内存字节数等于字符串中字节数加1(0的字节数)

printf('12\0abc')
==12

符号常量
格式:#define 标识符 常量
如:#define PI 3.14
#define不是C语句,是一个预处理(预编译)命令,该行的末尾没有分号
习惯上,符号常量名用大写,变量名用小写,以示区别
使用符号常量的好处:含义清楚,一改全改


http://www.ppmy.cn/news/18980.html

相关文章

SelectPdf for .NET 22.0 Crack

SelectPdf for .NET 是一个专业的 PDF 库&#xff0c;可用于创建、编写、编辑、处理和读取 PDF 文件&#xff0c;而无需在 .NET 应用程序中使用任何外部依赖项。使用此 .NET PDF 库&#xff0c;您可以实现丰富的功能&#xff0c;从头开始创建 PDF 文件或完全通过 C#/VB.NET 处理…

AtCoder Regular Contest 154 题解

A - Swap Digit 给2个长度均为n的十进制数&#xff0c;你可以任意次交换2个数相同位置的数字&#xff0c;要求使它们乘积最小 让其中一个数最小&#xff0c;另一个数最大。 #include<bits/stdc.h> using namespace std; #define For(i,n) for(int i1;i<n;i) #defi…

Kotlin中空安全操作符,异常处理和自定义异常,以及先决条件函数详解

博主前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住也分享一下给大家 &#x1f449;点击跳转到教程 一、Kotlin的可空性 null 在java中我们司空见惯的空指针异常NullPointerException,带给了我们很多麻烦。 Kotlin作为更强…

大数据之HBase集群搭建

文章目录前言一、上传并解压HBase安装包二、修改HBase配置文件&#xff08;一&#xff09;hbase-env.sh&#xff08;二&#xff09;hbase-site.xml三、配置环境变量四、复制jar包到lib文件夹五、修改regionservers文件六、分发安装包和配置文件七、启动Hbase八、验证HBase是否启…

我的创作纪念日——“永远相信美好的事情即将发生”

作者&#xff1a;非妃是公主 专栏&#xff1a;《程序人生》 个性签&#xff1a;顺境不惰&#xff0c;逆境不馁&#xff0c;以心制境&#xff0c;万事可成。——曾国藩 文章目录序与CSDN的往事机缘收获憧憬碎碎念序 第一次写创作纪念日的文章&#xff01;哈哈哈哈&#xff0c;今…

【每日一道智力题】之蚂蚁走树脂和绳子秒表

文章目录前言题目一解答题目二解答总结前言 因为今天的每日一题过于简单 &#xff0c;我们在补充一道&#xff01; 题目一 放N只蚂蚁在一条长度为M树枝上&#xff0c;蚂蚁与蚂蚁之间碰到就各自往反方向走&#xff0c;问总距离或者时间。 解答 蚂蚁相碰就往反方向走&#xff…

一本通-1033:计算线段长度

【题目描述】   已知线段的两个端点的坐标A(Xa,Ya)&#xff0c;B(Xb&#xff0c;Yb)&#xff0c;求线段AB的长度&#xff0c;保留到小数点后3位。 【输入】   第一行是两个实数Xa&#xff0c;Ya&#xff0c;即A的坐标。   第二行是两个实数Xb&#xff0c;Yb&#xff0c;即…

Redis发布和订阅

Redis发布和订阅 1.发布和订阅是什么 一句话&#xff1a;Redis 发布订阅 (pub/sub) 是一种消息通信模式&#xff1a;发送者 (publisher) 发送消息&#xff0c;订阅者 (subscribe) 接收消息。 Redis 客户端可以订阅任意数量的频道&#xff1a; 1、客户端订阅频道示意图 2、当…