自学C语言1
作为一名非计算机专业的学生,只是对计算机很感兴趣,于是开始自学有关计算机的语言,如有不对欢迎大佬指教。博客也是作为自己的一个笔记区,在日后方便自己查阅,以及方便未来自学语言的人参考。
我的第一个程序
从零开始学习C语言,我认为hello world是每一个程序员都经历过的。
在写程序之前,个人应该先将C语言的格式敲出来,即
#include<stdio.h>
int main()
{
return 0;
}
之后再将自己写的程序加入到{}之中。对于hello world,即
#include<stdio.h>
int main()
{
printf("hello world!\n");
return 0;
}
随后点击编译运行,即可出现
在此程序中,出现了printf。这代表着输出,可以将引号里面的东西进行输出。在引号中出现了\n,这是一个换行的东西。同时,在写代码时,应注意“;”为英文格式下的分号。
做个小计算
由易入难,如果我想用计算机算一个100+60该如何实现呢。则应该写出程序
#include <stdio.h>
int main()
{
int a=0;
int b=0;
printf("请输入两个数字;");
scanf("%d %d",&a,&b);
printf("%d+%d=%d\n",a,b,a+b);
return 0;
}
在一个程序里面,我们应该先对一个变量进行定义,此程序中的整数型变量为a和b。int就是对整数型变量进行定义的。同时应对a和b进行 赋值,若不赋值,在输出时可能会出现一些奇怪的数字。
程序的运行是从上到下的。printf是输出所以便会看见“请输入两个数字“的提示。接下来的scanf是输入第一个%d对应后面的a,第二个%d是后面的b。同理在printf中同样适用。
浮点数
在C语言中,浮点数就是小数。如果想算10除以3就需要用到double而不能用int进行定义,因为int是整数型,无法计算小数。
在此处,double的scanf中不是%d而是%lf,在printf中是%f。
符号
四则运算符号 | c符号 | 含义 |
---|---|---|
+ | + | 加 |
- | - | 减 |
x | * | 乘 |
/ | 除 | |
% | 取余 |
对取余的一个小程序。算一个时间差。假如要算16点50与13点55的差。如果进行小时与小时相减,分钟与分钟相减的思路,则可能出现借位的情况。那么应该全部换算成分钟相减再进行换算小时即可。
源代码如下
#include <stdio.h>
int main()
{
int h1,m1;
int h2,m2;
printf("请输入第一个时间,\n"
"如输入1和10,即代表1点10分:");
scanf("%d %d",&h1,&m1);
printf("请输入第二个时间,\n"
"如输入1和10,即代表1点10分:");
scanf("%d %d",&h2,&m2);
int t1=60*h1+m1;
int t2=60*h2+m2;
int t=t1-t2;
printf("时间差为%d小时%d分",t/60,t%60);
return 0;
}
初学者可以复制,一起来玩一下。
今后,在写代码时应该注意在scanf中应注意&。若遗忘则无法运行。