C语言学习1——C语言概述
一、C语言概述
1. C语言历史
1.1 1960年 ALGOL 60 面向问题,离硬件较远,不适合系统程序
1.2 1963年 CPL语言 接近硬件,但太过复杂,难以实现 英国剑桥大学
1.3 1967年 BCPL语言 对CPL语言简化而来 英国剑桥大学 Matin Richards
1.4 1970年 B语言 以BCPL为基础设计出,更简单,更接近硬件 美国贝尔实验室 Ken.Thompson
1.5 1972-1973年 C语言 由B语言发展为C语言 D.M.Ritchie
1.6 1973年 Unix操作系统 用C语言重写Unix操作系统 Ken.Thompson和D.M.Ritchie
1969年汇编写Unix 贝尔实验室 Ken.Thompson和D.M.Ritchie
1.7 1977年 可移植到C语言
1.8 1978年 K&R C The C Programming Language第一版 Brian.W.Kerninghan和Dennis.M.Ritchie
1.9 1983年 ANSI标准 美国国家标准化协会(ANSI)
1.10 1987年 87 ANSI 现行的C语言标准
1.11 1988年 K&R书改写 以ANSI C重写了The C Programming Language
1.12 1990年 ISO C 国际标准化组织接受87 ANSI C作为ISO C
2. C语言特点
1.语言简洁,紧凑,使用方便灵活。共32个关键字,9种控制语句。
2.运算符丰富。语言表达能力强,34种运算符,应用范围广。
3.数据类型丰富,具有现代化语言的各种数据结构。
4.具有结构化的控制语句。3种基本结构的流程控制语句;也有实现模块化的函数结构、函数调用。
5.语法限制不太严格,程序设计自由度大。
6.允许直接访问物理地址,可以进行位操作,能实现汇编语言的大部分功能,用于写系统软件。
7.生成目标代码质量高,程序执行效率高。
8.程序可移植性比较好。本身不依赖于计算机硬件系统和操作系统。提供预处理命令,提高软件开发效率,为程序的组织和编译提供便利,亦提高了程序的可移植性。
9.兼有高级语言和低级语言的特点。具有高级语言面向用户,容易理解,便于阅读和书写的有点。具有与内存地址对应的指针处理方式,可以直接处理内存中的各种类型数据,直接操作硬件。
3. C语言组成结构
- C程序组成
语句是C语言的最小构成单位,以分号结束。
函数为C程序的基本单位,是C语言容易实现程序的模块化。main函数为程序的起点,C程序由一个main函数和若干个其它函数构成。
- 函数组成
函数首部:函数名,函数类型,函数属性,函数参数名,参数类型。
函数体:大括号内的,由声明部分(定义函数中用到的变量)和执行部分组成。
4. 上机运行C程序步骤
1. 编辑源程序(Edit)
2. 编译(Complie) 可查出程序中的语法错误,生成目标程序
3. 连接(Link) 生成可执行文件
4. 执行(Run)
5. 调试(Debug)
- a) 编译错误——编译时出错
- i. 语法错误
- ii. 警告错误
- b) 逻辑错误——编译和执行不出错,但得不到想得到的结果
- c) 运行错误——特殊情况下发生,如变量越界,除零错误等
- d) 连接错误——目标文件到可执行文件,如库函数不存在或找不到
5. 举例及习题
1.简答
From C语言程序设计教程 严尚维主审 华南理工大学出版社
1.1 C程序的基本结构包括内容?
From C语言程序设计教程 严尚维主审 华南理工大学出版社
1.2 如何定义标识符?
From C语言程序设计教程 严尚维主审 华南理工大学出版社
1.3 输入格式、输出格式的组成包括内容?
From C语言程序设计教程 严尚维主审 华南理工大学出版社
1.4 C语言函数分为哪两类?
From C语言程序设计教程 严尚维主审 华南理工大学出版社
1.5 计算机表达式的值应该考虑哪些方面?
From C语言程序设计教程 严尚维主审 华南理工大学出版社
From C语言程序设计习题解答与上机指导
1.6 上机调试程序的步骤?
From C语言程序设计全析精解(第3版) 秦友萍编 西北工业大学出版社
From C程序设计-第三版-谭浩强
From 计算机程序设计基础-C语言程序设计
1.7 写出一个C程序的构成。
From C程序设计-第三版-谭浩强
From C语言程序设计习题解答与上机指导
1.8 C语言以函数为程序的基本单位,有什么好处?
From C语言程序设计习题解答与上机指导
1.9 简述C语言的发展过程。
From C语言程序设计习题解答与上机指导
1.10 C语言程序的主要结构特点和书写格式是什么?
From C语言程序设计
1.11 C程序中,main函数其什么作用?
From C程序设计-第三版-谭浩强
From C语言程序设计
From 计算机程序设计基础-C语言程序设计
1.12 C语言的主要特点。
From C程序设计-第三版-谭浩强
1.13 C语言的主要用途是什么?它和其他高级语言有什么异同?
2.程序
From C程序设计-第三版-谭浩强
From C语言程序设计辅导讲案-主讲教材-C语言程序设计
From C语言程序设计习题解答与上机指导
2.1 在屏幕上输出字符串。
例:
输出字符串“This is a C program.”
例:
输出字符串
From C语言程序设计教程 严尚维主审 华南理工大学出版社
2.2 输入圆点半径,求圆面积、圆周长,将结果显示。
例:
求圆周长,面积
From C程序设计-第三版-谭浩强
From C语言程序设计辅导讲案-主讲教材-C语言程序设计
From C语言程序设计全析精解(第3版)
From C语言程序设计
2.3 求两个数的最大数。——求最小值,求三个数最大数,四个数最大数。
例:
求两个数的最大值
例:
求四个数的最大值
From 程序设计技术
2.4 输入一个字符串,将其中的小写字母转化为大写字母。
例:
求四个数的最大值
From C程序设计-第三版-谭浩强
2.5 求数之和
例:
两数之和
例:1到n累加和
1到n累加和
From C语言程序设计习题解答与上机指导
2.6 求三个数的平均值
例:
三个数的平均值
3.其他
From C语言程序设计教程 严尚维主审 华南理工大学出版社
3.1 【判断】C程序执行的入口时main函数,所以main函数必须放在程序的开头。
3.2 【判断】定义一个函数包括说明部分和执行语句部分,两者可以交叉出现。
3.3 【判断】编辑与编译不是同一回事。
3.4 【判断】scanf(“%d,%d”,&x,&y);的正确输入格式是:3,4↙。
3.5 【判断】注释内容太多会影响程序的执行效率。
3.6 【判断】所有的数学公式可以直接出现在源程序中。
析:
From C语言程序设计习题解答与上机指导
3.7 【程序分析】分析下列程序运行结果。
main() { printf(“Test…”); printf(“…1”); printf(“…2”); printf(“\n”); }析:
From C语言程序设计习题解答与上机指导
3.8 【程序分析】找出下列程序错误,修改后验证正确性。
main() { int sum; /*Compute result sum=25+45+50 /*Display result*/ printf("The answer is %d\\n",sum); }析:
析:注释正确格式/*……*/,即上述程序第4~6行均被注释,需在第4行加入*/。
加入*/后,第5行语句不完整,缺少“;”。
最后的输出函数中\\为转义符表示输出\,故原本需要的换行\n失效,删除一个\即可。
正确程序: main()
{
int sum;
/*Compute result*/
sum=25+45+50;
/*Display result*/
printf("The answer is %d\n",sum);
}
From C语言程序设计
3.9 【选择】用C语言编写的代码程序()
A. 可立即执行
B. 是一个源程序
C. 经过编译即可执行
D. 经过编译解释才能执行
析:
From C语言程序设计
3.10【选择】以下叙述正确的是()
A. C语言比其他语言高级
B. C语言可以不用编译就能被计算机识别执行
C. C语言可以接近英语国家的自然语言和数学语言作为语言的表达式
D. C语言出现的最晚,具有其他语言的一切优点
析:
From C语言程序设计
3.11【选择】在一个C程序中()
A. main函数必须出现在所有函数之前
B. main函数可以在任何地方出现
C. main函数必须出现在所有函数之后
D. main函数必须出现在固定位置
析:
From 计算机程序设计强化复习-最新大纲版-C语言篇
3.12 【选择】以下叙述正确的是()。
A. 一个用C语言编写的程序在运行时总是从main函数开始执行的
B. main函数是系统库函数
C. main函数中每行只能出现一条语句
D. main函数必须出现在所有其他函数之前
析:
From 计算机程序设计强化复习-最新大纲版-C语言篇
3.13 【选择】一个C语言编写的源程序中,()是必不可少的。
A. 取名为main的函数定义
B. #include<stdio.h>
C. 变量声明
D. 注释
析:
个人网站:http://www.shisujie.com