初识C语言:
C语言主要特点:
-
有32个关键字,9种控制语句,34种运算符;
-
数据类型有:整形,浮点型,字符型,数组类型,指针类型,结构体类型,共用体类型等,能实现各种复杂的数据结构(如链表,树,栈等)的运算,尤其是指针类型数据,使用十分灵活;
-
具 有 结 构化 的 控 制 语 句 ( 如 if••• else 语 句 .while 语 句 、 do•••while 语 句 、 switch 语 句 、 for 语 句 ) 。 用 函 数 作 为 程 序 的 模 块 单 位 , 便 于 实 现 程 序 的 模 块 化 。 C 语 言 是 完 全 模 块 化 和 结 构 化 的 语 言 ;
-
C 语 言 允 许 直 接 访 问 物 理 地 址 , 能 进 行 位 (bit ) 操 作 , 能 实 现 汇 编 语 言 的 大 部 分 功 能 , 可 以 直 接 对 硬 件 进 行 操 作 。 因 此 C 语 言 既 具 有 高 级 语 言 的 功 能 , 又 具 有 低 级 语 言 的 许 多 功 能 , 可 用 来 编 写 系 统 软 件 。 C 语 言 的 这 种 双 重 性 , 使 它 既 是 成 功 的 系 统 描 述 语 言 , 又 是 通 用 的 程 序 设 计 语 言 。一 般习 惯 将 c 语 言 称 为 高 级 语 言 ,是 因 为 C 语 言 程 序 也 要 通 过 编 译 、 连 接 才 能 得 到 可 执 行 的 目 标 程 序 , 这 是 和 其 他 高 级 语 言 相 同 的 ;
-
代码可移植性好,执行效率高;
简单代码示例:
#include <stdio.h>
#include <stdlib.h>
/* 提供使用标准库函数(如输入输出函数)所需要的声明*/
int main(int argc, char *argv[]) {
int a,b,sum
a=10;b=15;
sum=a+b;
printf("sum is %d\n",sum);
return 0;
}
注意:
- “ % d ” 表 示 “ 以 十 进 制 整 数 类 型 ” , 用 来 指 定 输 人 输 出 时 的 数 据 类 型 和 格 式;
- 在 执 行 输 出 时 , 双 撇 号 括 起 来 的 “ sum ” 表示按 原 样 输 出 ;
/*求3个数中较大者*/
#include <stdio.h>
void main( ) /*主函数*/
{
int max(int x,int y); /*对被调用函数max的声明*/
int a,b,c; /*定义变量a、b、C*/
scanf("%d,%d",&a,&b); /*输人变量a和b的值*/
c=max(a,b); /*调用max函数,将得到的值赋给c*/
printf("max=%d\n",c); /*输出c的值*/
}
int max(int x,int y) /*定义max函数,函数值为整型,形式参数x,y为整型*/
{
int z; /*max函数中的声明部分,定义本函数中用到的变量z为整型*/
if (x>y) z=x;
else z=y;
return(z); /*将z的值返回,通过max带回到调用函数的位置*/
}
注意:
-
本程序包括两个函数:主函数main和被调用的函数max。max函数的作用是将x和y中较大者的值赋给变量z。return语句将z的值返回给主调函数main。返回值是通过函数名max带回到main函数中的调用max函数的位置;
-
为了使编译系统能够正确识别和调用max函数,必须在调用max函数之前对max函数进行声明;
-
程序中scanf函数的作用是输人a和b的值。&a和&b中的“&”的含义是“取地址”,此scanf函数的作用是:将两个数值分别输入到变量a和b的地址所标志的单元中,也就是输人给变量a和b;
-
“max=”原样输出“%d”将由c的值取代;
-
C程序是由函数构成的。一个C源程序至少且仅包含一个main函数,也可以包含一个main函数和若干个其他函数。因此,函数是C程序的基本单位。被调用的函数可以是系统提供的库函数(例如printf和scanf函数),也可以是用户根据需要自已编制设计的函数(如例子里的max函数);
-
C的函数相当于其他语言中的子程序。用函数来实现特定的功能。程序全部工作都是由各个函数分别完成的。编写C程序就是编写一个个的函数。C的函数库十分丰富,ANSIC提供百多个库函数,TurboC提供三百多个库函数。
-
一个函数由两部分组成:
①函数的首部,即函数的第1行,包括函数名、函数类型、函数属性、函数参数(形式参数)名、参数类型。一个函数名后面必须跟一对圆括号,括号内写函数的参数名及其类型。函数可以没有参数,如main()。
②函数体,即函数首部下面的花括号内的部分。如果一个函数内有多个花括号,则最外层的一对花括号为函数体的范围。
函数体一般包括以下两部分。
声明部分。在这部分中定义所用到的变量和对所调用函数的声明。如例中
main函数中对变量的定义“int a,b,c;”和对所调用的函数的声明“int max(int x, int y);"。
执行部分。由若干个语句组成。
当然,在某些情况下也可以没有声明部分(例如,例1.1),甚至可以既无声明部分也无执行部分。如:void dump () { }
它是一个空函数,什么也不做,但这是合法的;
-
一个C程序总是从main函数开始执行的,而不论main函数在整个程序中的位置如何(main函数可以放在程序最前头,也可以放在程序最后,或在一些函数之前,或在另一些函数之后);
-
C程序书写格式自由,一行内可以写几个语句,一个语句可以分写在多行上,C程序没有行号;
-
每个语句和数据声明的最后必须有一个分号,分号是C语句的必要组成部分。
C语言的知识结构
C语言的知识可以分为以下几个主要部分,我会逐个进行详细解释:
-
基本语法和数据类型:
- 关键字:C语言中有一些特殊的单词,如
int
、for
、if
等,它们有特殊的含义。 - 标识符:标识符是程序员自定义的名称,用于表示变量、函数等。
- 数据类型:C语言支持不同的数据类型,如整数 (
int
)、字符 (char
)、浮点数 (float
) 等。 - 变量:用于存储数据的容器,必须先声明后使用。
- 常量:固定不变的值,可以是整数、浮点数、字符等。
- 关键字:C语言中有一些特殊的单词,如
-
运算符和表达式:
- 算术运算符:用于执行基本算术操作,如加、减、乘、除。
- 关系运算符:用于比较两个值的关系,如等于、不等于、大于、小于等。
- 逻辑运算符:用于组合多个条件,如与 (
&&
)、或 (||
)、非 (!
)。 - 赋值运算符:用于给变量赋值,如
=
、+=
、-=
等。 - 位运算符:用于处理二进制位,如位与 (
&
)、位或 (|
) 等。 - 条件表达式:一种简洁的方式来表示条件。
- 运算符优先级:确定运算符执行的顺序。
-
控制结构:
- 条件语句:用于根据条件执行不同的代码块,如
if
、else if
、else
。 - 循环语句:用于重复执行代码块,如
for
、while
、do...while
。 - 跳转语句:用于改变程序的执行流程,如
break
、continue
、goto
。
- 条件语句:用于根据条件执行不同的代码块,如
-
函数:
- 函数定义和声明:函数是可重用的代码块,可以通过定义和声明来创建和使用。
- 函数参数:用于向函数传递数据。
- 函数返回值:函数可以返回一个值给调用它的地方。
-
数组和指针:
- 数组:用于存储多个相同类型的数据。
- 指针:用于存储变量的地址,允许直接访问内存。
-
结构和联合:
- 结构体:允许组合不同类型的数据成员,创建新的数据类型。
- 联合体:类似于结构体,但所有成员共享内存。
-
文件操作:
- 文件读写:C语言支持文件的打开、读取和写入操作,通过标准I/O库函数来实现。
-
预处理指令:
#include
:用于包含头文件。#define
:用于定义常量和宏。- 其他预处理指令:如条件编译、文件包含等。
-
内存管理:
- 动态内存分配和释放:使用
malloc
、calloc
、realloc
和free
来管理内存。
- 动态内存分配和释放:使用
-
标准库函数:
- C语言提供了许多标准库函数,用于执行常见的任务,如字符串操作、数学运算、输入输出等。
这些是C语言的主要知识领域,每个领域都有其特定的语法和规则。学习C语言需要掌握这些基本概念,以便编写有效的程序。
标签:函数,int,max,C语言,运算符,初识,main From: https://www.cnblogs.com/liu-liu-88/p/18340411