一、对C语言的初步认识
二、C语言基本数据类型、操作符和表达式
三、C语言顺序结构程序设计
四、C语言选择结构程序设计
五、C语言循环结构程序设计
六、C语言位运算
七、C语言数组与字符串
八、C语言指针
九、C语言中的函数
十、C语言中数据和存储类型
十一、C语言中的用户定义数据类型
十二、C语言中编译预处理命令
1、计算机的基本工作过程
数据输入 →计算机处理→数据输出
数据是消息的载体
程序设计的具体过程是:
1.分析问题
2.找出解决问题的算法,并确定数据的结构;
3.使用一种语言描述算法,编写解决问题的程序。
1、1、1程序与程序设计语言
(1)机器语言:
是一种二进制语言,每条语句都是二进制数码表示的指令。
10110110 00000001,0001001
操作码 操作数 操作数
优点:计算机能直接识别,运行速度快。
缺点:难懂、难写、难记,难以修改和维护。
(2)汇编语言:
是一种和机器语言一一对应的符号化的语言,由机器语言符号化而来,用助记符和符号地址来表示指令,称为汇编源程序。
-如:ADD A,B
MOVE AX, BX
-计算机不能直接识别,必须由汇编程序将汇编源程序翻译成二进制程序,计算机才能识别。
优点:较直观、易懂、易用、执行速度快,占用内存空间少。
缺点:各种机器不通用。
(3)高级语言:
是一种与硬件结构及指令系统无关,表达方式较接近自然语言的程序设计语言。
-如:FORTRAN 、PASCAL 、 C 、BASIC等
-计算机不能直接识别,必须由编译程序将高级语言源程序翻译成二进制程序,计算机才能识别。
优点:描述问题能力强,通用性、可读性、可维护性较好。
缺点:执行速度较慢,编制访问硬件资源的系统软件较难。
例子:求两数之和
#include<stdio.h>
main() /* This is the main program */
{ int a,b,sum;
a=10; b=24;
sum=a+b
printf("sum=%d\n",sum);
return 0;
}
运气结果:sum=34
1、1、2结构化程序设计方法
-结构化的程序设计方法强调程序设计风格和程序结构的规范化,提倡清晰的结构。
-基本思路:把一个复杂的求解过程分阶段进行,每个阶段处理的问题都控制在人们容易理解和处理的范围内。
-方法:
(1)自顶向下,即:从上面设计到下面;
(2)逐步细化,即:在操作当中,一个个的分解细化实现;
(3)模块化设计,即:一个函数看成一个模块或把独立的功能做成一个模块;
(4)结构化编码,即:按结构模块化这种方式来进行编辑程序。
1、2C语言及其源程序的基本结构特点
-C语言的产生过程
时间:1972~1973
地点:美国贝尔实验室
目的:UNIX操作系统
设计人:Ken.Thompson和Dennis.M.Ritchie
1、2、1C语言
特点:
1.C语言是一种结构化程序设计语言,具有各种控制语句。
9种控制语句:
if()~else~
for()
while()~
do~while()
continue
break
switch
goto
return
2.C语言是一种模块化程序设计语言,函数组成程序的基本单位。
3.C语言有丰富的数据类型和运输操作,使程序设计简单方便。
34中运算符:
算术运算符:+ - * / % ++ --
关系运算符:< <= == > >= !=
逻辑运算符(逻辑非,逻辑与,逻辑或):! && ||
位运算符(左移,右移,按位取反,按位或,按位异或,按位与):<< >> ` | ` &
赋值运算符: = 及其扩展
条件运算符: ?:
逗号运算符: ,
指针运算符: * &
求字节数: sizeof
强制类型转换:(类型)
分量运算符:. ->
下标运算符:[]
其它:()
4.C语言提供低级语言的能力,可直接对物理地址进行操作。
5.语言限制不太严格,程序设计自由度大,生成目标代码质量高。
1、2、1C语言源程序的基本结构
例子:第一个程序 Hello,World !
/* example1.1 The first C Program */
#include<stdio.h> //预编译命令
main() //主函数
{ printf("Hello,World !");//输出函数
}
输出结果:
Hello,World !
例子:求两个数中最大者
#include<stdio.h>
int max(int x,int y);
main()
{ int a,b,c;
scanf("%d%d",&a.&b):
c=max(a,b);
printf("max=%d\n",c);
}
int max(int x,int y) //函数定义
{ int z;
if(x>y) z=x;
else z=y;
return(z);
}
C语言程序结构小结
/* 用一行 */
printf("aaabbbccc")
/* 用多行 */
printf("aaa\
bbb\
ccc");
C语言程序格式特点
-习惯用小写字母,大小写敏感
-不使用行号,无程序行概念
-可使用空行和空格
-输入输出由库函数实现
-常用锯齿形书写格式
main()
{
int i,j,sum;
sum=0;
for(i=1;i<10;i++)
{
for(j=1;j<10;j++)
{
sum+=i*j;
}
}
printf("%d\n",sum);
}
1、3 C语言的基本词法
1.3.1 C语言的字符集
-采用ASCLL码
(1)52个大写和小写字母
(2)10个数字
(3)33个键盘符号
-转义字符集表示字符的一种特殊形式。表示不可打印字符或具有特定用途的字符。
例子1:
#include<stdio.h>
main()
{
printf("aaaaa\tbbbbb\rccccc\n\nddddd\n");
return 0;
}
输出结果:
\t :八个字符标准位
\r:不换行回到头
\n:回车到下一行
例子2:
#include<stdio.h>
main()
{
printf("aaaaa\'bbbbb\\ccccc\?\nddd\a\a\n");
return 0;
}
输出结果:
\ :转义字符
\n :换行
\a :响铃
例子3:
#include<stdio.h>
main()
{
printf("A\t\101,\101\nA\t\x41\n");
return 0;
}
输出结果:
\t:八个字符标准位
\101:A
\n:换行
\x41:A
例子4:
#include<stdio.h>
int main()
{
printf(" ab c\t de\rftg\n");
printf("h\ti\b\bj k");
return 0;
}
输出结果:
\b:退一格
\r:回到行头
1.3.2 C语言的标识符
标识符:在C语言中,用来表示变量名、符号常量名、函数名、数组名、类型名、文件名的有效字符序列称为标识符(identifier)。简单地说,标识符就是一个名字。
标识符命名:只能由字母、数字、下划线组成,并且第一个字符必须是字母或者下划线。
在C语言中,字母大小写敏感。因此在命名时需注意字符的大小写。
标识符长度(字符个数)规定:不同的编译器有不同的规定。ANSI C规定长度不超过32个字符。
1.3.3 C语言的保留字
由系统定义的,不能用作其它定义,比如:不能用来作变量
1、4 C语言的源程序的编译和C语言集成开发环境
VC++上机。。。