C语言及算法设计课程实验二:数据类型、运算符和简单的输入输出(下)

简介: C语言及算法设计课程实验二:数据类型、运算符和简单的输入输出(下)

3.3、数据类型、运算符和简单的输入输出实验题目3:输入以下程序:


输入以下程序:


#include <stdio.h>  
int main()
{
  int i, j, m, n;
  i = 8;
  j = 10;
  m = ++i; n = j ++;
  printf("%d, %d, %d, %d\n", i, j, m, n);
  return 0;
}


① 编译和运行程序,注意i,j,m,n各变量的值。

运行以上程序,输出如下所示

cf3ed468494148fd85554cf5e83fb191.png


++i是先将变量自身加一,然后赋值给变量m。

j ++是变量先赋值给变量n, 然后在自身加一。

所以m=9, n=10

② 将第6,7行改为

m = i++;
n = ++j;


再编译和运行运行以上程序,输出如下所示


32a30f27692849948215edc5e0e10554.png


i ++是变量先赋值给变量m, 然后在自身加一。

++j是先将变量自身加一,然后赋值给变量m。

所以m=8, n=11

  • 3-6的分析情况也1-2的分析类似。

③ 程序改为


#include <stdio.h>
int main()
{
  int i, j;
  i = 8;
  j = 10;
  printf("%d,%d\n", i++, j ++);
}


再编译和运行运行以上程序,输出如下所示

43d0152d88794db6858a61586a23cf2a.png


④ 在③的基础上,将printf语句改为

printf("%d, %d\n", ++i, ++j);

再编译和运行运行以上程序,输出如下所示


bbdfbd21cc904c3295f92cc3ff0df2db.png


⑤ 再将printf语句改为

printf("%d, %d, %d, %d\n", i, j, i++, j++);


再编译和运行运行以上程序,输出如下所示

a1f28cc0f8e549a1bf7cd4e3b0788370.png

⑥ 程序改为:

#include <stdio.h>
int main()
{
  int i, j, m = 0, n = 0;
  i = 8;
  j = 10;
  m += i ++; n -= --j;
  printf("i= %d,j= %d,m= %d,n= %d\n", i, j, m, n);
  return 0;
}

再编译和运行运行以上程序,输出如下所示


image.png


3.4、数据类型、运算符和简单的输入输出实验题目4:程序设计题:假如我国国民生产总值的年增长率为9%,计算10年后我国国民生产总值与现在相比增长多少百分比。编写程序。


(4)假如我国国民生产总值的年增长率为9%,计算10年后我国国民生产总值与现在相比增长多少百分比。编写程序.(第3章第1题)

计算公式为:



92165bac66544397a9d58af8f719e8db.png


r为年增长率,n为年数,p为与现在相比的倍数。

  • ① 输入自己编好的程序,编译并运行,分析运行结果。


3.4.1、编写程序


编写程序如下

3.4.1.1、for 循环方式计算百分比如下所示

  //for 循环方式计算
  for (int i = 0; i < n; i++)
  {
    p = p * (1 + r);
  }
  printf("%.3lf\n", p);

3.4.1.2、调用math函数方式计算百分比如下所示

  // 调用math函数方式
  p = 1.0;
  r = 0.09;
  n = 10;
  p = pow(1 + r, n);
  printf("%.3lf\n", p);

3.4.1.3、for 循环方式和调用math函数方式计算百分比形成综合程序如下所示

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
  system("color 3E");
  double p, r;
  int n;
  p = 1.0;
  r = 0.09;
  n = 10;
  // for 循环方式
  for (int i = 0; i < n; i++)
  {
    p = p * (1 + r);
  }
  printf("%.3lf\n", p);
  // 调用math函数方式
  p = 1.0;
  r = 0.09;
  n = 10;
  p = pow(1 + r, n);
  printf("%.3lf\n", p);
  system("pause");
  return 0;
}

程序编译结果如下所示


47eed6b3497546a8bd4168fd4996972d.png


  • ② 年增长率不在程序中指定,改用scanf函数语句输入,分别输入7%,8%,10%。观察结果。


