C语言概述

1.C语言的基本模块是什么?

  • C语言的基本模块是函数

2.什么是语法错误? 写出一个英语例子和C语言例子

  • 如果不遵循 C 语言的规则就会犯语法错误。这类似于英文中的语法错误。例如,看看这个句子:Bugs frustrate be can。该句子中的英文单词都是有效的单词(即,拼写正确),但是并未按照正确的顺序组织句子,而且用词也不妥。C语言的语法错误指的是,把有效的C符号放在错误的地方。

3.什么语义错误?写出一个英语例子和C语言例子

  • 语义错误是指意思上的错误。例如,考虑这个句子:Scornful derivatives sing greenly(轻蔑的衍生物不熟练地唱歌)。句中的形容词、名词、动词和副词都在正确的位置上,所以语法正确。但是,却让人不知所云。在C语言中,如果遵循了C规则,但是结果不正确,那就是犯了语义错误。

4.Indiana Sloth编写了下面的程序,并征求你的意见。请帮助他评定。

include studio.h
int main{void} /* 该程序打印一年有多少周 /*
(
int s

s := 56;
print(There are s weeks in a year.);
return 0;
  • 第1行错误更正
  • #include <stdio.h>
  • 第2行错误更正
  • int main(void) /*该程序打印一年有多少周*/
  • 第3行错误更正
  • 应该是{
  • 第4行错误更正
  • int s;
  • 第6行错误更正
  • s = 52; //一年应该是52周
  • 第7行错误更正
  • printf(“There are %d weeks in a year.\n”, s);
  • 第9行
  • 缺少}

正确代码如下

#include <stdio.h>
int main(void) /* 该程序打印一年有多少周 */
{
int s;

s = 52;
printf("There are %d weeks in a year.\n",s );
return 0;
}

5.假设下面的4个例子都是完整程序中的一部分,它们都输出什么结果?

a. printf("Baa Baa Black Sheep.");
printf("Have you any wool?\n");
b. printf("Begone!\nO creature of lard!\n");
c.printf("What?\nNo/nfish?\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!
O creature of lard!
  • c的结果为
What?
No/nfish?
  • d的结果为
2 + 2 = 4

6.在main、int、function、char、=中,哪些是C语言的关键字?

  • 关键字是int和char,main是一个函数名,function是函数的意思,=号是一个运算符

7.如何以下面的格式输出变量words和lines的值(这里,3020和350代表两个变量的值)?
There were 3020 words and 350 lines.

正确代码如下:

#include <stdio.h>
int main()
{
        int words,lines;
        words = 3020;
        lines = 350;

        printf("There were %d words and %d lines.\n", words,lines);

        return 0;

}

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

9.考虑下面的程序:

#include <stdio.h>
int main(void)
{
int x, y;
x = 10;
y = 5;   /* 第7行 */
y = x + y; /*第8行*/
x = x*y;  /*第9行*/
printf("%d %d\n", x, y);
return 0;
}

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

  • 执行第7行后x是10, y是5
  • 执行第8行后x是10,y是15
  • 执行第9行后x是150,y是15

发表评论

邮箱地址不会被公开。 必填项已用*标注