C语言基础(第三章)

C语言基础

关键字

不管是C语言还是Java,Python都有很多的关键字。那什么是关键字呢?在我看来,只是一些附有特定含义的单词。例如:int是定义整型变量,float是定义浮点型变量等等。

标识符

什么是标识符?标识符指的是一个名字,但是它和关键字不同。关键字int,float,char等等是用来定义标识符的,也就是说标识符可能是变量也可能是常量,也可能是方法名,函数名,数组名。

C语言标识符的特点:

1.必须以字母和下划线开头:

int m21;该语句正确

int 666e;该语句不正确

2.C语言的标识符可以有三个元素:下划线,字母,数字。但是开头必须是字母或下划线

3.C语言中标识符的字母大写和字母小写并不一样。例如:

int E1;

int e1;这两个语句定义的是两个不同的标识符。

也就是说只要有一项是不同的,则该标识符不同。

4.标识符不能是关键字

int float;该语句是错误的,因为float是关键字

int Float;该语句是正确的,因为Float不是关键字

5.标识符的定义最好是相关意思(这个不必须,不过是一个合格程序员的标准)

比如要定义一个学生姓名的变量,我们可以:

char StudentName;相对规范

而定义成char YUJ;使人摸不到头脑,不过在编程法则中不算错。

注意,初学者在打代码时一定要注意中英文切换和大小写问题,我在刚学C语言时就总犯大小写不一致或符号是中文符号的错误。

数据类型

在C语言有不同的数据类型,不同的数据类型有不同的存储空间,

int a;    //a是整型变量
float b;  //b是浮点型变量
char c;   //c是字符型变量

以上是基础数据类型

第二种是构造类型,构造类型分为三个部分:数组类型,结构体类型,共用体类型。

int array[5];            //数组
struct Student student;  //结构体
union season s;          //共用体

第三种是指针类型,指针类型和其他类型不同,它的特殊性在于指针的值表示的是某个内存的地址

第四种是空类型,空类型的关键字是void,它的作用是对函数返回的限定对函数参数的限定。

当函数不必返回一个值时,就可以设置空类型的类型。

常量

所有的常量可以分为三类:

数值型常量:整型常量和实型常量。

字符型常量

符号常量

什么是整型常量

整型常量是直接使用的整型常数,例如:5,6,100.

整型常量分为:长整型,短整型,无符号整型,符号整型

无符号和符号整型好说,无符号就是没有符号只比较数值,而有符号就是不光比较数值,还要比较符号。

同时整数类型可以使用三种进制来表示:八进制,十六进制,十进制。(三者在计算机系统基础或计算机组成原理会讲到)

实型

实型常量也成为浮点型常量,可用整数和小数来表示,例如5.80,3.96等等

正常实型常量使用十进制来表示,就是5.65

有的实型常量使用指数方式(科学计数法)来表示,例如a=1.235e3,则a就是1235.那个e3就是10的3次方。

而且可以在编写实型常量时在最后加上F,用于表示单精度的实型常量。

字符型常量

字符常量

字符常量指的是用单引号圈起来的单个字符,字符常量可通过putchar()方法进行输出

#include<stdio.h>
int main()
{
    putchar('F');
    putchar('I');
    putchar('N');
    putchar('E');
}

它的输出结果就是FINE。

但是字符常量不能用三个单引号圈起来,因为系统不知道从哪里开始也不知道从哪里结束。

注意:1.字符常量‘a’和‘A’是不相同的

           2.字符常量只能有一个字符,‘a’是可以的,‘ABV’是不可以的,这属于字符串常量

           3.单引号不属于字符常量的一部分,属于定界符

字符串常量

字符常量:‘a’

但是字符串常量可以有多个字符:“WWWW”

如果字符串常量中一个字符都没有,则该字符串常量为空字符串,例如“”

字符串常量是用双引号括起来的

C语言在存储字符串常量时,会在字符串的末尾加一个\0,所以我们平时编写字符串常量时不需要再对字符串常量后面加\0。

#include<stdio.h>
int main()
{
    printf("渴望称为专家\n");
    printf("hope to be stronger\n");
}

在上述例子中,printf()语句中的汉字和英文都属于字符串,里面的\n是转义字符,用于回车

总结字符串常量和字符常量的区别

1.字符串常量使用双引号圈主的,字符常量是用单引号圈住的

2.字符串常量可以有0个或多个字符,而字符常量只能用一个字符

3.字符串常量在进行储存是会在末尾加上\0,而字符常量不会

注意,字符串常量可以有0个字符,但是字符串常量‘a’的长度不是1,是2,因为还有一个\0

转义字符

转义字符作用
\n回车换行
\t横向跳到下一制表意义
\b退格
\r回车
\f走纸换页

符号常量

在开始时定义的常量即为符号常量,格式为:#define A 100 这就是使A的值为100

下面看一个例子

#include<stdio.h>
#define P 3.14
int main()
{
    double a;
    double b=0;
    printf("输入圆的半径:\n");
    scanf("%lf",&a);
    b=a*a*P;
    printf("圆的面积为:\n",b);
}

我定义了一个符号常量P的值为3.14,实现了求圆的面积。

变量

整型变量

整型变量有基础整型变量,长整型变量,短整型变量。并且每个都有两种:有符号和无符号。

大致一算是六种,但我们通常说的是有符号基本整型int

给long赋值时必须有L或l,否则报错:

long a = 2312312321*1231232131;//错误
long b = 2312312321*1231232131L;

并且编写程序时,应该在赋值变量之前定义变量

实型变量

和实型常量一样,实型变量是要有整数和小数,并且也叫浮点型变量

单精度类型的关键字为float,在内存中占四个字节,在赋值单精度变量时应该在赋值的数后面加f,否则就是双精度。

双精度类型的关键字是double,在内存中占8个字节,

字符型变量

字符型变量主要是储存字符常量的变量,而且存储的是字符常量的ASCII的值存储到存储单元中

#include<stdio.h>
int main()
{
    char C1;
    char C2;
    C1='a';
    C2=97;
    printf("%c",C1);
    printf("%c",C2);
}

虽然C1=‘a’,C2=97,但是最后的结果都是a,所以告诉我们存储的ASCII码。

变量的存储类别

static变量是静态变量

static定义的变量在语句执行期间会保持原有的值,但是初始化操作只在第一次执行时起作用,变量保持上一次执行的值。

#include<stdio.h>
void park()
{
    static int a=80;
    a=a-1;
    printf("%d",a);
}
void main()
{
    park();
    park();
    park();
    park();
}

他是运行了一次后就将那次a的值赋值为a,再一直继续。

extern变量

extern变量为外部存储变量

用处就是如果在其他文件定义了一个变量。可以用extern int 那个变量 从而将那个变量的值直接调用到这个文件中。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值