小言_互联网的博客

《看聊天记录都学不会C语言?太菜了吧》(10)程序媛聪明绝顶了

317人阅读  评论(0)

本系列文章将会以通俗易懂的对话方式进行教学,对话中将涵盖了新手在学习中的一般问题。此系列将会持续更新,包括别的语言以及实战都将使用对话的方式进行教学,基础编程语言教学适用于零基础小白,之后实战课程也将会逐步更新。

若有想学习的内容可以在评论区留言,根据大家的要求持续更新。点赞过十万就算化成灰我也更新下一篇。(肯定不到,也会更的。)

有问题也可以在评论区留言,也可以私聊我加我好友共同交流一起进步~

喜欢内容欢迎关注我、评论、点赞、收藏,这对我很重要,谢谢~


目录

你去约个会,你零基础的同学就学完C语言知识点过完了
《看聊天记录都学不会C语言?太菜了吧(1)我在大佬群里问基础问题没人理?——学习建议

《看聊天记录都学不会C语言?太菜了吧(2)我说编程很容易你们不服?——Devc使用及HelloWorld

《看聊天记录都学不会C语言?太菜了吧(3)代码都在谈恋爱难道你不知道?——头文件及标点

《看聊天记录都学不会C语言?太菜了吧(4)原来我早就会编程了——变量

《看聊天记录都学不会C语言?太菜了吧(5)打了一把游戏我学会了一个编程知识?——变量输出及占位符

《看聊天记录都学不会C语言?太菜了吧(6)以前跟我说编程很难的给我站出来——浮点数及变量运算

《看聊天记录都学不会C语言?太菜了吧(7)下一篇文章告诉你牛郎是谁——if逻辑判断

《看聊天记录都学不会C语言?太菜了吧》(8)牛郎和织女竟有一个孩子?——多条件if

《看聊天记录都学不会C语言?太菜了吧》(9)老公饼真的有老公送?——字符数组

《看聊天记录都学不会C语言?太菜了吧》(10)程序媛聪明绝顶了——逻辑与运算符


作者简介

作者名:1_bit
简介:CSDN博客专家,2020年博客之星TOP5,蓝桥签约作者
博客地址:https://i1bit.blog.csdn.net


🐰小C:这一节我们继续上一节没讲完的内容,如何判断用户输入的帐号密码是否正确。

👸小媛:你不说我都忘记上一节将了这个事呢。你上节课跑题了。 😡

🐰小C:这可没有,上一节的内容可是这一节的基础。

👸小媛:行行行,你说的都对。 😷

🐰小C:哈哈哈,我现在告诉你,我们可以使用一个叫做scanf的函数接收用户输入的值。你可以看以下的程序:

#include<stdio.h>
void main(){
   
	int a=0;
	scanf("%d",&a);
	printf("%d",a);
}

🐰小C:你看上面的程序。首先创建了一个变量a,赋值为0,随后使用scanf接收输入的值再次存入到a,这样就对a进行改变了。

👸小媛:那%d的意思就是表示输入的是一个整数吗?

🐰小C:是的,scanf圆括号中的"%d"表示将会接收到一个整数,但是这里使用%d取决的是后面的变量a,因为我们需要存到变量a之中。

👸小媛:那&是啥意思?

🐰小C:&是取地址的意思,&a表示取到a的地址。

👸小媛:那我懂了,你的意思就是圆括号的第一个内容是表示占位符接收什么值,然后逗号进行分隔存入的变量,&a就表示取到这个变量的地址。那么我们就可以通俗的说接收一个值,然后找到a的地址在哪,就把这个值放进去,就跟快递员看地址进行派件一样。 😎

🐰小C:哇,可以呀,解释的不错。其实变量a在电脑中有一个内存地址对对应的值进行存储,a就是一个标识代号,间接指代了这个地址,实际存储内容还是在这个地址之中,所以我们在进行用户输入值的时候需要取到这个地址才可以存进去。

👸小媛:懂了,那我去运行一下…

👸小媛:可以了,不错,继续接着讲吧。

🐰小C:停停停,我还以为开窍了可以一步到位学会上节课没学的东西呢。

👸小媛:我哪有那么聪明。

🐰小C:哈哈哈,那我告诉你,假设你输入的帐号存入到一个字符数组中,然后再把密码存入到一个字符数组中进行判断不就好了?

👸小媛:对哟,我试试…不对,怎么样创建一个空数组? 😭

🐰小C:哈哈哈,那我还是一步步告诉你吧。首先呢我们使用方括号[]就可以说是数组的标志了,在方括号内输入数字就是这个数组的长度。例如以下示例就是创建了一个长度为20的数组。

