1.執行下面的程式段
int x=40;
char z=′B′;
int B;
B=((x&0xff)&&(z>′a′));
後,B的值為()
A)0 B)1 C)2 D)3
2.已知下列函式定義
setw(int *b,int m,int n,int dat)
{ int k;
for(k=0;k {*b=dat;b++;}
}
則呼叫此函式的正確寫法是(假設變數a的說明為int a[50])()
A)setw(*a,5,8,1); B)setw(&a,5,8,1); C)setw((int*)a,5,8,1); D)setw(a,5,8,1);
3.若有以下定義和語句:
double r=99, *p=7;
*p=r;
則以下正確的敘述是()
A)兩處的*p含義相同,都說明給指標變數p賦值3
B)在“double r=99, *p=7; *p=r;”中,把r的地址賦給了p所指的儲存單元
C)語句“*p=r;”把變數r的值賦給指標變數p
D)語句“*p=r;”把變數r的值放回p中
4.設有char str[10],下列語句正確的是()
A)scanf("%s",&str); B)printf("%c",str); C)printf("%s",str[0]); D)printf("%s",str);
5.下列描述說明正確的是()
A)定義結構體時,它的每個成員的資料型別可以不同
B)不同結構體的成員名不能相同
C)結構體定義時,其成員的資料型別不能是結構體本身
D)結構體定義時各成員項之間可用分號也可用逗號隔開
6.以下函式的功能是()
intfun(char *a)
{ char*b=a;
while(*b)b++;
{return b-a; }
}
A)比較兩個字串的大小 B)字串的複製 C)計算字串的長度 D)字串的連線
7.若有如下程式:
#define X3
#define YX+1
#define ZY*Y/2
main()
{ intn;
for(n=1;n<=Z;n++)printf("%d",n);}
則程式執行後的輸出結果是()
A)12345 B)1234567 C)12345678 D)123456
8.以下敘述中錯誤的是()
A)區域性變數的'定義可以在函式體和複合語句的內部
B)全域性變數的定義可以在函式以外的任何部位
C)同一程式內區域性變數和全域性變數不允許同名
D)函式的形參屬於區域性變數
9.以下敘述中錯誤的是()
A)二進位制檔案開啟後可以先讀檔案的末尾,而順序檔案不可以
B)在程式結束時,應當用fclose函式關閉已開啟的檔案
C)在利用fread函式從二進位制檔案中讀資料時,可以用陣列名給陣列中所有元素讀入資料
D)不可以用FILE定義指向二進位制檔案的檔案指標
10.若fp是指向某檔案的指標,且已讀到此檔案末尾,則庫函式feof(fp)的返回值是()
A)EOF B)0 C)非零值 D)NULL
答案:1.A 2.D 3.D 4.D 5.A 6.C 7.D 8.C 9.D 10.C