C语言及程序设计概述

第一章 C语言及程序设计概述




C语言简介

C语言是一种编译型程序设计语言,它是在B语言的基础上发展起来的。它的内核最初用汇编语言编写。汇编语言是面向机器的语言,生成的代码质量较高;但其可读性和可移植性差,并且在对问题的描述上远不如高级语言更接近人类的表述习惯。C语言最初的研制目的就是用于编写操作系统和其他系统程序的,它具有汇编语言的一些特性,同时又具有高级语言的特点,其根源可追溯到Algol 60。
1963年,英国剑桥大学在Algol 60的基础上推出了CPL(Combined Programming Language)语言,它更接近于硬件,但规模较大,难以实现。
1967年,英国剑桥大学的的Martin Richards对CPL语言进行了简化,开发了BCPL(Basic Combined Programming Language)语言。
1970年美国贝尔实验室的Ken Thompson对BCPL语言进一步做了简化,设计出更简单和接近硬件的B语言,并用B语言编写了DEC PDP-7型计算机中的UNIX操作系统。
1973年,美国贝尔实验室的Dennis Ritchie在B语言的基础上设计出了C语言,并首次用C语言编写了UNIX操作系统,在DEC PDP-11计算机上得到应用。
20世纪70年代后期,C语言逐渐成为开发UNIX操作系统的标准语言;随着UNIX操作系统的流行,C语言也得到了迅速地推广和应用。 后来,C语言被移植到大型计算机、工作站等机型的操作系统上,逐渐成为编制各种操作系统和复杂系统软件的通用语言。

百度百科链接:点这里快速到达


以下是本篇文章正文内容

一、C语言的主要特点

1. C语言是结构化语言

C语言是以函数形式提供给用户的,并配有结构化的控制语句,这些函数可方便的调用和程序实现模块化的设计。

2. 语言简洁、紧凑,使用方便、灵活。

C语言仅有32个关键字,9种控制语句,程序的书写形式也很自由,主要以小写字母书写语句,并有大小写之分。

3.C语言允许直接访问物理地址,能进行位(bit)操作,能实现汇编语言的大部分功能,可以直接对硬件进行操作

C语言可直接访问内存物理地址和硬件寄存器,直接表达对二进制位(bit)的运算。它的程序简洁,编译程序体积小。

4.数据类型丰富,具有现代语言的各种数据结构。

C语言具有丰富的数据类型,除基本数据类型:整型(int)、实型(float和double)、字符型(char)外,还设有各种构造类型并引入了指针概念。

5.运算符极其丰富。

C语言共有34种运算符,括号、赋值、强制类型转换等都以运算符的形式出现,使得C语言的表现能力和处理能力极强,很多算法更容易实现。

6.C语言程序的可移植性好(与汇编语言比)。

用C语言编写的程序不必修改或少量修改就可在各种型号的计算机或操作系统上运行。

7.C语言生成的目标代码质量高,程序执行效率高。

代码质量是指C程序经编译后生成的目标程序在运行速度上的快慢和存储空间上的大小。一般而言,运行速度越高,占用的存储空间越少,则代码质量越高。

8. C语言的语法灵活、限制不是十分严格。

虽然C语言也是强类型语言,但它的语法比较灵活,允许程序编写者有较大的自由度。

二、C语言程序结构

1.C语言程序的结构及其主要特点

【例1.1】 编写程序,将“Hello World!”显示在计算机的屏幕上。

#include <stdio.h>//库函数
int main()//main( )是C语言程序中的主函数
{
   /* 我的第一个 C 程序 */
   printf("Hello, World! \n");//“printf (…… );//是C编译系统提供的标准函数库中的输出函数
   return 0;
}//“{” 、“}”是main函数体的标识符

【例1.2】函数返回两个数中较大的那个数

/* 函数返回两个数中较大的那个数 */
#include<stdio.h>
int max(int num1, int num2) 
{
    
    
   /* 局部变量声明 */
   int result;
   if (num1 > num2)// “if...else...”是条件控制语句
      result = num1;
   else
      result = num2;
   return result; 
}
int main()
{
    
    
	int a,b;/*变量声明*/
	scanf("%d%d",&a,&b);//格式化输入
	/*scanf是C编译系统的标准输入函数,从键盘上接收输入的数据;
	scanf 圆括号中的“%d”是格式控制符,表示输入的数据是十进制整数;
	“&n”是地址列表,表示从键盘接收的十进制整数存入变量n的内存地址&n中。*/
	printf("%d",max(a,b));
	return 0;
}

从【例1.1】、【例1.2】中可以看出C语言程序的结构及其特点:

  1. 函数是C语言程序结构的基本单位

