1
课后作业
看答案
0.0
查看参考答案
1
加油
计算中...
目前你总共写了 135 行代码!
!开始学
C:\Users\86139\OneDrive\图片\屏幕快照\2021-02-23 (1).png
好!!!
1
来喽
第一次答题,待修正:
0.因为计算机只懂得二进制的0和1
1.CPU 唯一认识的语言是机器语言
2.C语言编写的源代码转换位汇编语言的过程叫编译??
3.编译型语言和解释型语言的本质区别是是否需要解释器,编译型需要不需要,而解释性语言需要解释器翻译代码后机器才能识别??
4.在Linux系统上用C语言编译的可执行程序,在Windows 上不能执行。原因不清楚。
5.解释型语言是通过不同平台不同的解释器来实现跨平台的??
6.摩斯密码的原理其实就是加密和解密。
7.视频中小甲鱼“故弄玄虚”的那段密文还原后的中文是:
Q I N M E N
C H E N D
I R E D C
H I F A N
S H I F
A D O N G
J I N G O
N G
测试题:
0.为什么我们说计算机其实是“二傻子”?
只懂二进制语言
1. CPU 唯一认识的语言是什么语言?
机器码
2. C 语言编写的源代码转换为汇编语言的过程叫什么?
编译
3.编译型语言和解释型语言的本质区别是什么?
编译型语言灵活高效,可移植性高;解释型语言效率低但可实现跨平台
4.在 Linux 系统上用 C 语言编译的可执行程序,是否能在 Windows 系统上执行?
能
5.解释型编程语言是如何实现跨平台的?
将源代码翻译成中间代码,通过解释器的作用,CPU可以执行命令
6. 莫斯密码的原理其实是什么?来自:
将一种语言翻译成另一种,像函数的对映
7.视频中小甲鱼“故弄玄虚”的那段密文还原后是什么内容(中文)?
亲们趁敌人吃饭发动进攻
cmtt390 发表于 2021-2-23 15:08
第一次答题,待修正:
0.因为计算机只懂得二进制的0和1
更正4,5,7 题答案
解释型语言和编译型语言的区别:
对于 CPU 而言,编译型语言是将源代码先通过编译器编译为 CPU 认识的机器码(可执行文件),此后 CPU 随时都可以直接执行编译后的机器码;而解释型语言则不直接编译成机器码,而是将源码转换成中间代码,然后发送给解释器,由解释器逐句翻译给 CPU 来执行。
备注:
C语言的编译过程:C代码--》汇编语言 --》机器语言,C语言编译的结果是得到CPU可直接执行的机器语言
解释型语言编译过程:程序代码 --》 中间语言,其结果是一个中间语言,CPU并不能直接执行,执行前还需要对应平台的解释器将中间语言解释为CPU执行的机器代码才行。
66666666666666
#include <io.h>
#include <direct.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX 256
long total;
int countLines(const char *filename);
void findAllCodes(const char *path);
void findALLFiles(const char *path);
int countLines(const char *filename)
{
FILE *fp;
int count = 0;
int temp;
if ((fp = fopen(filename, "r")) == NULL)
{
fprintf(stderr, "Can not open the file:%s\n", filename);
return 0;
}
while ((temp = fgetc(fp)) != EOF)
{
if (temp == '\n')
{
count++;
}
}
fclose(fp);
return count;
}
void findAllCodes(const char *path)
{
struct _finddata_t fa;
long handle;
char thePath, target;
strcpy(thePath, path);
if((handle = _findfirst(strcat(thePath, "/*.c"), &fa)) != -1L)
{
do
{
sprintf(target, "%s/%s", path, fa.name);
total += countLines(target);
}while (_findnext(handle, &fa) == 0);
}
_findclose(handle);
}
void findALLDirs(const char *path)
{
struct _finddata_t fa;
long handle;
char thePath;
strcpy(thePath, path);
if((handle = _findfirst(strcat(thePath, "/*"), &fa)) == -1L)
{
fprintf(stderr, "The path %s is wrong!\n",path);
return;
}
do
{
if (!strcmp(fa.name, ".") || !strcmp(fa.name, ".."))
continue;
if( fa.attrib == _A_SUBDIR)
{
sprintf(thePath, "%s/%s", path, fa.name);
findAllCodes(thePath);
findALLDirs(thePath);
}
}while (_findnext(handle, &fa) == 0);
_findclose(handle);
}
int main()
{
char path = ".";
printf("计算中...\n");
findAllCodes(path);
findALLDirs(path);
printf("目前你总共写了 %ld 行代码!\n\n", total);
system("pause");
return 0;
}
答案
?