2022.1.14 C语言设计(第四版)谭浩强 Day1 第一章

  • Post author:
  • Post category:其他


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



版权声明:本文为weixin_42849105原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。