第一章 程序设计和C语言
1.程序:一组计算机能识别和执行的指令,计算机的一切操作都由程序控制,计算机的本质是程序的机器。
2.计算机语言:一种计算机和人都能识别的语言
发展阶段:
机器语言
——
符号/汇编语言
——
高级语言
(源程序—翻译—目标程序)
( 👇高级语言发展阶段)
非结构化的语言
结构化语言
面向对象的语言
3.C语言发展及特点
发展:BCPL语言——B语言——C语言
特点: ①语言简洁紧凑,使用方便灵活
②运算符丰富
③数据类型丰富
④具有结构化的控制语句
⑤语法限制不太严格,程序设计自由度大
⑥允许直接访问物理地址,能进行位(bit)操作i,能实现汇编语言的大部分功能,可以直接对硬件进行操作。
⑦用C语言编写的的程序可移植性好
⑧生成目标代码质量高,程序执行效率高
4.最简单的C语言程序
例一:在屏幕上输出以下一行信息
This is a C program.
#include <stdio.h> //这是编译预处理指令
//stdio.h是系统提供的一个文件名,.h 头文件
int main() //定义主函数(必不可少)
//int表示此函数的类型(整型)
{ //函数开始的标志
printf("This is a C program.\n"); //输出所指定的一行信息,
//printf—→输出函数,\n是换行符
return 0; //函数执行完毕时返回函数值0
} //函数结束的标志
运行结果:
This is a C program. //输出结果
Press any key to continue //如果想继续进行下一步,请按任意键
//(按下后,返回程序窗口)
注:C89只允许用/*···*/形式注释,而C++则允许//形式注释,C99将其注释形式纳入
例二:求两个整数之和
#include <stdio.h>
int main()
{
int a,b,sum; //定义a,b,sum为整型变量
a=123; //对变量a进行赋值
b=456; //对变量b进行赋值
sum=a+b; //进行a+b的运算,并把结果存放在变量sum中
printf("sum is %d\n",sum); //输出结果
return 0;
}
运行结果:
sum=579
注:第8行的输出结果,这个printf函数圆括号内有两个参数,一个是双撇号中的内容 sum is %d\n,是输出格式字符串,作用是输出用户希望输出的字符(sum is)和输出的格式(%d是十进制输出)
例三:求两个整数中的较大者
#include <stdio.h>
int main()
{ //主函数体开始
int max(int x,int y); //对被调用函数max的声明
int a,b,c; //定义变量a,b,c
scanf("%d,%d",&a,&b); //输入变量a,b的值
c=max(a,b); //调用max函数,将得到的值赋给c
printf("max=%d\n",c); //输出c的值
return 0;
} //主函数体结束
//求两个整数中的较大者的max函数
int max(int x,int y) //定义max函数,函数值为整形
{
int z; //max函数中的声明部分,定义本函数中用到的变量z为整型
if(x>y)
z=x; //若x>y成立,将x的值赋给变量z
else z=y; //否则,将y的值赋给变量z
return(z); //将z的值作为max函数值,返回到调用max函数的位置
}
运行结果:
8,5
max=8
注:两个函数:①主函数main;②被调用的函数max;
函数声明原因:在主函数中要调用max函数,而max函数定义在main函数后,对程序的编译是自上而下进行的,在对程序后部分编译时,编译系统无法知道max是什么,因而无法把它作为函数调用处理。声明就是为了告诉编译系统max是什么,以及它的有关信息。
scanf是输入函数的名字,作用是输入变量a和b的值。
scanf(“%d,%d”,&a.&b)
①双撇号中的内容指定输入的数据按什么格式输入
(%d为十进制整数形式)
②“&”是地址符,&a的含义是“变量a的地址”m
执行该函数,键盘读入两个整数,送到变量a,b的地址处,两个整数分别赋给变量a和b
max(a,b)调用max函数,在调用时将a和b作为max函数的参数(实际参数)的值分别传送给max函数中的参数x和y(形式参数),然后执行max函数的函数体,使max函数中的变量z得到一个值
return(z)的作用是把z的值作为max函数值待回给程序,取代max(a,b),然后把这个值赋给变量c
5.C语言程序的结构
(1)一个程序由一个或多个源程序文件组成(①预处理指令;②全局声明;③函数定义)
(2)函数时C程序的主要组成部分(必须有且只有一个main函数)
(3)一个函数包括两个部分
①函数首部(即函数第一行),包括函数名、函数类型、函数属性、函数参数名、参数类型
若函数没有参数,可以在括号中写void,也可以是空括号→ int main(void)或int main()
②函数体(即函数首部下面的花括号内的部分)
(4)程序中总是从main函数开始执行的,无论main函数在整个程序中的位置如何
(5)程序中对计算机的操作是有函数中的C语句完成的
(6)在每个数据声明和语句的最后必须有一个分号
(7)C语言本身不提供输入输出语句,C对输入输出实行“函数化”
(8)程序应当包含注释
6.运行C程序的步骤和方法(略)
7.程序设计的任务
程序设计:从确定任务到得到结果、写出文档的全过程
8.完成习题
9.补充——上机运行C程序的方法
(1)新建一个源程序
File→ New
Files→C++ Source File →File(文件名)🐖文件名后缀为“.c”
(2)保存
File→Save
(3)编译
方法:Build→Compile 文件名→是(Yes)
结果:得到后缀为.obj的目标程序
(4)程序的连接(将程序与系统提供的资源建立连接)
方法:Build→Build 文件名
结果:得到后缀为.exe的可执行文件
🐖 Ctrl+F7,一次性完成编译和连接
(5)程序的执行
Build→!Execute 文件名
🐖 Ctrl+F4,一次性完成编译、连接和执行
(6)关闭程序
File→Close Workspace