1. 打印摄氏度
/* 1.1 使用int类型进行计算 */
#include <stdio.h> /* print Fahrenheit-Celsius table
for fahr = 0, 20, ...., 300 */
main()
{
int fahr, celsius;
int lower, upper, step; lower = 0; /* lower limit of temperature table */
upper = 300; /* upper limit */
step = 20; /* step size */ fahr = lower;
while(fahr <= upper) {
celsius = 5 * (fahr - 32) / 9;
printf("%d\t%d\n", fahr, celsius); // printf(""%3d %6d\n", fahr, celsius); /* right-justified */ fahr = fahr + step;
}
} /* 1.2 使用 float 类型进行计算 */
#include <stdio.h> main()
{
float fahr, celsius;
int lower, upper, step; lower = 0;
upper = 300;
step = 20; fahr = lower;
while(fahr <= upper) {
celsius = (5.0 / 9.0) * (fahr - 32.0);
// fahr 3个字符宽度,无小数部分; celsius 6个字符宽度,额外包括一个小数位
printf("%3.0f %6.1f\n", fahr, celsius);
fahr = fahr + step;
}
} /* 1.3 使用for循环语句 */
#include <stdio.h> main()
{
int fahr;
for(fahr = 0; fahr <= 300; fahr = fahr + 20) {
printf("%3d %6.1f\n", fahr, (5.0 / 9.0)*(fahr - 32));
}
} /* 1.4 符号常量的应用
因为单纯的数字(如300,20),表达的意义非常模糊,不易于阅读 */
#include <stdio.h> // 定义符号常量
#define LOWER 0
#define UPPER 300
#define STEP 20 main()
{
int fahr; for(fahr = LOWER; fahr <= UPPER; fahr = fahr + STEP) {
printf("%3d %6.1f\n", fahr, (5.0 / 9.0) * (fahr - 32));
}
}
  1. 数据类型:

    • 基本数据类型:

      • int
      • short
      • long
      • float
      • double
      • char
      • arrays
      • structures
      • unions
      • pointers
    • printf()说明:

      • %d: 十进制整数(decimal)
      • %f: floating point
      • %o: octal(八进制)
      • %x: hexadecimal(十六进制)
      • %c: character
      • %s: string
      • %%: %
  2. 字符串的处理
/* file copying (version 1) */
#include <stdio.h> main()
{
int c; while((c = getchar()) != EOF)
putchar(c);
} /* character counting */
#include <stdio.h> main()
{
long nc; for(nc = 0; getchar() != EOF; ++nc)
;
printf("%.0f\n", nc);
} /* line counting */
#include <stdio.h> main()
{
int c, nl; nl = 0;
while((c = getchar()) != EOF)
if (c == '\n')
++nl;
printf("%d\n", nl);
} /* 1-9:
Write a program to copy its input to its output, replacing each string of one or more
blanks by a single blank */ /* version 1*/
#include <stdio.h> #define NONBLANK '-' int main(void)
{
int c, lastc; lastc = NONBLANK; while((c = getchar()) != EOF) {
if(c == ' ') {
if(lastc != ' ') {
putchar(c);
}
} else {
putchar(c);
}
lastc = c;
}
return 0;
} /* a bare-bones version of the UNIX program wc */
#include <stdio.h> #define IN 1
#define OUT 0 main()
{
int c, nl, nw, nc, state; state = OUT;
nl = nw = nc = 0; while((c = getchar()) != EOF) {
++nc;
if (c == '\n') {
++nl;
}
if (c == ' ' || c == '\n' || c == '\t') {
state = OUT;
} else if (state == OUT) {
state = IN;
++nw;
}
}
printf("%d %d %d\n", nl, nw, nc);
}

参考资料:

-The C Programming Language

