【C语言】实战练习

目录

 1.计算体积:

2、根据父母身高计算孩子的理论身高:

3、三十六计的几计:

 4、文本输出:

 5、粮仓计数:​编辑

6、auto 

7、static: 

8、模拟用户注册系统:


 

 1.计算体积:

#include <stdio.h>

#define height 10 //定义一个常量

int calculate(int a,int b); //函数声明

int main()
{
    int mlong,mwidth;
    int result;
    
  	printf("高度为:%d\n",height);
  	
  	
	printf("请输入长度:\n");  
	scanf("%d",&mlong); //mlong就是之前定义的整型变量,作用是存储输入的信息内容;“&”符号是取地址运算符
	
	printf("请输入宽度:\n");  
	scanf("%d",&mwidth);
	    
	result=calculate(mlong,mwidth);//调用自定义函数,传入参数 
	printf("体积为:%d\n",result); 
		
	return 0;	
	
}

//计算体积 
int calculate(int a,int b)
{
	int result=a*b*height;
	return result;
	
}

2、根据父母身高计算孩子的理论身高:

预测孩子身高 输入父亲和母亲的身高,通过计算公式“孩子身高=(父亲身高+母亲身高)*0.54”,预测孩子的身高。 

#include <stdio.h>
#define height 10

float calculate(float a,float b); 

int main()
{
    float mh,fh;//定义身高变量 
    float result;
    
  	printf("父亲身高:\n");  
	scanf("%f",&fh);
  	
	printf("母亲身高:\n");  
	scanf("%f",&mh);
		    
	result=calculate(fh,mh);//调用自定义函数,传入参数 

	printf("我的身高:%f\n",result); 
		
	return 0;	
	
}

//计算身高 
float calculate(float a,float b)
{
	float result=(a+b)*0.54;
	printf("res:%f\n",result); 
	return result;	
}

写的出现一些bug, 如同时使用%lf与%f的会导致数据不能正常显示。

3、三十六计的几计:

#include <stdio.h>
#define height 10
int main()
{
	printf("-------------------------------\n"); 
	printf("|    |    |    |    |    |    |\n");
	printf("| 声 | 趁 | 以 | 借 | 围 | 瞒 |\n");
	printf("|    |    |    |    |    |    |\n");
	printf("| 东 | 火 | 逸 | 刀 | 巍 | 天 |\n");
	printf("|    |    |    |    |    |    |\n");
	printf("| 声 | 打 | 待 | 杀 | 救 | 过 |\n");
	printf("|    |    |    |    |    |    |\n");
	printf("| 西 | 劫 | 劳 | 人 | 赵 | 海 |\n");
	printf("|    |    |    |    |    |    |\n");
	printf("-------------------------------\n"); 		
	return 0;	
	
}

 4、文本输出:

#include <stdio.h>
#define height 10
int main()
{

	printf("               丹尼斯.里奇传奇-----世界上最伟大的程序员和黑客                 \n\n");	
	printf("哈佛大学       C语言UNIX       图灵奖      美国工程院院士     美国国家技术奖\n\n");
	printf("--------------------------------------------------------------------------------------->\n");
	printf("   |              |               |               |                  |                     \n");
	printf("  1967           1973           1983            1988               1999	                  \n\n\n\n");
	return 0;	
	
}

 unsigned int i,j;             //无符号整型,即没有负数 

float res=1089.78;

printf("res=%f\n",res); //如果数据类型是浮点数,那么输出格式为%f

双精度类型使用的关键字是double,它在内存中占8个字节,取值范围是−1.7×10−308~1.7×10308。

 5、粮仓计数:

#include <stdio.h>
int main()
{
   double d,h,area,v,sum;     //双精度浮点型
   d=50;
   h=15;
   
   area=3.14*25*25;          //圆的面积 
   v=area*h;                 //体积 
   
   sum=v*896;                //存储容量
   printf("sum=%f\n",sum);
   
   return 0;	

}
#include <stdio.h>
int main()
{ 
   char char1='a';             //字符变量 
   int  num1=97;               //整型变量 
   
   printf("%d\n",char1);       //将字符变量转换为整数输出 
   printf("%c\n",num1);        //将整数转换字符变量为输出
   
   return 0;	

}

6、auto 

 变量的存储类型包括:自动变量(auto)、静态变量(static)、寄存器变量(register)和外部变量(extern)4种。

 auto关键字用于定义一个局部变量为自动变量,该变量存储在内存的动态存储区中,这意味着每次执行到该变量定义语句时,都会产生一个新的变量,并且重新对其初始化。

auto变量,为动态存储,自动分配内存(局部变量默认为auto类型 ) ,在函数调用结束时,自动释放这些存储空间。

#include <stdio.h>

int main()
{ 
   	printf("1:\n");
   	add();
	printf("2:\n");
    add();
   
   return 0;	

}
void add()
{
   auto int num=1;              //auto变量,为动态存储,自动分配内存(局部变量默认为auto类型  
   num=num+1;    
   printf("%d\n",num);
}

7、static: 

static变量表示静态变量,存储在内存的静态存储区中。
对于局部变量来说,尽管static变量和auto变量的作用域都仅限于声明变量的函数之中,但是在语句块执行期间,static变量将始终保持它的值,并且初始化操作只在第一次执行时起作用,在随后的运行过程中变量将保持语句块上一次执行时的值。
 

#include <stdio.h>
int main()
{ 
   	printf("1:\n");
    click();
	printf("2:\n");
    click();   
    return 0;	

}
void click()
{
   static int num=1;                   //变量,为动态存储) 
   num=num+1;    
   printf("点击量:%d\n",num);
}

 在语句块执行期间,static变量将始终保持它的值,并且初始化操作只在第一次执行时起作用,在随后的运行过程中变量将保持语句块上一次执行时的值

与auto变量相比,auto+1的值不会改变,而static+1的值会累加。

extern变量又称为外部存储变量,常用于声明程序需要使用且已在其他程序文件中定义过的变量 

8、字符有关函数:

  字符串输出使用的是puts函数,作用是输出一个字符串到屏幕上

  puts("i love you"); 

字符串输入使用的是 gets 函数,作用是将读取的字符串(即用户输入
的字符串)保存在 str 变量中,直到出现新的一行为止。其新行的换行符将
会转换为空终止符 “\0”

 

8、模拟用户注册系统:

#include <stdio.h>

int main()
{ 
    char account[20],password[20],name[20],id[20];
    puts("请输入账号:");    
    gets(account);
	 
    puts("请输入密码:");     //输出字符串
    gets(password);          //获取字符串
    
    puts("请输入姓名:");
    gets(name);
    
    puts("请输入id号:");
    gets(id);
    
    puts("------------------------\n"); 

    puts("注册完成,您的信息如下:");
    puts("账号:");
    puts(account);
	 
    puts("密码:");
    puts(password);
    
    puts("姓名:");
    puts(name);
    
    puts("id号:");
    puts(id);
    
    return 0;	

}

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值