前言:
我们都知道,c语言是最原始的一种语言,是最开始的一门语言,如今市场的大多数语言都或多或少的与c有着一些相似之处,java,python,c#等等,html也不例外。
html:超文本标记语言,不属于完全的一种语言,但其js部分的一些功能也与c语言有些相似,今天,让我们用一道题讨论一下这二者的一些区别与联系。
一 代码编写位置
c语言:
代码编写在函数里,例如main(){}函数,而main函数源自于stadio头文件
html:
- html:代码编写于javascript,可以写在html的body里面,如下图
通过这种编写方式可以在script盒子里书写代码,去控制html客户端的界面特效
(比如我们平时看到的菜单下拉,鼠标移入变色等等网站动态变化都是用javascript编写的,这些都是常规且常用的用法,在我学习html之前我其实也不知道)
- 写在.js文件里,然后在html文件里引用
(第二种方法是更常用的方法,在做大型项目的时候为了代码清晰和防止功能有的会重复被调用,往往会选择直接写在一个js文件里,供多个文件调用。)
如下图
(这里的编写方法会因为软件的不同有一定的区别,有的软件可以直接选择js类型的文件进行编写,我这里用的是vscode软件,写什么类型的文件需手动写后缀)
二 具体代码
c语言:
#include<stdio.h>
int main(){
int months[] = {0,1,2,3,4,5,6,7,8,9,10,11,12};
int days[] = {0,31,28,31,30,31,30,31,31,30,31,30,31};
int year;
int month;
int day;
scanf("%d",&year);
scanf("%d",&month);
scanf("%d",&day);
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)
{
days[2]=29;
}
else{
days[2]=28;
}int sum =0;
for(int i =1;i< month ;i++)
{
sum +=days[i];
}
if (day >days[2])//用于判断日期号是否符合实际,其他月份的也可以用for循环判断,都一个方法。
{
printf("日期不符合实际");
}
else
{
sum += day;
}
printf("%d的第%d天",year ,sum);
return 0 ;
}
(代码不完整,只为对比)
html:
<body>
<script>
var months = [0,1,2,3,4,5,6,7,8,9,10,11,12];
var days = [0,31,28,31,30,31,30,31,31,30,31,30,31];
var year = prompt("输入年")-0;
var month = prompt("输入月")-0;
var day = prompt("输入日期号")-0;
if ((year % 4 === 0 && year % 100 !== 0) || year % 400 === 0)
{
days[2]=29;
}
else{
days[2]=28;
}
var sum =0;
for(var i =1;i< month ;i++)
{
sum +=days[i];
}
if (day >days[2])//用于判断日期号是否符合实际,其他月份的也可以用for循环判断,都一个方法。
{
alert("日期天数不符合实际!!");
}
else
{
sum += day;
document.write("是这一年的第"+sum+"天");
}
</script>
</body>
(script写在body内,前面代码编写位置有写)
三 代码对比分析
联系
c语言部分的代码与html的代码,我这里做了尽量的相同,只改了一些违反相应语法规则的书写方式
区别
在c语言里,变量有非常多的类型区别,如下
变量的基本分类——按数据类型分类
1、整数型
- char ; unsigned char
- int ; unsigned int
- short int ;unsigned int
- long ;unsigned long
2、浮点型
- float
- double
在html学习前期我们只需要用var即可,因为html是一种弱类型脚本语言,对于变量类型没有那么强制的要求。
脚本语言:弥补编译语言的不足而存在的,作为补充语言,不用编译
弱类型语言:通俗来说就是用var可以代表多种数据类型
所以在上文,编写c语言需要一一定义为int类型,int类型为整型,html用var。
输入:
html中有许多输入方式,有input,有专属api,这里只讨论此题
此题中用的是prompt(“用户想写的内容”),弹窗显示内容。
原先的类型是string类型,所以后面需要 -0 ,使其强制转换成number类型。
输出:
html里,用document.write可以输出到浏览器界面,用法就是document.write("想输出的内容“)
另外的,还有以下方法输出:
- consolo.log(“内容”)在控制台打印内容,控制台在浏览器用鼠标右边检查找。
- alert(“内容”)弹窗显示内容
- prompt(“内容")这个也是输出内容,可以输入也可以输出
- confirm(“内容”)弹窗输出内容,有确认和取消键
总结:
以上便是html与c语言在此题上的一些区别与练习。
html与c差别在这题看来并不是很大,html虽然比其他语言来说简单一些,但是要讲的非常详细也是需要很大篇幅的,以后我也会定时更新一些自己觉得有趣的点供大家一起品鉴,感谢浏览。
热烈欢迎找茬,一起进步学习。