3.4.2、年利率改为输入方式

程序如下所示


  p = 1.0;
  //r = 0.09;
  n = 10;
  scanf("%lf", &r);
  // for 循环方式
  for (int i = 0; i < n; i++)
  {
    p = p * (1 + r);
  }
  printf("%.3lf\n\n", p);
  // 调用math函数方式
  p = 1.0;
  //r = 0.09;
  n = 10;
  scanf("%lf", &r);
  p = pow(1 + r, n);
  printf("%.3lf\n", p);

分别输入7%,8%,10%运行结果如下所示

7%

9f1690cbb3874e75ac7ba0dc6ce75877.png


2. 8%

e853ceab71ea4893a382a13d8be3f5cc.png


  1. 10%


e958d383cb24459ebd94216174fe3672.png


3.4.3、在程序中增加printf函数语句


③ 在程序中增加printf函数语句,用来提示输入什么数据,说明输出的是什么数据。

增添printf语句如下


  printf("输入年利率: ");
  printf("\n国民生产总值与现在相比增长%.3lf百分比\n\n", p);

程序运行结果如下所示



7662d73a1c7f4a1199f8838f922f3f9c.png


四、实验总结


760f916c77b849938c8a2c1d6aea5b44.jpg


本次通过C语言及算法设计课程实验二:数据类型、运算符和简单的输入输出。掌握了如下几点。


(1) 掌握c语言数据类型,了解字符型数据和整型数据的内在关系。

(2) 掌握对各种数值型数据的正确输入方法。

(3) 学会使用C的有关算术运算符,以及包含这些运算符的表达式,特别是自加( + + )和自减(- -)运算符的使用。

(4) 学会编写和运行简单的应用程序。

(5) 进一步熟悉C程序的编辑、编译、连接和运行的过程。


五、实验完整程序


7507c9d209254dbeab98f89bc9a83673.jpg


5.1、数据类型、运算符和简单的输入输出实验题目1:输入并运行教材第3章第4题给出的程序的完整程序


完整程序如下所示

#include <stdio.h>
int main()
{
  /*char cl, c2;*/
  int cl, c2;
  cl = 97;
  c2 = 98;
  printf("%c %c\n", cl, c2);
  printf("%d %d\n", cl, c2);
  return 0;
}


5.2、数据类型、运算符和简单的输入输出实验题目2:输入第3章第5题的程序的完整程序

完整程序如下所示

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
  int a, b;
  float x, y;
  char c1, c2;
  scanf("a=%d b=%d", &a, &b);
  scanf("%f %e", &x, &y);
  scanf("%c%c", &c1, &c2);
  printf("a=%d,b=%d,x=%f,y=%f,c1=%c,c2=%c\n", a, b, x, y, c1, c2);
  return 0;
}

5.3、数据类型、运算符和简单的输入输出实验题目3:输入以下程序的完整程序

完整程序如下所示

#include <stdio.h>  
int main()
{
  //int i, j, m, n;
  //i = 8;
  //j = 10;
  ///*m = ++i; n = j++;*/
  //m = i++;
  //n = ++j;
  //printf("%d, %d, %d, %d\n", i, j, m, n);
  /*int i, j;
  i = 8;
  j = 10;*/
  /*printf("%d,%d\n", i++, j++);*/
  /*printf("%d, %d\n", ++i, ++j);*/
  /*printf("%d, %d, %d, %d\n", i, j, i++, j++);*/
  int i, j, m = 0, n = 0;
  i = 8;
  j = 10;
  m += i++; n -= --j;
  printf("i= %d,j= %d,m= %d,n= %d\n", i, j, m, n);
  return 0;
}

5.4、数据类型、运算符和简单的输入输出实验题目4:程序设计题:假如我国国民生产总值的年增长率为9%,计算10年后我国国民生产总值与现在相比增长多少百分比。编写程序的完整程序

