孤山带你做C语言题 1——基础概念

笔试题

  • 编程大概有几个步骤
  • C语言中链接器的目的是什么
  • 什么是语法错误,举一个语文例子和一个C语言例子
  • 什么是语义错误,举一个语文例子和一个C语言例子
  • 山山子编写了以下程序,想征求你的意见,请你帮她评定

#Incloude <stdio.h>

Int main(v0id){

Int s

S=56;

Printf(“一年有 %S 周”);

raturn 0;

 

 

编程练习题

  • 编写一个程序,输出以下内容

———————————————————

御姐,萝莉、傲娇,三无

傲娇,三无

御姐,萝莉

————————————————————

除了main()函数以外,该程序还需要调用两个自定义函数,一个为ld(),调用一次萝莉和御姐出没一次,另一个为tt(),调用一次傲娇和三无出没一次,其他内容在main()中完成。

 

  • 在C语言中,函数可以互相调用,子子孙孙无穷尽也。编写一个程序,调用一个名为”Ye()“的函数,该函数在一行打印单词“爷”,再调用第二个函数“father()”,然后在一行打印“儿子!”,然后father()函数再调用son()函数,son()函数打印”孙子!”。在三个函数开始之前要打印短语“开始生”,三个函数都执行完毕后,打印“生完了”。

 

 

 

 

 

 

 

参考答案:

 

  • 按大家的说法,有七步:
  1. 定义程序目标 设计程序 3. 编写程序 4. 编译程序 5. 运行程序 6. 测试与调试程序 7. 维护与修改程序。

但我更倾向于简化为:1、目标和实现规划   2、编写     3、测试与维护修改

费曼说过,如果你不能用简单的语言描述你学过的知识,那你就没有真正学会它。

 

  • 链接器将编译器形成的中间代码,编译系统原有的系统库代码和一些第三方代码合并,形成目标平台的可执行文件。

孤山个人目前是这样认为的,中间代码编译好了,不还有引用的库(比如stdio.h)吗?把库插进去,才能保证引用功能的正常运行,再把在某个系统运行必须的文件也插进去,就完成了。当然只是我自己的想法

 

  • 语法错误在语文和C语言中都比较容易发现,举几个例子:

吃了汉堡我             i int = 100;        位置错误

他那和蔼可亲的笑容,循循善诱的教导,时时出现在我眼前  printf(“%c”,scanf(“%s”,&i));搭配不当

你吃反了吗             scannf(“%s”,aa);               拼写错误

 

  • 语义错误是指语法没有错误但是无意义的句子。

变形虫锯完木头再打鼾        printf();

海洋里冰露应该得病了  int i = i + 1 – 1;

 

 

  • 看来山山子没有好好听课,程序漏洞百出。

第一行Incloude应为include,stdio.h应改为<stdio.h>

第二行(v0id)改为(void)或()

第三行的声明和第四行赋值的名称不一样,应统一大小写

第五行错把变量类型当成变量名称,因此也没有写后面的实参参数,应改为Printf(“一年有 %d 周”, S);

第六行拼写错误,改为return 0;

第七行没有大括号。

 

待会就打山山子的屁股(* ̄︿ ̄)

 

6、出这道题的人很正经

#include <stdio.h>

 

int tt(void);

int ld(void);

 

int main(void) {

ld();

printf(“,”);

tt();

printf(“\n”);

tt();

printf(“\n”);

ld();

 

return 0;

}

 

int tt(void) {

printf(“傲娇,三无”);

return 0;

}

 

int ld(void) {

printf(“御姐,萝莉”);

return 0;

}

 

嘿嘿,黑丝~我的黑丝御姐(′▽`〃),嘿嘿嘿

 

(这人没救了)

 

 

7、

#include <stdio.h>

 

void ye(void);

void father(void);

void son(void);

 

int main(void) {

printf(“开始生\n”);

ye();

printf(“生完了”);

return 0;

}

 

void ye(void) {

printf(“爷!\n”);

father();

}

 

void father(void) {

printf(“儿子!\n”);

son();

}

 

void son(void) {

printf(“孙子!\n”);

}

//哄堂大孝

 

_______________________________________________________________________________

题外话

 

这些题是我根据《c primer plus》这本书上的题改编的,如果有点基础的话这本书还是不错的。目前在我看来,数学还有计算机类的书,尤其是教科书,中国目前有待提高,最好要把学生当傻子教。

同济版的《线性代数》只有垫桌脚的份(ノ-_-)ノ~┻━┻

 

 

给TA打赏
共{{data.count}}人
人已打赏
C语言-投稿

孤山的C语言课堂——副作用和标识符

2021-10-22 18:42:09

C语言-投稿

孤山带你做C语言题——数据类型

2021-11-24 12:27:17

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索

Warning: error_log(/www/wwwroot/www.wenlk.com/wp-content/plugins/spider-analyser/#log/log-0719.txt): failed to open stream: No such file or directory in /www/wwwroot/www.wenlk.com/wp-content/plugins/spider-analyser/spider.class.php on line 2900