内容发布更新时间 : 2024/12/24 2:47:41星期一 下面是文章的全部内容请认真阅读。
1、 判断程序的对错与写出结果
#include
2.1 下列变量名中哪些是合法的?
? 2a a# C$ t3 _var ? int
2.2 选择填空
(1)C语言中用________表示逻辑值“真”。 A) true B) 整型值0 (2)下列合法的字符常量为________。
C) 非零整数值
D) T
A) \ B) '\\n' C) 'china' D) a (3)设有语句char c='\\72'; 则变量c________。
A) 包含1个字符 B)包含2个字符 C) 包含3个字符 D) 不合法 (4)字符常量\的长度为________。
A) 19 B) 15 C) 18 D) 不合法
(5)设a,b,c 为 int 型变量,且a = 3 ,b = 4 , c = 5,下面表达式值为0的是________。
A) 'a' && 'b' B) a <= b
C) a || b+c && b-c D) !((a
则表达式 a * b + d – c 的值的类型为_____________ A) float B) int C) char
double d ; D) double
(7)设有语句int a = 3; 执行了语句a += a -= a * a; 后,变量a的值是________。 A) 3 B) 0 C) 9 D) -12
(8)设有语句int a = 3; 执行了语句printf(\后,输出的结果是________,变量a的值是________。
A) 3 B) 4 C) -3 D) -2 2.3将下列数学表达式表示为合法的C语言表达式。 (1)
a?b2c22 (2) (a?b)(c?d)?2 (3) (lnx?sin(y))/2
11?1x(4) 2?r (5) (6)
sin(30)?2e2y?yx?x
3.1 C语句分为哪几类? 3.2 选择填空
(1)下列可作为C语言赋值语句的是:_____________。
A) x = 3, y = 5 B) a = b = c C) i -- ; (2)以下程序的输出结果为:_____________。
main()
{ int a = 2, c = 5; printf(\}
D) y = int ( x ) ;
A) a = %2, b = %5 B) a = 2, b = 5 C) a=%%d, b=%%d D) a=%d, b=%d 3.3分析下面程序片断,指出程序错在哪里,错误的原因,并将其改正。 (1)int a, b;
scanf(\
(2)float f = 2.39;
printf(\
(3)double var;
long a;
scanf(\
(4)int a, b;
scanf(\
(5)float f;
scanf(\
(6)
main() { int a, b; scanf(\ printf(\}
程序运行时输入:6, 2 ↙ 3.4分析下列程序并写出程序运行结果: (1)
main() { char c1 = 'a', c2 = 'b', c3 = 'c'; printf(\}
(2)
main() { int x = 12 , y = 8; printf(\}
(3)
main() { int x, y; scanf(\ printf(\}
程序执行时从键盘输入:1234567↙ (4)
main() { int a = 2, b = 3 ; float x = 3.5, y = 2.5 ; printf(\}
(5)
main()
{ int x = 12 , y = 8; printf(\ printf(\}
(6)
main() { int x = 12, y = 8, p, q; p = x++; q = ++y; printf(\ printf(\}
3.5 已知三角形的三边长a,b,c,计算求三角形面积的公式为:
s =
12(a?b?c), area = s(s?a)(s?b)(s?c)
要求编写程序,从键盘输入a,b,c的值,计算并输出三角形的面积。
[提示:程序运行时应保证输入的a,b,c值满足三角形成立的条件,这样计算得到的三角形面积才有意义。另外,将面积计算的数学公式写成合法的C语言表达式如下:
area = sqrt(s*(s-a)*(s-b)*(s-c))
注意写成:
area = sqrt(s(s-a)(s-b)(s-c))
是不错误的。
将数学公式s=
12(a?b?c),写成如下C语言表达式:
s = 0.5*(a+b+c)
或
s = 1.0/2*(a+b+c)
都是正确的。而写成
s = 1/2*(a+b+c)
虽然是合法的,但结果是错误的,请读者思考为什么。] 3.6 编程从键盘输入圆的半径r,计算并输出圆的周长和面积。
[提示:将计算园周长和面积公式中的? 定义为符号常量。.]
4.1 简答题:
(1)什么是算法?算法在程序设计中的重要作用是什么? (2)什么是结构化程序设计?其基本思想是什么?
(3)什么是“自顶向下、逐步求精”的程序设计方法?
4.2 选择题:
(1)在下面的条件语句中,只有一个在功能上与其它三个语句不等价(其中s1和s2表示它是C语句),这个不等价的语句是: 。
A) if (a) s1; else s2;
B) if (!a) s2; else s1;
C) if (a != 0) s1; else s2; D) if (a == 0) s1; else s2;
(2)设有声明语句:int a=1,b=0;则执行以下语句后输出为: 。
switch (a)
{
case 1:
switch (b) {
case 0: printf(\
case 1: printf(\ }
case 2: printf(\}
A) **0** B) **0****2** C)**0****1****2** D)有语法错误 (3)在while (x)语句中的x与下面条件表达式等价的是: 。
A) x == 0 B) x == 1 C) x != 1 D) x != 0 (4)若int x;且有下面的程序片断,则输出结果为: 。
for (x=3; x<6; x++) {
printf((x%2) ? \}
A) **3 B) ##3 C) ##3 D) **3##4
##4 **4 **4##5 **5
**5 ##5
4.3 写出下列程序的运行结果。
(1)下面程序运行结果为 。
#include
(2)若从终端上由第一列开始输入以下数据:
right?↙
则程序运行结果为: 。
#include
(3)对下面程序,若输入数据同上,则程序运行结果为: 。
#include
while ((c = getchar()) != '?') { putchar(c); } }
(4)对下面程序,若输入数据同上,则程序运行结果为: 。
#include
(5)请读者上机运行下面的程序,并仔细体会两个程序运行结果的不同。 程序1:
#include
while ((c = getchar()) != '\\n') { putchar(c); } printf(\}
程序2:
#include
char c;
while ((c = getchar()) != '$') { putchar(c); }
printf(\}
运行时输入abcdefg$abcdefg↙
则两个程序的运行结果分别为: 。 (6)下面程序运行结果为: 。
#include
int i, j, k; char space = ' ';
for (i=1;i<=4;i++) { for (j=1; j<=i; j++) { printf(\ } for (k=1; k<=6; k++) { printf(\ } printf(\ } }
(7)下面程序运行结果为: 。