C语言及程序设计概述
第一章 C语言及程序设计概述
文章目录
- 第一章 C语言及程序设计概述
- C语言简介
- 一、C语言的主要特点
- 二、C语言程序结构
- 1.C语言程序的结构及其主要特点
- 2.C语言的标识符
- 3.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;elseresult = 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语言程序的结构及其特点:
- 函数是C语言程序结构的基本单位
C语言是一种结构化程序语言,这是一种分的思想。只不过是为了方便编写程序和交叉编译器编译程序的一套文本结构说明体系,其编写程序要注意的地方也要根据编译器、目标平台来变动,虽然c语言有个通用标准,但也会根据编译器和目标环境的不同存在差异。C语言中的所有 函数都是相互独立的,它们之间仅有调用关系。
- C语言程序只有一个主函数
C语言程序必须有且只有一个主函数main(),是程序的入口点。万物皆有开始,C语言进程创建成功后,会创建主线程,主线程调用约定启动运行时库,由启动运行时库调用约定好的main函数,自此开始执行用户的代码。如果中途有其他辅线程起来了,会给辅线程进行函数约定,告诉它启动起来以后从哪个函数开始执行。总结一下,main函数只是一个线程执行开始的一个约定,每个线程都会约定开始执行的函数名。
- C语言程序的书写格式比较自由
C语言每条语句必须以“;”结束。C语句的书写风格是比较自由的,一行可以写一条或多条语句,一个语句也可以分写在多行上(在行结尾处加”\”语句连接符)。在实际编写中,应该注意程序的书写格式,要易于阅读,方便理解。
- C语言本身没有输入/输出语句
C语言本身并不提供输入和输出语句,输入和输出的操作是由函数来实现的。 C语言的标准函数库中提供了一些输入、输出的函数,例如:printf函数和scanf函数。但是,printf和scanf函数并不是C语言的关键字,只是函数的名字,不能误以为他们是C语言提供的“输入、输出语句。
- C语言可带有编译预处理命令
由“#”开头的行称为宏定义或文件包含,是C语言中的编译预处理命令,末尾无“;”号。每个编译命令需要单独占一行。
- C语言的标识符区分大小写
系统预留的关键词由小写字母组成。用户定义的变量名、函数名等标识符一般也由小写字母组成,但不可占用系统预留的关键字。
- C语言中声明语句的使用
C语言程序中所用到的各种各样的量(标识符)要先定义后使用,有时还要加上对变量引用说明和函数引用说明。
- 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语言及程序设计概述。本文长期更新,点个关注以免错过消息。
C语言及程序设计概述相关推荐
- 山西农业大学c语言答案,第一章C语言及程序设计概述-东北农业大学教务处.doc...
全国高等农林院校"十一五"规划教材 C语言程序设计 孙力 主编 中国农业出版社 内容简介 本书是全国高等农林院校"十一五"规划教材之一. 全书共11章,分别介绍 ...
- 《C语言程序设计与实践(第2版)》——第1章 C语言与程序设计概述 1.1初见C语言程序...
本节书摘来自华章出版社<C语言程序设计与实践(第2版)>一书中的第1章,第1.1节,作者:凌云等著,更多章节内容可以访问云栖社区"华章计算机"公众号查看 第1章 C语言 ...
- 第一章 C语言程序设计概述
1 概览 本章介绍以下内容: - 计算机系统架构:硬件和软件 - 编程语言的发展历程及其特性和使用场景 - 主流桌面系统(Windows,Linux,Mac)的C语言开发环境的搭建 - C程序运行在各 ...
- c语言程序设计林小茶,C语言第一篇概述林小茶
<C语言第一篇概述林小茶>由会员分享,可在线阅读,更多相关<C语言第一篇概述林小茶(8页珍藏版)>请在人人文库网上搜索. 1.第一章,C,语言概述,1.1,程序与程序设计语言, ...
- c语言程序设计第二版(张磊),C语言程序设计教程(第2版) 教学课件 张磊 第1章 程序设计概述.pdf...
C语言程序设计 第1章 程序设计概述 C语言程序设计教程 第2版 中国铁道出版社 张磊 编著 C语言程序设计(第2版)张磊编著中国铁道出版社 第1章 程序设计概述 1.1 程序设计语言 1.2 算 ...
- 80c51的c语言程序设计,80C51的C语言程序设计概述.ppt
80C51的C语言程序设计概述 第9章 80C51的C语言程序设计;9.1 单片机C语言概述 ;Date;9.1.2 C51程序结构;9.2.1 C51的数据类型;尽可能采用无符号格式bit用于定义位 ...
- C语言程序设计-概述、简单程序、数据类型
目录 第一章 C语言基础知识 1.1 C语言概述 1.1.1 C语言与程序设计 1.1.2 C程序形式和程序执行过程 1.2 简单C程序及其上机步骤 1.2.1 简单C程序和编程风格 1.3 数据类型 ...
- 【C语言】第一章 计算机及程序设计概述 题解
第一章 计算机及程序设计概述 1.略 2.略 3.略 4.代码如下: #include <stdio.h>int main() {printf("请输入摄氏温度℃:") ...
- 程序设计方法与技术——C语言 程序设计概述
C语言的基础知识,你知道吗? 目录 一.程序是什么? 二.程序设计语言是什么? 三.C语言程序能解决什么问题? 1.C语言的前世今生 2.C程序的实现过程 四.一个C语言程序的基本结构 1.案例引入 ...
- C语言学习之路——程序设计概述
一.程序设计语言 1.什么是程序设计语言? 程序设计语言是用来编写程序的计算机语言,它按照特定的规则组织计算机指令,使计算机能够自动进行各种操作处理. 2.程序设计语言的3种类型 机器语言.汇编语言. ...
最新文章
- 在数据框中采样随机行
- java实现窗口透明_java实现窗口透明
- java速查表_Java8新功能速查表 - 穿梭于偶然
- php-fpm自启动,php-fpm自启脚本
- 未来经济 数字优先 | 大数据专场
- 利用Axis2默认口令安全漏洞入侵WebService网站
- 2021年度抖音小红书美妆行业营销报告
- The NVIDIA driver on your system is too old (found version 10000). Please update your GPU driver by
- mysql修改字段一部份_mysql 修改字段中部分值
- context:component-scan扫描使用上的容易忽略的use-default-filters
- 视图中获取控制器中数据的方式
- 最新的.net书籍教程 更新时间:2005-9-5
- 安装PHP ImageMagick笔记
- 富士通MB95F636H输出PWM
- 基于图像识别的火灾检测系统设计
- WLAN和WIFI区别以及组网方式
- orangepi pc GPIO 管脚图
- python控制qq添加好友_QQ增粉秘籍:QQ添加好友被限制 突破规则日增粉1000+
- CSS3实现旋转图片相册
- 信工三行代码——红色底蕴与编程技术的火花