鱼C论坛

 找回密码
 立即注册
楼主: 小甲鱼

[课后作业] S1E2:第一个程序 | 课后测试题及答案

    [复制链接]
发表于 2023-12-16 10:33:49 | 显示全部楼层
零基础入门学习C语言封面
《零基础入门学习C语言》
小甲鱼 著
立即购买
0.为什么我们说计算机其实是“二傻子”?
——因为计算机的核心是CPU,它负责计算机大部分日常的计算功能,而CPU只能识别0和1,。
1.CPU 唯一认识的语言是什么语言?
——机器语言,也叫机器码,由纯数字组成
2.C 语言编写的源代码转换为汇编语言的过程叫什么?
——编译
3.编译型语言和解释型语言的本质区别是什么?
——对于CPU而言,编译型语言是将源代码先通过编译器编译为CPU认识的机器码(可执行文件),此后CPU随时都可以直接执行编译后的机器码;而解释型语言则不直接编译成机器码,而是将源码转成中间代码,然后发送给解释器,由解释器逐句翻译给CPU来执行。
4.在 Linux 系统上用 C 语言编译的可执行程序,是否能在 Windows 系统上执行?
——不能,因为不同的操作系统可执行文件的格式不完全相同,Windows上大部分可执行文件为PE格式,而Linux上大部分可执行文件为ELF格式。格式不同导致了不同的可执行文件无法跨平台直接使用。
5. 解释型编程语言是如何实现跨平台的?
——解释型编程语言为每个操作系统专门制定一个解释器作为中转,因此解释器只需提供一个统一的入口即可
6.莫斯密码的原理其实是什么?
——有相应的编码表进行查表,编码表里将英文字母和数字进行编码对应,便于查表。
7.视频中小甲鱼“故弄玄虚”的那段密文还原后是什么内容(中文)
亲们,趁敌人吃饭时,发起进攻
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-12-16 15:27:34 | 显示全部楼层
hello
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-12-17 17:28:02 | 显示全部楼层
0.他只能
1.二进制
2.转码
3.语言类型不同
4.可以
5.可执行代码是原码
6.二进制
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-12-18 09:13:38 | 显示全部楼层
1.c语言
3.编译型语言是将源代码一次性转换成二进制语言,转换成可执行程序解释型语言可以一边执行一边转换,不会生成可执行程序
4.可以
5.通过解释器,将相同的源代码解释成不同平台下的机器码
6.简单的字符对应然后翻译
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-12-18 19:17:45 | 显示全部楼层
test
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2023-12-18 20:27:41 | 显示全部楼层
查看参考答案
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-12-18 23:50:11 | 显示全部楼层
0.只认识0和1
1.机器语言
2.编译
3.是否需要运行是编译
4.能
5.编译成不同平台
6.编码和解码
7.00
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-12-19 10:34:12 | 显示全部楼层
加油
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2023-12-19 13:29:25 | 显示全部楼层
.
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2023-12-19 21:17:08 | 显示全部楼层
66666666666666
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-12-19 21:40:14 | 显示全部楼层
哈哈哈
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-12-19 21:41:24 | 显示全部楼层
#include <stdio.h>
#include <unistd.h>
#include <dirent.h>
#include <string.h>
#include <stdlib.h>
#include <sys/stat.h>

#define MAX 256

long total;

int countLines(const char *filename);
int isCode(const char *filename);
void findAllDirs(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;
}

int isCode(const char *filename)
{
        int length;

        length = strlen(filename);
        
        if (!strcmp(filename + (length - 2), ".c"))
        {
                return 1;
        }
        else
        {
                return 0;
        }
}

void findAllDirs(const char *path)
{
        DIR *dp;
        struct dirent *entry;
        struct stat statbuf;

        if ((dp = opendir(path)) == NULL)
        {
                fprintf(stderr, "The path %s is wrong!\n", path);
                return;
        }

        chdir(path);
        while ((entry = readdir(dp)) != NULL)
        {
                lstat(entry->d_name, &statbuf);

                if (!strcmp(".", entry->d_name) || !strcmp("..", entry->d_name))
                        continue;

                if (S_ISDIR(statbuf.st_mode))
                {
                        findAllDirs(entry->d_name);
                }
                else
                {
                        if (isCode(entry->d_name))
                        {
                                total += countLines(entry->d_name);
                        }
                }
        }

        chdir("..");
        closedir(dp);
}

int main()
{
        char path[MAX] = ".";

        printf("计算中...\n");

        findAllDirs(path);

        printf("目前你总共写了 %ld 行代码!\n\n", total);

        return 0;
}
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-12-19 21:46:27 | 显示全部楼层
看答案
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-12-20 04:01:25 | 显示全部楼层
跟着小甲鱼学C
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-12-20 10:50:54 | 显示全部楼层
计算中...
目前你一共写了119行代码!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-12-20 11:19:06 | 显示全部楼层
我想知道
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-12-20 21:23:49 | 显示全部楼层
0.因为计算机只懂得二进制的0和1
1.机器语言
2.编译
3.编译型语言直接编译成机器码,编译后CPU可以直接执行,
解释型语言不直接编译成机器码
4.可以
5.解释型语言先将源代码转化为中间代码,然后发送给解释器,再有解释器逐句翻译给CPU,所以对于不同平台,其使用相应的解释器解释就可以实现跨平台运行
6.发送和接受双方有统一的解释规则
7.qinmenchendirenchifanshigadongjingong
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-12-21 03:37:52 From FishC Mobile | 显示全部楼层
已经抄完了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-12-21 08:57:46 | 显示全部楼层
太棒啦,第一节
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-12-21 10:53:17 | 显示全部楼层

                               
登录/注册后可看大图
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-10-4 18:00

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表