2014 年河南财经政法大学 C 程序设计考研真题
一、 单选:(答案填在答题纸上,注明题号,不要直接填在卷子上)
(本题共 20 小题,每小题 2 分,共计 40 分)
1. C 语言程序表达式:x=a+Y+z 与 x=a+y+z______。
A) 二者是等价的
C) 二者可以通用
2. C 语言是______。
B) 二者不等价
D) 二者没有区别
A)面向对象的程序设计语言 B)面向过程的程序设计语言
C)一种逻辑编程语言
D)一种自然语言
3. 以下选项中合法的标识符是是______。
A)No-1
B)No.1
C)No_1
D)1-No
4. 下列语句中语法错误的是______。
A) printf("%o",09);
C) printf("%d",2);
B) printf("%x",15);
D) printf("%g",2.8);
5. 若有:int x=1,y=2,z=3,a=4;错误的 C 语言表达式是______。
A)x+++y
B)a+=++a
C)x+++=y
D)x=y=z
6. 若有 int x=1,y=2,z=3;则 printf(“%d %d”,(x,y),z);输出结果为______。
A)1,2
B) 2,3
C)1,3
D)3,3
7. 有程序段:int x=3,y=2,z=3;printf("%d",x<=y<=z);输出结果是:______。
A) 2
B) 1
C) 0
D) -1
8. 下面程序段运行结果是______。
char c1,c2;
A)65,66
c1=’A’; c2=’B’;
B)A,B
c1=c1+32; c2=c2+32;
printf(“%c,%c”,c1,c2);
C)97,98
D)a,b
9. 在 C 语言中,表达式为______时表示逻辑值“真”。
A) T
B)true
C)非 0
D) 非 1
10. 若有 a=1 表达式 a+=a-=a+3 的值是______ 。
A) -3
B) -4
C) -5
D) -6
11. 若有:int x=3,y=4; 则 x&y 的结果是______。
A)12
D) 0
12. 若有:int x=4,y=2;则表达式++x+y++的值为:______ 。
C)1
B)7
A) 7
B) 6
C)1
D) 0
13. 若有:int sum,i;for(i=0;i<=3;i++) sum+=i;
printf("%d\n",sum);
其输出结果是:______。
A) 6
B)5
C) 0
D)结果不能确定
14. 若有: int x=22,y=10;y=x>22?x+20:x-22;则 y 的值为:______。
A)0
B)1
C)42
D)2
15.若有:int x=0,y=0; y=(x=0)?x+2:x-2;则y的值是:______。
A)2
B)1
C)0
D)-2
16.有程序段:int a[5]={1,2,3,4,5},*p; p=a;
printf("%d ",p[3]-*p);其输出结果为:______。
A) 0
C) 2
B) 1
D) 3
17. 有程序段如下:
int a[3][3]={1,2,3,4,5,6,7,8,9},*p;
p=a[1];
printf("%d ",*(p+2));
程序段运行结果是:______。
A)3
B)6
C)8
D) a[1][3]首地址
18. 若有:union
{ char ch;
int x;
double y;} s1;
s1.y=28.6;
则变量 s1 所占的存储空间是______。
A)同 ch 占的一样大 B)同 x 占的一样大
C)同 y 占的一样大 D)等于 ch、x、和 s1 所占存储空间之和
19. int * p[5],表示:______。
A)p 是指向 int 型变量的指针变量
B) p 是指向函数的指针变量
C) p 是函数名,该函数返回值是 int 型
D) p 是指针数组
20. 有程序段如下:
int a[3][3]={1,2,3,4,5,6,7,8,9},(*p)[3];
p=a; printf("%d",*(*(p+1))+2);
该程序输出结果是______。
B)7
A)6
C)a[1][2]的首地址
D)语法错
二、编写程序
1. 计算方阵的下三角形周边元素之和,如:
1
5
9
13
2
6
10
14
3
7
11
15
4
8
12
16
下三角周边之和为 90(本题 13 分)
2. 读入一个字符串到数组中,计算出其中数字字符占总字符个数的百分之几, 小写字母占总
字符个数的百分之几,大写字母占总字符个数的百分之几,其它字符占总字符个数的百分
之几,如:
输入:a1BC.
输出:数字占 20% 小写字母占 20% 大写字母占 40% 其它字符占 20%(本题 13 分)
3.有二维数组,求出每一行的最大值,放在本行最右边元素中,求出每一列的最小值,放在
本列最下边的元素中。如:
1
4
7
1
3
6
9
3
2
5
8
2
3
6
9
0
请写出程序。(本题 14 分)
4. 求一矩阵与其转置矩阵之和。如:
3
6
9
+
2
5
8
1
4
7
写出程序(本题 14 分)
7
8 =
9
1
2
3
4
5
6
2
6
10
6
10
14
10
14
18
5. 求大于某个数的最小素数。如,大于 20 的最小素数是 23。 请写出程序。 (本题 14 分)
6.有一整数数组,将其循环左移两位。如:1 2 3 4 5 循环左移两位后为:3 4 5 1 2 (本
题 14 分)
7. 将 10 进制正整数转换为 2 进制数,并输出出来。如:十进制数 10,转换后输出 1010。请
写出程序。(本题 14 分)
8. 测定一个字符串中所含的子字符串的个数。如:字符串:abcdabcdab 中含子字符串 ab 共
3 个。请写出程序。(本题 14 分)