2021-06-21二、C语言概述

知识点
1)字面常量

int a = 10;//这里的10就是字面常量;

2)宏常量

#define pi 3.14//后面不加";"

宏常量后面为啥不加";"呢?并且不为其开辟空间。
原因是经过预编译之后,*.cpp/.c(源文件)会预编译成为 .i(预编译文件),在磁盘中是看不到.i(预编译文件的),除非在编译器中设置才可以。举个例子:
这是本程序的源文件:

#include<stdio.h>//预编译处理指令
#define pi 3.14//不给pi(宏常量分配空间)
int main()//定义主函数
{//函数体的开始
    int r = 10;
    float s ;
    s = pi*r*r;
    printf("s = %f",s);
}//函数体的结束

这是本程序经过预编译之后形成的预编译文件:

int main()
{
    int r = 10;
    float s ;
    s = 3.14*r*r;//
    printf("s = %f",s);
}

可以看到预编译文件中
#include<stdio.h>
#define pi 3.14
已经消失,若为#define pi 3.14;则预编译文件就会变成s = 3.14;rr;导致无法进行编译;由此,可得出宏常量实质上就是一种字符串的替换,预编译之后就会将其删除,因此也不必为其开辟空间。
3)const 关键字

const int a = 10;
a = 11;//这里会报错

带有"const"关键字的变量被称为常变量,不能再次进行赋值,因此会报错。
4)enum 枚举常量

enum week = {Mon = 1,Tues = 2,wed = 3,Thurs = 4,Fri = 5,Sat = 6, Sun = 7};//枚举常量
enum week x = Mon;//不能给变量赋值枚举常量以外的值
enum week = {Mon,Tues,wed,Thurs,Fri,Sat, Sun};//枚举常量
/*也可不给枚举常量赋值,则Mon默认值为0,Tues、wed......的值依次加一;*/
enum week = {Mon =-1,Tues,wed = 0,Thurs,Fri,Sat, Sun};
//也可以不完全则 Tues = 0;wed = 0;Thur = 1;依次递增

5)字符常量和字符串常量
单引号是字符的定界符;(看到单引号,里面就是字符)
双引号是字符串的定界符;(看到双引号,里面就是字符串)
6)转义字符
(加上\就会转变意义)
常见转义字符

转义字符意义
\n换行
\t水平制表符,调到下一个(TaB)位置,相当于四个空格
单引号
"双引号
\0空字符
//应该加上转义字符
printf("\'");
printf("\"");
printf("E:\a图论");//"\a"为响铃的意思,若想输出正确的地址,应该为:
printf("E:\\a图论");

7)顺序语句、选择语句、循环语句
顺序语句:顺序执行
选择语句:if-else;if-else if…else if-else
循环语句:while()

                 do{}
                 while()
                 
             for(  ;  ;  )
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值