1、江西农业大学专升本考试 C语言程序设计 A卷真题 2011年及答案解析(总分:100.00,做题时间:150 分钟)一、填空題(每空 1分,共 20分)(总题数:15,分数:20.00)1.C程序是由 1 构成的,一个 C源程序至少且仅包含一个 2。(分数:2.00)填空项 1:_2.C语言规定标识符只能由 1、 2 和下划线 3种字符组成,且第一个字符必须为 3 或下划线。(分数:3.00)填空项 1:_填空项 1:_填空项 1:_3.著名计算机科学家沃思提出的一个公式:数据结构算法 1。 (分数:1.00)填空项 1:_4.Turbo C+中,若有语句:int a;则 a的范围是32768
2、 1。 (分数:1.00)填空项 1:_5.C中的转义符“/n”表示: 1。 (分数:1.00)填空项 1:_6.表达式 21 % 4 的值为 1。 (分数:1.00)填空项 1:_7.C语言中没有专门的 1 变量,如果想将一个字符串存放在变量中以便保存,必须使用字符数组。(分数:1.00)填空项 1:_8.已知 a=79.345,则表达式 (int)a 的值为 1。 (分数:1.00)填空项 1:_9.表达式 3 后 a= 1。 (分数:1.00)填空项 1:_11.已知 ch=B,则表达式【(ch=A 】,则 p的值是( ) (分数:2.00)A.数组 a的首地址B.数组 a的第 1个元素
3、的地址C.数组 a的第“1”行的首地址D.数组 a的第“1”列的首地址28.用链表表示线性表的优点是( ) (分数:2.00)A.便于随机存取B.便于插入和删除操作C.花费的存储空间较顺序存储少D.数据元素的物理顺序与逻辑顺序相同29. 结构化程序设计主要强调的是( ) (分数:2.00)A.程序的规模B.程序设计语言的先进性C.程序的效率D.程序清晰的结构30.以下表达式中,不正确的字符常量是( ) (分数:2.00)A.nB.“a“C.2D./10131.若【int x=12,*p=x;】,则正确的赋值表达式是( ) (分数:2.00)A.p=xB.p=*xC.*p=xD.*p=*x32.
4、设有如下程序段: int i=5; for(;i2 以下程序的功能是求 F(49)的值,请在下划线处填上正确内容,使程序能正确运行。 #include #include #include main1 int i; double f50; f1= 2;f2= 3; for(i=3;i=A 】,则 p的值是( ) (分数:2.00)A.数组 a的首地址B.数组 a的第 1个元素的地址C.数组 a的第“1”行的首地址 D.数组 a的第“1”列的首地址解析:28.用链表表示线性表的优点是( ) (分数:2.00)A.便于随机存取B.便于插入和删除操作 C.花费的存储空间较顺序存储少D.数据元素的物理顺
5、序与逻辑顺序相同解析:29. 结构化程序设计主要强调的是( ) (分数:2.00)A.程序的规模B.程序设计语言的先进性C.程序的效率D.程序清晰的结构 解析:30.以下表达式中,不正确的字符常量是( ) (分数:2.00)A.nB.“a“ C.2D./101解析:31.若【int x=12,*p=x;】,则正确的赋值表达式是( ) (分数:2.00)A.p=xB.p=*xC.*p=x D.*p=*x解析:32.设有如下程序段: int i=5; for(;i2 以下程序的功能是求 F(49)的值,请在下划线处填上正确内容,使程序能正确运行。 #include #include #includ
6、e main1 int i; double f50; f1= 2;f2= 3; for(i=3;i=49;i+) fi= 4; printf(“f49=%12.0lf“,f49); (分数:9.00)填空项 1:_ (正确答案:1)填空项 1:_ (正确答案:1)填空项 1:_ (正确答案:fi-1+fi-2)解析:37.以下程序的功能是用递归法求 n!,请在下划线处填上正确的语句,使程序能正确运行。 #include long f(int n) if(n=1)return( 1); else return ( 2); main3 int n; printf(“n=“); scanf(“%d“
7、, printf(“%d!=%ld“,n,f(n); (分数:6.00)填空项 1:_ (正确答案:1)填空项 1:_ (正确答案:n*f(n))解析:四、写出以下程序运行结果(每题 4分,共 12分(总题数:3,分数:12.00)38.以下程序输出的结果是: #include “stdio.h“ void main() char s=“hello/nworld“; printf(“%s“,s); (分数:4.00)_正确答案:(Hello world 评分标准:输出内容正确扣得分,格式正确得 2分 )解析:39.以下程序输出的结果是: #include “stdio.h“ void main
8、() int i,g,s,b,q; for(i=1234;i_正确答案:(5321)解析:40.以下程序输出的结果是: #include “stdio.h“ void main() char ch=“I-love-Great-Wall-of-China!“; char *p=ch; printf(“%c“,*(p+5); (分数:4.00)_正确答案:(e)解析:五、编程题(第 1题 5分,第 2题 8分,共 13分(总题数:2,分数:13.00)41.将一张百元大钞对换成 1元、5 元、10 元的小钞,要求每种小钞最少要一张,编程求共有多少种对换方法。(分数:5.00)_正确答案:(参考程序
9、: #include “stdio.h“ void main() int y,w,s,n=0; for(y=1;y解析:42.编程输出所有“水仙花数“。(一个三位数等于它每一位数字的立方和,那么我们称这个数为“水仙花数“ )(分数:8.00)_正确答案:(参考程序: #include “stdio.h“ void main() int i,g,s,b,m; for(i=100;i=999;i+) g=i%10; s=i/10%10; b=i/100%10; m=g*g*g+s*s*s+b*b*b; if(i=m)printf(“/n%d“,i); 评分标准:程序结构正确得 4分,算法正确得 4分 )解析: