[C/C++]重读《The C Programming Language》
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了[C/C++]重读《The C Programming Language》,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1782字,纯文字阅读大概需要3分钟。
内容图文
第一次读这本书的时候是大三初,现在打算重读一遍!。
第一章 导言
1. 学习一门新程序设计语言的唯一途径就是用它来写程序。
2. 每个程序都从main函数的起点开始执行。
3. 在C语言中,所有变量必须先声明后使用。
4. C语言中的基本数据类型的大小取决于具体机器。
5. 在允许使用某种类型变量值的任何场合,都可以使用该类型的更复杂的表达式。
6. 标准库的输入/输出模型是按照字符流的方式处理,每行字符都有0个或者多个字符组成,末尾是换行符。
7. 函数为计算的封装提供了一种简便的方法,函数都是通过传值调用。
#include <stdio.h> // 文件复制 int main() { int c; while ((c = getchar()) != EOF) { putchar(c); } return 0; }
/* * 编写一个将输入复制到输出的程序, * 并将其中连续的多个空格用一个空格代替. */ #include <stdio.h> int main() { int c; int flag = 0; // 当前字符是否为空格 while ((c = getchar()) != EOF) { if ((c == ‘ ‘ && flag == 0) || (c != ‘ ‘)) { putchar(c); flag = !flag; } } return 0; }
#include <stdio.h> #define IN 1 // 单词内 #define OUT 0 // 单词外 // 统计行数, 单词数和字符数 int main() { int c; int numLines = 0; // 行数 int numWords = 0; // 单词数 int numCharacters = 0; // 字符数 int state = OUT; while ((c = getchar()) != EOF) { ++numCharacters; if (c == ‘\n‘) { ++numLines; } if (c == ‘ ‘ || c == ‘\t‘ || c == ‘\n‘) { state = OUT; } else if (state == OUT) { state = IN; ++numWords; } } printf("%d\t%d\t%d\n", numLines, numWords, numCharacters); return 0; }
#include <stdio.h> #define MAXLINE 1000 /* * 读入一行字符 */ int getline_s(char *s, int lim) { int c, i; for (i = 0; i < lim - 1 && (c = getchar()) != EOF && c != ‘\n‘; ++i) { s[i] = c; } if (c == ‘\n‘) { s[i] = c; ++i; } s[i] = ‘\0‘; return i; } /* * 拷贝数组 */ void copy(char *to, char *from) { int i = 0; while ((to[i] = from[i]) != ‘\0‘) { ++i; } } int main() { int len; int max = 0; char line[MAXLINE]; char longest[MAXLINE]; while ((len = getline_s(line, MAXLINE)) > 0) { if (len > max) { max = len; copy(longest, line); } } if (max > 0) { printf("%s\n", longest); } return 0; }
待续。。。。
原文:http://www.cnblogs.com/skycore/p/4852220.html
内容总结
以上是互联网集市为您收集整理的[C/C++]重读《The C Programming Language》全部内容,希望文章能够帮你解决[C/C++]重读《The C Programming Language》所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。