C程序设计内容与例题讲解 -- 第一章(第五版)谭浩强

简介: C程序设计内容与例题讲解 -- 第一章(第五版)谭浩强

1.1什么是计算机程序

所谓程序,就是一直计算机能识别和执行的指令。每一条指令能使计算机执行特定的操作。只要让计算机执行这个程序,计算机就会"自动地"执行各条指令。总之计算机的一切操作都是由程序控制的。

1.2什么是计算机语言

人和人之间的交流需要通过语言。中国人之间用汉语,英国人之间用英语,俄罗斯人用俄语,等等。人和计算机交流信息也要解决语言问题。需要创造一种计算机和人都能识别的语言,这就是计算机用语言。

1.2.1机器语言

计算机工作基于二进制,从根本上说,计算机只能识别由0和1组成的指令,即16个二进制数(0和1)

形如:1011011000000000

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

1.2.2符号语言

符号语言,用一些英文字母和数字代表一条指令,例如使用ADD代表"加",SUB代表"减",LD代表"传送"

1.2.3汇编语言

因为计算机不能直接识别和执行符号语言的指令,需要用一种称为汇编程序的软件把符号语言转化成机器指令。一般,一条符号语言的指令对应转换为一条机器指令。转换的过程称为”代真"或"汇编",因此符号语言又称为符号汇编语言,或汇编语言。

1.2.4高级语言

一种接近人们习惯使用的自然语言和数学语言,程序中用到的语句和指令都是英文单词表示的,程序中所用的运算符和运算表达式和人们生活中所用的数学式子差不多,容易理解。程序运行的结果用英文和数字输出,十分便利。这种语言功能性很强,且不依赖具体的机器,故称为计算机的高级语言。当然计算机也是不能直接识别高级语言的,也需要用一种称为编译程序的软件,把用高级语言写的程序(源程序)转化为机器指令的程序(目标程序),然后让计算机执行最后的指令程序得到最后的结果。

1.2.5结构化语言与非结构化语言

规定程序必须由良好特性的基本结构(顺序结构、选择结构、循环结构)构成,程序中的流程不允许随意跳转,程序总是由上而下顺序执行各个基本结构。这种程序结构清晰,易于编写、阅读、和维护。故而称为结构化语言。非结构化语言就与之相反,编写风格比较随意,只要符合语法规则即可,没有严格的要求与规范,因此程序变得难以阅读与维护。

1.2.6面向对象的语言

在处理规模较大的问题时,人们开始使用面向对象的语言。C++,C#,java等语言是支持面向对象程序设计方法的语言。

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

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

运行结果:

程序分析:先看第二行,其中main是函数的名字,表示主函数,main前面的int表示此函数的类型是int类型(整型)。在执行主函数后会得到一个函数值,他是一个整数其值为整型。程序的"return 0"的作用是:当main函数执行结束前将整数0作为函数值返回到函数处,且每一个C语言程序都必须有一个main函数。函数体用{}括起来。printf是一个用来输出有关信息的语句,printf函数中双撇号内的字符串按原样输出。\n是换行符,即在输出语句后换行,且每一个语句最后都有一个分号表示语句的结束。且在使用库函数中的输入输出函数时候,编译系统要求程序提供有关的函数信息,例如第一行的"#include <stdio.h>"作用就是提供这些信息。


且//表示注释的意思用来对程序的重要部分进行说明。

1.3.1求俩个整数之和

int main()
{
  int a = 0;//定义一个整型变量
  int b = 0;//同理
  int sum = 0;
  a = 123;//对整型变量a进行赋值
  b = 456;//同理
  sum = a + b;//进行a + b 的运算,并把该值赋值给sum
  printf("sum is %d\n", sum);//打印一个整型变量sum
  return 0;
}

运行结果:

其中pirntf中 sum is %d是他的输出格式字符串,sum is 是用户希望输出的字符,%d是值定输出格式,d表示十进制整数的形式输出,其中圆括号第二部分sum表示要输出sum的值,因此最后579取代了%d最后输出的结果就会如上图所示。

1.3.2求俩个整数中的较大值

int max(int x, int y)//用x来接收a的值,用y来接收b的值
{
  if (x > y)
  {
    return x;
  }
  else
  {
    return y;
  }
}
int main()
{
  int a = 0;
  int b = 0;
  scanf("%d%d", &a, &b);//输入变量a和b的值
  int ret = max(a, b);//将a和b中的较大值放到ret中
  printf("最大值是:%d\n", ret);//输出ret
  return 0;
}

运行结果:

课后习题讲解:

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

方法一:

int main()//直接打印
{
  printf("*****\n");
  printf(" *****\n");
  printf("  *****\n");
  printf("   *****\n");
  printf("    *****\n");
  return 0;
}

方法二:

int main()
{
  int i = 0;
  int n = 0;
  scanf("%d", &n);
  for (i = 0; i < n; i++)
  {
    for (int j = 0; j < i; j++)
    {
      printf(" ");//因图可以知道每一行前面都有空格,第一行有0个第二行有一个,依次类推
    }//根据行数让空格依次递增
    printf("*****\n");//打印一次空格在输出一次图像
  }
  return 0;
}

运行结果:

第一章的学习到此结束了,谢谢各位观看如果有不好的地方希望各位多多指出


相关文章
|
1月前
|
C语言 数据格式
C程序设计内容与例题讲解 -- 第三章第三部分(第五版)谭浩强
C程序设计内容与例题讲解 -- 第三章第三部分(第五版)谭浩强
|
1月前
|
存储 C语言
C程序设计内容与例题讲解 -- 第三章第二部分(第五版)谭浩强
C程序设计内容与例题讲解 -- 第三章第二部分(第五版)谭浩强
|
1月前
|
存储 移动开发 C语言
# C程序设计内容与例题讲解 -- 第三章第一部分(第五版)谭浩强
# C程序设计内容与例题讲解 -- 第三章第一部分(第五版)谭浩强
|
1月前
|
C语言
C程序设计内容与例题讲解 -- 第四章--选择结构程序设计(第五版)谭浩强
C程序设计内容与例题讲解 -- 第四章--选择结构程序设计(第五版)谭浩强
|
1月前
|
算法 调度
C程序设计内容与例题讲解 -- 第二章(第五版)谭浩强
C程序设计内容与例题讲解 -- 第二章(第五版)谭浩强
|
1月前
|
C语言
C程序设计内容与例题讲解 -- 第四章--选择结构程序设计第二部分(第五版)谭浩强
C程序设计内容与例题讲解 -- 第四章--选择结构程序设计第二部分(第五版)谭浩强
[课后习题]C Primer Plus【第六版】编程练习 第一章
[课后习题]C Primer Plus【第六版】编程练习 第一章
|
8月前
|
C语言
[课后习题]C Primer Plus【第六版】编程练习 第二章习题参考答案
[课后习题]C Primer Plus【第六版】编程练习 第二章习题参考答案
|
12月前
|
机器学习/深度学习 存储 人工智能
C语言程序设计第五版谭浩强课后答案 第五章习题答案(3-17题)
C语言程序设计第五版谭浩强课后答案 第五章习题答案(3-17题)
|
C语言
C语言程序设计第五版 谭浩强 p292 6, 9 14 p330 1 , 5题解
C语言程序设计第五版 谭浩强p 215-216 1. 4. 6. 8.11题解 (其它) p292 6, 9 14 p330 1 , 5
147 0