【C基础】01 C语言的基本概念

19 篇文章 6 订阅

一、.c程序编译执行的基本流程

  • 预处理:预处理器(preprocessor)执行 “#” 开头的命令(即指令)
  • 编译:进入编译器(compiler)翻译成机器指令
  • 链接:由链接器(Linker)将编译好的机器指令与其他附加(如各种库函数)代码整合。

二、.c程序的一般形式

指令           //以 “#” 号开头,无 “;” 结尾

int main(void)
{
	语句
}

1、指令

举例:

	# include <stdio.h>

此指令:

  • 将标准输入/输出库 包含进程序中;
  • .h为头文件(header)。

其他说明:

  • 指令以 “#” 开头;
  • 默认只占一行;
  • 结尾无分号。

2、函数

  • 函数通过return命令来指定返回值;
  • 对c程序而言,main函数为必需且唯一;

举例:

#include <stdio.h>

int main(void)   //int表示返回整数值,void表明函数中无参数
{
	printf("Hello,world!\n");
	
	return 0;  //函数终止,且返回0。 
	           //对main函数,没有这条语句,程序亦可正常终止,但会有警告,因为未返回
}

3、语句

  • 分号 “;” 结尾;
  • 可占连续多行。对c程序而言,在遵守必要语法规则下,记号之间的空格不影响程序正常执行。

4、注释

注释的2种格式:

/* 注释格式1 */

// 注释格式2

说明1:

格式1 (/* 注释 */)格式2 (//注释)
优点可跨行,实现连续多行注释更简单,不易出错,直观易读
缺点容易忘写后半边 " */ "导致程序出错只能单行注释,若要多行,则每行均要写注释符
总结适合长注释适合短注释
说明2:
  • 格式1与格式1不能嵌套,即
/*
    /*非法嵌套*/
*/
  • 格式2可嵌套进格式1中,即
/*
    //合法嵌套
*/

三、变量和赋值

1、变量类型(type)

  • int 整型
  • float 浮点型
  • char 字符型

2、变量声明

对于变量,先声明,再使用

int a, b, c;
float x, y, z;

3、赋值

先声明,再赋值

// 正确用法
int a;
a = 7;

// 错误用法
a = 7;
int a;

float型赋值

float x;
x = 12.56f;  //float型赋值时不加f会warning,对于double float型可以不加

4、显示变量的值

使用输出函数

printf("a = %d\n", a);
printf("x = %.2f\n", x);

5、变量初始化

直接在声明时初始化。

int  a = 7, b = 8 , c = 9;  //初始化的数值视为初始化器(initializer)
float  x = 12.56f, y = 10.4;

6、显示表达式的值

printf("Volume = %d\n", length * width * height);

四、读入输入

使用scanf函数。

格式:

scanf("%d", &a);  //读取整型数值,存入a中
scanf("%f", &x);   //读取浮点型数值,存入x中

五、常量定义

使用宏定义的方式

# define INCHES_PER_POUND  12             //定义数值为12的常量INCHES_PER_POUND
# define RECPROCAL_OF_PI (1.0f/3.14159f)  //定义表达式

注意:

  1. 宏定义格式不能出错;
  2. #开头;
  3. define为小写;
  4. 变量名习惯全大写;
  5. 没有赋值符号或等于号
  6. 当宏包含运算符时,用括号括起来
  7. 常量定义后无需声明,只需要声明变量

六、标识符(identifier)

1、定义:对变量、函数、宏和其他实体进行命名的名称

2、说明:标识符可以含有 字母下划线数字但不得以数字开头
举例:

有效标识符:times10, inches_per_pound, _done
非法标识符:10times, inches-per-pound…

尤其注意:C语言区分大小写

七、Q&A

  • 什么是GCC?
  • 原指 GUN C Compiler ,即C语言编译器,仅编译C语言
  • 现指 GUN C Collection,GUN编译器套件,编译多种语言
  • 某些C语言教材中,main函数结尾使用exit(0)而非return(0),二者有何区别?

main函数中,return(0);exit(0);完全等价,二者均终止程序执行,且返回0。

  • main函数结尾的return(0)是否可省略?

main函数中,return语句非必需,程序仍会终止,当指定int main()时,会默认返回0,否则会随机返回一个值。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值