`
orcl_zhang
  • 浏览: 243223 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

c回顾

    博客分类:
  • c
阅读更多
   自打大学毕业后就没有再看过C,今天拿本c的书看了一点,温习下一些基础知识.
一, 一个在逆波兰运算中遇到的预读的函数.
  
#include <ctype.h>
#define NUMBER '0' /* signal that a number was found */
int getch(void);
void ungetch(int);
/* getop: get next character or numeric operand */
int getop(char s[])
{
   int i, c;
   while ((s[0] = c = getch()) == ' ' || c == '\t')
       ;
   s[1] = '\0';
   if (!isdigit(c) && c != '.')
       return c;    /* not a number */
   i = 0;
  if (isdigit(c))   /* collect integer part */
     while (isdigit(s[++i] = c = getch()))
        ;
  if (c == '.')     /* collect fraction part */
     while (isdigit(s[++i] = c = getch()))
        ;
  s[i] = '\0';
  if (c != EOF)
     ungetch(c);
  return NUMBER;
}

#define BUFSIZE 100
char buf[BUFSIZE];    /* buffer for ungetch */
int bufp = 0;        /* next free position in buf */
int getch(void) /* get a (possibly pushed-back) character */
{
   return (bufp > 0) ? buf[--bufp] : getchar();
}
void ungetch(int c) /* push character back on input */
{
   if (bufp >= BUFSIZE)
       printf("ungetch: too many characters\n");
   else
       buf[bufp++] = c;
}

二,拷贝字符串
/* strcpy: copy t to s; array subscript version */
void strcpy(char *s, char *t)
{
   int i;
   i = 0;
   while ((s[i] = t[i]) != '\0')
       i++;
}

/* strcpy: copy t to s; pointer version */
void strcpy(char *s, char *t)
{
   int i;
   i = 0;
   while ((*s = *t) != '\0') {
       s++;
       t++;
   }
}

/* strcpy: copy t to s; pointer version 2 */
void strcpy(char *s, char *t)
{
   while ((*s++ = *t++) != '\0')
       ;
}

三,进栈,出栈
*p++ = val  /*入栈*/
val = *--p  /*出栈*/
分享到:
评论

相关推荐

    C语言中级教程 C语言回顾

    C语言中级教程 C语言回顾

    C语言中级-1C语言回顾

    "C语言中级-1C语言回顾"这个主题旨在帮助我们重温C语言的核心概念,为后续的高级学习打下坚实的基础。C语言,作为一门强大的系统编程语言,被广泛应用于软件开发、操作系统、嵌入式系统等领域。 首先,我们需要回顾...

    SPT-02-实验00 C语言回顾.pptx

    SPT-02-实验00 C语言回顾.pptx

    c语言课件(高质量C的内容)

    1. **C语言回顾**(1.c回顾.pdf): 这份PDF文档可能包含了C语言的基本回顾,包括语言历史、环境搭建、编译与链接过程等基础知识。对于初学者来说,这是理解C语言的起点,能够帮助他们建立对C语言的整体认识。 2. ...

    c语言回顾 山大

    c的基础回顾 c语言的基础知识 复习巩固 基础知识 基础知识

    C语言知识回顾.ppt

    C语言知识回顾 整理C语言知识 提高基础能力

    C回顾结构体及类型定义实用PPT课件.pptx

    在C语言中,结构体(struct)是一种复合数据类型,它允许我们将多个不同类型的变量组合成一个单一的实体。这使得我们能够以更符合实际需求的方式组织数据。本课件主要探讨了结构体的定义、类型以及如何引用结构体...

    C回顾结构体及类型定义实用PPT学习教案.pptx

    在C语言中,结构体(struct)是一种复合数据类型,它允许我们将多个不同类型的变量组合成一个单一的实体。在给定的PPT学习教案中,主要讲解了结构体的定义、类型定义以及如何引用结构体变量。 1. **结构体的定义**...

    c语言练习回顾

    c语言练习回顾

    C语言中级培训教程.rar

    9. **C语言回顾**:这部分可能对C语言的基本语法和概念进行回顾,巩固基础,确保学习者对变量、类型、流程控制等有扎实的理解。 10. **再论“类型”**:C语言有丰富的类型系统,包括基本类型、枚举、结构体等。这...

    C语言相关知识点回顾

    C语言相关知识点回顾

    高质量c第一章c的回顾

    ### 高质量C语言第一章回顾知识点详解 #### C语言概述 C语言是在20世纪70年代初由美国贝尔实验室的Ken Thompson和Dennis M. Ritchie开发的一种通用的程序设计语言。它最初是为了编写UNIX操作系统而设计的,并在...

    c语言工作应用辅导的ppt文件(演讲稿)

    2. **C语言回顾**: 这一部分将复习C语言的基础知识,包括语法、变量、数据类型、运算符、流程控制语句(如if、switch、for、while)等,帮助学习者建立扎实的编程基础。 3. **VC++与MSDN的使用**: Visual C++...

    C语言中级强化深度资料

    "1C语言回顾ok [兼容模式].pdf"可能是对C语言基础的一个快速回顾,涵盖变量、数据类型、控制结构等内容,为后续的深入学习做铺垫。 "8再谈指针 [兼容模式].pdf"将再次探讨C语言的灵魂——指针。指针的使用是C语言的...

    C语言的总点回顾(英文版)

    ### C语言总点回顾 #### Part 1: C编程基础 **议程-Part1:** - **C编程基础知识:** C语言是一种结构化的编程语言,它由基础数据类型、控制结构、函数等组成。 - **基本数据类型:** 包括整型(`char`, `short`, `...

    C_primory.rar_4 3 2 1

    1. **C语言回顾**:C语言是一种强大的、低级的编程语言,它在系统编程、嵌入式开发、软件工程等领域有着广泛的应用。C语言以其简洁、高效和灵活性著称,是许多现代编程语言的基础。 2. **数据类型**:C语言提供了...

    C语言程序设计:回顾与总结.pdf

    "C语言程序设计:回顾与总结.pdf" 本资源是一个关于C语言程序设计的课程回顾与总结,涵盖了C语言的基础知识和高级主题。下面是该资源的详细知识点总结: 绪论 * 程序设计语言的基本概念 * 程序设计的基本过程 * ...

    最新C中级最新C中级最新C中级

    9. **1.c回顾.pdf**:这可能是对C语言基础的回顾,包括基本语法、控制结构(如if语句、循环)和基本输入/输出操作。 10. **1.c回顾.pdf、2.数据类型.ppt、3.内存.ppt、5.数组.ppt、6.函数.pdf、7.指针.pdf、8....

    C语言的重点回顾(英文版)[part2]

    ### C语言的重点回顾 Part2:深入探讨指针与动态内存分配 #### 指针概念与操作 在C语言的学习过程中,指针是至关重要的一个概念。本节将继续上一节的内容,深入讲解指针、数组与指针的关系、动态内存分配以及文件...

    大学期间学习代码,包括C,Python,HTML等代码 用于以后回顾复习查阅.zip

    用于以后回顾复习查阅.zip 大学期间学习代码,包括C,Python,HTML等代码。用于以后回顾复习查阅.zip 大学期间学习代码,包括C,Python,HTML等代码。用于以后回顾复习查阅.zip 大学期间学习代码,包括C,Python,...

Global site tag (gtag.js) - Google Analytics