目录

1.1什么是计算机程序

1.2 什么是计算机语言

1.3C语言的特点

1.4 最简单的C语言程序

1.4.1 最简单的C语言程序举例

【例1.1】

【例1.2】

【例1.3】

1.4.2 C语言程序的结构

1.5 运行C程序的步骤与方法

1.6 程序设计的任务


1.1什么是计算机程序

1.指令:可以被计算机理解并执行的基本操作命令。

2.程序:一组计算机能识别和执行的指令。 一个特定的指令序列用来完成一定的功能。

1.2 什么是计算机语言

1.机器语言

①定义:计算机能直接识别和接受的二进制代码称为机器指令。机器指令的集合就是该计算机的机器语言。

②特点:难学,难记,难检查,难修改,难以推广使用。依赖具体机器难以移植。

2.汇编语言

①定义:机器语言的符号化。用英文字母和数字表示指令的符号语言。

②特点:相比机器语言简单好记,但仍然难以普及。汇编指令需通过汇编程序转换为机器指令才能被计算机执行。依赖具体机器难以移植。

2.高级语言

①定义:高级语言更接近于人们习惯使用的自然语言和数学语言。

②特点:功能强大,不依赖于具体机器。用高级语言编写的源程序需要通过编译程序转换为机器指令的目标程序。

1.3C语言的特点

(1)语言简洁、紧凑,使用方便、灵活
C语言不直接提供输入和输出语句、有关文件操作的语句和动态内存管理的语句等(这此操作是由编译系统所提供的库函数来实现的),C的编译系统相当简洁。
(2)运算符丰富
C语言把括号、赋值和强制类型转换等都作为运算符处理,从而使C语言的运算类型极其
丰富,表达式类型多样化。灵活使用各种运算符可以实现在其他高级语言中难以实现的
运算。
(3)数据类型丰富
C语言提供的数据类型包括整型、浮点型、字符型、数组类型、指针类型、结构体类型和共用体类型等,C 99又扩充了复数浮点类型、超长整型(long long)和布尔类型(bool)等。尤其是指针类型数据,使用十分灵活和多样化,能用来实现各种复杂的数据结构(如链表、树、栈等)的运算。
(4)具有结构化的控制语句
如 if…else 语句、while 语句、do…while语句、switch 语句 和 for 语句。用函数作为程序的模块单位,便于实现程序的模块化。C语言是完全模块化和结构化的语言。
(5)语法限制不太严格,程序设计自由度大。
(6)C语言允许直接访问物理地址,能进行位(bit)操作,能实现汇编语言的大部分功
能,可以直接对硬件进行操作。因此C语言既具有高级语言的功能,又具有低级语言的许
多功能,可用来编写系统软件。C语言的这种双重性,使它既是成功的系统描述语言,又是
通用的程序设计语言。
(7)用C语言编写的程序可移植性好。
(8)生成目标代码质量高,程序执行效率高。
C原来是专门为编写系统软件而设计的,许多大的应用软件也都用C语言编写,这是因为C语言的可移植性好,硬件控制能力高,表达和运算能力强。目前C的主要用途之一是编写嵌入式系统程
序。由于具有上述优点,使C语言应用面十分广泛,许多应用软件也用C语言编写。

1.4 最简单的C语言程序

1.4.1 最简单的C语言程序举例

【例1.1】

要求在屏幕上输出:This is a C program.

(1)解题思路: 在主函数中用printf函数原样输出以上文字。

#include <stdio.h>         //这是编译预处理指令
int main()              //定义主函数
{               //函数开始的标志 printf("This is a C program.\n");   //输出所指定的一行信息 return 0;          //函数执行完毕时返回函数值0
}               //函数结束的标志

(2)运行结果

(3)程序分析

  • main是函数的名字,表示“主函数”;每一个C语言程序都必须有一个 main 函数。
  • main前面的int表示此函数的类型是int类型(整型),即在执行主函数后会得到一个值(即函数值),其值为整型。
  • return 0;的作用是当main函数执行结束前将整数0作为函数值,返回到调用函数处。
  • 函数体由花括号{}括起来。
  • printf是C编译系统提供的函数库中的输出函数(详见第4章)。printf函数中双引号内的字符串″This is a C program.″按原样输出。\n是换行符,即在输出″This is a C program.″后,显示屏上的光标位置移到下一行的开头。 每个语句最后都有一个分号,表示语句结束。
  • 在使用函数库中的输入输出函数时,编译系统要求程序提供有关此函数的信息,程序第1行“#include <stdio.h>”的作用就是用来提供这些信息的。stdio.h是系统提供的一个文件名,stdio是standard input & output的缩写,文件后缀.h的意思是头文件(header file),因为这些文件都是放在程序各文件模块的开头的。输入输出函数的相关信息已事先放在stdio.h文件中。
  • //表示从此处到本行结束是“注释”,用来对程序有关部分进行必要的说明。在写C程序时应当多用注释,以方便自己和别人理解程序各部分的作用。在程序进行预编译处理时将每个注释替换为一个空格,因此在编译时注释部分不产生目标代码,注释对运行不起作用。注释只是给人看的,而不是让计算机执行

