第1章 程序设计和c语言 

1.什么是程序?什么是程序设计?

程序:就是一组能识别和执行的指令,每一条指令使计算机执行特定的操作

程序设计:是指从确定任务到得到结果、写出文档的全过程

2.为什么需要计算机语言?高级语言有哪些特点?

为什么需要计算机语言:计算机语言解决了人和计算机交流时的语言问题,使得计算机和人都能识别。

高级语言的特点:

1.高级语言的数据结构要比汇编和机器语言丰富。

2.高级语言与具体机器结构的关联没有汇编以及机器语言密切。

3.高级语言更接近自然语言更容易掌握。

4.高级语言编写的程序要经过编译或解释计算机才能执行。

3.正确理解以下名词及其含义:

(1)源程序,目标程序,可执行程序。

源程序:由程序员通过高级语言编译器创建并保存的文本文件。

目标程序:源程序经过编译器编译(转换)成二进制形式的程序。

可执行程序:把所有编译后得到的目标模块(程序)连接装配起来再与库函数相连接成为一个整体,生成一个可供计算机执行的目标程序,成为可执行程序(excutable object file)

(2)程序编辑,程序编译,程序连接。

程序编辑:通过高级语言编辑器创建文本文件的过程。

程序编译:程序编译包括程序预编译和正式编译两个阶段,源程序编译成二进制目标文件的过程。

程序连接:把所有编译后得到的目标模块(程序)连接装配起来再与库函数相连接成为一个整体,生成一个可供计算机执行的目标程序的过程。

(3)程序,程序模块,程序文件。

程序:广义程序:为完成某项活动所规定的方法;狭义程序:一组计算机能识别和执行的指令。

程序模块:即可由汇编程序、编译程序、装入程序或翻译程序作为一个整体来处理的一级独立的、可识别的程序指令。它是大型独立程序指令的一个组成部分。(在Windows中,术语“模块”g-Dynamic Lingking Library,又称为动态链接库模块或DLL模块),或一个设备驱动程序,也可能是一个程序包含的能被另一个程序存取的数据资源。模块一词也被用于特指自包含的一段程序。

程序文件:描述程序的文件称为程序文件;程序文件存储的是程序,包括源程序和可执行程序。

(4)函数,主函数,被调用函数,库函数。

函数:计算机的函数,是一个固定的一个程序段,或称其为一个子程序,它在可以实现固定运算功能的同时,还带有一个入口和一个出口,所谓的入口,就是函数所带的各个参数,我们可以通过这个入口,把函数的参数值代入子程序,供计算机处理;所谓出口,就是指函数的函数值,在计算机求得之后,由此口带回给调用它的程序。
  我们数学里的函数是固定的那些,而计算机中的函数,可以根据其运算功能,由我们自己去定义,只要是运算功能是固定的,我们就可以把它定义成一个函数,这样可以避免相同的程序段在程序中重复出现,在需要它时,只需要调用相应的函数就行了。这样不仅可以使我们编写的程序精简,而且可以使我们的程序更富有可读性。

主函数:主函数是可执行程序的入口函数。当操作系统加载可执行程序到内存中,并且为可执行程序开辟进程空间后,系统调用的可执行程序内的第一个函数,其它各函数、方法的调用,都从主函数开始驱动。这样整个程序的运行轨迹就像一种栈。

被调用函数:被调用函数计算机编程术语,即由一个函数调用另一个函数,则称第二个函数为被调用函数。

库函数:顾名思义是把函数放到库里..是别人把一些常用到的函数编完放到一个文件里,供别人用.别人用的时候把它所在的文件名用#include<>加到里面就可以了.

(5)程序调试,程序测试。

程序调试:程序调试是将编制的程序投入实际运行前,用手工或编译程序等方法进行测试,修正语法错误和逻辑错误的过程。这是保证计算机信息系统正确性的必不可少的步骤。编完计算机程序,必须送入计算机中测试。根据测试时所发现的错误,进一步诊断,找出原因和具体的位置进行修正。

