Practice

WJnuHhail發表於2024-05-25

1.以讀寫方式開啟一個普通檔案,且當其不存在時要建立它,應指定的mode引數是(D)

A.r+

B.rw+

C.rw

D.w+

E.r

image

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