两种注释类型

(1)以//开始的单行注释

这种注释可以单独占一行,也可以出现在一行中其他内容的右侧。此种注释的范围从//开始,以换行符结束。如果注释内容一行内写不下,可以用多个单行注释。

//第一行注释

//继续注释

(2)以/*开始,以*/结束的块式注释

这种注释可以包含多行内容。它可以单独占一行(在行开头以/*开始,行末以*/结束),也可以包含多行。编译系统在发现一个/*后,会开始找注释结束符*/,把二者间的内容作为注释

/*一整块都是.............................................................................................................................

注释*/

注意:在字符串中的//和/*都不作为注释的开始。而是作为字符串的一部分。

#include <stdio.h>
int main()
{printf("//how do you do!\n");return 0;
}

#include <stdio.h>
int main()
{printf("/*how do you do!*/\n");return 0;
}

【例1.2】

求两个整数之和

(1)解题思路: 设置3个变量,a和b用来存放两个整数,sum用来存放和数。用赋值运算符“=”把相加的结果传送给sum。

#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;        //使函数返回值为0
}   

(2)运行结果

(3)程序分析

  • printf("sum is %d\n",sum); printf函数圆括号内有两个参数。第一个参数是双引号中的内容sum is %d\n,它是输出格式字符串,作用是输出用户希望输出的字符和输出的格式。其中sum is是用户希望输出的字符,%d是指定的输出格式,d表示用“十进制整数”形式输出。圆括号内第二个参数sum表示要输出变量sum的值。在执行printf函数时,将sum变量的值(以十进制整数表示)取代双引号中的%d。

【例1.3】

求两个整数中的较大者

(1)解题思路:  用一个函数来实现求两个整数中的较大者。在主函数中调用此函数并输出结果。

#include <stdio.h>
//主函数
int main()              //定义主函数
{                       //主函数体开始int max(int x,int y);       //对被调用函数max的声明int a,b,c;                //定义变量a,b,cscanf("%d,%d",&a,&b);    //输入变量a和b的值c=max(a,b);         //调用max函数,将得到的值赋给cprintf("max=%d\n",c);   //输出c的值return 0;                //返回函数值为0
}//主函数体结束//求两个整数中的较大者的max函数
int max(int x,int y)    //定义max函数,函数值为整型, 形式参数x和y为整型
{
int z;          //max函数中的声明部分,定义本函数中用到的变量z为整型
if(x>y)z=x;     //若x>y成立,将x的值赋给变量z
else z=y;          //否则(即x>y不成立),将y的值赋给变量z
return(z);      //将z的值作为max函数值,返回到调用max函数的位置
}

(2)运行结果

(3)程序分析

  • 本程序包括两个函数:①主函数main;②被调用的函数max。
  • max函数的作用是将x和y中较大者的值赋给变量z,最后通过return语句将z的值作为max的函数值返回给调用max函数的主函数。
  • scanf是输入函数的名字(scanf和printf都是C的标准输入输出函数)。该scanf函数的作用是输入变量a和b的值。
  • max(a,b)调用max函数。在调用时将a和b作为max函数的实际参数的值分别传送给max函数中的形式参数x和y。
  • 注意:本例程序中两个函数都有return语句,请注意它们的异同。 两个函数都定义为整型,都有函数值,都需要用return语句为函数指定返回值。 main函数中的return语句指定的返回值一般为0。 max函数的返回值是max函数中求出的两数中的最大值z,只有通过return语句才能把求出的z值作为函数的值并返回调用它的main函数中。

1.4.2 C语言程序的结构

  • 一个程序由一个或多个源程序文件组成 。源程序文件包括:预处理指令、全局声明、函数定义
  • 函数是C程序的主要组成部分 。一个C语言程序是由一个或多个函数组成的,其中必须包含唯一一个main函数。程序中被调用的函数可以是系统提供的库函数,也可以是用户根据需要自己编制设计的函数
  • 一个函数包括两个部分:函数首部和函数体,函数体一般包括声明部分和执行部分
  • 程序总是从main函数开始执行
  • 程序中的操作是由函数中的C语句完成的
  • 在每个数据声明和语句的最后必须有一个分号
  • C语言本身不提供输入输出语句,输入输出操作由函数完成
  • 程序应当包含注释

1.5 运行C程序的步骤与方法

1.6 程序设计的任务

