c语言具有汇编语言的特性,第一章C语言笔记-- 基础概述

本文介绍了C语言的历史,强调了其简单灵活、运算符丰富、数据结构多样、结构化控制、位操作能力、高效执行和高度可移植性等特点。通过实例演示了输出字符串、求和与找最大值,以及C语言的编译过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、C的历史

C语言是一种高级程序语言,可以实现对硬件直接操作,例如如内存地址的操作、对位的操作。UNIX5操作系统90%以上都是C语言编写(从B语言改写)的。

C语言可以实现汇编语言的大部分功能。C既具有高级语言特性,又具有低级语言的许多功能,可以用来写系统软件。

2、C语言特点

2.1 语言简单、紧凑、使用简单、灵活

C语言有32个关键字,9种控制语句,程序书写形式自由,主要用小写字母表示。

2.2  运算符丰富

C语言有34中运算符,C把括号、赋值、强制类型转化等都作为运算符处理,使得C的运算符类型及其丰富。

2.2 数据结构丰富

C的数据类型有整形、实型、字符型、数组类型、指针类型、共用体类型等

以上数据类型可以实现各种复杂的数据结构(如链表、树、栈等)的运算

2.3 具有结构化的控制语句

C的控制语句包括(if...else...语句)、(while语句)、(switch语句)、(for语句)等,用函数作为程序的模块单位,便于实现程序的模块化。

2.4 C语言可以进行位(bit)操作

所以,能够实现汇编语言的大部分功能,可以直接对硬件进行操作。

2.5 程序执行效率高,生成目标代码质量高

一般只比汇编生成的目标代码效率低10%~20%

2.6 可移植性好(与汇编语言比)

基本上不做任何修改就鞥用于各种型号的计算机和操作系统。

2.7 C书写格式自由

一行内可以写几个语句,

一个语句可以写在多行上

3. 例子

3.1 例1 简单输出

# include main() /*主函数*/

{

printf("This is a C Program.\n"); /*这是C的输出格式与注释格式*/

}

上述代码是一个简单的C程序,输出内容:

This is a C Program.

3.2 例2 求两数之和

# include main()

{

int a,b,sum; /*这是定义变量*/

a=123;b=456;

sum = a+b ; /*可以直接用内置函数sum=add(a,b)*/

printf(“sum is %d\n”,sum); /*格式化输出*/

}

3.3 例3 求两数最大

# include main()

{

int a,b,c;

scanf("%d,%d",&a,&b) ; /*输入变量a,b,类比于python的raw_input*,“&”的含义是“取地址”/

c=max(a,b); /*调用max函数,将得到的值赋值给c*/

printf("max=%d",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的值返回给c*/

}

注意:

1、C的每个语句和数据定义后的最后必须有一个分号。分号不可少

2、C语言本身没有输入输出语句,它的输入输出操作石油库函数scanf和pringtf等完成的。

3、C语言可以使用 /...../来进行注释

4. C的编译

1、因为计算机只能够识别0、1组成的二进制指令,而不能识别和执行有0和1组成的二进制指令。

所以,为了使得计算机能够执行高级语言程序,需要一种称为“编译软件”的软件,把源程序翻译成二进制形式的“目标程序”,然后将该“目标程序”与系统的函数库和其它目标程序连接起来,形成可执行的目标程序。

2. C语言的源程序文件是 name.c文件

例如:编辑后的得到一个源程序文件f.c,进行编译时将源程序文件f.c输入,经过编译得到目标程序文件f.obj,再讲目标程序语言f.obj输入内存,与系统提供的库函数等连接,得到可执行的目标程序文件f.exe,最后把f.exe调入内存并使之运行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值