C语言程序设计(15)

105 阅读2分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第19天,点击查看活动详情

选择浮点类型

如果没有特别需要,只使用double;

现代CPU能直接对double做硬件运算,性能不会比float差,在64位机器上,数据存储速度也不比float慢。

字符类型

char是一种整数,也是一种特殊的类型:字符。这是因为:

用单引号表示的字符字面量:'a','1';

''也是一个字符;

printf和scanf中用%c来输入输出字符。

字符的输入输出

任何输入'1'这个字符给char c?

#include<stdio.h>
int main()
{
    char c;
    char d;
    c=1;
    d='1';
    if(c==d){
        printf("相等\n");
    }else{
        printf("不相等\n");
    }
    printf("c=%d\n",c);
    printf("d=%d\n",d);
    return 0;
}

结果为:

不相等

c=1

d=49

scanf("%c",&c);->1

scanf("%d",&i);c=i; ->49

'1'的ASCII编码是49,所以当c==49时,它代表'1',相当于49=='1'。

混合输入

scanf("%d %c",&i,&c);和scanf("%d%c",&i,&c);有何不同

第二种情况在输入时如果在整数和字符之间加了空格则编译器会在读取完整数的输入后将整数后面的空格作为输入的字符赋给c。

字符计算

一个字符加一个数字得到ASCII码表中那个数之后的字符

两个字符的减,得到他们在表中的距离

大小写转换

字母在ASCII码表中是顺序排列的;

大写字母和小写字母是分开排列的,并不在一起;

'a'-'A'可以得到两段之间的距离,于是:

a+'a'-'A'可以把一个大写字母变成小写字母,而

a+'A'-'a'可以把一个小写字母变成大写字母。

逃逸字符

用来表达无法印出来的控制字符或特殊字符,它由一个反斜杠“\”开头,后面跟上另一个字符,这两个字符合起来组成了一个字符。

例:

image.png

(在""中无法出现"",如果想输出"",使用逃逸字符,用\"来表达")