第一章 程序设计和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
 
