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

 

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

 

###C语言程序设计-----C语言学习(4)#_第1张图片

 

一.  主干知识的学习

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 
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个字符时,必须连续输入,字符之间不能有间隔。

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

###C语言程序设计-----C语言学习(4)#_第2张图片

 

 

 

 

你可能感兴趣的:(C语言学习,学习,开发语言,c语言,数据挖掘,c++,c#,数据分析)