C语言入门大白话指导——第三章 简单基础(1)一些简单的语句和函数

printf()函数

printf()函数是C语言中非常重要的输出函数,它可以将指定的文本和变量输出到控制台窗口。例如,在以下程序中,我们将使用printf()函数输出“Hello, World!”:

#include <stdio.h>

int main()
{
    printf("Hello, World!");

    return 0;
}

运行此程序后,控制台窗口将显示:Hello, World!
printf() 函数的第一个参数是一个字符串常量,称为格式控制字符串,用来指定输出的格式。格式控制字符串中可以包含普通文本和格式说明符。格式说明符以 % 开始,后跟一个或多个字符,表示输出的值应该按照什么样的格式显示。
例如,%d 表示输出十进制整数,%f 表示输出浮点数,%s 表示输出字符串等。格式说明符还可以包含一些可选的修饰符,用于指定输出的精度、宽度和对齐方式等。
printf() 函数的剩余参数是要输出的值。这些值根据格式说明符的类型进行转换,并按指定的格式输出到控制台上。
printf() 函数返回成功输出的字符数,如果出现错误则返回负数。
格式说明符我将在下一篇文章中进行简要概述。

scanf()函数

scanf()函数是C语言中另一个非常重要的输入函数,它允许用户在控制台窗口输入数据。以下是一个简单的例子,演示如何使用scanf()函数读取用户输入的整数并打印出来:

#include <stdio.h>

int main()
{
    int num;

    printf("请输入一个整数:");
    scanf("%d", &num);
    printf("您输入的整数是:%d", num);

    return 0;
}

以上代码将提示用户输入一个整数,然后使用scanf()函数将其读取并存储在变量num中。最后,程序将使用printf()函数打印出该整数。
scanf() 函数的第一个参数也是一个格式控制字符串,用来指定要读取的数据类型和格式。格式控制字符串中可以包含普通文本和格式说明符,与 printf() 函数类似。不同之处在于,scanf() 函数需要根据格式说明符提供的类型,将输入数据转换成相应的类型并保存到指定的变量中。
scanf() 函数剩余的参数是指向要保存输入数据的变量的指针。这些变量的地址需要按照格式控制字符串中指定的顺序传递给 scanf() 函数。
scanf() 函数返回成功读取的值的数量,如果出现错误则返回负数。
需要注意的是,在使用 scanf() 函数时,必须确保输入的数据类型和格式与格式控制字符串匹配。否则可能会导致意外的结果或程序崩溃。
另外,由于 scanf() 函数会从缓冲区(缓冲区是计算机内存中的一段区域,用于临时存储数据。在输入和输出操作中,缓冲区扮演着重要的角色。)读取输入数据,因此在读取字符串时,需要特别处理换行符等多余的字符。

if/else 语句

if/else 语句的语法如下:

if (condition) {
    // 如果 condition 为真,则执行这里的代码块
} else {
    // 如果 condition 为假,则执行这里的代码块
}

或者可以省略 else 语句,只使用 if 语句:

if (condition) {
    // 如果 condition 为真,则执行这里的代码块
}

condition 是一个表达式,它的值为真或假。如果 condition 的值为真,则执行 if 语句块中的代码;否则,执行 else 语句块中的代码(如果有)。注意,无论 condition 的值是什么,都会执行其中一个代码块,并跳过另一个代码块。

应用

if/else 语句通常用于根据某个条件来执行不同的代码逻辑。例如,可以使用它来实现以下功能:

根据用户输入的数字判断其正负性,并输出相应的提示信息。

int num;
printf("请输入一个整数:");
scanf("%d", &num);

if (num > 0) {
    printf("您输入的是正数。\n");
} else if (num < 0) {
    printf("您输入的是负数。\n");
} else {
    printf("您输入的是零。\n");
}

根据用户输入的成绩等级,输出相应的评语。

char grade;
printf("请输入成绩等级(A/B/C/D/F):");
scanf("%c", &grade);

