复习课5 遍写一个简单的求和程序
  uUWKQE7Avyk4 2023年11月02日 43 0

一.导入

上节课我们介绍了变量、常量、局部变量、全局变量的特性,接下来就让我们来编写一个简单的求和程序

二.程序要求,程序需要有三个整型变量:num1 num2 sum ,最后的求出的和保存在变量sum中,最后输出sum的值给用户(注:num1与num2数值自定)

三.分析程序

我们看题目就可以知道我们需要先创建三个int(整型)的变量,我们可以使用以下代码来创建变量:

int num1 = 10;
int num2 = 10;
int sum;

接下来我们需要将两个变量相加的值赋给变量sum,代码如下:

sum = num1 + num2;

最后程序要求我们输出变量sum的值,我们到目前为止输出函数只讲到一个:printf(),代码如下:

printf("sum=%d\n",sum);

四.示例代码:

#include<stdio.h>
int main(void){
int num1 = 10;
int num2 = 10;
int sum = num1 + num2;
printf("sum=%d\n",sum);
return 0;
}

我们可以用自己的IDE进行编译调试

注意⚠️:如果是使用VS的朋友可能按下F5后程序会一闪而过,解决这个问题的方法是在return 0;语句的前面添加 getchar(); 语句即可,这个语句可以暂时理解为暂停程序执行的语句

程序运行结果如下:

复习课5 遍写一个简单的求和程序_函数

五.程序进阶

上述程序中num1与num2的值都是固定的,如果需要修改某一个变量的值就需要在代码中修改后重新编译运行,不仅很麻烦而且也没有实现人机交互,那么我们是否可以让用户来输入呢?答案是肯定的

这里我们引入一个新的函数:scanf()

这个函数我们可以将其理解为接受用户输入的函数,那么我们该怎么使用它呢?以下是示例代码:

int var = 0;   //初始化变量var
scanf("%d",&var);  //将用户输入的值赋给变量var

这里的 & 号不能省略,我们将其称为取地址符,其作用是取得变量所在的内存地址,所以我们可以将代码修改成如下形式:

#include<stdio.h>
int main(void){
int num1 = 0;
int num2 = 0;
printf("Please enter the first number:");
scanf("%d",&num1);
printf("\nPlease enter the second number:");
scanf("%d",&num2);
int sum = num1+num2;
printf("\nsum=%d\n",sum);
getchar();
return 0;
}

程序在运行后变量num1与num2的值全被初始化成了0,随后程序利用scanf()函数分别获取用户的输入,并将用户输入的值赋值给这两个变量,将这两个变量相加的值赋值给sum,最后输出sum的值,程序运行效果如下:

复习课5 遍写一个简单的求和程序_函数_02

注意⚠️:如果是使用VS的朋友,可能出现会报错,错误信息如下:

'scanf': This function or variable may be unsafe.Consider using scanf_s instead.

错误的大意为:scanf()这个函数或者变量可能不安全,建议使用scanf_s()函数

我们只需要在代码的第一行加上如下代码即可屏蔽该警告:

#define _CRT_SECURE_NO_WARNINGS 1

还有一种解决方案是将项目内的所有scanf()函数全部替换成scanf_s()函数,这里的scanf_s()函数是微软提供给开发者的scanf()函数的改版,其作用就是可以避免scanf()函数所带来的安全问题,但是不推荐这样做,因为scanf_s()仅限于VS编译器中使用,当我们使用非VS编译器来编译带有scanf_s()函数代码的时候可能会报错,如我macOS系统上用的AppleClang编译器就会无法完成编译,如图所示:

复习课5 遍写一个简单的求和程序_C语言_03

                                                                                                                             2023/9/16

                                                                                                                                王起舟

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读