1、注:1 试题字迹务必清晰,书写工整。 本题 5 页,本页为第 1 页2 题间不留空,一般应题卷分开 教务处试题编号:3 务必用 A4 纸打印 A 卷一、单项选择题(在每小题的四个备选答案中,选出一个正确的答案,并将其号码填在题干后的括号内。每小题 1 分,共 16 分)1对于一个正常运行的 C 程序,以下叙述中正确的是 A 。A)程序的执行总是从 main 函数开始,在 main 函数结束B)程序的执行是从程序的第一个函数开始,在 main 函数结束C)程序的执行是从 main 函数开始,在程序的最后一个函数中结束D)程序的执行是从程序的第一个函数开始,在程序的最后一个函数中结束2按照 C 语
2、言规定的用户标识符命名规则,不能出现在标识符中的是 B 。A)字母 B)减号 C)数字字符 D)下划线3下列定义变量的语句中错误的是 C 。A)int _if; B)double If; C)char forch D)float x&;4以下选项中可作为 C 语言合法常量的是 A 。A)-80 B)-0819 C)-1el.0 D)-168.0e5以下能正确定义且赋初值的语句是 。A)int a=b=16; B)char c=97;C)float x=x+1.8; D)double x=1.23E2.06设有定义:“int a=1,b=6,c=8;” ,则以下选项中值为 0 的表达式是 。A)
3、(!a=1)printf(“%cn“, (al, a2, a3);return 0;运行结果是:2有以下程序:#include int main(void)int k = 6;while (-k) printf(“%d“, k -= 4);return 0;运行结果是:3有以下程序:#include int main(void)int i = -1;do printf(“%d“, i); while (+i);printf(“%dn“, i);return 0;运行结果是:4有以下程序:#include double fun1(double a) return a * a; int fun2(
4、double x, double y)double a = fun1(x), b = fun1(y);return a + b;int main(void)int w = fun2(1.3, 2.0);printf(“%dn“, w);return 0;运行结果是:5有以下程序:#include int f(int n)if (n = 1) return 1;else return n + f(n - 1);int main(void)printf(“%dn“, f(5);return 0;运行结果是:6有以下程序:#include void point(char *p) p += 5; in
5、t main(void)char b = a, b, c, d, f, g, *p = b;point(p);printf(“%cn“, *p);return 0;运行结果是:四、程序填空题(每空 2 分,共 12 分)1以下程序的功能是:输出 a、b、c 三个变量中的最小值。将程序补充完整。#include int main(void)int a, b, c, t1, t;scanf(“%d%d%d“, t = a #define N 10void invert(int s, int i, int j)if (i float average(int a, int n)int i;float s = 0;for (i = 0; i n; i+)s = s + 5 ;return s / 6 ;int main(void)int i, a5 = 2, 4, 6, 8, 10;float mean;mean = average(a, 5);printf(“mean=%fn“, mean);return 0;五、编程题(每小题 14 分,共 28 分)1输入一行字符,统计其中有多少个单词,单词之间用空格分隔开。2编程实现从键盘上输入一个字符串,把此字符串中的小写字母转换成大写字母,输出到文件test.txt 中,然后从该文件读出字符串并显示出来。