鱼C论坛

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

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

    [复制链接]
发表于 2019-4-19 21:48:08 | 显示全部楼层
零基础入门学习C语言封面
《零基础入门学习C语言》
小甲鱼 著
立即购买
参考答案
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-4-19 22:19:14 | 显示全部楼层

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2019-4-19 23:14:29 | 显示全部楼层
kandaan
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-4-20 17:00:38 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2019-4-20 17:00:53 | 显示全部楼层
666
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2019-4-20 17:26:15 | 显示全部楼层
kankan
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-4-20 18:14:49 | 显示全部楼层
我直接对照着输入的会报以下错误,把下面的代码直接从测试代码复制过去就没有错误了,怎么回事?
  1. void findALLCodes(const char *path)
  2. {
  3.         struct _finddata_t fa;
  4.         long handle;
  5.         char thePath[MAX], target[MAX];
  6.        
  7.         strcpy(thePath, path);
  8.         if((handle = _findfirst(strcat(thePath, "/*.c"), &fa)) != -1L)
  9.         {
  10.                 do
  11.                 {
  12.                         sprintf(target, "%s/%s", path, fa.name);
  13.                     total += countLines(target);
  14.             }while (_findnext(handle, &fa) == 0);
  15.         }
  16.        
  17.         _findclose(handle);       
  18. }  

  19. void findALLDirs(const char *path)
  20. {
  21.         struct _finddata_t fa;
  22.         long handle;
  23.         char thePath[MAX];
  24.        
  25.         strcpy(thePath, path);
  26.         if((handle = _findfirst(strcat(thePath, "/*"), &fa)) == -1L)
  27.         {
  28.                 fprintf(stderr, "The path %s is wrong!\n",path);
  29.                 return;
  30.         }
  31.        
  32.         do
  33.         {
  34.                 if(!strcmp(fa.name, ".") || !strcmp(fa.name, ".."))
  35.                         continue;
  36.                        
  37.                 if(fa.attrib == _A_SUBDIR)
  38.                 {
  39.                         sprintf(thePath, "%s/%s", path, fa.name);
  40.                         findALLCodes(thePath);
  41.                         findALLDirs(thePath);
  42.                 }
  43.         }while (_findnext(handle, &fa) == 0);
  44.        
  45.         _findcolse(handle);
  46. }
  47. C:\Users\ADMINI~1\AppData\Local\Temp\ccoO0gKA.o        SLE2kehou.c:(.text+0x2f3): undefined reference to `_findcolse'
  48. C:\Users\ADMINI~1\AppData\Local\Temp\ccoO0gKA.o        SLE2kehou.c:(.text+0x348): undefined reference to `findAllCodes'
  49. C:\Users\Administrator\Desktop\tset\collect2.exe        [Error] ld returned 1 exit status
复制代码

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

使用道具 举报

发表于 2019-4-20 19:02:44 | 显示全部楼层
。。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2019-4-20 20:18:15 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2019-4-20 20:36:14 | 显示全部楼层
1
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2019-4-20 23:56:53 | 显示全部楼层
朕想知道
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-4-21 00:10:29 | 显示全部楼层
完成核对下
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-4-21 10:57:49 | 显示全部楼层
0. 为什么我们说计算机其实是“二傻子”?
答:因为计算机只能读懂0和1。

1. CPU 唯一认识的语言是什么语言?
答:二进制语言。

2. C 语言编写的源代码转换为汇编语言的过程叫什么?
答:编译。

3. 编译型语言和解释型语言的本质区别是什么?
答:解释型语言每次执行都要经过解释器解释,而编译型不需要。

4. 在 Linux 系统上用 C 语言编译的可执行程序,是否能在 Windows 系统上执行?
答:可以。

5. 解释型编程语言是如何实现跨平台的?
答:源代码转换成字节码,字节码经过解释器解释成二进制代码再由CPU执行。

6. 莫斯密码的原理其实是什么?来自:
答:将字母和或数字对应不同的密文。

7. 视频中小甲鱼“故弄玄虚”的那段密文还原后是什么内容(中文)?
答:QIN MEN CHEN DI REN CHI FAN SHI FA DONG JIN GONG
亲们趁敌人吃饭时发动进攻。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-4-21 14:52:23 | 显示全部楼层
冲冲冲
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-4-21 15:19:35 | 显示全部楼层
谢谢老大
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-4-21 15:24:46 | 显示全部楼层
#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
回复 支持 反对

使用道具 举报

发表于 2019-4-21 17:15:05 | 显示全部楼层
真得很不错
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-4-21 20:18:46 | 显示全部楼层
211111
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-4-21 20:48:07 | 显示全部楼层
瞅瞅
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2019-4-22 01:13:25 | 显示全部楼层
i love fishc
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-8-4 13:11

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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