江西農(nóng)業(yè)大學(xué)2011年專(zhuān)升本考試
《C語(yǔ)言程序設(shè)計(jì)》試卷 A卷
注意:答案請(qǐng)?zhí)顚?xiě)在答題紙上!
一、 填空題(每空1分,共20分)
1.C程序是由 構(gòu)成的,一個(gè)C源程序至少且僅包含一個(gè) 。
2.C語(yǔ)言規(guī)定標(biāo)識(shí)符只能由 、 和下劃線3種字符組成,且第一個(gè)字符必須為 或下劃線。
3.計(jì)算機(jī)科學(xué)家沃思提出的一個(gè)公式:數(shù)據(jù)結(jié)構(gòu)+算法= 。
4.Turbo C++中,若有語(yǔ)句:int a;則a的范圍是-32768~ 。
5.C中的轉(zhuǎn)義符“\n”表示: 。
6.表達(dá)式 21 % 4 的值為 。
7.C語(yǔ)言中沒(méi)有專(zhuān)門(mén)的 變量,如果想將一個(gè)字符串存放在變量中以便保存,必須使用字符數(shù)組。
8.已知a=79.345,則表達(dá)式 (int)a 的值為 。
9.表達(dá)式 3 & 2 的值是 。
10. 若a=5,經(jīng)a+=3;后a= 。
11.已知ch='B',則表達(dá)式【(ch>='A ' && ch<='Z')? (ch+32):ch 】的值為 。
12.C中定義符號(hào)常量PI為3.14159的宏命令是 。
13.函數(shù)形參和調(diào)用的實(shí)參是普通變量時(shí),參數(shù)按 方式進(jìn)行傳遞。
14.C中邏輯運(yùn)算符的優(yōu)先次序是: à à 。
15.定義一個(gè)共用體變量,共三個(gè)成員分別是字符型、整形和浮點(diǎn)型,則該共用體變量所占內(nèi)存長(zhǎng)度為 個(gè)字節(jié)。
二、 單項(xiàng)選擇題(每題2分,共40分)
1.下列C語(yǔ)言標(biāo)識(shí)符中,合法的是………………………………………………( )
A. if B. return
C. 23a D. a23
2.欲從鍵盤(pán)給整型變量a賦值3,b賦值2,則對(duì)應(yīng)語(yǔ)句 scanf("%d,%d",&a,&b); 的輸入格式是………………………………………………………………………( )
A. 3 2 B. 2,3
C. 2 3 D. 3,2
3. C語(yǔ)言源程序文件經(jīng)過(guò)C編譯程序編譯連接之后生成的文件后綴名是……( )
A. .exe B. .obj
C. .bat D. .c
4.結(jié)構(gòu)化程序設(shè)計(jì)的三種基本結(jié)構(gòu)是…………………………………………( )
A. 順序結(jié)構(gòu)、復(fù)雜結(jié)構(gòu)、循環(huán)結(jié)構(gòu)
B. 順序結(jié)構(gòu)、復(fù)雜結(jié)構(gòu)、分支結(jié)構(gòu)
C. 順序結(jié)構(gòu)、分支結(jié)構(gòu)、選擇結(jié)構(gòu)
D. 順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)
5.以下表達(dá)式中,值為0的是…………………………………………………( )
A. 4%5 B. 4/5.0
C. 4/5 D. 4<5
6.設(shè)下列表達(dá)式中所涉及的變量均已正確定義,則不符合C語(yǔ)言語(yǔ)法的是…( )
A. 4&&3 B. a++
C. a=b=5 D. int(3.14159)
7.設(shè)變量定義為【int a[3]={1,3,5}, *p=&a[0]+1; 】,則*p的值是…………( )
A. 2 B. 3
C. 4 D. &a[0]+1
8. 在C 語(yǔ)言程序中,在函數(shù)內(nèi)部定義的變量稱(chēng)為……………………………( )
A. 全局變量 B. 外部變量
C. 全程變量 D. 內(nèi)部變量
9. 對(duì)于以下的變量定義,正確的表達(dá)式是……………………………………( )
struct node {
char s[10];
int k;
} p[4];
A. p->k=2 B. p[0]->k=2
C. p(0)->k=2 D. p->s='a'
10.若變量c為char類(lèi)型,則能正確判斷出c為小寫(xiě)字母的表達(dá)式是…………( )
A. (c>= 'a')||(c<= 'z') B. 'a'<=c<= 'z'
C. (c>= 'a')&&(c<= 'z') D. ('a'<=c)and ('z'>=c)
11.C語(yǔ)言中以“只讀”方式打開(kāi)文件,應(yīng)選擇的參數(shù)是…………………………( )
A. o B. w
C. a D. r
12.設(shè)變量定義為【int a[2][3]={1,2,3,4,5,6}, *p=a[1]; 】,則p的值是…( )
A. 數(shù)組a的首地址
B. 數(shù)組a的第1個(gè)元素的地址
C. 數(shù)組a的第“1”行的首地址
D. 數(shù)組a的第“1”列的首地址
13.用鏈表表示線性表的優(yōu)點(diǎn)是………………………………………………( )
A. 便于隨機(jī)存取
B. 便于插入和刪除操作
C. 花費(fèi)的存儲(chǔ)空間較順序存儲(chǔ)少
D. 數(shù)據(jù)元素的物理順序與邏輯順序相同
14. 結(jié)構(gòu)化程序設(shè)計(jì)主要強(qiáng)調(diào)的是……………………………………………( )
A. 程序的規(guī)模
B. 程序設(shè)計(jì)語(yǔ)言的先進(jìn)性
C. 程序的效率
D. 程序清晰的結(jié)構(gòu)
15.以下表達(dá)式中,不正確的字符常量是………………………………………( )
A. 'n’ B. "a"
C. '2’ D. '\101’
16. 若【int x=12,*p=x;】,則正確的賦值表達(dá)式是……………………………( )
A. p=x B. p=*x
C. *p=x D. *p=*x
17.設(shè)有如下程序段:
int i=5;
for(;i<=10;)i++;
執(zhí)行完這段程序后,i的值是………………………………………………( )
A. 5 B. 6
C. 10 D. 11
18.設(shè)有如下程序段:
int i=15;
while(i<15)i++;
則以下描述中正確的是……………………………………………………( )
A. 循環(huán)體語(yǔ)句執(zhí)行15次
B. 這是一個(gè)死循環(huán)
C. 循環(huán)體語(yǔ)句一次也不執(zhí)行
D. 循環(huán)體語(yǔ)句只執(zhí)行一次
19.設(shè)有如下程序段:
char a[2][6]={"abcde","uvwxy"},*p=a[1];
printf("\n%s",p);
這段程序執(zhí)行后,屏幕輸出的結(jié)果是………………………………………( )
A. abced B. uvwxy
C. b D. v
20.設(shè)有如下程序段:
union
{
int i;
char c;
}a;
a.i=12;
a.c='A';
printf("\n%d",a.i);
這段程序執(zhí)行后,屏幕輸出的結(jié)果是………………………………………( )
A. 12 B. 97
C. 65 D. A
三、 程序填空(每空3分,共15分)
1.已知fibonacci數(shù)列:1,1,2,3,5,8,......,它可由下面公式表述:
F(1)=1 n=1
F(2)=1 n=2
F(n)=F(n-1)+F(n-2) n>2
以下程序的功能是求F(49)的值,請(qǐng)?jiān)谙聞澗€處填上正確內(nèi)容,使程序能正確運(yùn)行。
#include
#include
#include
main()
{
int i;
double f[50];
f[1]= ;f[2]= ;
for(i=3;i<=49;i++)
f[i]= ;
printf("f[49]=%12.0lf",f[49]);
}
2.以下程序的功能是用遞歸法求n!,請(qǐng)?jiān)谙聞澗€處填上正確的語(yǔ)句,使程序能正確運(yùn)行。
#include
long f(int n)
{
if(n==1)return( );
else return ( );
}
main()
{
int n;
printf("n=");
scanf("%d",&n);
printf("%d!=%ld",n,f(n));
}
四、 寫(xiě)出以下程序運(yùn)行結(jié)果(每題4分,共12分)
1.以下程序輸出的結(jié)果是:
#include "stdio.h"
void main()
{
char s[]="hello\nworld";
printf("%s",s);
}
2.以下程序輸出的結(jié)果是:
#include "stdio.h"
void main()
{
int i,g,s,b,q;
for(i=1234;i<1236;i++)
{
g=i/1 %10;
s=i/10 % 10;
b=i/100 % 10;
q=i/1000 % 10;
printf("%d%d%d%d\n",g,s,b,q);
}
}
3. 以下程序輸出的結(jié)果是:
#include "stdio.h"
void main()
{
char ch[]="I-love-Great-Wall-of-China!";
char *p=ch;
printf("%c",*(p+5));
}
五、 編程題(第1題5分,第2題8分,共13分)
1.將一張百元大鈔對(duì)換成1元、5元、10元的小鈔,要求每種小鈔最少要一張,編程求共有多少種對(duì)換方法。
2.編程輸出所有"水仙花數(shù)"。(一個(gè)三位數(shù)等于它每一位數(shù)字的立方和,那么我們稱(chēng)這個(gè)數(shù)為"水仙花數(shù)" )
《C語(yǔ)言程序設(shè)計(jì)》試卷 A卷參考答案及評(píng)分標(biāo)準(zhǔn)
一、 填空題(每空1分,共20分)
1
函數(shù)
主函數(shù) 或 main函數(shù)
2
字母
數(shù)字
字母
3
程序
4
32767
5
換行
6
1
7
字符串
8
79
9
2
10
8
11
b 或 98
12
#define PI 3.14159
13
值傳遞 或 傳值
14
!
&&
||
15
4
二、 單項(xiàng)選擇題(每題2分,共40分)
1
2
3
4
5
6
7
8
9
10
D
D
A
D
C
D
B
D
A
C
11
12
13
14
15
16
17
18
19
20
D
C
B
D
B
C
D
C
B
C
三、 程序填空(每空3分,共15分)
1
1
1
f[i-1]+f[i-2]
2
1
n*f(n)
四、 寫(xiě)出以下程序運(yùn)行結(jié)果(每題4分,共12分)
1. Hello
world
評(píng)分標(biāo)準(zhǔn):輸出內(nèi)容正確扣得分,格式正確得2分
2. 5321
3. e
五、 編程題(第1題5分,第2題8分,共13分)
1.參考程序:
#include "stdio.h"
void main()
{
int y,w,s,n=0;
for(y=1;y<100;y++)
for(w=1;w<20;w++)
for(s=1;s<10;s++)
if(100==y+w*5+s*10)n++;
printf("n=%d",n);
}
評(píng)分標(biāo)準(zhǔn):程序結(jié)構(gòu)正確得3分,算法正確得2分
2.參考程序:
#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);
}
}
評(píng)分標(biāo)準(zhǔn):程序結(jié)構(gòu)正確得4分,算法正確得4分
《C語(yǔ)言程序設(shè)計(jì)》試卷 A卷
注意:答案請(qǐng)?zhí)顚?xiě)在答題紙上!
一、 填空題(每空1分,共20分)
1.C程序是由 構(gòu)成的,一個(gè)C源程序至少且僅包含一個(gè) 。
2.C語(yǔ)言規(guī)定標(biāo)識(shí)符只能由 、 和下劃線3種字符組成,且第一個(gè)字符必須為 或下劃線。
3.計(jì)算機(jī)科學(xué)家沃思提出的一個(gè)公式:數(shù)據(jù)結(jié)構(gòu)+算法= 。
4.Turbo C++中,若有語(yǔ)句:int a;則a的范圍是-32768~ 。
5.C中的轉(zhuǎn)義符“\n”表示: 。
6.表達(dá)式 21 % 4 的值為 。
7.C語(yǔ)言中沒(méi)有專(zhuān)門(mén)的 變量,如果想將一個(gè)字符串存放在變量中以便保存,必須使用字符數(shù)組。
8.已知a=79.345,則表達(dá)式 (int)a 的值為 。
9.表達(dá)式 3 & 2 的值是 。
10. 若a=5,經(jīng)a+=3;后a= 。
11.已知ch='B',則表達(dá)式【(ch>='A ' && ch<='Z')? (ch+32):ch 】的值為 。
12.C中定義符號(hào)常量PI為3.14159的宏命令是 。
13.函數(shù)形參和調(diào)用的實(shí)參是普通變量時(shí),參數(shù)按 方式進(jìn)行傳遞。
14.C中邏輯運(yùn)算符的優(yōu)先次序是: à à 。
15.定義一個(gè)共用體變量,共三個(gè)成員分別是字符型、整形和浮點(diǎn)型,則該共用體變量所占內(nèi)存長(zhǎng)度為 個(gè)字節(jié)。
二、 單項(xiàng)選擇題(每題2分,共40分)
1.下列C語(yǔ)言標(biāo)識(shí)符中,合法的是………………………………………………( )
A. if B. return
C. 23a D. a23
2.欲從鍵盤(pán)給整型變量a賦值3,b賦值2,則對(duì)應(yīng)語(yǔ)句 scanf("%d,%d",&a,&b); 的輸入格式是………………………………………………………………………( )
A. 3 2 B. 2,3
C. 2 3 D. 3,2
3. C語(yǔ)言源程序文件經(jīng)過(guò)C編譯程序編譯連接之后生成的文件后綴名是……( )
A. .exe B. .obj
C. .bat D. .c
4.結(jié)構(gòu)化程序設(shè)計(jì)的三種基本結(jié)構(gòu)是…………………………………………( )
A. 順序結(jié)構(gòu)、復(fù)雜結(jié)構(gòu)、循環(huán)結(jié)構(gòu)
B. 順序結(jié)構(gòu)、復(fù)雜結(jié)構(gòu)、分支結(jié)構(gòu)
C. 順序結(jié)構(gòu)、分支結(jié)構(gòu)、選擇結(jié)構(gòu)
D. 順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)
5.以下表達(dá)式中,值為0的是…………………………………………………( )
A. 4%5 B. 4/5.0
C. 4/5 D. 4<5
6.設(shè)下列表達(dá)式中所涉及的變量均已正確定義,則不符合C語(yǔ)言語(yǔ)法的是…( )
A. 4&&3 B. a++
C. a=b=5 D. int(3.14159)
7.設(shè)變量定義為【int a[3]={1,3,5}, *p=&a[0]+1; 】,則*p的值是…………( )
A. 2 B. 3
C. 4 D. &a[0]+1
8. 在C 語(yǔ)言程序中,在函數(shù)內(nèi)部定義的變量稱(chēng)為……………………………( )
A. 全局變量 B. 外部變量
C. 全程變量 D. 內(nèi)部變量
9. 對(duì)于以下的變量定義,正確的表達(dá)式是……………………………………( )
struct node {
char s[10];
int k;
} p[4];
A. p->k=2 B. p[0]->k=2
C. p(0)->k=2 D. p->s='a'
10.若變量c為char類(lèi)型,則能正確判斷出c為小寫(xiě)字母的表達(dá)式是…………( )
A. (c>= 'a')||(c<= 'z') B. 'a'<=c<= 'z'
C. (c>= 'a')&&(c<= 'z') D. ('a'<=c)and ('z'>=c)
11.C語(yǔ)言中以“只讀”方式打開(kāi)文件,應(yīng)選擇的參數(shù)是…………………………( )
A. o B. w
C. a D. r
12.設(shè)變量定義為【int a[2][3]={1,2,3,4,5,6}, *p=a[1]; 】,則p的值是…( )
A. 數(shù)組a的首地址
B. 數(shù)組a的第1個(gè)元素的地址
C. 數(shù)組a的第“1”行的首地址
D. 數(shù)組a的第“1”列的首地址
13.用鏈表表示線性表的優(yōu)點(diǎn)是………………………………………………( )
A. 便于隨機(jī)存取
B. 便于插入和刪除操作
C. 花費(fèi)的存儲(chǔ)空間較順序存儲(chǔ)少
D. 數(shù)據(jù)元素的物理順序與邏輯順序相同
14. 結(jié)構(gòu)化程序設(shè)計(jì)主要強(qiáng)調(diào)的是……………………………………………( )
A. 程序的規(guī)模
B. 程序設(shè)計(jì)語(yǔ)言的先進(jìn)性
C. 程序的效率
D. 程序清晰的結(jié)構(gòu)
15.以下表達(dá)式中,不正確的字符常量是………………………………………( )
A. 'n’ B. "a"
C. '2’ D. '\101’
16. 若【int x=12,*p=x;】,則正確的賦值表達(dá)式是……………………………( )
A. p=x B. p=*x
C. *p=x D. *p=*x
17.設(shè)有如下程序段:
int i=5;
for(;i<=10;)i++;
執(zhí)行完這段程序后,i的值是………………………………………………( )
A. 5 B. 6
C. 10 D. 11
18.設(shè)有如下程序段:
int i=15;
while(i<15)i++;
則以下描述中正確的是……………………………………………………( )
A. 循環(huán)體語(yǔ)句執(zhí)行15次
B. 這是一個(gè)死循環(huán)
C. 循環(huán)體語(yǔ)句一次也不執(zhí)行
D. 循環(huán)體語(yǔ)句只執(zhí)行一次
19.設(shè)有如下程序段:
char a[2][6]={"abcde","uvwxy"},*p=a[1];
printf("\n%s",p);
這段程序執(zhí)行后,屏幕輸出的結(jié)果是………………………………………( )
A. abced B. uvwxy
C. b D. v
20.設(shè)有如下程序段:
union
{
int i;
char c;
}a;
a.i=12;
a.c='A';
printf("\n%d",a.i);
這段程序執(zhí)行后,屏幕輸出的結(jié)果是………………………………………( )
A. 12 B. 97
C. 65 D. A
三、 程序填空(每空3分,共15分)
1.已知fibonacci數(shù)列:1,1,2,3,5,8,......,它可由下面公式表述:
F(1)=1 n=1
F(2)=1 n=2
F(n)=F(n-1)+F(n-2) n>2
以下程序的功能是求F(49)的值,請(qǐng)?jiān)谙聞澗€處填上正確內(nèi)容,使程序能正確運(yùn)行。
#include
#include
#include
main()
{
int i;
double f[50];
f[1]= ;f[2]= ;
for(i=3;i<=49;i++)
f[i]= ;
printf("f[49]=%12.0lf",f[49]);
}
2.以下程序的功能是用遞歸法求n!,請(qǐng)?jiān)谙聞澗€處填上正確的語(yǔ)句,使程序能正確運(yùn)行。
#include
long f(int n)
{
if(n==1)return( );
else return ( );
}
main()
{
int n;
printf("n=");
scanf("%d",&n);
printf("%d!=%ld",n,f(n));
}
四、 寫(xiě)出以下程序運(yùn)行結(jié)果(每題4分,共12分)
1.以下程序輸出的結(jié)果是:
#include "stdio.h"
void main()
{
char s[]="hello\nworld";
printf("%s",s);
}
2.以下程序輸出的結(jié)果是:
#include "stdio.h"
void main()
{
int i,g,s,b,q;
for(i=1234;i<1236;i++)
{
g=i/1 %10;
s=i/10 % 10;
b=i/100 % 10;
q=i/1000 % 10;
printf("%d%d%d%d\n",g,s,b,q);
}
}
3. 以下程序輸出的結(jié)果是:
#include "stdio.h"
void main()
{
char ch[]="I-love-Great-Wall-of-China!";
char *p=ch;
printf("%c",*(p+5));
}
五、 編程題(第1題5分,第2題8分,共13分)
1.將一張百元大鈔對(duì)換成1元、5元、10元的小鈔,要求每種小鈔最少要一張,編程求共有多少種對(duì)換方法。
2.編程輸出所有"水仙花數(shù)"。(一個(gè)三位數(shù)等于它每一位數(shù)字的立方和,那么我們稱(chēng)這個(gè)數(shù)為"水仙花數(shù)" )
《C語(yǔ)言程序設(shè)計(jì)》試卷 A卷參考答案及評(píng)分標(biāo)準(zhǔn)
一、 填空題(每空1分,共20分)
1
函數(shù)
主函數(shù) 或 main函數(shù)
2
字母
數(shù)字
字母
3
程序
4
32767
5
換行
6
1
7
字符串
8
79
9
2
10
8
11
b 或 98
12
#define PI 3.14159
13
值傳遞 或 傳值
14
!
&&
||
15
4
二、 單項(xiàng)選擇題(每題2分,共40分)
1
2
3
4
5
6
7
8
9
10
D
D
A
D
C
D
B
D
A
C
11
12
13
14
15
16
17
18
19
20
D
C
B
D
B
C
D
C
B
C
三、 程序填空(每空3分,共15分)
1
1
1
f[i-1]+f[i-2]
2
1
n*f(n)
四、 寫(xiě)出以下程序運(yùn)行結(jié)果(每題4分,共12分)
1. Hello
world
評(píng)分標(biāo)準(zhǔn):輸出內(nèi)容正確扣得分,格式正確得2分
2. 5321
3. e
五、 編程題(第1題5分,第2題8分,共13分)
1.參考程序:
#include "stdio.h"
void main()
{
int y,w,s,n=0;
for(y=1;y<100;y++)
for(w=1;w<20;w++)
for(s=1;s<10;s++)
if(100==y+w*5+s*10)n++;
printf("n=%d",n);
}
評(píng)分標(biāo)準(zhǔn):程序結(jié)構(gòu)正確得3分,算法正確得2分
2.參考程序:
#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);
}
}
評(píng)分標(biāo)準(zhǔn):程序結(jié)構(gòu)正確得4分,算法正確得4分