C程序设计语言笔记

本文深入探讨了C语言中的关键概念,包括EOF的使用,如何实现字符串逆序函数,以及位段的概念。在EOF部分,介绍了在不同操作系统下如何触发EOF。字符串逆序函数reverse(s)的实现被详细讨论。此外,文章还讲解了C语言中的转义字符序列、浮点数精度、科学记数法和位操作。最后,位段的声明和使用,以及与结构的区别被阐述,强调了位段在不同平台的可移植性问题。
摘要由CSDN通过智能技术生成

    本文主要针对C语言“圣经”——《C程序设计语言》的细枝末节,聊以记录。

1 导言

*  EOF (End Of File 文件结束)

   在头文件stdio.h中定义,#define EOF -1

#include <stdio.h>

int main()
{
    int c;

    while ((c = getchar()) != EOF)
        putchar();

    return 0;
}

windows环境下,得到EOF的命令是:CTRL+Z

linux环境下,得到EOF的命令是:CTRL+D


*  字符串逆序函数reverse(s)

Version 1.0
void reverse(char s[])
{
    int i,j;
    char temp;

    i = 0;
    while (s[i] != '\0')
        i++;                 /*获取字符串的长度*/
    --i;                       /*i自减1,使得s[i]为字符串结尾字符‘\0’的前一位*/
    if (s[i] == '\n')
        --i;
    j = 0;
    while (j < i)
    {
        temp = s[j];
        s[j] = s[i];
        s[i] = temp;
        --i;
        ++j;
    }

    return ;
}

2 类型、运算符与表达式

*   转义字符序列

    在计算机中,所有数据在存储或运算时都要使用二进制表示。ASCII码使用指定的7位或8位二进制数组合来表示128或256种可能的字符。标准ASCII码也叫基础ASCII码,使用7 位二进制数来表示所有的大写和小写字母,数字0到9、标点符号,以及在美式英语中使用的特殊控制字符。

    所有的ASCII码都可以用“\”加数字(一般是8进制数字)来表示,如'\013'、'\007'。而C中定义了一些字母前加"\"来表示常见的那些不能显示的ASCII字符,如\0,\t,\n等,就称为转义字符。

转义字符

意义

ASCII码值

\a

响铃(BEL)

007

\b

退格(BS),将当前位置移到前一列

008

\f

换页(FF),将当前位置移到下页开头

012

\n

换行(LF),将当前位置移到下一行开头

010

\r

回车(CR),将当前位置移到本行开头

013

\t

水平制表(HT)(跳到下一个TAB位置)

009

\v

垂直制表(VT)

011

\\

代表一个反斜线字符''\'

092

\’

代表一个单引号(撇号)字符

039

\”

代表一个双引号字符

034

\0

空字符(NULL)

000

\ddd

13位八进制数所代表的任意字符

三位八进制

\xhh

12位十六进制所代表的任意字符

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值