C语言概述的更多相关文章

  1. 1-学习前言&C语言概述

    [C语言]01-学习前言&C语言概述 参考自 http://www.cnblogs.com/mjios/archive/2013/03/12/2956508.html#label2 C语言是我 ...

  2. OpenGL官方教程——着色器语言概述

    OpenGL官方教程——着色器语言概述 OpenGL官方教程——着色器语言概述 可编程图形硬件管线(流水线) 可编程顶点处理器 可编程几何处理器 可编程片元处理器 语言 可编程图形硬件管线(流水线) ...

  3. Delphi XE5教程1:语言概述

    内容源自Delphi XE5 UPDATE 2官方帮助<Delphi Reference>,本人水平有限,欢迎各位高人修正相关错误! 也欢迎各位加入到Delphi学习资料汉化中来,有兴趣者 ...

  4. java基础---java语言概述

    一.计算机编程的两种范型 1.面向过程的模型---具有线性执行特点,认为是代码作用于数据. 2.面向对象的模型---围绕它的数据(即对象)和为这个数据定义的接口来组织程序:实际上是用数据控制代码的访问 ...

  5. Python语言——Python语言概述

    Python语言概述 计算机语言概述 语言:交流工具,沟通媒介 计算机语言:人和计算机交流的工具,翻译官 Python语言简述 Python是计算机语言的一种 Python编程语言: 代码:人类语言, ...

  6. 01 C语言程序设计--01 C语言基础--第1章 C语言概述&第2章 GCC和GDB

    走进嵌入式开发的世界,企业级项目课程让你达到企业嵌入式应用开发要求.名师在线答疑,解决疑难.科学评测体系,系统评估学习.核心项目实........ 30 门课程 241小时12分钟 824 人学习 学 ...

  7. [编程笔记]第一章 C语言概述

    //C语言学习笔记 第一讲 C语言概述 第二讲 基本编程知识 第三讲 运算符和表达式 第四讲 流程控制 第五讲 函数 第六讲 数组 第七讲 指针 第八讲 变量的作用域和存储方式 第九讲 拓展类型 第十 ...

  8. 第1章 Java语言概述--HelloWorld--环境搭建

    SE学什么 第1章 Java语言概述 第2章 基本语法 第3章 数组 第4章 面向对象编程(上) 第5章 面向对象编程(中) 第6章 面向对象编程(下) 第7章 异常处理 第8章 枚举类&注解 ...

  9. javaSE习题 第一章 JAVA语言概述

    转眼就开学了,正式在学校学习SE部分,由于暑假放视频过了一遍,略感觉轻松,今天开始,博客将会记录我的课本习题,主要以文字和代码的形式展现,一是把SE基础加强一下,二是课本中有很多知识是视频中没有的,做 ...

  10. 大数据技术之_16_Scala学习_01_Scala 语言概述

    第一章 Scala 语言概述1.1 why is Scala 语言?1.2 Scala 语言诞生小故事1.3 Scala 和 Java 以及 jvm 的关系分析图1.4 Scala 语言的特点1.5 ...

随机推荐

  1. 重新生成RF的测试库API文档

    在dos窗口下执行如下命令: 命令:python -m robot.libdoc 库名称  生成的API文件名.html 例如:python -m robot.libdoc MongoDBLibrar ...

  2. Win10 快捷键

    Win + D # 最小化桌面 Win + L # 锁屏 Win + E # 打开"我的电脑" Win + I # 打开设置 Win + P # 启动投屏 Win + G # 屏幕 ...

  3. 学习下新塘M0芯片的下载方法

    编程方式多种多样,解释这几种方式的原理,方便做后续的回答: 一.脱机 脱机的意思就是脱离PC机,有很多芯片必须连接PC才能烧录,比如某些FPGA芯片.MCU芯片.NAND Flash芯片等.脱机和在线 ...

  4. 如何在taro的map循环中使用if条件渲染

    在taro的jsx中,鉴于编译的机制,官方明确的表示了不能在map循环中使用if循环, 但是呢,官方也给出了解决办法,那就是提取变量或者是用三目运算嵌套的方法: 链接奉上:https://github ...

  5. TYAttributedLabel——简单,强大的iOS属性文本控件

    本文转载至 http://www.mobile-open.com/2015/86578.html TYAttributedLabel 简单,强大的属性文本的控件(无需了解CoreText),支持图文混 ...

  6. OpenCV——轮廓特征描述

    检测出特定轮廓,可进一步对其特征进行描述,从而识别物体. 1. 如下函数,可以将轮廓以多种形式包围起来. // 轮廓表示为一个矩形 Rect r = boundingRect(Mat(contours ...

  7. 怎么修改wamp的本地时间

    最近配置了一台wamp环境的服务器,但发现时间与本地时间是地区别的,并且 利用time获取的时间再利用date显示有时差的,下面我们一起来导致原因与解决办法. 如果date时间不一致可以使用date_ ...

  8. IOS设计模式第十篇之命令行设计模式

    命令行设计模式: 命令设计模式将一个请求或行动作封装为对象.这个封装请求比原始的请求要灵活并且可以在对象之前被传递,存储,动态修改或者放进队列里面.苹果 苹果公司实现这种模式使用Target-Acti ...

  9. 【EF框架】EF DBFirst 快速生成数据库实体类 Database1.tt

    现有如下需求,数据库表快速映射到数据库实体类 VS给出的两个选择都有问题,并不能实现,都是坑啊 EF .x DbContext 生成器 EF .x DbContext 生成器 测试结果如下 生成文件 ...

  10. Android 全屏Activity以透明的对话框形式弹出

    1. styles.xml <style name="transcutestyle" parent="@android:style/Theme.DeviceDefa ...