当前位置: 首页 > news >正文

C语言基础知识入门

 一:C语言结构

1.1  C语言允许分割代码和数据

可以使用具有局部(临时)变量的函数或代码块来实现这种特性

代码块(程序块)是逻辑上连接在一起的一组程序语句,可以当作一个单元来使用

int Sum(int a)
{
	int iSum = 0;
	int i = 1;
	while(i <= a)
	{
		iSum = iSum + i;
		i++;
	}
	return iSum;
}

1.2  由一个或者多个.C文件构成

每一个.C文件可以由预处理命令、全局变量声明、函数和注释组成

#include <stdio.h>	/*预处理命令*/
int count=0;		/*全局变量声明*/
int main(void)          /*函数*/
{			
	printf("Hello World\n");
	return 0;
}

1.3  C程序被分割成一个个的函数,有且仅有一个main函数

程序执行时先将控制权传递给main函数(主函数)

函数由函数的首部(函数第一行)和函数体(一对大括号中的内容)组成

#include <stdio.h>	/*预处理命令*/
int count=0;		/*全局变量声明*/
int main(void)          /*函数*/
{			
	printf("Hello World\n");
	return 0;
}

1.4  函数的首部:类型、名称、参数类型和参数名,圆括号内参数有无都可以,但括号不能省略

函数定义后面接一个大括号{}叫分隔符

{ 代表代码块开始,} 代表结束

/*函数名:int max(int a,int b)
  函数功能:求最大值
  函数参数:
  函数返回值:*/
int max(int a,int b)
{		
	if(a>b)
		return a;
	else
		return b;
}

1.5 函数由声明部分和执行部分组成

C语言使用分号;表示语句结束

不识别回车、空格或制表符(这些符号使代码美观)

建议一行写一条语句,一条语句可以跨多行

#include <stdio.h>	/*预处理命令*/
int max(int a,int b);	/*函数原形声明*/
int main(void){		/*函数*/
	int num1,num2,result;
	printf(“请输入两个整数:”);
	scanf("%d%d",&num1,&num2);
	result=max(num1,num2);
	printf(“max=%d\n“,result);
	return 0;
}

1.6 注释

注释用于描述特定的命令、函数或程序,增强程序的可读性

多行注释用/*开始,用*/结束(标准C语言)

一行注释用//标出

二:C标准库

C编译器都提供有标准函数库

DOS下的C编译器Turbo C 2.0大约有440个函数

BC++2.0大约有500多个函数

VC++除了标准的C运行库及C语言扩展外,还有600多个Windows API,以及VC++中的类库(MFC)

Linux下的C也有很多扩展及系统函数

程序员编写的函数可以放在库中,然后在需要时使用

有些编译器允许将函数放在标准库中

有些编译器需要创建单独的库

三:C程序执行过程 编写过程

四:数据类型

4.1 变量

程序要为每一项数据分配内存,通常使用变量来存储数据。使用变量可以引用存储在内存中的数据,并随时根据需要显示数据或执行数据操纵。

需要多少内存

数据被存储在哪里

操作系统负责集中变量在内存中的地址

要引用内存空间中的值,只需指定变量名

4.2 常量

常量就是一个保持不变的值

示例
          •9    数字/整型常量
•9.3  数字/浮点常量
•“NAME”    字符串常量
•‘A’    字符常量
•符号常量

#define NUM 100

提高代码的可读性,还可以做到一改全改

•使用const关键字

       const int  iNum= 100; 

4.3 C标识符

•变量、函数、标签和其他各种用户定义的对象的名称都称为标识符
•正确的标识符名称

  A  a rena、s_count、marks40、class_one

•不正确的标识符示例

  1sttest、oh!god、start... end

•标识符的长度可以是任何合适的数值,但是各种编译器能够识别的变量中的字符数目有所不同
•C 语言中的标识符区分大小写

4.4 C关键字

•在一个特定语言的上下文中有特殊意义的单词。是标识符的一个特殊的集合。在C语言中有预先定义好的特殊意义。不能用于其他任何目的。
•所有的数据类型都是保留的关键字
•所有的关键字小写
C语言的关键字共32个

4.5 C系统标识符

•系统内置的标识符指的是系统函数名称、系统定义的结构体名称、系统定义的符号常量名称等
•例如:printf、FILE、date、RED等
•以上各种标识符不要用于用户定义的标识符上,防止发生不必要的错误

4.6 C数据类型

 

4.7 数据类型的使用

•数据类型描述了变量中将存放的数据的种类
•数据类型位于变量名的前面
•例如:数据类型 int 将位于变量名 varName 的前面
•变量声明必须放在变量使用之前(先定义后使用)
•一般放在函数体的开头部分,可执行代码的前面
•变量声明也可以放在代码块的前面

 

4.8 C变量的赋值

•程序中常常需要对一些变量预先设定初始值
•定义时初始化变量

   Datatype variablename = value;

  例如:int num1,num2 = 12;

•定义后初始化变量

  variablename = value;

  例如:int num;

                  num = 12;

五:变量在内存中的存储

void main()
{
	int nNum = 300;
   //0x0000012C
	char cStr = ‘A’;
    //0x41
	char cCh ;
	printf(“%d\n”, nNum);
	printf(“%c\n”,cStr);
	printf(“%c\n”,cCh);
}

 

六:C基本数据类型

6.1 int类型

6.2 float类型

 

6.3 double类型

 

6.4 char类型

6.5 ASCII码表

6.6 void类型

 6.7 派生数据类型

6.8 数据输出格式

6.9 数据类型示例

#include <stdio.h>
int main ()
{
	char sex = 'F';	  	/*用M和F代表性别*/
	float length = 13.5f;	/*声明length,长度可能带有小数位*/
	double area;		/*声明area */
	double pay;		/*money有角和分*/
	short int age = 89;	/*人类的年龄现阶段不可能超过150*/
	return 0;
}

选择数据类型时首先考虑变量用来存放什么类型值,

然后再根据存放值的最大值和最小值,进一步选择适当的类型和类型的修饰符 

相关文章:

  • 【C语言进阶】动态内存管理及柔性数组
  • 闲暇之际敲敲代码,记录Leetcode刷题Day-01
  • ISO27001认证需要准备什么资料?
  • 腾讯研究成果登 Nature 子刊:scBERT 攻克单细胞测序数据分析痛点
  • Docker部署go项目
  • 【面试题】面试官: Vue如何实现权限管理?
  • Linux常用操作汇总:内容有点杂,但很实用
  • pytorch深度学习训练模板(分类、回归)
  • CSS进阶篇——伪类 (pseudo classes)
  • 基于affine+sift特征提取的图像配准算法matlab仿真
  • 【重温Linux】一、Ubuntu系统一些常识性的东西(这节持续更新)
  • Redis安装,性能优化
  • mysql group_concat 与 union 联合查询漏洞,数据列最大长度为341
  • 机器学习基础:统计量与抽样分布
  • 工作中整理的常用的Linux命令
  • Node.js 入门教程 13 在 Node.js 中从命令行接收输入
  • MyBatis-Plus中的更新操作(通过id更新和条件更新)
  • easy-rules规则引擎最佳落地实践
  • 看我如何连夜自建网站背刺我的求职对手们
  • 027.将有序数组转换为二叉搜索树
  • 第五届传智杯-初赛【B组-题解】
  • 最全面的SpringMVC教程(一)——SpringMVC简介
  • OpenCV-Python小应用(六):车道线检测
  • 微信小程序介绍
  • matlab实现MCMC的马尔可夫转换MS- ARMA - GARCH模型估计