文章目录
C语言详细入门教程
C语言是当今使用最广泛的高级语言,是操作系统,编译系统等大型复杂操作系统的首选语言。
实践证明,用该语言编写的程序,灵活、方便、简洁、高校、数据结构丰富、功能齐全。C语言自问
世以来,很快就流行于全世界,并为各种规模的通用计算机所必备。
同时,C语言以其灵活方便的特点,成为培养计算机语言思维,了解计算机编程思想的最佳语言,
它已被当今国内外众多主要高校列为各理工科专业必修课程。
第一章 C语言程序设计概述
1.1 程序与程序设计
- 什么是语言?
自然语言:
人与人之间交流的工具,通过自然语言实现人与人之间的沟通,使别人能够明白的按照语言的表达来办事、工作。如:汉语、英语、德语、法语、日语等…
计算机语言:
计算机语言又称为程序设计语言,人与计算机之间交流的工具,通过计算机语言实现人与计算机之间的沟通,使计算机能够明白的按照语言的表达来办事、工作。如:C语言、Java、汇编语言、机器语言等 - 什么是程序?
程序就说按照计算机语言的语法规则、语句格式,编制成一段能让计算机理解并按照执行的语句的集合。通俗的讲,程序就说一个用计算机语言描述的,可以由计算机执行的某一问题的解决步骤。 - 程序设计?
编写程序的过程成为程序设计。不同语言编写的程序,成为某一语言的程序。例如:用C语言编写的程序就称为C语言程序。程序设计语言发展主要分为以下几个阶段: - 机器语言
计算机可以直接识别的二进制语言,如:
加法指令:1000 0000
减法指令:1001 0000 - 汇编语言
用“助记符”来表示机器指令,如:
ADD A,B
SUB A,B - 算法语言
即高级语言,不依赖于机器,降低了编程的难度。如:C、PASCAL、FORTRAN等,用’+‘和’-‘来表示加减运算。 - 面向任务的程序设计语言
非过程化的语言,不需要知道问题是如何求解的。如:要从某学生表SS用数据库(SQL)查询语言获取表中的记录的信息,采用SELECT语句,描述如下:
SELECT SSNO,SSNAME,SSAGE,SSSEX, FROM SS。 - 面向对象的程序设计语言
认为系统是许多对象组成的,对象通过消息相互联系和相互作用,从而完成系统的功能。如:C++,设计的程序更易懂,更适合大规模的程序开发。
1.2 算法及其描述
- 什么是算法?
1.一个算法必须保证执行有限步后结束;
2.算法的每一个步骤必须具有确切的定义;
3.应对算法给出初始量;
4.算法具有一个或多个输出;
5.算法的每一步都必须是计算机能进行的有效操作
正确的语法+正确的算法=正确的程序
1.3 C语言的发展及特点
-
C语言的发展概况
起源于1968年发表的CPL语言,目前在微型计算机上使用的有Microsoft C,Quick C,Turbo C 2.0等多种版本。
-
C语言的特点
1.31 具有结构化语言的特点
1.32 可移植性好,能对硬件操作
1.33 数据类型丰富
1.34 程序设计自由度大
1.35 目标代码生成质量高,执行速度快
1.4 C语言程序的基本结构
简单的C语言程序示例:[^1]
例1:从键盘输入三个任意值的整数a,b,c,按公式s=a+b*c计算s的值,并显示结果。
#include<stdio.h>
main()
{
int a,b,c,s;
scanf("%d,%d,%d",&a,&b,&c);
s=a+b*c;
printf("s=%d\n",s);
}
一个完整的C语言程序由若干个函数组成,至少且仅有一个main函数,每个函数包括:
1.41 函数说明部分和函数体(变量定义 和语句部分);
1.42 语句必须以分号(;)结束标志;
1.43 由“/”与“/”之间的内容构成C语言程序的注释部分;
1.44 用预处理命令#include可以包含有关文件的信息;
1.45 在C语言中区分大小写,如Main,MAIN,main,maiN是不相同的。
1.5 C语言字符集、标识符与关键字
C语言字符集
英文字母:大小写各26个,共计52个;
阿拉伯数:0·9共10个数字;
下划线:_
特殊符号:通常由1-2个符号组成的运算符
符称 | 符号 |
---|---|
算术运算符 | + - * / % ++ – |
关系运算符 | < > >= <= == != |
逻辑运算符 | && ! \\ |
条件运算符 | ? : |
赋值运算符 | = |
其他分隔符 | () [] {} . , ; |
标识符:
C语言规定:标识符只能由字母、数字和下划线三种字符,且第一个字符必须为字母或下划线。
合法标识符 | 不合法运算符 |
---|---|
_123B , abc_1 | MR,&z |
第二章 C语言的基本数据类型与表达式
重点学习内容:
- 数据类型
- 常量定义
- 运算符与表达式
2.1 C语言的基本数据类型
存储的编码方式有:原码、反码、补码、ASCII码
存储的存储格式有:定点型、浮点型
用于存储数据的存储单元的长度决定了数据取值范围的大小。
存储数据必须先确定数据的编码方式、存储格式和所占的存储长度,C语言中把这三者结合起来,给出几种固定的形式,这些形式就说最基本的 数据类型
。
2.11 数据类型
基本类型 | 字符型(char)整型(int,short,long,unsigned) |
---|---|
实型(单精度浮点型(float),多精度浮点型(double),枚举型(enum)) | |
构造类型 | 数组([])结构体类型(struct)共用体类型(union) |
指针类型 | * |
空类型 | void |
常量:在程序运行中,其数值不能被改变的量。
变量:在程序运行中其值可以改变的量,变量的名字以合法的标识符命名
2.12 整型
1. 整型常量:
十进制:与数学上的整数表示相同
八进制:在数码前加数字0
十六进制:在数码前加0X(数字0和字母X)
八进制的数码范围0~7
十六进制的数码除了数字0~9外,还使用英文字母a–f(或A-F)表示10-15
2. 整型变量:
根据存储长度不同,分为:int、short、long;
同样存储长度数据分为unsigned,signed;
3. 整型变量的值域:
2.13 实型
1. 实型常量:
十进制小数形式:由数字和小数点组成
指数形式:“十进制小数 ”+“e"+"十进制整数”
2. 实型变量的分类及值域:
2.14 字符类型
2.2 常量与变量
2.21 常量与符号常量
直接常量:是在程序中直接引用的数据
符号常量:是用标识符来表示的一个数据:在程序不能给他赋值
2.22 变量
- 变量是指以合法的标识符命名的,其值可以改变的量。
- 变量代表计算机内存中的某一存储空间,该存储空间中存放的数据就说变量的值。
- 在同一程序快中,变量不能被重复定义。
- 使用变量使必须“先定义,后使用”
1.定义形式:类型标识符 变量名1 【,变量名2,变量名3…】;
2.变量初始化:在定义变量的同时给变量一个初始值。
2.3 运算符与表达式
运算符:表示某种运算功能的符号。
按操作功能运算符大致分为:算术运算符、关系运算符、逻辑运算符、赋值运算符、条件运算符、逗号运算符以及按位运算符等。
表达式:由操作数和运算符组成的序列
2.31 算术运算符
2.32 关系运算符与关系表达式
2.33 逻辑运算符和逻辑表达式![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/17dbc222cd1d5c0a6c1d6c95ee5be0a1.png)
2.34 赋值运算符和赋值表达式
2.35 其他运算符
第三章 基本语句
3.1 C语言的基本语句
- 简单语句
- 空语句
- 复合语句
- 流程控制语句
3.11 简单语句
1.定义:由表达式组成的语句;
表达式:分号是语言语句结束的标志;
表达式包括:算术表达式、赋值表达式、复合赋值表达式
2. 函数调用语句: C语言有丰富的标准函数库
3.空语句: 空语句用一个分号表示,其一般形式为:;
3.12 复合语句
复合语句是由花括号括起来的多条语句构成,在语句上相当于一个语句。其形式为:
{ 数据操作语句1; 数据操作语句2; }
3.2 数据输入与输出
- C语言无I/O语句,I/O操作由I/O函数来实现
- I/O函数使用前,须调用头文件#include<stdio.h>
3.21 字符的输入输出函数
1.字符输出函数:putchar( c );
注意:能且仅能输出一个字符
2.字符输入函数:getchar( );
注意:能且仅能接受一个字符
3.22 格式输出函数printf
格式:printf(“格式控制串”,输出项列表);
功能:按指定格式向显示器输出数据
3.23 格式输入函数scanf
格式:scanf(“格式控制串”,地址表)
功能:按指定格式从键盘输入数据,存入地址表指定的存储单元中,并按回车键结束返回值:正常,返回输入数据个数。
3.3 程序举例
3.31 输入圆的半径,输出圆的周长和面积
分析:
1.定义实型变量半径r,周长c,面积s;
2.调用键盘输入函数scanf(),输入r
3.由周长c=2ΠR和面积s=2Πrr求l,s
4.调用输出函数行printf()输出l,s
#include<stdio.h>
#define PI 3.14156
main()
{
float r,c,s;
printf("r=");
scanf("%f",&r);
c=2*PI*r;
s=PI*r*r;
printf("c=%.f\n",c);
printf("s=%.4f\n",s);
}
第4章 选择结构程序设计
- 掌握选择结构程序设计
- 掌握嵌套程序设计
- 学会运用If语句及switch语句
C语言中的选择语句有三种:
单分支选择语句:if
多分支选择语句:if-else
多分支选择语句:switch
4.1 if语句
4.11 单分支选择语句 if
if(条件表达式) 语句;
if(条件表达式) { 复合语句 };
说明:1.条件表达式的值为非0或0,必须用()括住
2,若有多条语句(复合语句)时,用{ }括住。
3.(条件表达式)后不能加分号;
例:输入任意两个数X,Y,将这两个数按由小到打的顺序输出。
4.12 双分支选择语句 if-else
if(表达式) 语句1;
else 语句2;
执行语句:
首先判断表达式的值
若为非0则执行语句1
若为0则执行语句2
if语句的双分支形式,在语法上视为一条语句
例:输入两个数,比较其大小,将较大的数输出
4.13 多分支结构
- 用简单的If语句完成的多分支结构
- 用if-else语句完成的多分支结构
- if · else配对原则
- if · else语句的嵌套结构
例:写一个程序完成下列功能:
输入一个分数score
当score<60输出E
当60<=score<70输出D
当70<=score<80输出C
当80<=score<90输出B
当90<=score 输出A
4.2 switch 语句
if语句是根据表达式的值是否为0来判断执行哪一分支的。
在某些情况下,要根据表达式的不同值来判断执行不同的操作。
C语言提供那个了分支控制语句switch,可以根据表达式的多种值,
选择多个分支,因此也成为开关语句。
例:根据输入的学生的成绩判断等级。当成绩score>=90时为A等;成绩70<=score<90为B等;成绩60<=score<70为C等;成绩score<60为D等;