在学习C语言的初阶阶段,掌握选择、循环语句和多组输入是至关重要的。这些基础知识将为我们打下坚实的编程基础,帮助我们更好地理解和运用C语言。在本篇博客中,我将重点介绍这些内容,希望能为初学者提供一些帮助和指导。让我们一起来探索C语言编程的奥秘吧!
一、选择语句和循环语句
1.选择语句
选择语句就是我们常提到的if else 语句,它的使用格式通常如下:
if(value_1 > 0)//判断条件一:如果value_1大于0
{
printf("这个数是正数");
}
else if(value_1 == 0)//判断条件二:如果value_1等于0
{
printf("这个数既不是正数也不是负数");
}
else if(value_1 < 0)//判断条件三:如果value_1小于0
{
printf("这个数是负数");
}
但是要避免滥用,以后会有Switch case语句,设计多个选择的时候可以使用,感兴趣的同学可以先行了解一下,如果使用不当,比如有些同学面相结果编程时可能会是如下情况:
2.循环语句
常见的循环有两种:for循环和whie循环
循环语句通常包含三个要素,它们是:
1. 循环变量(循环控制变量):循环变量是在循环过程中用来控制循环执行次数的变量。它通常是一个整数变量,每次循环迭代时都会被更新。
2. 循环条件:循环条件是一个逻辑表达式,用来判断循环是否继续执行下一次迭代。只有当循环条件为真时,循环才会继续执行;否则循环结束。
3. 循环体:循环体是循环中需要重复执行的一段代码块。循环体中包含了需要重复执行的操作或语句。
这三个要素共同构成了一个完整的循环结构,确保了循环能够按照预期的次数执行。
如果丢失了变量将无法正常启动,如果丢失了循环条件一般会陷入死循环,如果缺失循环体那么,便是一个空循环。示例程序如下:
以下是一个简单的 while 循环示例,该循环会输出从 1 到 5 的数字:
int i = 1;
while (i <= 5) {
printf("%d ", i);
i++;
}
其中i是循环变量,小括号中i小于等于5是循环条件,只要条件符合便会进入循环,大括号中的内容就是循环体,i++是i的值加一循环变量的改变,如果缺少这一语句那么i的值将不会改变,循环条件将会一直成立,整个程序将会卡在这个循环里出不去,结果十分危险。
以下是一个简单的 for 循环示例,也会输出从 1 到 5 的数字:
for (int i = 1; i <= 5; i++) {
printf("%d ", i);
}
for循环中,同样的循环变量和循环体,只是不同的是,for循环中的循环变量的定义和改变放在开头的小括号中,分别用分号隔开,当然也可以省略内容如下:
int i = 1
for (; i <= 5; i++) {
printf("%d ", i);
}
//*****************************
for (int i = 1; i <= 5; ) {
printf("%d ", i);
i++;
}
//*****************************
for (int i = 1;; i++) {
printf("%d ", i);
if(i == 5)
break;
}
其中第三个把判断条件去了,但是判断条件丢失 ,但是省略了循环条件部分,因此进入条件是一定会进入循环体的。循环体内部有一个条件判断语句 if(i == 5) break;
,当 i
的值等于 5 时会执行 break;
语句,跳出循环。如果这行代码丢失,那么程序将会陷入死循环。break可能有同学有些陌生,那么我们现在就开始初步介绍它在循环语句和选择语句中的应用。
break
是在编程语言中用于跳出循环或选择语句的关键字。在循环语句中,
break
语句用于提前终止循环,即使循环条件仍然为真。当break
语句执行时,程序会立即跳出当前循环,继续执行循环后的代码。这在需要在某些条件下提前结束循环时非常有用。
二、Scanf和多组输入
Scanf:
scanf函数是C语言中用于从标准输入(通常是键盘)中读取数据的函数。它的基本用法如下:
#include <stdio.h>
int main() {
int num;
printf("请输入一个整数:");
scanf("%d", &num);
printf("您输入的整数是:%d\n", num);
return 0;
}
在上面的代码中,我们首先包含了stdio.h标准输入输出头文件,然后声明了一个整型变量num。通过printf函数输出提示信息,然后使用scanf函数读取用户输入的整数,并将其存储在num变量中。最后,我们再次使用printf函数将用户输入的整数进行输出。
在scanf函数中,"%d"表示读取一个整数,"&num"表示将读取的整数存储在num变量中。需要注意的是,scanf函数的格式字符串中的格式控制符必须与要读取的数据类型相匹配,否则会导致错误。
总结来说,scanf函数是一个非常常用的函数,可以帮助我们从标准输入中读取各种类型的数据,是C语言中输入数据的重要工具。
下列示例来源于:scanf - C++ Reference (cplusplus.com)
这个网站对于关键字的学习非常有帮助,遇到问题可以随时搜索查阅,十分方便。
/* scanf example */
#include <stdio.h>
int main ()
{
char str [80];
int i;
printf ("Enter your family name: ");
scanf ("%79s",str);
printf ("Enter your age: ");
scanf ("%d",&i);
printf ("Mr. %s , %d years old.\n",str,i);
printf ("Enter a hexadecimal number: ");
scanf ("%x",&i);
printf ("You have entered %#x (%d).\n",i,i);
return 0;
}
多组输入代码实现:
int date = 0;
while(scanf("%d", &date) != EOF) {
// 代码块
}
while(scanf("%d", &date) == 1) {
// 代码块
}
这段代码包含两个 while 循环,让我们逐个解读:
- 第一个 while 循环:这个循环会不断地从标准输入中读取整数,并将读取的整数存储在变量
date
中。循环会一直执行,直到scanf
函数返回的值不等于EOF
(文件结束符),表示输入结束或者出现错误。在循环体内的代码块中可以对输入的整数进行处理。 - 第二个 while 循环:这个循环也会从标准输入中读取整数,并将读取的整数存储在变量
date
中。循环会一直执行,直到scanf
函数成功读取一个整数(返回值为 1)。在循环体内的代码块中可以对输入的整数进行处理。
scanf调用时未正确输入则返回值为EOF = end of life;
在学习C语言的初阶阶段,掌握选择、循环语句和多组输入是至关重要的。这些基础知识将为我们打下坚实的编程基础,帮助我们更好地理解和运用C语言。在本篇博客中,我重点介绍了选择语句、循环语句和多组输入的重要性和基本用法。希望这些内容能为初学者提供一些帮助和指导,让大家更好地探索C语言编程的奥秘。通过不断练习和实践,相信大家将能够更熟练地运用这些知识,为自己的编程之路奠定坚实的基础。愿大家在学习和探索的过程中不断进步,享受编程带来的乐趣和成就!