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

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

 

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/353153.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

HCS-华为云Stack-FusionSphere

HCS-华为云Stack-FusionSphere FusionSphere是华为面向多行业客户推出的云操作系统解决方案。 FusionSphere基于开放的OpenStack架构&#xff0c;并针对企业云计算数据中心场景进行设计和优化&#xff0c;提供了强大的虚拟化功能和资源池管理能力、丰富的云基础服务组件和工具…

实体关系抽取与属性补全的技术浅析

目录 前言1. 实体关系抽取2 实体关系抽取的方法2.1 基于模板的方法2.2 基于监督学习的关系抽取2.3 基于深度学习的关系抽取2.4 基于预训练语言模型的关系抽取 3 属性补全3.1 属性补全任务简介3.1 抽取式属性补全3.2 生成式属性补全 4 未来发展趋势结语 前言 在信息爆炸时代&am…

[网鼎杯 2018]Fakebook1

join一个用户后&#xff0c;点进去发现是这样的 查看这个页面的源代码&#xff0c;发现一个base64编码后的字串 decode之后就是我们join新用户时填入的blog网址 那我们是不是可以通过填入存储flag的地址&#xff0c;从而回显出来呢&#xff1f;当然&#xff0c;先按照常规sqli…

【Go】深入理解 Go map:赋值和扩容迁移 ①

文章目录 map底层实现hmapbmap map hash冲突了怎么办&#xff1f; map扩容触发扩容时机扩容小结为什么map扩容选择增量&#xff08;渐进式扩容&#xff09;&#xff1f;迁移是逐步进行的。那如果在途中又要扩容了&#xff0c;怎么办&#xff1f; map翻倍扩容原理 map写入数据内…

LC每日一题记录 2861. 最大合金数

题干 思路 所有合金都需要由同一台机器制造&#xff0c;因此我们可以枚举使用哪一台机器来制造合金。 对于每一台机器&#xff0c;我们可以使用二分查找的方法找出最大的整数 xxx&#xff0c;使得我们可以使用这台机器制造 xxx 份合金。找出所有 xxx 中的最大值即为答案。 代…

【HTML 基础】文档结构

文章目录 1.<!DOCTYPE>2. <html>3. <head>4. <body>总结 HTML 文档的结构是构建网页的基础&#xff0c;通过合理使用标签&#xff0c;我们能够清晰地定义文档的各个部分。在这篇博客中&#xff0c;我们将介绍 HTML 文档的基本结构&#xff0c;包括 <…

桥接模式解析

桥接模式 意图 将抽象与其实现相分离&#xff0c;使得两者可以独立变化。 解释 案例&#xff1a;考虑武器有不同的特效&#xff0c;你想让不同的武器可以有不同的特效&#xff0c;你应该怎么做&#xff1f; 为每个武器创建不同的副本使得有不同的特效&#xff0c;还是你只单独…

wifi模块esp8266如何连接路由器访问天气

1.直接上AT指令&#xff0c;测试过可用 注意回车换行&#xff0c;所有指令都有&#xff0c;有一些特殊的不需要&#xff0c;但是基本上都需要。下面的指令都需要回车换行。/r/n [2024-01-27 02:47:23.374] TX&#xff1a;AT[2024-01-27 02:47:23.392] RX&#xff1a;ATOK[2024-…

简单介绍----微服务和Spring Cloud

微服务和SpringCloud 1.什么是微服务&#xff1f; 微服务是将一个大型的、单一的应用程序拆分成多个小型服务&#xff0c;每个服务负责实现特定的业务功能&#xff0c;并且可以通过网络通信与其他服务通信。微服务的优点是开发更灵活&#xff08;不同的微服务可以使用不同的开…

ProRes与YUV有什么关系?ProRes还是H264/H265?

苹果的ProRes是一种视频或图片文件的编码格式。它包含ProRes 4444 XQ、ProRes 4444 、 ProRes 422 HQ、ProRes 422、ProRes 422 LT、ProRes Proxy这6种编码和ProRes RAW这种原始文件的存储格式。 我们知道&#xff0c;1920*1080的24p&#xff0c;8bit位深的RGB或者YUV444视频&…

基于InceptionV2/InceptionV3/Xception不同参数量级模型开发构建中草药图像识别分析系统,实验量化对比不同模型性能

