[WF]C语言入门学习3

目录

一、变量

1、auto变量

2、static变量

3、register变量

4、extern变量

二、学习中的记录举例

1、求平均值

2、本利和的计算

3、时间计算

(1).未运用if语句

(2).使用if语句


一、变量

1、auto变量

auto类型的变量也称作自动型变量,自动型变量是在动态存储去内分配单元,函数返回的时候,编译系统会释放这些存储单元,就是说当函数调用结束后,自动类型变量就会不复存在。

例1、auto变量两次+1结果

 #include <stdio.h>

void AddOne()
{
	auto int ilnt=1;
	ilnt=ilnt+1;
	printf("%d\n",ilnt);
 } 
 int main()
 {
 	printf("第一次调用:");
 	AddOne();
 	printf("第二次调用:");
	AddOne();
	return 0; 	 
 }

在AddOne函数中定义一个auto型的整型变量ilnt,然后会对变量执行+1的操作。之后两次调用AddOne函数。

注意:关键字auto可以省略,不特别指定的情况下,局部变量的存储方式默认为auto型。

2、static变量

static 数据类型用来给变量创建永久存储空间。静态变量在函数间调用时保持他们的值不变。

例2、使用static变量记录点击量

#include <stdio.h>

void click()
{
	static int sum = 0;
	sum = sum + 1;
	printf("此时的点击量:%d\n",sum);
 } 
 int main()
 {
 	click();
 	click();
 	click();
 	click();
 	click();
 	return 0;
 }

3、register变量

  register修饰符暗示编译程序相应的变量将将被频繁使用。

例3、使用rigister变量修饰整型变量

#include <stdio.h>

int main()
{
	register int ilnt;
	ilnt = 100;
	printf("%d\n",ilnt);
	return 0;
 } 

4、extern变量

extern变量是全局变量的扩充。 

#include <stdio.h>

int main()
{
	extern int iExtern;
	printf("%d\n",iExtern);
	return 0;
 } 
 #include <stdio.h>
 
 int iExtern=100;

---------------------------------------------------------------------------------------------------------------------------------

二、学习中的记录举例

1、求平均值

#include <stdio.h>

int main()
{
	int a,b;
	scanf("%d %d",&a,&b);
	
	double c = (a+b)/2.0;
	printf("%d和%d的平均值=%f\n",a,b,c);
	
	return 0;
	
 } 

2、本利和的计算

#include <stdio.h>

int main()
{
	int x;
	scanf("%d",&x);
	double amount = x*(1+0.033)*(1+0.033)*(1+0.033);
	printf("%f",amount);
	return 0;
	
 } 

3、时间计算

(1).未运用if语句

#include <stdio.h>

int main()
{
	int hour1,minute1;
	int hour2,minute2;
	
	scanf("%d %d", &hour1, &minute1);
	scanf("%d %d", &hour2, &minute2);
	
	int t1 = hour1 * 60 + minute1;
	int t2 = hour2 * 60 + minute2;
	
	int t = t2 - t1;
	
	printf("时间差是%d小时%d分.",t/60,t%60);
	
	return 0;
	
 } 

(2).使用if语句

#include <stdio.h>

int main()
{
	int hour1,minute1;
	int hour2,minute2;
	
	scanf("%d %d", &hour1, &minute1);
	scanf("%d %d", &hour2, &minute2);
	int ih = hour2-hour1;
	int im = minute2 - minute1;
	if (im<0){
		im=60+im;
		ih --;
	}
	
	printf("时间差是%d小时%d分.",ih,im);
	
	return 0;
 } 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值