C Primer Plus 第2章复习题

学习杂记 | 2017-08-06 07:06:41 | 166次阅读 | 0评

复习题 1

如何称呼C程序的基本模块?

C程序的基本模块分为:函数头和函数体。

-------------------------------- 作者在 2017-08-06 07:08:07 补充以下内容 --------------------------------

附录参考答案:它们被称为函数。

第2章复习题参考答案1.png (上传于2017-08-07 06:39:10)
第2章复习题参考答案1.png

-------------------------------- 作者在 2017-08-06 07:10:07 补充以下内容 --------------------------------

复习题 2


什么是语法错误?给出它的一个英语例子和c语言例子。


我们不遵守某一种语法的规则而出现的错误就是语法错误。


英语例子:


It  a  dog  is .


单词正确,但是顺序错误,这就是一个英语方面的语法错误。


//C 程序例子:

/*
# include < stdio.h>
int main (void)
(
printf ("这是一个错误的C程序例子!");
    getchar () ;
return 0 ;
)
*/
//把函数的标识符{}写成 ()

-------------------------------- 作者在 2017-08-07 06:42:46 补充以下内容 --------------------------------

附录参考答案:

第2章复习题参考答案1.png (上传于2017-08-07 06:42:46)
第2章复习题参考答案1.png

-------------------------------- 作者在 2017-08-07 06:45:23 补充以下内容 --------------------------------

复习题3.什么是语义错误?给出它的一个英语例子和C程序例子。


//答:我们表达的内容符合某种语言的语法,但是与我们要表达的意义相违反,
//或者没有表达出任何符合逻辑的内容。


// 附录参考答案:语义错误是指含义上的错误。


// 英语例子
// 我们本来要说,他是一个好人。
//  He is a good man . 
//  结果说成。
//  He have a good work .
//附录参考答案:This sentence is excellent Itallin .

// C 程序例子


# include <stdio.h>

int main (void)
{
int n,n1,n2,n3;
printf ("请输入一个数字,我们会给出它的立方数。\n");
scanf ("%d",&n);
n1 = 0;
n1 = n;
n2 = n1*n1;
n3 = n2*n2;
printf ("%d的立方数是%d\n",n,n3);
getchar ();
return 0;
}


//程序没有语法上的错误,但是输出的结果不是我们要的立方数,而是变成了四次方的数。


-------------------------------- 作者在 2017-08-09 09:34:24 补充以下内容 --------------------------------

附录参考答案

第2章复习题参考答案1.png (上传于2017-08-07 06:42:46)
第2章复习题参考答案1.png

-------------------------------- 作者在 2017-08-09 10:02:51 补充以下内容 --------------------------------

复习题 4 


Indiana Sloth 已经编写好下面的程序,并想征求你的意见。请帮助他评定。


include stdio.h
int main{void}  /* 该程序可显示一年中有多少周/*
(
int s 

s: = 56;
printf (There is s week in a year .);
retrun 0 ;


答:第1行 (1)少了一个标识符号#。

                 (2)"stdio.h "应该是" <stdio.h>".

       第2行 (1)"main{void}"应该是“main(void)".

       第3行 (1)”(“应该是”{“。这是函数的开始标识。

      第4行  (1)语句最后少了一个”;"。这是函数执行语的结束标识。

      第6行  (1)赋值语句书写格式不对,应该是“s = 56 ;”

                 (2)赋值的数据不对,一年应该是52周。

     第7行  (1)printf () 语句中要输出的内容要用双引号“”框起来。

                         printf ("Ther is s weeks in a year.");

    第9行  (1)缺少第9行,应该要有一个程序结束标识符“}”。

-------------------------------- 作者在 2017-08-09 10:13:55 补充以下内容 --------------------------------

第2章复习题参考答案1.png (上传于2017-08-07 06:42:46)
第2章复习题参考答案1.png

第2章复习题附录参考答案.jpg (上传于2017-08-09 10:41:57)
第2章复习题附录参考答案.jpg

-------------------------------- 作者在 2017-08-09 10:33:03 补充以下内容 --------------------------------

复习题 5

假设下面的例子都是某个完整程序的一部分,它们每个将输出什么结果?

a. printf ("Baa Baa Black Sheep");

    printf ("Have you any Wool ?\n");

b.  printf ("Begone !\n0 creature of lard !");

c.  printf ("What ?\nNo/nBonozo?\n");

d. int num;


   num = 2;

   printf ("%d + %d  = %d",num,num,num + num);


答案:

a.

Baa Baa Black Sheep Have you any Wool ?

(光标换一行显示)

b.

Begone !

0 creature of lard !

c.

What ?

No

Bonozo ?

d.

2 + 2 = 4



-------------------------------- 作者在 2017-08-09 10:43:04 补充以下内容 --------------------------------

附录参考答案:

第2章复习题附录参考答案2.jpg (上传于2017-08-09 10:43:04)
第2章复习题附录参考答案2.jpg

-------------------------------- 作者在 2017-08-09 11:15:32 补充以下内容 --------------------------------

复习题 6 

下面哪几个是C语言的关键字? int, main,   function,   char,  =

答:关键字有:int   main   char .

-------------------------------- 作者在 2017-08-09 11:16:16 补充以下内容 --------------------------------

附录参考答案

第2章复习题附录参考答案2.jpg (上传于2017-08-09 10:43:04)
第2章复习题附录参考答案2.jpg


-------------------------------- 作者在 2017-08-09 15:05:28 补充以下内容 --------------------------------

复习题  7

如何以下面的格式输出words 和 lines 的值  :“There  are  3020  words  and 350  lines .” 这里3020和350代表两个变量的值。


答:printf ("There are %d words and 350 lines .",words , lines);

-------------------------------- 作者在 2017-08-09 15:06:18 补充以下内容 --------------------------------

附录参考答案:

第2章复习题附录参考答案2.jpg (上传于2017-08-09 10:43:04)
第2章复习题附录参考答案2.jpg


-------------------------------- 作者在 2017-08-09 15:15:28 补充以下内容 --------------------------------

复习题  8

考虑下面的程序


# include <stdio.h>
int main (void)
{
    int a , b ;

   a = 5;
   b = 2;/*第7行*/
   b = a;/*第8行*/
   a = b;/*第9行*/
   printf ("%d  %d\n",b,a);
   return  0;
}


请问在第7行、第8行和第9行之后的程序的状态分别是什么 ?


答 : 第7行  a=5 . b=2

         第8行  a=5 . b=5

         第9行 a=5 . b=5




-------------------------------- 作者在 2017-08-09 15:17:01 补充以下内容 --------------------------------

附录参考答案:

第2章复习题附录参考答案2.jpg (上传于2017-08-09 10:43:04)
第2章复习题附录参考答案2.jpg


博友评论,共0条