2012年4月自考真題及答案:計算機基礎與程序設計
一、單項選擇題(本大題共20小題,每小題1分,共20分)
在每小題列出的四個備選項中只有一個是符合題目要求的,請將其代碼填寫在題后的括號內(nèi)。錯選、多選或未選均無分。
1. CPU處理數(shù)據(jù)和指令的基本單位是字(Word),一個字的字長是( ?。?BR> A. 8bits B. 16bits
C. 32bits D. 與CPU數(shù)據(jù)總線有關的bit位數(shù)
2. 與十進制1100等值的十六進制數(shù)是( )
A. 44A B. 44C
C. 54A D. 54C
3. 退出Turbo C 2.0返回系統(tǒng),在主菜單File項中可選擇( )
A. Load B. New
C. Save D. Quit
4. 設有int a=3, b=-4, c=5;表達式(a<b)? a+b: (a-b,b+4,a-=b+4)的值是( )
A. -1 B. 0
C. 3 D. 7
5. 若有下列程序段,欲使a=2、b=3,對應正確的數(shù)據(jù)輸入方法是( ?。?BR> (其中<CR>表示換行)
int a, b;
scanf(″a=%d b=%d″,&a, &b);
A. 2<CR> B. a=2 b=3<CR>
3<CR>
C. a=2, b=3<CR> D. 2,3<CR>
6. 下面程序段的輸出結(jié)果是( )
main()
{ int s, p;
s=p=5;
p=++s;
p++; ++p;
printf(″%d\\n″,p);
}
A. 5 B. 6
C. 7 D. 8
7. 下列if語句中,有語法錯誤的是( ?。?BR> A. if(x>y);
B. if(x=y) x+y;
C. if(x!=y) scanf(″%d″, &x) else scanf(″%d″,&y)
D. if(x<y) {x++; y++;}
8. 下面程序段執(zhí)行后的輸出結(jié)果是( )
int i=-1;
if(i<=0) printf(″* * * * \\n″);
else printf(″%%%%\\n″);
A. **** B.%%%%
C. %%%%c D. ****c
9. 下面程序段的循環(huán)次數(shù)是( ?。?BR> int k=2;
while(k==0) printf(″%d″,k);
k--; printf(″\\n″);
A. 0次 B. 1次
C. 2次 D. 無限次
10. 下面程序段的輸出結(jié)果是( ?。?BR> a=100;
while(a>120);
a=a+1;
printf(″%d″,a);
A. 100 B. 101
C. 120 D. 121
11. 下面程序執(zhí)行后,i的值是( ?。?BR> main( )
{ int a [5]={1,2,3,4,5},i=2
printf(″%d″,a[i++]);
}
A. 1 B. 2
C. 3 D. 4
12. 下面程序的輸出結(jié)果是( )
main( )
{ int i, x[3][3]={9,8,7,6,5,4,3,2,1};
for(i=0;i<4;i+=2) printf(″%d″, x[i][1]);
}
A. 5 1 B. 5 2
C. 8 2 D. 9 3
13. 在C程序中,若用基本數(shù)據(jù)類型所定義的變量調(diào)用函數(shù),正確的說法是( ?。?BR> A. 由系統(tǒng)自動指定對應實參和形參是否共用存儲單元
B. 對應實參和形參各占一個獨立的存儲單元
C. 對應實參和形參共用一個存儲單元
D. 可以由用戶指定對應實參和形參是否共用存儲單元
14. 下面敘述中不正確的是( ?。?BR> A. 不同函數(shù)中可以使用相同名字的變量
B. 形式參數(shù)是局部變量
C. 在一個函數(shù)內(nèi)部定義的變量只能在本函數(shù)范圍內(nèi)有效
D. 在一個函數(shù)內(nèi)部的復合語句中定義的變量在本函數(shù)范圍內(nèi)有效
15. 設有語句int a[4][10],*p=*a;則下面表達式中屬于地址表達式的是( ?。?BR> A. a[1][2] B. a[1]
C. *(p+1*10+2) D. *(a[1]+2)
16. 下面定義不正確的是( ?。?BR> A. struct star B. struct star
{ {
int id int id;
char *name; char *name;
} star1={1001, ″Moon″}; }; star1={1001, ″Moon″};
C. struct D. struct star
{ {
int id; int id;
char *name; char *name;
} star1={123, ″Sun″}; } star1;
17. 下面各個位運算符的優(yōu)先級從左到右依次升高的是( ?。?BR> A. | ^ & >> B. ^ >> & ~
C. << | ^ ~ D. ~ | & >>
18. 設有說明:int u=1, v=14;表達式u+v>>2的值是( )
A. 0 B. 3
C. 5 D. 7
19. 如果將文件指針fp指向文件末尾,正確的語句是( ?。?BR> A. feof(fp); B. rewind(fp);
C. fseek(fp,0L,0); D. fseek(fp,0L,2);
20. 下面程序段中,不能完成的功能是( )
FILE *fp;
char ch =′v′;
fp=fopen(″boy″, ″rb+″);
fputc(ch,fp);
A. 建立文件指針fp與文件boy的聯(lián)系 B. 從boy文件中讀取一個字符
C. 向boy文件中寫一個字符 D. 打開名為boy的二進制文件
二、多項選擇題(本大題共5小題,每小題2分,共10分)
在每小題列出的五個備選項中有二至五個是符合題目要求的,請將其代碼填寫在題后的括號內(nèi)。錯選、多選、少選或未選均無分。
21. 總線是連接微機CPU、內(nèi)存和外設之間傳送信號的公共通道,微機的總線包括有
( )
A. 電源線 B. 數(shù)據(jù)線
C. 地址線 D. 控制線
E. 網(wǎng)絡線
22. 若定義 char c[11]; 可將字符串″I am a boy″ 賦給數(shù)組c,下面正確的選項有
( )
A. c=″I am a boy″; B. getchar(c);
C. gets(c); D. scanf(″%s″,c);
E. for(i=0;i<10;i++) scanf(″%c″,&c[i];c[10])=\'\\0\';
23. 若有如下定義和語句,則能正確表示數(shù)組a首元素地址的表達式有( )
int a[10], *p;
p=a;
A. a[0] B. a
C. p+1 D. p
E. *p
24. 設有說明:int x=1, y=3; 下面表達式的值為2的有( )
A. y&~x B. x^y
C. x|y D. y|x>>1
E. x<<1|y>>2
25. 在C語言中,關于符號FILE下面說法正確的有( )
A. FILE是C的關鍵字
B. FILE表示一種關于文件參數(shù)的結(jié)構(gòu)體類型
C. FILE表示一種關于文件參數(shù)的結(jié)構(gòu)體變量
D. FILE*可以用來說明文件指針
E. 文件指針指向的變量的數(shù)據(jù)類型是FILE
三、簡答題(本大題共4小題,每小題4分,共16分)
26.C語言中如何表示"真"和"假"?系統(tǒng)如何判斷一個量的"真"和"<