美文网首页
C Language -- Lecture 3

C Language -- Lecture 3

作者: Miibo | 来源:发表于2016-04-26 14:02 被阅读26次

回顾

Lecture 2主要讲了哪些内容?

  • if-else语句
  • switch语句
  • for循环语句
  • while循环语句(包括do-while语句)

HDOJ上的题目完成了么?

函数

C语言上的函数这章教程不好,我们抽取重点讲解。
这里有个教程可以供我们参考:
C函数-菜鸟教程

函数的好处:

  • 把大的任务分解为若干个小的任务
  • 避免重复代码编写
  • 程序结构更加清晰,降低程序难度

函数定义

我们以max函数来说明函数的定义:

/* 函数返回两个数中较大的那个数 */
int max(int num1, int num2) 
{
   /* 局部变量声明 */
   int result;
 
   if (num1 > num2)
      result = num1;
   else
      result = num2;
 
   return result; 
}

一般的函数定义如下:

return_type function_name( parameter list )
{ 
  body of the function
}

函数声明

int max(int num1, int num2);

一般的函数声明:

return_type function_name( parameter list );

函数调用

#include <stdio.h>
 
/* 函数声明 */
int max(int num1, int num2);
 
int main ()
{
   /* 局部变量定义 */
   int a = 100;
   int b = 200;
   int ret;
 
   /* 调用函数来获取最大值 */
   ret = max(a, b);
 
   printf( "Max value is : %d\n", ret );
 
   return 0;
}
 
/* 函数返回两个数中较大的那个数 */
int max(int num1, int num2) 
{
   /* 局部变量声明 */
   int result;
 
   if (num1 > num2)
      result = num1;
   else
      result = num2;
 
   return result; 
}

从这个例子里面我们需要说明参数(形参、实参)和返回值的作用。

作用域规则

这部分我们也参考菜鸟教程

递归

视觉上的一种递归

我们以数的阶乘例子来说明递归:

#include <stdio.h>

int factorial(unsigned int i)
{
   if(i <= 1)
   {
      return 1;
   }
   return i * factorial(i - 1);
}
int  main()
{
    int i = 15;
    printf("Factorial of %d is %d\n", i, factorial(i));
    return 0;
}

C预处理器

文件包含

#include <filename>

#include "filename"

宏定义

#define 被替换的名字 替换的值

举个例子:

#define PI 3.1415926

相关文章

  • C Language -- Lecture 3

    回顾 Lecture 2主要讲了哪些内容? if-else语句 switch语句 for循环语句 while循环语...

  • C Language -- Lecture 2

    回顾 回想一下Lecture 1我们讲了哪些内容? 看书扩充一下类型、运算符和表达式这一章节转义字符变量声明con...

  • C Language -- Lecture 4

    回顾: 上次课我们讲了: 函数 作用域 递归 预处理器文件包含宏替换 HDOJ上的题目有做么?本次课我们将讲数组和...

  • C Language -- Lecture 1

    HDOJ--C语言中文练习题链接 1.简介 具体请查看Lecture 1 - Introduce.pptx 在计算...

  • C Language -- Lecture 5

    回顾 上节课我们讲了指针和数组。 指针的概念是一个非常重要、也是非常难以理解的概念。理解了指针就理解了C语言的精髓...

  • 托福听力2

    Tpo 1:Lecture2 Listen to part of a lecture in a geology c...

  • program language

    C language C语言教程链接 C program : C language w...

  • 雅思阅读笔记(第三节)

    curriculum 课程大纲: Lecture 1 总纲、单词题 Lecture 2 句子题 Lecture 3...

  • 雅思阅读笔记(第一节)

    curriculum 课程大纲: Lecture 1 总纲、单词题 Lecture 2 句子题 Lecture 3...

  • 雅思阅读笔记(第二节)

    curriculum 课程大纲: Lecture 1 总纲、单词题 Lecture 2 句子题 Lecture 3...

网友评论

      本文标题:C Language -- Lecture 3

      本文链接:https://www.haomeiwen.com/subject/bkiqrttx.html