第一章 程序设计与C语言

  • 1.1机器语言和高级语言
  • 1.2 C语言的出现和发展过程
  • 1.3简单的C语言程序
    • stdio.h
    • main函数
      • printf函数
      • scanf函数
      • 格式字符串
      • \n换行符
    • return 0
    • 注释
  • 1.4运行C程序的步骤和方法
    • 运行C程序的步骤
    • 运行 C程序的方法
  • 课后练习

1.1机器语言和高级语言

  1. 计算机的本质是运行程序的机器,程序和指令的思想是计算机系统中的最基本概念。
  2. 一个型号机器语言的指令集合叫做该计算机的机器语言又叫低级语言。不同型号计算机的机器语言是不同的。机器语言和汇编语言依赖于具体计算机,是低级语言,难学难用无通用性。
  3. 用于程序设计的叫高级语言。高级语言接近人类自然语言和数学语言,易学易推广通用性强。高级语言通用性强可以在不同型号计算机之间通用。
  4. 1954年第一个高级语言是Fortran(适用数值计算),后面还出现了许多影响较大的程序设计高级语言有basic(适合初学者的小型回话语言)、cobol(适合商业管理),Pascal(适合教学的结构程序设计语言),lisp和prolog(人工智能语言),visual basic(支持面向对象程序设计语言) ,C(系统描述语言),C++(支持面向对象程序设计的大型语言),Java(适用于网路使用的语言),C#,Python,R语言等。
  5. 高级语言编写的程序不能直接被计算机识别和执行,计算机只能直接识别由 0和1组成的二进制指令 ,需要先使用“编译系统”软件实现把用高级语言编写的程序翻译成机器语言程序。

1.2 C语言的出现和发展过程

  1. C语言是目前世界上使用最广泛的一种计算机语言,也是我国学习和使用人数最多的一种计算机语言,C语言简洁紧凑使用灵活方便,功能性强,即有高级语言的优点又具有低级语言功能。可以编写系统软件也可以编写应用软件,掌握C语言程序设计是程序设计人员的一项基本功。

  2. 最初的C语言只是为了编写UNIX操作系统而提供的一种工作语言而设计的。

  3. ISO/IEC9899:1999 ,简称C99是目前最新的C语言标准 。

1.3简单的C语言程序

