C编程语言Tutorial-Page1
作品简介:
这C编程语言教程涵盖了基本的C变量数据类型,控制流语句,算术、逻辑、关系运算符,C函数声明和定义,数组,指针,结构,联盟,typedef,枚举和更多。
参考以下页面导航完成C教程。
C语言page1
所以page2 C语言
C语言page3
C语言page4
C语言page5
C变量数据类型
下表总结了C变量数据类型C字,大小(以字节为单位)和范围。
数据类型 | C字 | 大小(字节) | 范围 |
---|---|---|---|
字符 | 字符 | 1 | -128年到127年 |
整数 | int | 2 | -32768年到32767年 |
短整型 | 短 | 2 | -32768年到32767年 |
长整数 | 长 | 4 | -2147483648年到2147438647年 |
无符号字符 | 无符号字符 | 1 | 0到255 |
无符号整数 | 无符号整型 | 2 | 0到65535 |
无符号短整型 | 无符号短 | 2 | 0到65535 |
无符号长整数 | 无符号长 | 4 | 0到4294967295 |
单精度浮点 | 浮动 | 4 | 1.2 3.4 e381 38吗 |
双精度浮点 | 双 | 8 | 2.2 e3082 e - 308到1.8 |
在C语言中控制流语句
以下是一些控制流的循环,类似于其他编程语言的选择语句。
For循环:
(初始;条件;增量)
{
语句(一个或多个);
}
例如,
(我= 0;< 10;我+ +)
{
}
同时,做:
而(条件检查)
{
语句;/ /一个或多个
}
做
{
语句;/ /一个或多个
}
而(条件检查)
如果else语句:
如果(conditioncheck1)
{
/ /语句(一个或多个)
}
else if (conditioncheck2)
{
/ /语句(一个或多个)
}
else if (conditioncheck3)
{
/ /语句(一个或多个)
}
其他的
{
/ /语句(一个或多个)
}
Switch语句:
开关(条件)
{
案例condition1: / /语句
案例condition2: / /语句
案例condition3: / /语句
默认值:/ /语句
}
可以插入break语句在每种情况下将程序控制的具体情况。
Break语句
把程序控制的循环或函数被称为。
继续
在switch语句,当在循环(),它会导致下一个迭代循环的执行。
Operators-Arithmetic、逻辑关系
算术运算符:
除了+
减法,
乘法*
部门/
模量%
增量+ +
减量,
关系运算符:
= = =
> >
不到<
大于或等于> =
小于或等于< =
不等于! =
逻辑运算符:
和& &
或| |
不!
位逻辑运算符:
&按位和
|按位包容或
^按位异或
< <左移
> >正确的转变
~一个人的补充
复合赋值操作符:
+ = b = a + b可以血腥。这是被称为复合赋值运算符(+ =)。一些运营商下面等等:
除了+ =
Substration - =
位和任务& =
< < =按位左移
成员和指针运算符:
数组下标:[0]
间接(对象)指出的:*
引用(地址):和
结构废弃(b所指向的对象):a - >
结构参考(" b "对象”)成员:a.b
其他运营商:
函数调用:一个(a1, a2)
逗号:a、b
三元条件:? b: c
运算符:Sizeof (a)
演员:类型(类型)
C函数声明/定义
•功能:
在C•模块
•程序把用户定义函数和库函数
•C标准库具有各种各样的功能
•函数调用:
•调用函数:
•提供函数名和参数(数据)
•函数执行操作或操作
•函数返回结果
•函数调用的类比:
•老板要求工人完成任务
•工人得到信息,任务,返回结果
•信息隐藏:老板不知道细节
任何文件与c扩展是称为c文件。任何c文件包含函数和变量按c程序结构。
函数声明:
return_valuefunction_name (arg_1,…, arg_n);
函数定义
return_value function_name (arg_1,…, arg_n);
{
/ * C声明和局部变量,应以分号(;)结束* /
}
例如,函数原型声明
doublecube_number (int数);
数的参数是int类型。可能有一个以上的参数。
函数名是cube_number计算多维数据集的数量和类型的返回值翻倍。
超过一个值可以作为参数传递给函数或可以从函数返回多个值通过使用称为“通过引用传递”概念。上面我们看到的是经过价值。在经过参考函数指针作为参数或指针作为回归变量。指针指向数组或结构或联盟的起始地址,因此可以轻松地访问的所有元素。
数组
数组类似的元素数据类型存储在连续的内存位置。
一维数组
#定义arr_size 10
int数组(arr_size) = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
多维数组
#定义no_rows 4
#定义no_cols 3
int数组[no_rows] [no_cols] = {{1,2,3}, {4、5、6},
{7 8 9},{10 11 12}};
指针
指针存储地址viz. int数据类型的元素,浮动,字符,字符字符串,结构、联盟、数组或任何C函数。因此使用指针直接的数据类型可以访问一次初始化指针。
typename * ptr;
typename c变量可以是任何类型的指针会指向
int * p1;/ / p1是指针,指向整型变量的数据类型
指针初始化:
int employee_number;
int arr [10];
int * ptr1, * ptr2;
ptr1 = &employee_number;
ptr2 = arr;/ /数组名本身指向内存地址,不需要&
结构
结构包含一个或多个不同类型的变量。它有助于方便管理,不同的变量类型是由一个共同分配结构的名字。所有的结构变量存储在内存中连续。结构可以持有另一个结构也是成员。
struct emp_record
{char[10]名称;
int [12];
浮动工资;
};
在这里结构名字是emp_record和名称、数量、工资结构成员变量/元素。为了访问结构成员变量结构声明为下面提到。它可以是简单的结构变量或结构指针变量。
struct emp_record员工;/ /员工emp_record结构的实例
struct emp_record * ptr;/ / ptr emp_record结构的指针
结构成员元素可以使用()操作符访问实例是否非指针。可以使用(- >)运营商如果访问实例指向结构的指针。
例如,
employee.name或员工。数字或employee.Salary
ptr - >名称或ptr - >数字或ptr - >工资
ptr =职业;/ /指针需要初始化结构的内存位置的地址
联盟
联盟结构类似,不同大小的内存分配和使用的关键字在联盟结构。
联盟emp_record
{
char[10]名称;
int [12];
浮动工资;
};
如果上述声明和实例相同的结构,然后分配7字节(1字节的字符,2为int和4漂浮)在内存中。
如果相同的声明和实例的联盟,它分配的大小作为成员变量的最大大小(这里的薪水,因此大小分配将成为这4个字节)。这里的大小分配在内存中使用一个成员变量。
类型定义
Typedef关键字,创建同义词的变量类型。它主要用于创建同义词的结构/联盟。因此它使容易调用结构由一个简单好记的名字,而不是叫整个结构/联盟。因此,最大限度地减少在C程序的代码行。
例如,
类型定义结构体{
char[10]名称;
int [12];
浮动工资;
}emp_record;
因此这里emp_record下列同义词标识符的代码行。
结构体{
char[10]名称;
int [12];
浮动工资;
}
枚举类型
enum employee_num{拉胡尔,拉梅什,Roopesh};
按照这个enumspecifier C自动分配,拉胡尔= 0,拉梅什= 1和Roopesh = 2
起始值可以预先配置如下
枚举employee_num{拉胡尔= 100,拉梅什,Roopesh};
条件表达式
C提供了短的方式表示一个if - else语句如下。
如果(a > b)
z =一个;
其他的
z = b;
上面可以用单一的条件表达式,z = (a > b) ? a: b
如果a > b是真的那么z =如果> b是假的那么z = b。
预处理器指令
预处理语句执行前的实际编译C程序。所有的预处理器指令在C语言中,以#开始(这是一个井号)。
一定见过# include预处理程序指令,包括C头文件所有的C程序。
另一个常见的预处理器指令是#定义指令,取代任何字符串值或字符串。
例如,
#定义3.1428π
#定义CITY_NAME“班加罗尔”
另一个预处理器指令是# ifdef和# endif
# ifdef MACRO_N
stat1
stat2
- - - - - -
statN
# endif
如图所示MACRO_N使用# define定义指令,这里基于MACRO_N组语句编译之前其他的。