您当前的位置:首页 > 互联网教程

C语言源程序是由什么构成的

发布时间:2025-05-13 16:27:49    发布人:远客网络

C语言源程序是由什么构成的

一、C语言源程序是由什么构成的

C语言源程序是由:数据类型、常量与变量、数组、指针、字符串、文件输入/输出构成。

C的数据类型包括:整型、字符型、实型或浮点型(单精度和双精度)、枚举类型、数组类型、结构体类型、共用体类型、指针类型和空类型。

常量其值不可改变,符号常量名通常用大写。变量是以某标识符为名字,其值可以改变的量。标识符是以字母或下划线开头的一串由字母、数字或下划线构成的序列,请注意第一个字符必须为字母或下划线,否则为不合法的变量名。变量在编译时为其分配相应存储单元。

如果一个变量名后面跟着一个有数字的中括号,这个声明就是数组声明。字符串也是一种数组。它们以ASCII的NULL作为数组的结束。要特别注意的是,方括内的索引值是从0算起的。

指针不仅可以是变量的地址,还可以是数组、数组元素、函数的地址。通过指针作为形式参数可以在函数的调用过程得到一个以上的返回值,不同于return(z)这样的仅能得到一个返回值。

指针是一把双刃剑,许多操作可以通过指针自然的表达,但是不正确的或者过分的使用指针又会给程序带来大量潜在的错误。

C语言的字符串其实就是以'\0'字符结尾的char型数组,使用字符型并不需要引用库,但是使用字符串就需要C标准库里面的一些用于对字符串进行操作的函数。它们不同于字符数组。

在C语言中,输入和输出是经由标准库中的一组函数来实现的。在ANSI C中,这些函数被定义在头文件<stdio.h>;中。

1、高级语言:它是把高级语言的基本结构和语句与低级语言的实用性结合起来的工作单元。

2、结构式语言:结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰,便于使用、维护以及调试。

3、代码级别的跨平台:由于标准的存在,使得几乎同样的C代码可用于多种操作系统,如Windows、DOS、UNIX等等;也适用于多种机型。C语言对编写需要进行硬件操作的场合,优于其它高级语言。

4、使用指针:可以直接进行靠近硬件的操作,但是C的指针操作不做保护,也给它带来了很多不安全的因素。C++在这方面做了改进,在保留了指针操作的同时又增强了安全性,受到了一些用户的支持。

二、C语言源代码是什么

1、int i, j, r, k;//i、j、r用于循环, k存放随机数值

2、int m, n;// m、n是当前空位的下标, t标记排序是否成功

3、int a[4][4];//存储4×4共16个数字的数组

4、void show(void);//输出数组表格

5、int yes(void);//判断排序是否成功

6、void up(void);//数字向上移动到空位(空位则下移)

7、void gtxy(int x, int y);//控制光标移动的函数

8、{gtxy(6,12); printf("你成功了!再来一局y/n?"); break;}

9、 if(getch()==ʹnʹ)break;

10、CONSOLE_CURSOR_INFO cursor_info={1,0};//以下两行是隐藏光标的设置

11、SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE),&cursor_info);

12、for(i=0;i<4;i++)//给数组a依序赋值

13、{ if(i==3&& j==3) a[i][j]=0;

14、a[3][3]=a[1][1]; a[1][1]=0;//把a[3][3]与a[1][1]的值交换一下

15、srand((unsigned)time(0));//初始化随机数发生器

16、for(r=0;r<500;r++)//将数组各值打乱

17、{k=rand()%(4);//取0-3随机数,分别代表上下左右四个方向

18、printf("\n\t┌──────┬──────┬──────┬──────┐");

19、printf("\n\t├──────┼──────┼──────┼──────┤");

20、printf("\n\t├──────┼──────┼──────┼──────┤");

21、printf("\n\t├──────┼──────┼──────┼──────┤");

22、printf("\n\t└──────┴──────┴──────┴──────┘");

23、for(j=0;j<4;j++)//gtxy(7*j+9, 2*i+4)是光标到指定位置输出数字

24、{gtxy(7*j+9,2*i+4); if(a[i][j]==0)printf("│");

25、else if(a[i][j]>9)printf("%d│",a[i][j]);

26、{ if(m!=3)//移动时要考虑空位"0"是否已经在边界

27、{ a[m][n]=a[m+1][n]; m++; a[m][n]=0;}

28、{a[m][n]=a[m-1][n]; m--; a[m][n]=0;}

29、{ a[m][n]=a[m][n+1]; n++; a[m][n]=0;}

30、{ a[m][n]=a[m][n-1]; n--; a[m][n]=0;}

31、{ if(a[i][j]!=1+r++) return(r==16)?1:0;}

32、void gtxy(int x, int y)//控制光标移动的函数

33、 SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), coord);

三、c语言源程序的扩展名是什么

1、C语言源程序后缀为.c,编译后的后缀为.obj或.o,连接后生成的可执行文件的后缀为.exe。

2、C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。

3、尽管C语言提供了许多低级处理的功能,但仍然保持着跨平台的特性,以一个标准规格写出的C语言程序可在包括类似嵌入式处理器以及超级计算机等作业平台的许多计算机平台上进行编译。

4、C语言是一种结构化语言,它有着清晰的层次,可按照模块的方式对程序进行编写,十分有利于程序的调试,且c语言的处理和表现能力都非常的强大,依靠非常全面的运算符和多样的数据类型。

5、可以轻易完成各种数据结构的构建,通过指针类型更可对内存直接寻址以及对硬件进行直接操作,因此既能够用于开发系统程序,也可用于开发应用软件。