1、江西农业大学专升本考试 C 语言程序设计 B 卷真题 2011 年及答案解析(总分:95.00,做题时间:150 分钟)一、填空題(每空 1 分,共 20 分)(总题数:15,分数:15.00)1. 1 是 C 程序的基本单位,一个 C 程序总是从 2 开始执行。(分数:1.00)填空项 1:_填空项 1:_2.C 语言规定标识符只能由字母、 1 和 2 3 种字符组成,且第一个字符必须为字母或 3 。(分数:1.00)填空项 1:_填空项 1:_填空项 1:_3.著名计算机科学家沃思提出的一个公式:数据结构 1 程序(分数:1.00)填空项 1:_4.Turbo C+中,若有语句:unsig
2、ned int a;则 a 的范围是 0 1 (分数:1.00)填空项 1:_5.C 中的转义符“/r”表示: 1 。(分数:1.00)填空项 1:_6.表达式 21 / 4 的值为 1 。(分数:1.00)填空项 1:_7.C 语言中没有专门的字符串变量,如果想将一个字符串存放在变量中以便保存,必须使用 1 。(分数:1.00)填空项 1:_8.已知 a=12.789,则表达式 (int)a 的值为 1 。(分数:1.00)填空项 1:_9.表达式 3 | 2 的值是 1 。(分数:1.00)填空项 1:_10.若 a=5,经 a-=3;后 a= 1 。(分数:1.00)填空项 1:_11.
3、已知 ch=a,则表达式【(ch=A 】,则*p 的值是( ) (分数:2.00)A.2B.3C.4D.a+123.在 C 语言程序中,在函数内部定义的变量称为( ) (分数:2.00)A.全局变量B.外部变量C.全程变量D.局部变量24.经过以下的变量定义后,正确的表达式是( ) struct node char s10; int k; p4; (分数:2.00)A.p-k=21B.p0-k=21C.p(0)-k=21D.p-s=“Mary“25.若变量 c 为 char 类型,则能正确判断出 c 为大写字母的表达式是( ) (分数:2.00)A.(c= A)|(c= A) 】,则 p 的值
4、是( ) (分数:2.00)A.数组 a 的首地址B.数组 a 的第 1 个元素的地址C.数组 a 的第“1”行第“0”列的地址D.数组 a 的第“1”列的首地址28.用链表表示线性表的优点是( ) (分数:2.00)A.便于插入和删除操作B.花费的存储空间较顺序存储少C.便于随机存取D.数据元素的物理顺序与逻辑顺序相同29.结构化程序设计主要强调的是( ) (分数:2.00)A.程序的规模B.程序设计语言的先进性C.程序结构的规范化D.程序的效率30.以下表达式中,不正确的浮点数常量是( ) (分数:2.00)A.2e2B.2.2C.2c2D.2E231.若【int x=12,*p=x;】,
5、则正确的赋值表达式是( ) (分数:2.00)A.p=* for(;i=10;)i-; 执行完这段程序后,i 的值是( ) (分数:2.00)A.5B.4C.10D.933.设有如下程序段: int i=15; while(iA.循环体语句执行 15 次B.这是一个死循环C.循环体语句一次也不执行D.循环体语句只执行一次34.设有如下程序段: char a26=“abcde“,“uvwxy“,*p= printf(“/n%s“,p); 这段程序执行后,屏幕输出的结果是( ) (分数:2.00)A.wxyB.cdeC.wD.c35.设有如下程序段: union int i; char c; a;
6、 a.c=A; a.i=12; printf(“/n%d“,a.i); 这段程序执行后,屏幕输出的结果是( ) (分数:2.00)A.AB.97C.12D.65三、程序填空(每空 3 分,共 15 分)(总题数:2,分数:15.00)36.以下程序的功能是输出杨辉三角形前 10 行,请在下划线处填上正确的内容,使程序能正确运行。 #include #define N 11 main1 int i,j,aNN; for(i=1;i2 ; aii= 3 ; for(i=3;i=A 】,则*p 的值是( ) (分数:2.00)A.2B.3 C.4D.a+1解析:23.在 C 语言程序中,在函数内部定
7、义的变量称为( ) (分数:2.00)A.全局变量B.外部变量C.全程变量D.局部变量 解析:24.经过以下的变量定义后,正确的表达式是( ) struct node char s10; int k; p4; (分数:2.00)A.p-k=21 B.p0-k=21C.p(0)-k=21D.p-s=“Mary“解析:25.若变量 c 为 char 类型,则能正确判断出 c 为大写字母的表达式是( ) (分数:2.00)A.(c= A)|(c= A) 】,则 p 的值是( ) (分数:2.00)A.数组 a 的首地址B.数组 a 的第 1 个元素的地址C.数组 a 的第“1”行第“0”列的地址 D
8、.数组 a 的第“1”列的首地址解析:28.用链表表示线性表的优点是( ) (分数:2.00)A.便于插入和删除操作 B.花费的存储空间较顺序存储少C.便于随机存取D.数据元素的物理顺序与逻辑顺序相同解析:29.结构化程序设计主要强调的是( ) (分数:2.00)A.程序的规模B.程序设计语言的先进性C.程序结构的规范化 D.程序的效率解析:30.以下表达式中,不正确的浮点数常量是( ) (分数:2.00)A.2e2B.2.2C.2c2 D.2E2解析:31.若【int x=12,*p=x;】,则正确的赋值表达式是( ) (分数:2.00)A.p=* for(;i=10;)i-; 执行完这段程
9、序后,i 的值是( ) (分数:2.00)A.5B.4C.10D.9 解析:33.设有如下程序段: int i=15; while(iA.循环体语句执行 15 次B.这是一个死循环C.循环体语句一次也不执行 D.循环体语句只执行一次解析:34.设有如下程序段: char a26=“abcde“,“uvwxy“,*p= printf(“/n%s“,p); 这段程序执行后,屏幕输出的结果是( ) (分数:2.00)A.wxyB.cde C.wD.c解析:35.设有如下程序段: union int i; char c; a; a.c=A; a.i=12; printf(“/n%d“,a.i); 这段
10、程序执行后,屏幕输出的结果是( ) (分数:2.00)A.AB.97C.12 D.65解析:三、程序填空(每空 3 分,共 15 分)(总题数:2,分数:15.00)36.以下程序的功能是输出杨辉三角形前 10 行,请在下划线处填上正确的内容,使程序能正确运行。 #include #define N 11 main1 int i,j,aNN; for(i=1;i2 ; aii= 3 ; for(i=3;i=i-1;j+) aij= 4 ; for(i=1;i=i;j+) printf(“%6d“, aij ); printf(“/n“); (分数:9.00)填空项 1:_ (正确答案:1)填空
11、项 1:_ (正确答案:1)填空项 1:_ (正确答案:ai-1j-1+ai-1j)解析:37.以下程序的功能是利用函数求 100-200 间素数(质数)的个数,请在下划线处填上正确的语句,使程序能正确运行。 #include int isprime(int n) int i,f; f=1; for(i=2;i1 ) f=0; i=n; return(f); main2 int i=100,n=0; for(;i3 )n+; printf(“Numbers of prime:%d“,n); (分数:6.00)填空项 1:_ (正确答案:n%i=0)填空项 1:_ (正确答案:isprime(i
12、)=1)解析:四、写出以下程序运行结果(每题 4 分,共 12 分(总题数:3,分数:12.00)38.以下程序输出的结果是: #include “stdio.h“ void main() char s=“/“hello/“; printf(“%s“,s); (分数:4.00)_正确答案:(运行结果: “hello“ )解析:评分标准:内容正确得 2 分,引号正确得 2 分39.以下程序输出的结果是: #include “stdio.h“ void main() int a=12,b=13; a=a+b; b=a-b; a=a-b; printf(“%d,%d“,a,b); (分数:4.00)
13、_正确答案:(运行结果: 13,12 )解析:评分标准:内容正确得 2 分,格式正确得 2 分40.以下程序输出的结果是: #include “stdio.h“ void main() char ch=“I love Great Wall of China!“; printf(“%c“,*(ch+5); (分数:4.00)_正确答案:(运行结果: e)解析:五、编程题(第 1 题 5 分,第 2 题 8 分,共 13 分(总题数:2,分数:13.00)41.百钱百鸡问题:公元前 5 世纪,我国古代数学家张丘建在算经一书中提出了百鸡问题:鸡翁一值钱五、鸡母一值钱三、鸡雏三值钱一,百钱买百鸡,问鸡
14、翁、母、雏各几何? 试编程输出所有的买法。注意:每一种鸡至少要一只。(分数:5.00)_正确答案:(参考程序: #include “stdio.h“ void main() int cock,hen,chick; for(cock=1;cock解析:评分标准:程序结构正确得 3 分,算法正确得 2 分42.编程输出所有“玫瑰花数“。(一个四位数等于它每一位数字的 4 次方之和.那么我们称这个四位数为“玫瑰花数“)(分数:8.00)_正确答案:(参考程序: #include “stdio.h“ void main() int i,g,s,b,q,m; for(i=1000;i=9999;i+) g=i%10; s=i/10%10; b=i/100%10; q=i/1000; m=g*g*g*g+s*s*s*s+b*b*b*b+q*q*q*q; if(i=m)printf(“/n%d“,i); )解析:评分标准:程序结构正确得 4 分,算法正确得 4 分