2005 年天津工业大学高级语言程序设计考研真题
一.选择题
1.已知大写字母 A 的 ASCII 码值是 65,小写字母 a 的 ASCII 码是 97,则用八进制表示的
字符常量‘\101’是【1】.
A) 字符 A
B)字符 a
C)字符 e
D)非法的常量
2. 以下非法的赋值语句是【2】.
A) n=(i=2,++i);
B)j++;
C) ++(i+1);
D)x=j>0;
3. 设 a 和 b 均为 double 型变量,且 a=5.5、b=2.5,则表达式(int)a+b/b
的值是【3】.
A)6.500000
B)6
C) 5.500000
D) 6.000000
4. 已知 i、j、k 为 int 型变量,若从键盘输入:1,2,3<回车>,使 i 的值为 1、j 的值为 2、
k 的值为 3,以下选项中正确的输入语句是【4】.
A) scanf(“%2d%2d%2d”,&i,&j,&k);
B) scanf(“%d %d %d”,&i,&j,&k);
C)scanf(“%d,%d,%d”,&i,&j,&k);
D) scanf(“i=%d,j=%d,k=%d”,&i,&j,&k);
5. 与数学式子 对应的 C 语言表达式是【5】.
A) 3*x^n(2*x-1)
B) 3*x**n(2*x-1)
C) 3*pow(x,n)*(1/(2*x-1))
D) 3*pow(n,x)/(2*x-1)
6. 以下选项中,与 k=n++完全等价的表达式是【6】.
A) k=n,n=n+1
B) n=n+1,k=n
C) k=++n
D) k+=n+1
7. 有以下程序
8. C 语言中,函数值类型的定义可以缺省,此时函数值的隐含类型是【8】.
A) void
B) int
C) float
D) double
9. 若有说明:int n=2,*p=&n,*q=p;,则以下非法的赋值语句是【9】.
A) p=q;
B) *p=*q;
C) n=*q;
D) p=n;
10.以下 4 个选项中,不能看作一条语句的是【10】.
A){;}
B)a=0,b=0,c=0;
C)if(a>0);
D) if(b==0)
m=1;n=2;
11.设有定义:int a,*pa=&a;以下 scanf 语句中能正确为变量 a 读入数据的是【11】.
A)scanf("%d",pa);
B)scanf("%d",a);
C)scanf("%d",&pa);
D)scanf("%d",*pa);
12. 下面的程序输出是【12】
A) 32
B) 16
C) 8
D) 24
13. 有以下程序
程序执行后的输出结果是【13】.
A)自然数 1~9 的累加和
B)自然数 1~10 的累加和
C)自然数 1~9 中的奇数之和
D)自然数 1~10 中的偶数之和
14.若程序中定义了以下函数
B)double myadd(double,double);
C)double myadd(double b,double a);
D)double myadd(double x,double y);
执行后输出结果是【19】.
A)2
B)3
C)4
D)5
二.填空题
1. 以下程序的功能是:从键盘上输入一个字符串, 把该字符串中的小写字母转换为大写字母,
输出到文件 test.txt 中,然后从该文件读出字符串并显示出来.请填空.
2. 以下程序可以把从键盘上输入的十进制数(long 型)以二到十六进制形式输出,请填空
三. 将两个两位数的正整数 a、b 合并形成一个整数放在 c 中。合并的方式是:将 a 数的
十位和个位数依次放在 c 数的个位和十位上, b 数的十位和个位数依次放在 c 数的百位和
千位上(例如,当 a=45,b=12。执行程序后,c=2154)。编程实现上述功能。
四.编写程序,实现下述功能。
从键盘输入一些字符,逐个把它们送到磁盘上去,直到输入一个#为止。
五. 编写一个函数,输入 n 为偶数时,调用函数求 1/2+1/4+...+1/n,当输入 n 为奇数时,
调用函数 1/1+1/3+...+1/n
六.读取 10 个数(1—50)的整数值,每读取一个值,程序打印出该值个数的*。