###C语言程序设计-----C语言学习(4)#

 

前言:感谢老铁的浏览,希望老铁可以一键三连加个关注,您的支持和鼓励是我前进的动力,后续会分享更多学习编程的内容。现在开始今天的内容:

 

 

一.  主干知识的学习

1.字符型数据

(1)字符型常量

  字符型常量指单个字符,用一对单引号及其所括起来的字符表示。例如:‘A’,‘a’,‘9’,‘¥’是字符型常量,它们分别表示字母A,a,数字字符9和符号¥。 

ASCII字符集中列出了所以可以使用的字符,共256个,它具有以下特性:

a.每个字符都有唯一的次序值,即ASCII码。

b.数字字符‘0’,‘1’,‘2’,······,‘9’的ASCII码按升序连续排列。

c.大写字母‘A','B',······,’Z‘的ASCII码按升序连续排列。

d.小写字母‘a’,‘b',······,’z‘的ASCII码按升序连续排列。

注意:要区分数字和数字字符,例如,1为整型数字,而'1'为字符。

(2)字符型变量

字符型变量在定义时用类型名char,例如:

        char op;

定义了一个字符型变量op,它的值是字符型数据。op='+'将字符型常量'+'赋给字符型变量op。

 

2.字符型数据的输入与输出

(1)调用函数scanf()和printf()输入输出字符,此时,在函数调用的格式控制字符串中相应的格式控制说明为%c。

(2)字符输入函数getchar()

设ch是字符型变量,函数getchar()的一般使用格式为:

            ch=getchar();

其功能是从键盘输入一个字符,并赋值给变量ch。

(3)字符输出函数putchar()

函数putchar()的一般调用格式:

            putchar(输出参数);

其功能是输出参数是字符型变量或字符型常量。

注意:函数getchar()和putchar()只能处理单个字符的输入与输出,即调用一次函数,只能输入和输出一个字符。

 

3.逻辑运算

在C语言中提供了三种逻辑运算符,如下表所示:

逻辑运算符
目数单目双目双目
运算符&&||
名称逻辑非逻辑与逻辑或

解释说明:设a和b表示逻辑运算对象,逻辑运算符的功能描述如下

(1)!a:如果a为‘真’,结果为‘假’;如果a为‘假’,结果为‘真’。

(2)a&&b:当a和b都为‘真’时,其结果是‘真’;否则,结果是‘假’。

(3)a||b:当a和b都为‘假’时,结果为‘假’;否则,结果是‘真’。

举例:(写出C语言表达式)

(1)ch是空格或回车。

            (ch==' ')||(ch=='\n') 

(2)year是闰年,即year能被4整除但不能被100整除,或year能被400整除。

            (year%4==0&&year%100!=0)||(year%400==0)

 

二.  具体程序实战应用

 

问题:统计英文字母和数字字符。输入一个正整数n,再输入n个字符,统计其中英文字母,数字字符和其他字符的个数。 

#include <stdio.h>
int main()
{
	int digit, i, letter, n, other; //定义三个变量存放统计结果 
	char ch;   //定义一个字符变量 
	digit=letter=other=0;
	printf("Enter n:");  //提示将输入几个字符 
	scanf("%d", &n);
	getchar();  //读入并舍弃换行符 
	printf("Enter %d characters:", n);
	for (i=1; i<=n; i++)  //循环执行n次 
	{
		ch=getchar();  //输入字符并赋值给变量ch 
		if ((ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z'))
		{
			letter++;  //若为英文字母则加一 
		}
		else if (ch>='0'&&ch<='9')
		{
			digit++;  //若为数字则加一 
		}
		else 
		{
			other++;  //非字母与数字则加一 
		}
	}
	printf("letter=%d, digit=%d, other=%d\n", letter, digit, other);
	
	return 0;
 } 

注意:

(1)程序运行时,先输入10<换行>,然后再输入10个需要分类统计的字符。此时,第11行的getchar()读入了换行符,由于没有赋值给变量,读入的换行符相当于被舍弃了。如果此处没有调用getchar(),则换行符会将作为10个需要统计的字符的第一个输入字符参加统计。 

(2)输入n个字符时,必须连续输入,字符之间不能有间隔。

感谢老铁的浏览,希望老铁可以一键三连加个关注,您的支持和鼓励是我前进的动力,后续会分享更多学习编程的内容。

 

 

 

 

  • 49
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 34
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

袁满满满满

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值