完整程序如下所示

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
  system("color 3E");
  double p, r;
  int n;
  p = 1.0;
  //r = 0.09;
  n = 10;
  printf("输入年利率: ");
  scanf("%lf", &r);
  // for 循环方式
  for (int i = 0; i < n; i++)
  {
    p = p * (1 + r);
  }
  printf("\n国民生产总值与现在相比增长%.3lf百分比\n\n", p);
  // 调用math函数方式
  p = 1.0;
  //r = 0.09;
  n = 10;
  printf("输入年利率: ");
  scanf("%lf", &r);
  p = pow(1 + r, n);
  printf("\n国民生产总值与现在相比增长%.3lf百分比\n\n", p);
  system("pause");
  return 0;
}

27fa5242a42b4af3b3d57b2e5ba43241.jpg

相关文章
|
6天前
|
C语言
c语言运算符
C的运算符有以下几种: 算术运算符:+、-、*、/、% 结合方向自左向右 关系运算符:>、<、==、>=、<=、!= 逻辑运算符:!、&&、|| 位运算符<<、>>、~、|、^、& 赋值运算符:=及符号扩展赋值运算符(+=、-=、*=、/=) 条件运算符:? : 逗号运算符:, 指针运算符:*、& 求字节运算符:sizeof 强制类型转换运算符:((类型)) 分量运算符:.、-> 下标运算符:[]
14 4
|
18天前
|
存储 算法 数据管理
C语言算法复杂度
【10月更文挑战第20天】
C语言算法复杂度
|
13天前
|
机器学习/深度学习 人工智能 自然语言处理
【EMNLP2024】基于多轮课程学习的大语言模型蒸馏算法 TAPIR
阿里云人工智能平台 PAI 与复旦大学王鹏教授团队合作,在自然语言处理顶级会议 EMNLP 2024 上发表论文《Distilling Instruction-following Abilities of Large Language Models with Task-aware Curriculum Planning》。
|
27天前
|
存储 C语言
【c语言】数据类型和变量
本文介绍了C语言中的数据类型和变量。数据类型分为内置类型和自定义类型,内置类型包括字符型、整型、浮点型等,每种类型有不同的内存大小和取值范围。变量分为全局变量和局部变量,它们在内存中的存储位置也有所不同,分别位于静态区和栈区。通过示例代码和图解,详细阐述了这些概念及其应用。
36 1
|
1月前
|
算法 搜索推荐 Java
java 后端 使用 Graphics2D 制作海报,画echarts图,带工具类,各种细节:如头像切割成圆形,文字换行算法(完美实验success),解决画上文字、图片后不清晰问题
这篇文章介绍了如何使用Java后端技术,结合Graphics2D和Echarts等工具,生成包含个性化信息和图表的海报,并提供了详细的代码实现和GitHub项目链接。
104 0
java 后端 使用 Graphics2D 制作海报,画echarts图,带工具类,各种细节:如头像切割成圆形,文字换行算法(完美实验success),解决画上文字、图片后不清晰问题
|
1月前
|
存储 Java C语言
【一步一步了解Java系列】:了解Java与C语言的运算符的“大同小异”
【一步一步了解Java系列】:了解Java与C语言的运算符的“大同小异”
39 3
|
1月前
|
C语言
C语言条件运算符详解
C语言条件运算符,也称为三元运算符,是一种简化if-else语句的表达式,形式为:条件?表达式1:表达式2。当条件为真时,计算并返回表达式1的值;否则计算并返回表达式2的值。它可用于快速实现简单的条件分支逻辑。
|
1月前
|
C语言
3.1C语言基本数据类型
在C语言中,初始化变量是指为变量设定初始值,通常在声明时直接完成,例如 `int cows=32;`。应注意避免在同一语句中混合初始化与未初始化的变量,如 `int dogs, cats=94;` 这样的写法容易引起误解。此外,整型常量如21、32等在C语言中被视为int类型,但非常大的整数则不然,且带有小数点或指数的数值不属于整型常量。
27 9
|
1月前
|
存储 算法 C语言
【C语言】二分查找算法
【C语言】二分查找算法
|
1月前
|
存储 C语言
初识C语言:常量与变量中寻找数据类型
初识C语言:常量与变量中寻找数据类型