目录
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;
}