C语言是一种结构化程序语言,这是一种分的思想。只不过是为了方便编写程序和交叉编译器编译程序的一套文本结构说明体系,其编写程序要注意的地方也要根据编译器、目标平台来变动,虽然c语言有个通用标准,但也会根据编译器和目标环境的不同存在差异。C语言中的所有 函数都是相互独立的,它们之间仅有调用关系。

  1. C语言程序只有一个主函数

C语言程序必须有且只有一个主函数main(),是程序的入口点。万物皆有开始,C语言进程创建成功后,会创建主线程,主线程调用约定启动运行时库,由启动运行时库调用约定好的main函数,自此开始执行用户的代码。如果中途有其他辅线程起来了,会给辅线程进行函数约定,告诉它启动起来以后从哪个函数开始执行。总结一下,main函数只是一个线程执行开始的一个约定,每个线程都会约定开始执行的函数名。

  1. C语言程序的书写格式比较自由

C语言每条语句必须以“;”结束。C语句的书写风格是比较自由的,一行可以写一条或多条语句,一个语句也可以分写在多行上(在行结尾处加”\”语句连接符)。在实际编写中,应该注意程序的书写格式,要易于阅读,方便理解。

  1. C语言本身没有输入/输出语句

C语言本身并不提供输入和输出语句,输入和输出的操作是由函数来实现的。 C语言的标准函数库中提供了一些输入、输出的函数,例如:printf函数和scanf函数。但是,printf和scanf函数并不是C语言的关键字,只是函数的名字,不能误以为他们是C语言提供的“输入、输出语句。

  1. C语言可带有编译预处理命令

由“#”开头的行称为宏定义或文件包含,是C语言中的编译预处理命令,末尾无“;”号。每个编译命令需要单独占一行。

  1. C语言的标识符区分大小写

系统预留的关键词由小写字母组成。用户定义的变量名、函数名等标识符一般也由小写字母组成,但不可占用系统预留的关键字。

  1. C语言中声明语句的使用

C语言程序中所用到的各种各样的量(标识符)要先定义后使用,有时还要加上对变量引用说明和函数引用说明。

  1. C语言中注释信息的使用

C语言的注释信息格式为:/* 注释内容 */(多行注释)或//注释内容(单行注释)。注释只增加程序的可读性,但不被计算机执行。

2.C语言的标识符

在程序中使用的变量名、函数名、标号等统称为标识符。除库函数的函数名由系统定义外,其余都由用户自定义。C 语言规定,标识符只能是字母(A~Z,a~z)、数字(0~9)和下划线组成的字符串,并且标识符的第一个字符必须是字母或下划线。

以下标识符是合法的:

abc,x,_abc,BOOK_3,flag1

以下标识符是非法的:

6s 以数字开头
S&T 出现非法字符&
-7z 以减号开头
kingboy-2 出现非法字符-(减号)

在使用标识符时还必须注意以下几点:
①标准C不限制标识符的长度,但它受各种版本的C语言编译系统限制,同时也受到具体机器的限制。例如在某版本C中规定标识符前八位有效,当两个标识符前八位相同时,则被认为是同一个标识符。
②在标识符中,大小写是有区别的。例如HELLO和hello是两个不同的标识符。
③标识符虽然可由程序员任意定义,但标识符是用于标识某个量的符号,命名应尽量具有相应的意义,方便阅读理解;一般以英文单词进行表示,尽量做到“见名知义”。

3.C语言的关键字

关键字是C语言规定的具有特定意义的字符串,通常也称为保留字。用户定义的标识符不能与关键字相同。

数据类型关键字(12个) 控制语句关键字(12个) 存储类型关键字(4个) 其它类型关键字(4个)
char break auto const
double case extern sizeof
enum continue register typedef
float default static volatile
int do
long else
short for
signed goto
struct if
union return
unsigned While
void switch

三、C语言程序实现的步骤

在这里插入图片描述
一个C语言程序从编写到运行在计算机上,需要经过4个步骤:编辑、编译、连接和运行。
①编辑(Edit)。编写C语言源程序并在计算机上对其进行编辑,生成一个后缀为.c的源程序 *.c,存盘。
②编译(Compile)。使用C语言编译器对上一步生成的 *.c源程序进行编译。
③连接。编译生成的目标程序 *.obj,将目标程序 *.obj与系统的函数和头文件等引用的库函数进行连接装配,最后生成后缀为.exe的可执行程序 *.exe。
④运行。上步生成的 *.exe程序可被计算机执行,并得到运行的结果,显示输出。


总结

提示:这里对文章进行总结:
以上就是今天要讲的内容,本文仅仅简单介绍C语言及程序设计概述。本文长期更新,点个关注以免错过消息。

猜你喜欢

转载自blog.csdn.net/qq_42866708/article/details/112392885