首页 > 代码库 > 《C程序设计语言》笔记

《C程序设计语言》笔记

一、导言

  1.#define指令可以把符号名(或称为符号常量)定义为一个特定的字符串:

  例:#define  名字  替换文本

    #define  LOWER  0

    #define  UPPER  300

  其中,LOWER、UPPER都是符号常量,而非变量,因此不需要出现在声明中,符号常量名通常用大写字母拼写。#define指令行的末尾没有分号。

  2.练习1-9:编写一个将输入复制到输出的程序,并将其中连续的多个空格用一个空格代替。

  思路是用一个游标state标记,如果遇到一个空格就将他变成0,直到变成非空格,将state变成1,先判断条件,如果state是0则不输出。

  代码:

    

while(c=getchar() != EOF){
    if(c ==   && state == 0)
        ;
    else if(c ==  ){
        putchar(c);
        state=0;
    }
    else{
        putchar(c);
        state=1;
    }
}

  3.&&比||高一个优先级。由&&或||链接的表达式由左至右求值。

  4.1.14:编写一个程序,打印输入中各个字符出现频度的直方图。

  水平方向:

    

#include<stdio.h>
main(){
    char c;
    int i,a[128];
    for(i=0;i<128;i++)
        a[i] = 0;
    
    while(scanf("%c",&c) != EOF){
        a[c]++;
    }
    for(i=0;i<128;i++){
        printf("%-4d",i);
        while(a[i] != 0){
            printf("-");
            a[i]--;
        }
        printf("\n");
    }
}

 

《C程序设计语言》笔记