引:
我有一本c语言程序设计书,已经静静的躺着好长时间了,前几天朋友说,你这本书有些发黄了,看来是好长时间没有翻过了。
其实这本书是我初学电脑时朋友给的,但只看了几页就放在那儿了,那时没有自己的电脑,看起来很吃力。在朋友的提醒下,现在可以找一点时间去翻一翻,虽然没有什么价值,但学习也是一种乐趣......
记录第一天:
今天中午休息,找出书来,找出一些重点的写写。
一、c语言的发展
c语言是一种通用的结构化程序设计语言,由美国贝尔实验室于1972年产先开发出来。c是开发unix操作系统而研制的,它随着unix系统的出名而闻名。
二、c语言的特点
1、c语言是界于高级语言和汇编语言之间的一类语言,它比其它高级语言更接近硬件。
2、c语言是一种结构化程序设计语言,它有顺序,选择和循环三种基本结构。
3、c语言具有类型丰富和使用灵活的运算符。
4、c语言程序具有较高移植性。
三、c语言的字符集
1、大小写26个英文字母。
2、0-9,10个数字。
3、+,-,×,/,%,,&
.....等特殊符号。
四、标识符
起标识作用的一类符号, c语言的标识符用来表示常量、变量、函数和类型等名字。
标识符分三类:
1、保留字:即关键字,用于定义语言本身功能的。有特定的含义和用外,不能做其它用。
2、预定义标识符:用作库函数和预编译命令。c允许用作其它用处,但这时已经不具有系统原先定义的含义,一般不建议再用作其它功能。
3、用户定义标识符
是用户根据需要定义的一类标识符,用于标识变量,符号常量,用户定义函数,类型名和文件指针等。
这类标识符构成规则:
1、由英文字母,下划线,数字组成,但开头字符一定是字母或下划线。
2、英文字母大小写含义不同。
3、一般变量名用小写,常量名用大写。
4、不能把保留字用作用户自定义标识符。
5、一个名字ANSI C,只有前31个字符有效。
五、c语言程序的结构特点和书写风格
1、hello world
#include
int main(void)
{
printf("Hello
world!\n");
return 0;
}
这是一个简单的c程序,功能在屏幕上输出字符“hello
world!",这个程序由一个main()函数构成,叫主函数,一个c程序只能有一个主函数,他是程序的入口地址。
{}所括起来的内容是main函数的函数体。
printf(...)是由系统提供的标准库函数,这里完成输出字符串的功能。
\n表示换行字符。每一个c语言语句由;结尾。
#include
是预编译命令,它把头文件stdio.h的内容导入进来。stdio.h定义了I/O库所用的某此宏和变量等。
2、计算三个数的平均值
include
int main(void)
{
float a,b,c,average;
printf("请输入三个数:");
scanf("%f,%f,%f",&a,&b,&c);
average = (a+b+c)/3;
printf("这三个数的平均值为:%f\n",
average);
return 0;
}
是一个注释语句,他可以多行注释,但不能嵌套。
float是用来定义实数,即单精度浮点数。
scanf(..)是输入语句,他是格式化输入函数,由系统提供的标准库函数,后面的%f是格式符,表示输入一个实数。
3、求最大值
#include
int max(int,int,int);
int main(void)
{
int a,b,c,imax;
printf("请输入三个数:");
scanf("%d,%d,%d",&a,&b,&c);
imax = max(a,b,c);
printf("这三个数中最大的是:%d\n",imax);
return 0;
}
int max(int a, int b, int c)
{
int _max;
if(a>b)
_max = a;
else
_max = b;
if(c>_max)
_max = c;
return _max;
}
结构特点:
由上例可以看出c程序的结构特点:
(1)一个c程序由一个或多个函数组成,但只能有一个主函数main(),
(2)函数的组成,由函数说明和函数体组成。函数的说明指函数的名称,类型,参数,参数类型等。函数体是{}所括起来的部分,它包括局部变量的说明或一组执行语句。每个语句用;结束。
--------------------------------------
数据类型标识符 函数名(形参表)
{
局部变量说明语句;
可执行语句;
}
--------------------------------------
(3)在函数定义之外还可以包含说明,该说明部分叫外部说明,它可包括预编译命令如#include,外部量的说明等。
(4)可以在程序的任何位置(除一个语句内部)加注释。 注释的格式 ,一个注释可以跨多行。
(5)习惯用小写字母书写,一行一句,标识符见名知意,适当的注释,大写字母一般用作符号常量(常数)或其它用途。
例:求任意个数的和及平均值。
#include
float input()
{
float num;
printf("请输入一个数(负数退出):");
scanf("%f",&num);
return num;
}
int main(void)
{
float count=0,sum=0;
float current_num;
current_num = input();
while(current_num>=0)
{
sum+= current_num;
count++;
current_num = input();
}
if(count>0)
{
printf("这些数的和是:%f,平均数是:%f\n", sum, sum/count);
}
else
{
printf("您没有输入一个有效的合法数据\n");
}
return 0;
}
六、编译和执行
c语言是一种高级语言,计算机只能接受机器语言,为此必须先把c语言翻译成相应的机器语言,这个工作叫编译。
(1)我们把写好的c语言程序叫源程序,c源程序的文件扩展名是c,可以用vi,vim等编辑工具进行编写。
(2)源文件建立好后,经检查无误就可以进行编译,编译由系统提供的编译器完成,编译命令随系统的不同而异。
编译是对源文件进行语法和语义检查,并给出所发现的错误。源文件编译后生成目标文件obj,目标文件随系统的不同扩展名也就不同。
(3)编译生成的目标文件是相对模块,不能直接执行,必须用连接器把它和其它目标文件以及系统所提供的库函数进行连接装配,生成可执行文件存于文件系统中,linux下为.out,msdos下为.exe
(4)执行,可反复1-4步骤进行开发。
我的编译环境:
linux + gcc
最简单的应用方法:
hello.c
编译时:
gcc -Wall -o 目标可执行文件 源文件.c