最近正好项目中在做一些识别相关的内容&#xff0c;我也陆陆续续写了一些实验性质的博文用于对自己使用过的模型进行真实数据的评测对比分析&#xff0c;感兴趣的话可以自行移步阅读即可&#xff1a; 《移动端轻量级模型开发谁更胜一筹&#xff0c;efficientnet、mobilenetv2、…

简洁思路推理 KMP 算法——子字符串匹配

例题 28. 找出字符串中第一个匹配项的下标 暴力遍历解法 枚举原串 ss 中的每个字符作为「发起点」&#xff0c;每次从原串的「发起点」和匹配串的「首位」开始尝试匹配&#xff1a; 匹配成功&#xff1a;返回本次匹配的原串「发起点」。 匹配失败&#xff1a;枚举原串的下一个…

PC机组成之主板、芯片组与BIOS

PC机组成 台式PC由主机和外部设备组成&#xff0c;主机由主板、CPU、内存条、显卡、网卡、声卡、插卡和插座、机箱和电源等组成。 主板、芯片组和BIOS 主板 主板也称母版&#xff0c;是微型计算机中最大的一块集成电路板&#xff0c;也是其他部件和设备的连接载体。 CPU、内…

EndNote20 添加GBT7714文献格式

GBT 7714格式是中国国家标准《文后参考文献著录规则》的规定&#xff0c;用于指导学术论文、期刊文章等文献的参考文献著录。GBT 7714标准规定了参考文献的格式、内容和著录要求&#xff0c;以确保文献的一致性和标准化。 在EndNote 20中&#xff0c;若需要按照GBT 7714格式在W…

04.领域驱动设计:了解聚合和聚合根,怎样设计聚合-学习总结

目录 1、概述 2、聚合 3、聚合根 4、怎么设计聚合 4.1 聚合的构建过程主要步骤 第 1 步&#xff1a;采用事件风暴。 第 2 步&#xff1a;选出聚合根。 第 3 步&#xff1a;找出与聚合根关联的所有紧密依赖的实体和值对象。 第 4 步&#xff1a;画出对象的引用和依赖模型…

支持下一代网络IpV6的串口服务器,IpV6串口485接口转网口

和IPv4比较&#xff0c;IPv6有两个极具吸引力的特点&#xff1a;一个是IPv6采用的128位地址格式&#xff0c;而IPv4采用32位的地址格式&#xff0c;因此IPv6使地址空间增大了296&#xff1b;另一个是IPv6物联网数据业务具有更强的支持能力&#xff0c;成为未来物联网的重要协议…

体验 AutoGen Studio - 微软推出的友好多智能体协作框架

体验 AutoGen Studio - 微软推出的友好多智能体协作框架 - 知乎 最近分别体验了CrewAI、MetaGPT v0.6、Autogen Studio&#xff0c;了解了AI Agent 相关的知识。 它们的区别 可能有人要问&#xff1a;AutoGen我知道&#xff0c;那Autogen Studio是什么&#xff1f; https://g…

82 C++对象模型探索。数据语义学 - 单一继承下的数据成员布局

在使用继承后&#xff0c;由于内存对齐的影响&#xff0c;会带来内存空间的额外增加。 windows 和 linux 的图示&#xff1a; 对于windows&#xff0c;在继承时&#xff0c;子类中应该包含父类的全部&#xff0c;包括了父类内存对齐时空的内存部分。 对于linux&#xff0c;编…

pytorch-metric-learning度量学习工具官方文档翻译

基于Pytorch实现的度量学习方法 开源代码&#xff1a;pytorch-metric-learning官网文档&#xff1a;PyTorch Metric Learning官方文档 度量学习相关的损失函数介绍&#xff1a; 度量学习DML之Contrastive Loss及其变种度量学习DML之Triplet Loss度量学习DML之Lifted Structu…

python222网站实战(SpringBoot+SpringSecurity+MybatisPlus+thymeleaf+layui)-菜单管理实现

锋哥原创的SpringbootLayui python222网站实战&#xff1a; python222网站实战课程视频教程&#xff08;SpringBootPython爬虫实战&#xff09; ( 火爆连载更新中... )_哔哩哔哩_bilibilipython222网站实战课程视频教程&#xff08;SpringBootPython爬虫实战&#xff09; ( 火…
最新文章