C语言中字符型(char)的简单使用

C语言中字符型(char)的简单使用

刚接触C语言不久,在这记录下自己的一些学习心得。今天主要是在敲代码时遇到了一个小问题,如图:

在这里插入图片描述

应该是个比较简单的编程题。在我的想法中,应该使用循环逐个读入由A至Z的每个字母,因此要用char定义字符。先前也简单了解过char的用法,也仅局限于单个字符的用法,大概只知道以下几种:

1.char的简介

(1)字符型(char)用于储存字符(character),如英文字母、数字或标点。

简单来说有以下几种形式:

  1. 1. char a='a';
    2. char b='1';
    3. char c='&';
    4. char d=' ';
    

需要注意的是char定义的字符要用单引号‘’将其包围。(另外字符串需要用双引号“”包围,在此不多加阐述)

(2)单个字符的输入与输出。

通常,我们用char定义的字符型变量可以用以下形式进行输入:

char ch;
1.ch = getchar();
2.scanf("%c",&ch);

同样的,输出的格式我们也有:

1.ch = putchar()2.printf("%c",ch);

除此外,还有字符串的输入输出,在此不多加阐述。(主要是没学…)

但仅依靠这些我也只能解决一些简单的问题,完全不足以实际进行应用。通过简单的查阅资料,我了解到了关于char的进一步知识。

2.char的定义

(1)C 语言中保证 char 占用空间的大小足以储存系统所用的基本字符集的编码。C 语言定义一个字节(byte)的位数为 char 的位数,所以一个字节可能是 16 位,也可能是 32 位,而不仅仅限于 8 位。

char是分配1字节,存储的是ASCII码,A:65,a:97。

(2)ASCII码对照表
ASCII值控制字符ASCII值控制字符ASCII值控制字符ASCII值控制字符
0NUT32(space)64@96
1SOH33!65A97a
2STX34"66B98b
3ETX35#67C99c
4EOT36$68D100d
5ENQ37%69E101e
6ACK38&70F102f
7BEL39,71G103g
8BS40(72H104h
9HT41)73I105i
10LF42*74J106j
11VT43+75K107k
12FF44,76L108l
13CR45-77M109m
14SO46.78N110n
15SI47/79O111o
16DLE48080P112p
17DCI49181Q113q
18DC250282R114r
19DC351383S115s
20DC452484T116t
21NAK53585U117u
22SYN54686V118v
23TB55787W119w
24CAN56888X120x
25EM57989Y121y
26SUB58:90Z122z
27ESC59;91[123{
28FS60<92/124|
29GS61=93]125}
30RS62>94^126`
31US63?95_127DEL

如上图所示,我们能够了解到,在C语言中char所定义的字符数字分别对应的符号了,于是就有:

1.char a=48;
2.char b=65;
3.char c=97;
a == '0';b == 'A';c == 'a';

3.char的简单应用

于是这就能够解决一开始所讲的问题了:定义字符型变量,并赋值65依次+1至90.即可逐个输入A至Z的全部字母.如下所示

#include<stdio.h>
int main(void)
{
	int n, i, t;
	scanf("%d", &n);//给出一个正整数n
	char ch = 65;   //定义字符变量ch,此时ch = 'A'
	for (i = n; i >= 1; i--) 
	{
		for (t = 1; t <= i; t++)
		{
			printf("%c ", ch);
			ch++;
			if (ch > 90)//判断ch是否到 'Z'
				break;
		}
		printf("\n");
		if (ch > 90)
			break;
	}
	return 0;
}

这是本人第一次写博客,也是一次尝试,经验难免不够。如果有不足或错误的地方希望能够批评指正。(当然估计也没人看)

  • 397
    点赞
  • 361
    收藏
    觉得还不错? 一键收藏
  • 23
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 23
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值