char a[20];

👸小媛:停,我懂了。那么使用scanf就可以这样接收输入的值对吧,就是这样写,输出就正常输出。 😤

#include<stdio.h>
void main(){
   
	char a[20];
	scanf("%s",&a);
	printf("%s",a);
}

🐰小C:唉哟,可以呀,你运行以下吧,这是对的。

👸小媛:成功了,哈哈哈。

🐰小C:简单吧,那你知道怎么样判断输入的帐号密码了吗?

👸小媛:好像有点思路了,是不是先创建两个字符数组,然后使用两个scanf进行接收输入值?

🐰小C:其实使用一个scanf就可以了。scanf可以同时接收两个内容,你可以看一下下面这个代码。

#include<stdio.h>
void main(){
   
	char a[20],b[20];
	scanf("%s %s",&a,&b);
}

👸小媛:好像跟printf差不多呢,占位符也是使用了两个。

🐰小C:对的上面这个代码在scanf中使用了两个%s使用了空格隔开,在输入值的时候也需要使用空格隔开两个值,这两个值分别存入a和b变量之中,第一个输入的就存入变量a,第二个值就存入在变量b之中。

👸小媛:那我不使用空格使用其它的符号进行间隔呢?

🐰小C:那你就需要使用你隔开的那个符号进行间隔。

👸小媛:那我懂了,接下来我就对这两个值进行判断就好了对吧?

🐰小C:是的,接下来的步骤懂了吧?

👸小媛:懂了,接下来直接对这两个变量进行判断就可以了对吧?

🐰小C:是的,你可以试试。

👸小媛:是不是这样。 😋

#include<stdio.h>
void main(){
   
	char a[20],b[20];
	scanf("%s %s",&a,&b);
	if(strcmp(a, "xiaoyuan") == 0 && strcmp(b, "a123456") == 0 ){
   
		printf("密码正确\n");
	}else{
   
		printf("密码错误\n"); 
	}
}

🐰小C:唉哟,你怎么懂使用strcmp进行对比的?

👸小媛:我搜出来的呀,我听说程序员有一个技能就是惯用搜索引擎进行信息搜索,所以我就搜出来内容了。 😜

🐰小C:可以可以,真不戳。你现在告诉我你整个编写逻辑吧,教我怎么写出来的。

👸小媛:简单,首先创建两个字符数组用来接收我输入的值,然后我觉得最重要的使用strcmp这个函数对字符串数据进行对比。我搜索到strcmp作用就是在strcmp函数的圆括号中传入两个内容,分别用逗号进行隔开,如果相等,那么它就会返回一个0,所以只需要判断strcmp是否返回0就可以了。是这样的吧?

🐰小C:不错,我继续听着。

👸小媛:哈哈哈,好的,接下来只需要做一件事,就是上一节说的,我们有两个条件,一个是对比变量a是否跟我们设置的密码相等,还有一个就是判断变量b是否跟我们的变量相等,这样就是两个条件,这两个条件如下:

strcmp(a, "xiaoyuan") == 0

👸小媛:还有一个。

strcmp(b, "a123456") == 0

👸小媛:那么这个时候只需要使用逻辑与,上一节课所说的运算符连接起来,放在if的条件中,这样只有两个条件都对,那么整个if的条件才正确,这样就可以了。

if(strcmp(a, "xiaoyuan") == 0 && strcmp(b, "a123456") == 0 ){
   
		printf("密码正确\n");
	}

👸小媛:如果想显示密码错误,只需要在后面加一个else就可以了,所以完整的这部分代码就是这样。

🐰小C:我觉得我可以不用说了,你继续说完吧。

👸小媛:那是,我可是小天才开窍了,聪明绝顶。 😜

🐰小C:程序媛有一个梗,就是聪明绝顶。

👸小媛:是嘛,那我还是挺匆忙绝顶的,我继续讲了。这个时候在if语句判断正确后输出显示密码正确就可以了。

if(strcmp(a, "xiaoyuan") == 0 && strcmp(b, "a123456") == 0 ){
   
	printf("密码正确\n");
}else{
   
	printf("密码错误\n"); 
}

🐰小C:不错不错,那你运行过了吗?

👸小媛:当然,程序是正确的,下面就是结果。

🐰小C:哈哈哈,看来今天没啥可以教你的了,明天我们在继续吧。

👸小媛:我自己再练习一下。

:


转载:https://blog.csdn.net/A757291228/article/details/115215686
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场