//例1.1   this is a C program.
#include <stdio.h>
int main()// 主函数
{   printf("This is a C program.\n");//该printf语句是用户用来实现所需功能的语句。   --This is C program. return 0;//把0作为函数的返回值,这是所有C程序所要求的 。 }

stdio.h

为使用标准函数库的输入输出函数,向编译系统提供程序有关声明等信息 ,stdio.h 是C编译系统提供的一个文件名。

//例1.2   求两个整数之和
#include <stdio.h>
int main()// 主函数
{   int a,b,sum;//这是声明部分,定义a,b,sum为整型变量 a=123;b=456;//给变量赋值的语句 sum=a+b;//将a与b进行加运算把得到的结果送到sum变量中保存 printf("sum is %d\n",sum);//输出sum的值。     --sum is 579 return 0;//把0作为函数的返回值,这是所有C程序所要求的 。 }  

main函数

  • main函数是由操作系统调用,函数值提供给操作系统以判定main函数是否正常结束。如果程序没有正常结束就不会执行此return语句不返回0,系统会使函数值为一个非零值如1,操作系统由此可以知道程序为正常结束并采取相应措施如输出一个信息。
  • 主函数函数名main 一律指定为整型类型int (函数值又叫返回值,是提供给函数的调用者的){函数体即函数的实体}
  • 一个C程序总是从main函数开始执行,而不论main函数在整个程序中的何种位置上;C程序书写格式自由,一行可以有多个语句,但是每个语句和数据声明的最后都必须有一个分号;程序具有可移植性。
  • C程序主要由函数构成,函数是C程序的基本单位。 C的函数相当于其他语言的子程序,用于实现特定的功能,程序的全部工作都是由各个函数分别完成的,编写C程序实际上就是编写各个函数。C语言的这种特点容易实现程序的模块化。
  • 一个C源程序必须包括一个main函数,也可以包括一个main函数和若干个其他函数。被调用的函数可以是系统提供的库函数,输出函数printf,输入函数scanf等,也可以是用户自行设计编制的函数,如max函数。
  • 一个函数一般情况下由两部分组成,一是函数部首,二是函数体。函数部首是函数的第一行,包括 函数类型 函数名 (函数参数类型 函数参数又叫形式参数) {函数体一般包括声明部分和执行部分。声明部分是定义所用到的变量和对所需要调用使用的函数的声明 。执行部分由若干个语句组成。 }
//例1.3   求两个整数中的大者
#include <stdio.h>
int main()// 主函数
{   int max(int x ,int y);//对需要被调用来使用的max函数进行声明 ,因为max函数的定义在main函数之后,所以要先对被调用函数进行声明 int c ,d ,e;//定义整型变量c,d,e scanf ("%d,%d",&c,&d) ;e=max(c,d);//调用使用max函数 ,将实际参数int c,d分别代入到形式参数int x,y得到返回值z的值,把z的值赋值给整型变量e  printf("max=%d\n",e);//输出e的值   --输入8,5,按下enter键得到 --max=8 return 0;//把0作为函数的返回值,这是所有C程序所要求的 。 } int max(int x,int y )//定义max函数,函数值为整型,形式参数x,y为整型 ,作用是将x和y两个参数中的大者赋值给变量z并返回z的值。 {int z;//max函数的声明部分,定义本函数中需要用到的整型变量 z if (x>y)z=x;//如果x>y,则将x的值赋值给变量z else z=y;//否则就把y的值赋值给整型变量z return(z);//z的值是max的函数值,返回值通过函数名max被带到主函数main中被调用max函数的位置 }

printf函数

printf是C编译系统提供的标准函数库的输出函数,printf语句内的“字符串按原样输出”。

scanf函数

输入函数scanf的作用是在程序运行时要求用户从键盘中输入数值,并送到变量的地址所代表的单元中,也就是输入给变量的地址中。 C语言本身没有输入输出语句,对输入和输出操作是由库函数scanf和printf等函数来实现的。

格式字符串

格式字符串是用于指定输入输出时的数据类型和格式 。%d是表示输入输出时用十进制整型形式表示的格式字符串,格式字符串%d的位置上 代以一个十进制的整数值。在”,右边的变量是输出的变量,输出结果时代替%d出现在原位置上 。

\n换行符

\n换行符,实现回车换行。

return 0

return 0;是把0作为函数的返回值,这是所有C程序所要求的 。

注释

//这是注释部分 ,有益于增加代码的可读性。
/*
这也是注释部分
*/

1.4运行C程序的步骤和方法

运行C程序的步骤

  • 计算机由程序控制,要使计算机按照人们的意愿工作需要用计算机语言编写程序。所谓程序就是一组计算机能识别和执行的指令。每一条指令都能使计算机执行特定的操作。
  • 用高级语言编写的程序叫做源程序。机算机只能识别和 0和1组成的二进制指令,不能识别和执行高级语言写的指令。
  • 为了使计算机能够执行高级语言源程序,需要先使用名叫“编译程序”的软件,把源程序翻译成二进制形式的目标程序(.obj文件),再将该目标程序与系统的函数库和其他目标程序连接起来形成可执行的目标程序(.exe文件)。(上机开始输入和编辑源程序–对源程序进行编译成目标程序–编译系统判断源程序对错(编译错误则重新编辑代码)–对将目标程序与系统的库函数和其他目标程序连接起来得到可执行目标程序–执行可执行目标程序–判断结果是否正确(结果不正确的话就重新编辑代码) )上机运行一个C程序必须经过四个步骤:编辑编译,连接执行。

运行 C程序的方法

  • 为了编译连接执行C程序都需要有相应的C语言编译系统。目前市面上的编译系统多采用集成环境IDE ,把编辑编译连接执行等步骤在一个集成环境里实现。
  • 可以用不同的编译系统对C程序进行操作,常用有Turbo C++3.0,Visual C++6.0/2008/2010等。
  • 目前所用C++集成环境功能强使用方便,由于C++是C演变而来,C++和C程序是兼容的,由此可以用C++的集成环境对C程序进行编辑编译连接执行。

课后练习

    /*练习1:输出以下**************************** very good!**************************** */
#include <stdio.h>
int main(){printf("****************************\n") ;printf("    very good !\n") ;printf("****************************\n") ;return 0;
}
#include <stdio.h>
int main(){//练习2:编写一个程序,输入a,b,c三个值输出最大值printf("请输入三个值:"); int a,b,c,max;scanf("%d,%d,%d",&a,&b,&c);if(a>b)max=a;else if(b>c)max=b ;else max=c;printf("max=%d\n",max); return 0;
}

C语言程序设计(第4版)谭浩强著—学习笔记chapter one 程序设计与C语言相关推荐

  1. C语言程序设计(第4版)谭浩强著—学习笔记chapter two 数据的存储与运算

    第二章 数据的存储与运算 2.1数据在计算机中如何存储 关于整型数据的运算 关于实型数据的运算 关于字符型数据的运算 符号常量 2.2算术运算符和算数表达式 算数运算符 C算数运算式 提高部分(未完) ...

  2. C语言程序设计第五版谭浩强课后答案 第九章习题答案

    C语言程序设计第五版谭浩强第九章答案 1.定义一个结构体变量(包括年.月.日).计算该日在本年中是第几天,注意闰年问题. 2.写一个函数days,实现第1 题的计算.由主函数将年.月.日传递给days ...

  3. C语言程序设计第五版谭浩强 第七章答案

    C语言程序设计第五版谭浩强著 第七章答案 第七章 用函数实现模块化程序设计 1.写两个函数,分别求两个整数的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果.两个整数由键盘输人. 题目解析: ...

  4. 《C语言程序设计(第四版)谭浩强》学习笔记

    <C语言程序设计(第五版)谭浩强>学习笔记 C语言程序设计(第五版)谭浩强>学习笔记 1 C语言概述 1.7 简单的C程序介绍 1.9 C源程序的结构特点 1.12 C语言词汇 2 ...

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

    谭浩强C语言程序设计第五版 第4章 课后习题 答案 点我看视频讲解+可运行源码 记得一键三连哦 第四章 选择结构程序设计 1. 什么是算术运算?什么是关系运算?什么是逻辑运算? [答案解析] 算熟运算 ...

  6. C语言程序设计第五版 谭浩强目录大纲

    第1章程序设计和C语言1 1.1什么是计算机程序1 1.2什么是计算机语言1 1.3C语言的发展及其特点3 1.4最简单的C语言程序5 1.4.1最简单的C语言程序举例5 1.4.2C语言程序的结构9 ...

  7. [C程序设计(第四版)].谭浩强.扫描版pdf

    内容简介 <中国高等院校计算机基础教育课程体系规划教材:C程序设计(第4版)>是一本公认的学习C语言程序设计的经典教材.根据C语言的发展和计算机教学的需要,作者在<C程序设计(第三版 ...

  8. C语言程序设计第五版谭浩强课后答案 第六章《利用数组处理批量数据》习题答案 (大一大二、考研、计算机二级必看)

    第六章<利用数组处理批量数据>习题答案 1. 用筛选法求100之内的素数 2. 用选择法对10个整数排序 3. 求一个3 X 3的整形矩阵对角线元素之和 4. 有一个已经排好序的数组,要求 ...

  9. C语言程序设计第五版谭浩强著 第五章部分课后习题答案

    #include<stdio.h> main() {int x,y,m,n,u,p;scanf("%d%d",&x,&y);m=x;n=y;while( ...

最新文章

  1. IDEA Java解析GeoJson.json文件
  2. ASP.NET中绑定枚举类型
  3. CentOS 安装FTP
  4. 电商平台战 运营是关键
  5. sqlite+php+函数大全,PHP SQLite SQLite 函数_编程学问网
  6. C语言验证大小端的几个方法
  7. 双11特刊|购物车实时显示到手价,看云原生内存数据库Tair如何提升用户体验?
  8. python 代码_如何让Python代码加速运行?
  9. GridViewDetailsView对XML文件增删改
  10. mysql注入原理_Mysql报错注入原理分析
  11. kibana报错:No default index pattern. You must select or create one to continue.
  12. ubuntu下搭建的lamp环境新建站点
  13. C# 程序中使用 SQLite 数据库
  14. 网络安全笔记-信息安全工程师与网络安全工程师考试大纲(附:Web安全大纲)
  15. 栈 -- 以及用栈实现计算器
  16. webservice学习wsdl解读(2)
  17. ucore_lab1实验报告
  18. 从qire123上抓取bdhd下载地址的firefox extension
  19. [anjularjs] ui-router嵌套ui-view不刷新问题
  20. 2022-07-17 Linux group与user基础概念

热门文章

  1. Mac 命令行删除包含文件的文件夹
  2. 简单CRM系统开发(二)
  3. [思考] 程序员能靠纯技术渡过中年危机吗?
  4. 新H5中用canvas画一个数字钟表
  5. admin_day2
  6. 计算机视觉加强之图像特效与线段文字绘制
  7. 皇图中原青豫大战打到服务器维护,皇图2超变9377
  8. 付宇泽四则运算试题生成,结对
  9. ARM中MRS和MSR汇编指令
  10. js实现1-100以内的质数