自打大学毕业后就没有再看过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语言中级-1C语言回顾"这个主题旨在帮助我们重温C语言的核心概念,为后续的高级学习打下坚实的基础。C语言,作为一门强大的系统编程语言,被广泛应用于软件开发、操作系统、嵌入式系统等领域。 首先,我们需要回顾...
SPT-02-实验00 C语言回顾.pptx
1. **C语言回顾**(1.c回顾.pdf): 这份PDF文档可能包含了C语言的基本回顾,包括语言历史、环境搭建、编译与链接过程等基础知识。对于初学者来说,这是理解C语言的起点,能够帮助他们建立对C语言的整体认识。 2. ...
c的基础回顾 c语言的基础知识 复习巩固 基础知识 基础知识
C语言知识回顾 整理C语言知识 提高基础能力
在C语言中,结构体(struct)是一种复合数据类型,它允许我们将多个不同类型的变量组合成一个单一的实体。这使得我们能够以更符合实际需求的方式组织数据。本课件主要探讨了结构体的定义、类型以及如何引用结构体...
在C语言中,结构体(struct)是一种复合数据类型,它允许我们将多个不同类型的变量组合成一个单一的实体。在给定的PPT学习教案中,主要讲解了结构体的定义、类型定义以及如何引用结构体变量。 1. **结构体的定义**...
c语言练习回顾
9. **C语言回顾**:这部分可能对C语言的基本语法和概念进行回顾,巩固基础,确保学习者对变量、类型、流程控制等有扎实的理解。 10. **再论“类型”**:C语言有丰富的类型系统,包括基本类型、枚举、结构体等。这...
C语言相关知识点回顾
### 高质量C语言第一章回顾知识点详解 #### C语言概述 C语言是在20世纪70年代初由美国贝尔实验室的Ken Thompson和Dennis M. Ritchie开发的一种通用的程序设计语言。它最初是为了编写UNIX操作系统而设计的,并在...
2. **C语言回顾**: 这一部分将复习C语言的基础知识,包括语法、变量、数据类型、运算符、流程控制语句(如if、switch、for、while)等,帮助学习者建立扎实的编程基础。 3. **VC++与MSDN的使用**: Visual C++...
"1C语言回顾ok [兼容模式].pdf"可能是对C语言基础的一个快速回顾,涵盖变量、数据类型、控制结构等内容,为后续的深入学习做铺垫。 "8再谈指针 [兼容模式].pdf"将再次探讨C语言的灵魂——指针。指针的使用是C语言的...
### C语言总点回顾 #### Part 1: C编程基础 **议程-Part1:** - **C编程基础知识:** C语言是一种结构化的编程语言,它由基础数据类型、控制结构、函数等组成。 - **基本数据类型:** 包括整型(`char`, `short`, `...
1. **C语言回顾**:C语言是一种强大的、低级的编程语言,它在系统编程、嵌入式开发、软件工程等领域有着广泛的应用。C语言以其简洁、高效和灵活性著称,是许多现代编程语言的基础。 2. **数据类型**:C语言提供了...
"C语言程序设计:回顾与总结.pdf" 本资源是一个关于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语言的学习过程中,指针是至关重要的一个概念。本节将继续上一节的内容,深入讲解指针、数组与指针的关系、动态内存分配以及文件...
用于以后回顾复习查阅.zip 大学期间学习代码,包括C,Python,HTML等代码。用于以后回顾复习查阅.zip 大学期间学习代码,包括C,Python,HTML等代码。用于以后回顾复习查阅.zip 大学期间学习代码,包括C,Python,...