if (grade == 'A' || grade == 'a') {
    printf("优秀!\n");
} else if (grade == 'B' || grade == 'b') {
    printf("良好!\n");
} else if (grade == 'C' || grade == 'c') {
    printf("一般!\n");
} else if (grade == 'D' || grade == 'd') {
    printf("及格!\n");
} else if (grade == 'F' || grade == 'f') {
    printf("不及格!\n");
} else {
    printf("无效的成绩等级。\n");
}

判断两个数字的大小关系,并输出较大的数字。

int a, b;
printf("请输入两个整数,以空格分隔:");
scanf("%d %d", &a, &b);

if (a > b) {
    printf("%d 大于 %d。\n", a, b

for/while循环

C语言中的for循环和while循环是两种常用的控制流结构,它们可以重复执行一段程序代码,直到满足退出条件为止。
for循环的语法结构如下:

for (初始化表达式; 条件表达式; 更新表达式)
{
    循环体语句;
}

其中,初始化表达式只会在循环开始前执行一次,通常用于初始化计数器变量;条件表达式在每次循环开始前都会被计算,如果结果为真则继续循环,否则跳出循环;更新表达式在每次循环结束后执行,通常用于更新计数器变量。循环体语句是需要重复执行的程序代码。
例如,下面的代码使用for循环输出从1到10的整数:

for (int i = 1; i <= 10; i++)
{
    printf("%d ", i);
}

while循环的语法结构如下:

while (条件表达式)
{
    循环体语句;
}

其中,条件表达式在每次循环开始前都会被计算,如果结果为真则继续循环,否则跳出循环。
例如,下面的代码使用while循环输出从1到10的整数:

int i = 1;
while (i <= 10)
{
    printf("%d ", i);
    i++;
}

在使用for和while循环时需要注意以下几点限制:

  1. 初始化表达式、条件表达式和更新表达式中不能出现声明变量的语句,而必须是已经声明过的变量或常量。
  2. 在循环体中必须要有一种方式能够让条件表达式变为false,否则程序将陷入无限循环。
  3. 循环内部可以使用break语句和continue语句来控制循环的执行流程。但过多的嵌套循环和复杂的break/continue语句会使程序难以维护和调试。
  4. 在处理数组时,要特别注意避免数组(数组简单来说,就是一个有序的、连续的、相同类型的数据集合,后面会具体阐述。)越界的问题,否则可能导致程序崩溃或产生不可预知的结果。

break语句和continue语句

在C语言中,break语句和continue语句是两种控制流语句,它们可以在循环结构中改变程序的执行流程,从而实现更加灵活的控制。

  1. break语句
    break语句用于跳出当前所在的循环语句(for、while、do-while),在循环体内满足某个条件时可以提前结束循环。举一个简单的例子,下面的代码使用for循环输出从1开始的正整数,但是当i等于5时就会跳出循环:
for (int i = 1; i <= 10; i++)
{
    if (i == 5)
    {
        break;
    }
    printf("%d ", i);
}

上面的代码中,在i等于5时,break语句被执行,循环将被强制跳出,因此只会输出1、2、3、4这四个数字。
需要注意的是,break语句只能跳出离它最近的一层循环,如果嵌套循环中有多层循环,那么只能跳出最内层循环。此外,在没有循环的情况下使用break语句是非法的,会导致编译错误。
2. continue语句
continue语句用于跳过本次循环中剩余的语句,直接进入下一次循环,即在循环体内满足某个条件时可以提前结束本次循环。举一个简单的例子,下面的代码使用for循环输出从1到10之间所有的奇数:

for (int i = 1; i <= 10; i++)
{
    if (i % 2 == 0)
    {
        continue;
    }
    printf("%d ", i);
}

上面的代码中,在i为偶数时,continue语句被执行,当前循环被跳过,程序直接进入下一次循环。因此只会输出1、3、5、7、9这五个数字。
需要注意的是,continue语句也只能影响最近的一层循环,如果嵌套循环中有多层循环,那么只能影响最内层循环。同样地,在没有循环的情况下使用continue语句也是非法的,会导致编译错误。
综上所述,break和continue语句是C语言中常用的控制流语句,它们可以使程序的执行流程更加灵活。但是,在实际应用中必须要注意避免过度使用break和continue语句,以及同时使用多个嵌套。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值