C语言是编程中最基础,最经典的一门计算机语言,因此每个入门编程的dd都必选先掌握C语言,才能更好的进一步学习其他语言,正如鹏哥所说“C生万物”,接下来就让蔡姐——比大白还白的小白,来带大家走进C语言的世界
Chapter 1:数据类型 、运算符、与表达式catalog
基本数据类型
常量与变量
标识符命名
常用运算符和表达式
运算符的优先级与结合性
1.1一个简单的c程序例子#define _CRT_SECURE_NO_WARNINGS 1 #include#include //函数功能:计算两个整数的和 //入口参数:整数x,整数y //函数返回值:整数x,y之和 int Add(int x,int y) { return x+y;//从函数返回整型x与y的和 } int main()//主函数 { int a,b,sum=0;//变量定义与初始化 printf("input a b:");//在屏幕上打印出一条提示信息 scanf("%d%d",&a,&b);//从键盘上输入两个整数a,b sum=Add(a,b);//调用函数Add(int x,int y); printf("sum=%d",sum);//输出a,b的和 return 0; }
初识C语言就像交一个朋友,在深入了解它之前我们先看看他的外貌和和特点一样。那么从上面这个例子,我们能看出C语言有什么特点吗?大致归纳为以下三个特点
(1)函数是c程序的基本单位,即c程序是由函数够成的
a、一个标准c程序有且仅有一个用main命名的函数,main函数是程序的入口,无论main函数位于哪里,c程序总是从main函数开始执行的,也是在main函数中结束的
b、猿佬可以自定义函数来达到自己的目的,一个程序可以包含多个自定义函数
c、函数中调用系统提供的库函数,在调用之前需要引用头文件
(2)函数由函数首部和函数体两部分组成
a、函数首部包括对函数返回类型、函数名、形参类型、形参名的声明,例如:int Add(int x,int y)就是一个函数的首部。函数参数表示从外界接受的信息(从实参传过来的参数)
b、函数体由函数首部下面最外层的一对花括号{ }中的内容组成,包括变量(函数对象)定义语句,的可执行语句序列(函数所要执行的动作)
(3)c程序的书写格式与规则
a、c语句以分号作为结束标志
b、c程序的书写格式比较自由。
c、是对内的内容进行解释和说明,称为注释。还有另一种注释风格为c++的风格,即用//xxxx,对// 后面的单行内容进行注释。有无注释不影响程序的编译,c编译器并不会对对注释内容进行语法检查,但是为了养成良好的代码风格,提高代码的可读性,便于其他人读懂你的程序,还是建议大家在比较难懂的地方加上注释
接下来,正式初始C语言 1.2 c程序常见符号分类1、关键字:C语言中预先规定的具有固定含义的单词,这里有一个小比特整理的关键字详解,大家可以看看
http://我用#CSDN#这个app发现了有技术含量的博客,小伙伴们求同去《C语言初阶-《期末不挂科》C语言中的关键字详解》, 一起来围观吧 https://blog.csdn.net/qq_53283658/article/details/121949859?utm_source=app&app_version=4.17.0&code=app_1562916241&ulinkId=usr1mkqgl919blen
2、标识符
分为两类:系统预定义标识符和自定义标识符
系统预定义标识符:由系统预先定义好的,如main、printf等。与关键字不同的是:系统预定义标识符允许用户赋予新的含义,但这样做会失去原先定义好的含义,从而造成误解,因此不提倡这种做法
用户自定义标识符:是根据用户的需求自行定义的标识符,通常用作函数名,变量名等
3、运算符
大致分为以下13种
(1) 算术运算符:+ - * % /
(2)关系运算符:
(3)逻辑运算符:!&& ||
(4)赋值运算符:== 复合的赋值运算符:+= -= *= /= %= &= |= ^= <<= >>=
(5)增1和减1:++ --
(6)条件运算符: ? :
(7)强制类型转换运算符:(类型名)变量
(8)指针和地址运算符:* &
(9)计算字节的运算符:sizeof(变量)
(10)下标运算符:[ ]
(11)机构体成员运算符:-> .
(12)位运算符:<< >> | ^ & ~
(13)逗号运算符:,
4.分隔符
分隔符就像写文章中标点符号一样。c程序中,空格,回车,逗号等在各自不同的应用场合起着分隔符的作用。
5.数据
程序处理的数据有变量和常量两种基本数据形式,二者区别在于:在程序运行过程中,常量的值保持不变,变量则可以改变
1.3.1 数据类型为什么要引入数据类型呢?所谓物以类聚人以群分,不同类型的数据在数据存储形式,取值范围,占用内存大小及可参与的运算种类等方面都有所不同。
1.3.2 类型修饰符
a、void(无返回值类型)
b、signed(有符号)修饰int 、char c、unsigned(无符号类型)
d、long(长型)可修饰int、double等类型 e、short(短型)可修饰int
另外,signed和unsigned可修饰long int和short int,但是不能修饰double ,和float。
2.3.3 标识符命名
标识符命名必须准守一定的规则,如下:
a、由英文、数字、下划线组成,且必须以英文字母或下划线开头;
b、不允许使用关键字作为标识符的名称,同时标识符也不能与库函数重名
c、标识符命名应该做到见名知意,最好采用英文单词,切忌使用汉语拼音来命名(笑哭/)
d、命名规则尽量与所采用的操作系统或开发工具的风格保持一致,例如Windows通常采用大小写混排方式,而UNIX应用程序的标识符通常采用小写加下划线。
1.4 常量1.4.1 常量类型
整型常量(int)、实型常量(float,double)、字符常量(char),字符串常量(“ ”)、宏常量(#define X x)、枚举常量(enum)。
A、整型常量:可以用十进制、八进制、十六进制表示
长整型常量由常量值后跟l或L表示,如1024L;无符号整型常量由常量值后跟U或u来表示,无符号长整型后跟lu,Lu等来表示。
B、实型常量
分为float和double两种
a、十进制小数形式:由数字和小数点组成,必须有小数点
b、指数形式:C语言中,以字母e或E来表示以10为底的指数。如0.00000345可写成3.45e-6;e的左边数值部分(有效数字),可以写成整数或小数形式,但不能省略;e的右边是指数部分,必须是整数形式。如3e-2、3.0e-2都是合法的,但e3、2e3.0都是不合法的表示形式。
C、字符常量
C语言中字符常量是由‘ ’括起来的一个字符,如‘2’,‘A’。字符常量中‘ ’单引号是必不可少的,如果少了单引号就不是字符常量,而仅仅只是一个标识符或数字。为了表示某些控制字符,C语言中还引用了一种特殊形式的字符常量--转义字符,它是以开头的,使用时同样不能少了单引号;
D、字符串常量
由双引号括起来的一个字符序列,如“cxfnb520666yyds”,"M"等都是字符串。注意"M"是字符串常量,而不是字符,‘M’才是字符常量。为了判断字符串什么时候结束,系统对每个双引号括起来的字符串常量都添加一个字符串结束标志--ASCII码值为0的空操作符' ',它不起任何控制作用,也不显示
E、宏常量
也称符号常量,是指用一个标识符代表的一个常量,这时该标识符与此常量是等价的。
宏定义的一般形式:#define 标识符 字符串或数字或其他常量
1.5 变量#define编译预处理指令定义一个标识符和一个字符串,凡在程序中发现该标识符时就用其后的字符串来替换,称为宏替换。宏定义中的标识符被称为宏名;
#include#define PI 3.14159 #define R 5 int main() { printf("s=%fn",PI*R*R);//程序编译时会将PI,R替换为3.14159,和5 //等价printf("s=%fn",3.14159*5*5); return 0; } F、枚举常量
当某些量仅仅由有限个数据组成时,可用枚举常量来表示。
例如:enum response{no,yes,none}
1.5.1 变量的定义以及初始化
变量是在程序执行过程中可以改变,可以赋值的量。C语言中,必须准守“先定义,后使用”的原则。
变量定义的形式如下:类型关键字 变量名;
变量名是用户定义的标识符,用于标识内存中一个具体的存储单元,在这个单元内存放的数据称为变量的值。
#includeint main() { int a=10//定义时为其赋值,整型变量 char b='A';//字符型变量 float c=3.14;//单精度实型变量 double d=2.71868;//双精度实型变量 printf("%d",a);//先定义 后使用 %d打印int类型 printf("%c",b);//%c打印字符型变量 printf("%f",c);//%f打印单精度浮点型变量 printf("lf",d);//%lf打印双精度浮点型 return 0; }
未完待续。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。



