1.以讀寫方式開啟一個普通檔案,且當其不存在時要建立它,應指定的mode引數是(D)
A.r+
B.rw+
C.rw
D.w+
E.r
2.以下那一個是fseek(FILE *stream, long offset, int whence)中whence的合法值?D
A.SEEK_OOP
B.SEEK_BIG
C.SEEK_TEL
D.SEEK_SET
E.SEEK_GET
3.已知字元‘A’的ASCII程式碼值是65,字元變數c1的值是‘A’,c2的值是‘D’。則執行語句 printf(“%d, %d”, c1, c2-2); 後,輸出結果是(C)
A.A,B
B.A,68
C.65,66
D.65,68
4.以下敘述中錯誤的是(A)
A.函式的形參存放在資料段中
B.函式可以返回地址值
C.可以給指標變數強制賦一個浮點數作為地址值
D.可以給指標變數賦NULL
key:函式的形參存放在棧空間。
5.以下說法正確的是(D)
A.檔案指標指向了檔案的第一個位元組
B.檔案描述符代表了檔案的大小
C.可以透過調節檔案指標的指向來讀取檔案中間的某個位元組
D.檔案描述符是系統IO訪問檔案的控制代碼
6.若有以下定義,則不移動指標p且透過指標p引用值為98的陣列元素的表示式是 p[0][5]
int w[10]={23,54,10,33,47,98,72,80,61}, (*p)[10]=&w;
7.有以下程式:
#include <stdio.h>
int fun(char s[])
{
int n = 0;
while(*s<='g' && *s>='0')
{
n = 10*n + *s - '0';
s++;
}
return(n);
}
int main(void)
{
char s[10]={'6', '1' , '*' , '4' , '*' , '9' , '*' , '0' , '*'};
printf("%d\n", fun(s));
}
程式執行的結果是(C)
A.9
B.61490
C.61
D.5
key:按照ascii碼
設有以下程式:
#include <stdio.h>
int main()
{
int a,b,k=4,m=6,*p1=&k,*p2=&m;
a = p1 != &m;
b=(*p1)/(*p2)+7;
printf("a=%d\n",a); //a = 1
printf("b=%d\n",b) ; //b = 7
}
如下程式碼,請分析該程式碼實現的功能
int func(x)
{
int countx = 0;
while(x)
{
countx ++;
x=x & (x-1);
}
return countx;
}
該函式的功能為(該函式功能是計算一個數x二進位制表示中1的個數);
假定x = 9999。
函式的執行結果為:8 分析:該函式功能是計算一個數x二進位制表示中1的個數 x&(x-1)計算後x每次少一個1