程序测试:程序测试(program testing)是指对一个完成了全部或部分功能、模块的计算机程序在正式使用前的检测,以确保该程序能按预定的方式正确地运行。软件的正确性尚未得到根本的解决,软件测试仍是发现软件错误和缺陷的主要手段。

4.编写一个C程序,运行时输出

Hello World !

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{printf("Hello World\n");return 0;
}

运行效果:

5.编写一个C程序,运行时输出以下图形:

*****

*****

*****

*****

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{printf("*****\n");printf("\n");printf("  *****\n");printf("\n");printf("    *****\n");printf("\n");printf("      *****\n");return 0;
}

运行效果:

6.编写一个C程序,运行时输入a,b,c三个值,输出其中最大者。

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{int a, b, c;int max = 0;scanf("%d %d %d", &a, &b, &c);if (a > b)max = a;elsemax = b;if (max > c)max = max;elsemax = c;printf("max=%d\n", max);return 0;

运行效果:

C语言程序设计(第五版)-谭浩强著-课后习题相关推荐

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

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

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

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

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

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

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

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

  5. 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 ...

  6. C语言程序设计第五版谭浩强著 第7章习题以及答案 函数系列

    1.写两个函数,分别求两个整数的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果.两个整数由键盘输入. #include<stdio.h> void main(void) {in ...

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

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

  8. C语言程序设计第五版谭浩强著 第8章291-292指针系列

    1.输入3个整数,按由小到大的顺序输出. #include<stdio.h> main() {int a,b,c,*p1,*p2,*p3;p1=&a;p2=&b;p3=&a ...

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

    #include<stdio.h> int gcd(int x,int y) {int z;for(;;){z=x%y;x=y;y=z;if(y==0)break;}return x; } ...

  10. C语言程序设计第四版(谭浩强)4.6 写程序,有一个函数,输入x的值,输出相应的y值

    //有一个函数:y=x (x<1) // 2x-1 (1<=x<10) // 3x-11 (x>=10) //写程序,输入x的值,输出相应的y值 #include<std ...

最新文章

  1. 【直播】王茂霖:二手车交易价格预测-千变万化特征工程(河北高校数据挖掘邀请赛)
  2. 【追寻javascript高手之路04】理解prototype
  3. 【Python基础】盘点 Python 10 大常用数据结构(下篇)
  4. myisam 表锁优化参考
  5. 专访《花亦山心之月》:朝夕光年首款自研国风手游有啥不一样?
  6. Elasticsearch整理笔记(三)
  7. 类重复引用_JVM类加载从JDK来看
  8. 小熊派开发板实践:智慧路灯沙箱实验之真实设备接入
  9. go数据类型之map
  10. asp.net mvc asp.net 页面跳转
  11. Cloudera Manager 5.9 和 CDH 5.9 离线安装指南及个人采坑填坑记
  12. Java基于WEB的商品库存管理系统
  13. webots controller API(C++)
  14. java导出excel弹出下载框_[Java教程]Springmvc和poi3.9导出excel并弹出下载框
  15. 《书生云超融合一体机》T-CAM评审会召开
  16. python Plot 画图用法
  17. VCSA 6.7.U3n 离线打补丁
  18. 玖逸云黑v1.4-更高级的云黑系统
  19. lsdyna如何设置set中的node_list_关于如何快速调教NGINX的几点总结
  20. js中appendChild()用法

热门文章

  1. 常用测试工具-----IPOP
  2. Windows 10 如何添加开机启动项
  3. pyqt5转pyqt6需要注意的事项
  4. win10系统中如何把自带的IE11降级回IE8?
  5. Python3.7+RF3.1实现接口自动化
  6. eclipse部署Javaweb项目
  7. 离散数学期末复习知识总结
  8. 【FPGA】Vivado 保姆级安装教程 | 从官网下载安装包开始到安装完毕 | 每步都有详细截图说明 | 支持无脑跟装
  9. 数学建模的13种常用的方法
  10. acs880变频器静态辨识_ACS880变频器PID控制参数设置 -