1、C语言的基本模块是什么?
函数
2、什么是语法错误?写出一个英语例子或C语言例子。
3、什么是语义错误?写出一个英语例子或C语言例子。
4、Indiana Sloth编写了下面的程序,并征求你的意见。请帮助他评定。
#include stdio.h
int main{void} /* 该程序打印一年有多少个周 */
(
int s
s := 56;
printf(There ars s weeks in a year.);
return 0;
1、语法错误:
-
include包含头文件时需要加上<>。如#include <stdio.h>
-
main函数的判断标准是main后面加上原括号,int main(void)
-
函数体是以花括号开始和结束的
-
变量s声明时需要在末尾加上分号 int s;
-
变量s赋值时应使用 s = 56
-
printf()函数调用时,字符串部分需要使用双引号括起来
-
printf()在格式化输出变量时,在需要输出的地方加上格式化字符信息(如 %d),字符串后面需要用逗号隔开,并携带变量名
-
函数结束需要以花括号结尾
正确的例子如下:
#include <stdio.h>
int main(void) /* 该程序打印一年有多少个周 */
{
int s;
s = 56;
printf("There ars %d weeks in a year.\n", s);
return 0;
}
程序的输出结果如下:
5、假设下面的4个例子都是完整程序中的一部分,它们都输出什么结果?
-
printf("Baa Baa Black Shep.");
printf("Have you any wool?\n");
-
printf("Begone!\nO creature of lard!\n");
-
printf("What?\nNo/nfish?\n");
-
int num;
num = 2;
printf("%d + %d = %d", num, num, num + num);
6、在main、int、function、char、= 中,哪些是C语言关键字?
int、char、
7、如何以下面的格式输出变量words和lines的值?
There were 3020 words and 350 lines.
int words = 3020;
int lines = 350;
printf("There were %d words and %d lines", words, lines);
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", a, b);
return 0;
}
代码分析:
-
第4行处声明了两个变量a和b
-
第6行,将值5赋给变量a,此时 a = 5,b由于未赋初值,暂不确定
-
第7行,将值2赋给变量b,此时a = 5, b = 2
-
第8行,将变量a的值赋给变量b,即将值5赋给变量b,此时 a = 5, b = 5
-
第9行,将变量b的值赋给变量a,即将值5赋给变量a,此时a = 5, b = 5
因此最终printf()函数输出 5 5。
VS运行结果如下:
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;
}
代码分析:
-
第4行处声明了两个变量x和y
-
第6行,将值10赋给变量x,此时 x = 10,y由于未赋初值,暂不确定
-
第7行,将值5赋给变量y,此时x = 10, y = 5
-
第8行,先计算表达式x + y的值,即 10 + 5 = 15,将值15赋值给y,此时x = 10, y = 15
-
第9行,先计算表达式x * y的值,即 15 * 10 = 150,将值150赋值给x,此时x = 150, y = 15
因此最终printf()函数输出 150 15。
VS运行结果如下: