字符型变量

我们都知道,除了数字以外还有其他符号,比如字母等等,这些符号就是字符,存储字符的变量就是字符型变量。

一个字符型变量只能存储一个字符,比如time这个单词,就需要四个字符变量来存储。

那么,思考下面几个问题:

字符型变量在计算机内是以什么形式存储的?

答案很显然,也是0110这类的二进制码。

那么,二进制码是怎么变成字符的?

这个问题就比较专业了,就是用到ASCII码。简单地说,就是哪个数字代表哪个字符都统一标准。比如65就代表A,97代表a。

所以实际上,字符型就是个整数。

字符型的定义:

char name;

字符型的读入:

scanf("%c",&name);

字符型的输出:

printf("%c",name);

如果你不相信我说的字符型就是个整数,你可以以%c的方式scanf一个字符(例如a),然后以%d的方式输出,看看结果是不是97。这种利用整数的性质处理字符也是字符处理的一个重要方法。一个简单的例子,因为大写字母和小写字母的ASCII码相差都是32,要把a转化为A就可以-32。不过大多数时候,字符串处理都有专门的函数,以后用的时候可以查。

下面是输入一个小写字母,输出相应的大写字母的程序代码。

#include<stdio.h>
int main(void)
{
    char a;
    scanf("%c",&a);
    printf("%c",a-32);
    return 0;
 } 

字符就说这些。更多时候是要处理字符串,而字符串要设计数组,因为字符串就是字符数组。留给读者以后自己掌握了。

时间: 2024-10-24 21:48:32

字符型变量的相关文章

C语言中以十六进制输出字符型变量会出现&#39;ffffff&quot;的问题

最近在做一个C的嵌入式项目,发现在C语言中用printf()函数打印字符型变量时,如果想采用"%x"的格式将字符型变量值以十六进制形式打印出来,会出现一个小问题,如下: C代码   char buf[10] = {0}; buf[0] = 0xbf; printf("%2x\n\n\n", buf[0]);            /*在终端将会显示成:ffffffbf*/ buf[1] = 0x7f; printf("%2x\n\n\n", bu

java 复习-字符型变量

在java中,字符型变量用char 表示,用来存储字母.数字.标点符号等字符.占两个字节,用unicode编码,可以表示中文和英文.字符要用单引号包围.比如 'A'  '我' 注意事项:     有些特殊的字符,不能直接用单引号,要用转义字符表示.  (1) \n :表示换行  (2) \t :表示制表符,相当与Tab键  (3) \' :表示单引号  (4) \" :表示双引号  (5) \\ :表示一个斜杠"\"  package charTest; public cla

字符型变量/常量

字符型在内存中占2个字节,在Java中使用单引号来表示字符常量.例如'A'是一个字符,它与"A"是不同的,"A"表示含有一个字符的字符串. char 类型用来表示在Unicode编码表中的字符.Unicode编码被设计用来处理各种语言的文字,它占2个字节,可允许有65536个字符. [示例2-16]字符型举例 char eChar = 'a';  char cChar ='中'; Unicode具有从0到65535之间的编码,他们通常用从'\u0000'到'\uFF

SAS--处理字符型变量

data sasuser.agency99; set sasuser.talent; length state $10; state=scan(address2,2,','); *提取由comma分割后list中的第二个元素,第三个参数可以不写,默认好多个特殊符号; run; /*连着多个被指定的delimiters当作一个*/ proc print data=sasuser.agency99; run; data sasuser.newtal; set sasuser.talent; sex=

关于字符型char变量

写程序时,意外发现个很不容易察觉问题出在哪的问题的 scanf("%c",&ch); scanf("%c",&c); printf("ch:%c\n",ch); printf("c:%c\n",c); 如果输入是:a b 那么输出会是:ch:a c: 问题出在哪?如果将代码改为: scanf("%c",&ch); scanf("%c",&c); print

让人又爱又恨的char(字符型)

今天来总结一下char型,平常写算法的时候对这个东西感觉都有一点绕着走,说到底还是对这部分的知识不熟悉所以有点怕他,不过以后不要怕,今天来总结一下 首先,说到字符型数据类型,char型,恩它是一种数据类型 然后,就是字符型变量 字符型变量的重点是将一个字符存入字符变量中,实际上存入的不是这个字符的形,而是这个字符的ASCII码 输入:getchar(); 输出:putchar(); getchar和scanf的区别在于他可以输入空格 字符型常量: 1.普通 'a' 2.转义 1.‘\t’ 斜杠+

c语言整型和字符型的自动类型转换

char a = -1; //机器码为0xff unsigned char b = 254; //机器码0xfe if (a <= b){ printf("a <= b\n"); } else{ printf("a > b\n"); } 上述代码输出结果: a > b 赋值用机器码写入内存 虽然我们以十进制为两个变量赋值,但是变量值在内存中是以二进制机器码的形式存在.如果十进制数是负数,它就以补码的形式存放在内存中.比如"a = -

关于指针 用字符数组,字符指针变量输入字符串 动态为字符型指针变量分配内存

#include <stdio.h> #include <iostream> #include<math.h> using namespace std; int main() { //声明字符型数组和指针变量 char str[10]; char *strip=str; //输入输出 cout<<"str="; cin>>str; //用字符数组输入字符串 cout<<"str="<<

再回首,Java温故知新(五):Java基本数据类型之字符型

Java作为一种强类型语言,意味着每一个变量都会有特定的类型,Java共有8种基本类型,其中有4种整型(byte.short.int.long).两种浮点型(float.double).1种字符型(char)和一种布尔型(boolean),值得注意的是,虽然字符串String非常常用,但是它却不属于基本类型. 三.字符型(接上篇浮点型) char类型用于表示单子字符,Unicode编码单元可以表示为十六进制,范围是从\u0000~\uffff,Java中的char类型使用16位的Unicode字