本文主要讲解C语言的基本语法。这里提供简单的例子和代码,详细讲解C语言的基本语法。开始学习C语言的朋友可以看看,希望对你有帮助。
目录
1、标识符和关键字2、常量和符号常量(1)常量和符号常量(2)变量3、C语言数据类型(1)整型常量整型变量源代码、补码和补码(2)实数据实常量实变量实变量定义和初始化(3)字符数据ASCII码字符变量转义字符串常量字符串变量汇总
1、标识符与关键字
给变量起的名字叫变量名,定义变量名需要遵循标识符的命名规则。
标识符是有效的字符序列,用于标识变量、符号常量、数组、函数、文件等的名称。
标识符的命名规则:
1.它只能由字母、数字和下划线组成(例如:Score1,Stu_name)
2.第一个字符必须是字母或下划线
3.区分大写字母和小写字母
4.C语言中指定的标识符(即关键字)不能作为用户标识。
C语言的关键字:
c关键字是具有特殊功能的保留字,共有32个关键字。
关键字
解释
汽车
声明自动变量
破裂
跳出当前循环
情况
开关语句分支
茶
声明字符变量或函数的返回值类型。
常数
定义常数。如果一个变量被const修改,它的值不能改变。
继续
结束当前循环,开始下一个循环。
系统默认值
语句中的“其他”分支
做
语句的循环体。
两倍
声明双精度浮点变量或函数的返回值类型
列举型别
声明枚举类型
走读生
声明变量或函数是在其他文件或该文件的其他地方定义的。
漂浮物
声明浮点变量或函数的返回值类型
为
循环的声明
转到
无条件跳转语句
如果
条件语句
(同Internationalorganizations)国际组织
声明一个整数变量或函数
长的
声明长整型变量或函数的返回值类型。
注册
声明寄存器变量
返回
子程序返回语句(带或不带参数)
无符号的
声明无符号类型变量或函数
联盟
声明公共体类型
空的
声明函数没有返回值或参数,并声明一个无类型指针。
不稳定的
解释变量可以在程序执行过程中隐式更改。
在…期间
循环语句的循环条件
C99新建关键字:
_Bool 、_Complex 、_Imaginary、inline、restrict
C11新建关键字:
_Alignas 、_Alignof 、_Atomic 、_Generic 、_Noreturn 、_Static_assert 、_Thread_local
2、常量和符号常量
Constant:它的值不会在程序运行期间发送变化量。
变量:在程序运行过程中,它的值可以发送变化量。
(1)常量和常量符号
C提供的常量类型包括整数常量、实数常量、字符常量、字符串常量和符号常量。
使用标识符来表示常数。这个标识符叫做符号常数,它的一般形式是:
#定义标识符常数
例如:
#定义PI 3.1415926
关于typede和defin的用法与区别:
1.#defien是预处理指令,编译预处理时简单替换,不检查正确性。不管意思对不对,只要编译器发现可能的错误,在源程序已经展开的情况下报错,就会被带入。
示例:#定义PI 3.1415926
程序:area=PIrr代替3.1415926r
2.rtypedef是在编译时处理的,通常用来给现有的数据类型起别名,而#define只是被替换。
示例:typedef无符号整数单元
这样就为unsigned int类型引入了新的助记符uint,以后将使用uint直接表示unsigned int类型。
例如:typedef PI 3.1515926;
编译器会直接报错,一来pi不是现有类型,二来“3.1515926”不符合命名规则。
(2)变量
1.变量在内存中占据一定的存储单元,变量值存储在其中。
2.程序中使用的所有变量都必须有一个变量名。
3.变量名和变量值是两个不同的概念。
4.不同类型的变量在内存中占用不同的存储单元,有不同的存储格式,例如:char ch=' 1int I=1;
5.变量必须“在使用前定义”。这样做的目的是:
1.方便编写程序检查这个变量的操作是否合法。比如整数变量可以模化(余数),实数变量不能模化。
2.程序中变量名的正确使用。
3、C语言数据类型
(1)整型常量
整数常量是整数,有三种表示形式。
1.十进制整数常量:是整数的通常写法,数值为0-9。比如:25,-623,0等。
2.八进制整数:前缀为0,数字值为0-7,
例如:
00(十六进制16)
06(十六进制14)
077777(十六进制65535)
-010(十进制数-8)
几种不合法的八进制数:
26(无前缀0)
09(包括非八进制数字9)
3.十六进制整数常量:以数字和字母0x开头,即0x为前缀,数字的取值为0-9和a-f(或字母A-F)
几个合法的十六进制数字:
0x2A(十进制数42)
0x1AB0(十进制数6832)
几个非法的十六进制数字:
5A(无前缀),0x2H(包括非十六进制数字H)
整型变量
整数变量分为基本整数、长整数、短整数和无符号整数。
整型变量的定义及初始化:
定义变量和初始化的一般形式是:
类型说明符变量名1=值1
例如:
int a,b,c;//将A、B、C定义为整型变量
long x=10//将X定义为长型变量,初始值为10。
无符号int p=2,q=5,m;//将p,q,m定义为无符号整数变量。P的初始值是2,Q的初始值是5。
整数变量需要注意:
1.允许在类型说明符后定义多个相同类型的变量,类型说明符和变量名之间至少有一个空格,变量名之间有逗号。
2.使用“;”在最后一个变量名之后。号码结束
3.变量定义必须放在变量使用之前,通常放在函数体的开头。
4.没有给变量赋值初始值,并不意味着变量中没有数值,而只是变量中有一个确定的值。所以如果直接使用这个变量,可能会产生莫名其妙的结果,可能会导致运算错误。
例程:
#包含stdio.h
无效总管(无效)
{
int a=3,b=5,c,d;
c=a b;
d=a-b;
printf('a b=%d,a-b=%d\n ',c,d);
}
原码、反码和补码
计算机中值分为有符号和无符号。它们以二进制形式表示,有三种表示方式,即原码和补码。
这三种表示由符号位和数字位组成。
符号位在最高位,用0表示“正”,1表示“负”。
其余的位是数字位。
原码:用二进制方法表示一个数的绝对值,用这种方法得到该数的原码。
逆码:正数的逆码与其原码相同,负数的逆码为其原码。除符号位之外的每个数字都被反转。
补码:正数的补码与其原码相同,负数的补码是其原码除符号位以外的取反,然后在最后一位加1。
正数的原码和反码。补语相同;负数的原码、补码、补码是不一样的。数值在计算机中以补码形式存放。
比如求-127的补数。
(2)实型数据
实数据也称为实数或浮点数,是指带有小数部分的非整数值。
实型常量
在C语言中,实常数只能用十进制数来表示。有两种表达方式:
1.小数形式:由数字0~9和小数点组成。小数部分为零时,小数点不能省略。比如0.0/24.4和-56.33都是合法的实常数。
2.指数形式:由十进制数、小写字母“E”(或大写字母“E”)标注步长代码和步长代码(必须是整数)组成。
例如:2.3E5(相当于2.3 x 10^5)
以下是非法的实数常量:
23(不带小数点)
E4(步骤代码“E”前无数字)
23.——E3(负号位置不对)
2.7E(无级代码)
实型变量
实型变量的定义以及初始化
例如:
浮动a、b、c;//将A、B和C定义为单精度实数变量
双m=3.5,n=5.6//定义M和N为双精度实变量,分别赋值3.5和5.6。
(3)字符型数据
常数是用一对单引号括起来的字符。
例子
如:' B ',' Z ','=','?'、'5'
字符常量功能:
1.字符常量只能是单个字符,不能是多个字符。
2.字符常量以ASCII码存储,一个字符常量占用一个字节空间。
ASCII码
ASCII码代表信息交换的美国标准rd码。ASCII码可以表示0000000 ~ 11111111的数据范围,也就是2 ^ 8,也就是256个数据。
的标准ASCII码有128个字符,其中:
1.0-31是控制字符,如回车、换行符、文件结束符和字符串结束符。
2.10阿拉伯语' 0 '' 9 '代码值是连续的。
3.26大写字母' A'-'Z '是连续的,26大小写字母' A'-'Z '是连续的。
4.字符常量也可以参与各种运算,比如:' b'-'a '值为1(字符' b '的ASCII码值减去66字符' a '的ASCII码值65结果为1)
字符型变量
1.字符变量在内存中占用1个字节,只能存储一个字符,并且是以该字符的ASCII码值的形式存储的。
2.在C语言中,一个字符数据可以根据它的ASCII码进行操作。
类型字符数据存储空间和值范围
类型
字节数
值范围
茶
一个
-128~127
无符号字符
一个
0~255
例程:将整数值赋给字符变量
#包含stdio.h
int main()
{
char ch1=65,ch2=66
printf('%c,%c\n ',ch1,CH2);
printf('%d,%d\n ',ch1,CH2);
}
转义字符字符
转义字符:它是一个具有特定含义的字符,由一个反斜杠“’”后跟一个规则来指定。
常见的转义字符如下
转义字符的用法如下:
#包含stdio.h
int main()
{
printf('中国' \ n ');
printf('我的\ t国家。\ n’);
printf('我是hap\160\x79。\ n’);
}
字符串常量
字符串常量缩写为String,是由一对双撇号(西文双引号)括起来的字符串,包括字符的个数和长度。
比如:《Hello World》。“A”和“C语言”都是字符串常量。
字符串常量和字符常量的区别:
1.字符常量是用右边的单引号括起来的字符,而字符串常量是用双引号括起来的字符。虽然' a '和' a '都包含一个字符,但在C程序中有不同的含义。
2.字符常量只能是一个字符,字符串常量可以是多个字符。
3.可以将字符串常量赋给字符变量,但不能将字符常量赋给字符变量。
字符串变量
C语言中没有特殊的字符串类型。我们只能用数组或者指针来间接存储字符串。
char str1[]='Hello World!'
Char *str2='你好,世界!'
Str1和str2是字符串的名字,后面的[]和前面的*是固定写法。暂时初学者可以认为这两种存储方式是等价的,都可以通过专用的puts函数和通用的printf函数输出。
#包含stdio.h
int main()
{
char web _ URL[]=' hhhello World!';
Char * web _ name=' Hello World
puts(web _ URL);
puts(web _ name);
printf('%s\n%s\n ',web_url,web _ name);
返回0;
}
总结
本文到此为止。希望能帮到你,也希望你能多关注我们的更多内容!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。