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