C程序设计(谭浩强著 第五版)——第一章 程序设计和C语言相关推荐

  1. C语言谭浩强(第五版)答案6、8章

    第六章 利用数组处理批量数据 1.用筛选法求100之内的素数. int main() {int a[100],i,j;for(i=0;i<100;i++)a[i]=i+1;a[0]=0;//因为 ...

  2. C语言程序设计谭浩强(第四版)部分课后习题作答——第七章——7.8,7.10,7.16

    7.8:输入一个4位数,输出这4个数字字符 7.10:输入一行字符,输出最长的单词 7.16:十六进制转十进制 #include<stdio.h> #include<stdlib.h ...

  3. C语言程序设计谭浩强(第四版)部分课后习题作答——第六章-输出杨辉三角,输出魔方阵

    代码: 杨辉三角题目较为简单,魔方阵题目实现了输出任意整数即可输出对应的魔方阵 #include<stdio.h> #include<stdlib.h> #include< ...

  4. 谭浩强C语身教程第一章---C措辞概述(2)

    1.1    Turbo C 2.0集成开发环境的运用 1.1.1   Turbo C 2.0简介和启动 我们上机操练和将来测验都是运用Borland Turbo C 2.0这个版本.该零碎是DOS应 ...

  5. C程序设计谭浩强第五版课后答案 第三章习题答案

    C语言程序设计谭浩强第五版课后答案第三章 1.假如我国国民生产总值的年增长率为7%, 计算10年后我国国民生产总值与现在相比增长多少百分比.计算公式为p=(1+r)np = (1+r)^np=(1+r ...

  6. C++面向对象的程序设计谭浩强 第六章课后题

    以往章节 C++面向对象的程序设计谭浩强 第二章课后题 C++面向对象的程序设计谭浩强 第三章课后题 C++面向对象的程序设计谭浩强 第四章课后题 C++面向对象的程序设计谭浩强 第五章课后题 C++ ...

  7. C程序设计 谭浩强 第九章

    结构体 注:结构体类型的名字是由一个关键字struct和结构体名组合而成的(例如struct Student).结构体名是由用户指定的,又称"结构体标记",以区别于其他结构体类型. ...

  8. C程序设计谭浩强版总结笔记

    结构体 注:结构体类型的名字是由一个关键字struct和结构体名组合而成的(例如struct Student).结构体名是由用户指定的,又称"结构体标记",以区别于其他结构体类型. ...

  9. C程序设计(谭浩强第五版)总结

    C程序设计(谭浩强第五版)总结 本篇文章主要是总结谭浩强第五版C语言书上的重点和易漏点的知识点,其目的主要是给高校期末考试的同学们点参考.本文所参考的书籍是谭浩强的<C程序设计(第五版)> ...

  10. C程序设计-谭浩强 第三版-学习笔记第1章 C语言概述

    第一章 C语言概述 1.C语言历史背景 C语言是在B语言的基础上发展起来的,兼具一般高级语言和低级语言的优点,可用来编写系统软件或应用软件. 1972-1973年,贝尔实验室在B语言基础上设计出C语言 ...

最新文章

  1. DKHadoop人力资源大数据解决方案架构
  2. MYSQL出错代码列表
  3. 《软件设计师》——计算机组成原理与体系结构
  4. 《操作系统》课程设计报告——用JAVA语言模仿实现“吃水果”问题
  5. Windows下多线程编程技术及其实现
  6. FFMPEG学习(一)---【命令行】采集视频和音频
  7. 基本的Windows相关的DOS命令
  8. 2013年1月23号
  9. js添加事件、移除事件、阻止冒泡、阻止浏览器默认行为等写法(兼容IE/FF/CHROME) 转载...
  10. android drawable 对象,Android Drawable开发简介
  11. 读《Linux运维之道》有感
  12. vue单元测试vue test utils使用初探
  13. SAP中多层扩展有效地bom
  14. python b站弹幕分析_Python获取B站视频弹幕 简单处理
  15. 计算机文献检索策略,计算机文献检索策略.ppt
  16. 剑指Java面试:面试官能问到的问题,都被我收集在这份PDF文档里
  17. 腾讯云TVP专家眼中的云开发:尚不完美,未来可期
  18. 猪猪女孩有多蠢,猫爪杯就有多火
  19. RobotFramework学习笔记二:遇到Frame框架
  20. 什么是新零售电商系统?

热门文章

  1. Easyui datagrid getData简单使用
  2. 计算机基础一级证exlse函数,原创—EXCEL自定义函数完成CPK/PPK/CP/PP/CPU/CPL等的计算...
  3. excel (wps) 文件受保护处理方案
  4. 微软商店下载的python_微软商店可下载安装Python 3.7啦
  5. PreScan快速入门到精通第十一讲之PreScan道路标记,建筑物、抽象物体及交通标识
  6. Vivado18.3的安装 安装教程
  7. 大华平台显示归属服务器离线,大华报警联网系统方案
  8. hp1015驱动64位_惠普1015打印机驱动下载
  9. GitKraken -- 超好用的 Git 可视化工具
  10. 【MATLAB深度学习工具箱】学习笔记--螃蟹公母分类Crab Classification