C語言考試題大一c語言考試題急

2021-03-05 08:00:08 字數 7291 閱讀 7768

1樓:高金山

這些都是最基本的題,但要想全部做對,還真不容易我已經盡量保證我下面的答案都是對的

就算錯也錯不會超過1-2個的

填空題1.1

2.93.96 `(~鍵的那個符號,1鍵前面)

4.a[0] a[1] a[2]

5.1600

6.文字檔案 二進位制檔案

7.fopen fclose fseek

選擇題1.c

2.b3.d

4. a

只有a是正確的,bcd都是編譯都通不過的

b. a是陣列,是不能直接對陣列進行賦值的5.c6.c

7.a指標是可以相減,進行比較,指向同一位址的,但相加是不行的8.d9.c

10. b

寫出下列程式的執行結果:

1.10,6,23,-90,0,3

2.6 7 8

在 處填入適當內容:

(1)#include

(2)2

(3)break;

(4)k+1

程式設計求解

1、1*2*3。。。n

#include

void main()

2、1+2+3+…+100

#include

void main()

2樓:匿名使用者

我來回答下把:

1.12.9解釋:t = (a>b)?a:b等價於t = ((a>b)?a:b),這下應該知道了把

3.96 `(和~鍵是同乙個鍵)

解釋:a=96;96是那個字元的acsii碼值的十進位制表示,它的十六進位制表示的ascii碼值為60,你可以對96進行除16取餘法得到60,然後你去檢視下字元的ascii碼 16進製表示的那個表就會發現,它對應的是這個字元,所以就是他了,別和單引號混淆就好,單引號的ascii碼十六進位制表示為27

4.a[0] a[1] a[2]

5.1600

6.文字檔案 二進位制檔案 [這個拿的不是很準]

7.fopen fclose fseek

下面:1.c

解釋:a+=a-=a*=a,首先要知道+=,-=,*=的優先順序是相同的,但是他們的結合性是由右向左的,所以,他相當於a+=a-=(a=a*a),你還要知道,這是在同一條語句中多次修改同乙個變數的值,這裡有結合性,可以保證,但是有的時候並不可以,因為語言中明確規定,求值順序未定義,一般盡可能不要在同一條語句裡多次修改同乙個變數的值,有的時候還和編譯器有關的,a+=a-=(a=a*a)相當於a+=(a=a-(a=a*a)),在a=(a+(a=a-(a=a*a))),所以為0

2.b3.d解釋:你定義乙個帶引數的巨集#define add(x) (x)+(x)

你要知道,巨集替換是機械化的替換,不會很智慧型化的,也就是說

在這裡,替換的時候是替換成了這樣d=(a+b)+(a+b)*c;所以最後就是80了

4. a

解釋:這樣理解把, char a[5]; char *p=a;這個是把陣列的首位址賦給指標p來初始化指標,你後面再加一句p="abcd";不就是對指標的賦值嗎,使指標不再指向陣列的首位址,而是指向了字串的首位址了.相信char *p="abcd";很常見把,呵呵...

5.c解釋:因為k=2,然後執行關係表示式k==0,結果顯然判斷結果為假,所以不執行迴圈體

6.c7.a指標是不能相加的

8.d解釋:這個應該好好解釋下,這個題還好了

struct st;

a p++->n b p->n++ c (*p).n++ d ++p->n

分析:首先你要知道,這是定義了乙個結構體陣列,這個static struct st a[3]=寫的易讀一點就是static struct st a[3]=,,},是不是明了了好多.

你做這個題目之前還需要明白一點,即箭頭操作符的優先順序高於++運算子,然後分析選項

選項a.p++是字尾加,所以執行(p++)->n(即p++->n) 相當於執行p->n,即得到的值是5

選項b. p->n++相當於(p->n)++,由於是字尾加,所以得到的值也是5

選項c.(*p).n++ 就是相當於((*p).

n)++,更相當於(p->n)++,所以和上面的是一樣的,也是5,為什麼它相當於它呢,這就要你看看箭頭操作符的由來了,箭頭操作符的由來就是為了結合解引用操作符*和點操作符.於一起的.來簡化書寫,增加可讀性

選項d.++p->n 相當於++(p->n),由於是字首加,所以得到的值為6了

9.c,選擇w會格式化

10. b ,陣列名其實就相當於乙個指標,這裡對指標做運算,加1使指標下移

寫出執行結果:

1.10623-9003

2.6 7 8

填空題:

1.#include

#include

2. 2

3.break;

4.k+1

程式設計題:

1.**如下:

#include

int main()

2.**如下

#include

int main()

應該沒錯把,樓主有什麼問題可以發訊息給我

3樓:匿名使用者

未檢查,請後來人指正19

96 a

a[0],a[1],a[2]

1600

二進位制 文字

fopen fclose fseekcb

dbcc

bcdb

10,6,23,-90,0,3,

6 7 8

(1)#include

(2)2

(3)break

(4)k+1

#include

int main()

#include

int main()

4樓:真理的尋找

1)1;2)9;3)96,a;4)a[0]a[1]a[2];5)1600;6)檔案,函式;7)fopen ,fclose,fgetc

1)c;2)b;3)a;4)b;5)c;6)c;7)b;8)a;9)d;10)b

1)10623

-900

32)6,7,8

在處填入適當內容

1)stdio;2)i=2;3)m++;4)m程式設計求解:

1)int i,t=1;

main()

{ for(i=0;i這分可是真不好拿阿

5樓:雛龍

1.設x的值為15,n的值為2,則表示式x%n運算後,表示式的值為(1 )。

2.設 int a=7,b=9,t;執行完表示式t = (a>b)?a:b後,t的值是( 9)。

3.下面程式段的輸出結果是(96,` )。

int a=96; printf(「%d %c\n」,a,a);

4.a陣列定義如下,按照記憶體排列順序,a陣列中的所有元素是(a[0] a[1] a[2]

)。 char a[3];

5.設有以下巨集定義,則執行賦值語句 a=pp*20;(a為int型變數)後,a的值是(1600 )。

#define pp 80

6.在c檔案中,資料存在的兩種**形式是(ascⅱ和二進位制

)。 7.c語言中呼叫(fopen )函式開啟檔案,呼叫(fclose )函式關閉檔案,呼叫(fseek )函式可實現檔案的隨機讀寫。

1.設 int a=12; 表示式a+=a-=a*=a的值是(c )。

a 12 b 144 c 0 d 132

2.以下程式的輸出結果是( b)。

main( )

a 96 b 97 c a d b

3.以下程式的輸出結果是(d )。

#define add(x) (x)+(x)

main()

a d=70 b d=140 c d=280 d d=80

4.下面的選項中正確的賦值語句是(char a[5],*p=a;)(c )。

a p=「abcd」; b a=「abcd」; c *p=「abcd」; d *a=「abcd」;

5.若k為整形,則while迴圈執行( c)次。

k=2; while(k==0) printf(「%d」,k); k--; printf(「\n」);

a 10 b 9 c 0 d 1

6.陣列名作為實參傳遞給形參時,陣列名被處理為該陣列的(c )。

a長度 b元素個數 c首位址 d各元素的值

7.兩個指標變數不可以(a )。

a. 相加 b 比較 c 相減 d 指向同一位址

8.若有以下程式段,則值為6的表示式是(d )。

struct st;

a p++->n b p->n++ c (*p).n++ d ++p->n

9.要開啟乙個已存在的非空檔案」file」用於修改,選擇正確的語句( d)。

a fp=fopen("file","r"); b fp=fopen("file","w");

c fp=fopen("file","r+"); d fp=fopen("file","w+");

10. 9.若有int a[3]=;則a+1是( b)。

a a[0]的位址 b a[1]的位址 c a[1]的值 d a[0]的值加1

寫出下列程式的執行結果:

1.main( )

,i;for(i=0;i<6;i++) printf(「%d,」,a[i]);

printf(「\n」);

}/* 結果:10,6,23,-90,0,3*/

2.f1(int a)

main()

/*6 7 8*/

在 處填入適當內容:

求100~200間的全部素數。

(1)main() }

} 程式設計求解

1*2*3。。。n

///int main()

1+2+3+…+100

//#include

int main()

6樓:匿名使用者

1.答案為1

2.答案為9

3.答案為96和'這個字元

4.a[0] a[1] a[2]

5.答案為1600

6.ascⅱ和二進位制

7.fopen fclose fseek

1.c2.b3.b4.cd5.d6.c7.b8.c9.d10.c1. 10,6,23,-90,0,3回車2 7,8,9

(1) #include(2)2 (3)continue (4)k+1

程式1:

maim()

程式2:

main()

中午沒吃飯給你寫這個,我也新手,你看看有什麼不對的地方沒(選擇第8個我拿不準)!

大一c語言考試題(急)

7樓:匿名使用者

1、c源程式檔案的副檔名是( .c );編譯後生成的檔名字尾是( .obj );經過連線後生成檔案

名字尾是( .exe ); 在vc++6.0中用run命令執行當前程式時,執行的程式副檔名是( .exe )。

2、結構化程式的三種基本結構是( 順序、選擇 、迴圈 )。

3、整型常量有三種表示方法,它們是( 十進位制整數 )、( 八制整數 )、( 十六整數 )。

4、表示式3.5+1/2+56%10 的值是( 9.5 );10/10和10%10的值各是(1和0)。

5、表示式3%3*3的值是( 0 );5/3*3的值是( 3 );3*6%4的值是( 2 )。

6、設int x=12;執行x+=x-=x*x後,x 的值是( -264 )。

7、表示式k=7,k+=k-=k+1的值是( -2 )。

8、語句"printf("%x,%o",16,12);"的輸出結果是( 10,14 )。

9、設short x,y; y=(x=3,x+2,++x,x++*2);則x,y的值各是( 5 , 8 )。

10、設int x,y,z,t; x=y=z=1; t=++x||++y&&++z;則y的值是( 1 )。

11、條件10<=x<20 或x<=0的c語言表示式是( x>=10&&x<20||x<=0 )

12、設a=1,b=2,c=3,d=4;表示式a>b?a:c=y&&y>=z )。

15、設x為int型變數,請寫出乙個關係表示式( (x%21==0) ),用以判斷x同時為3和7的倍數時

,關係表示式的值為真。

16、 設ch是字元型變數,判斷ch為英文本母的表示式是: (

ch<='z'&&ch>='a'||ch>='a'&&ch<='z' )。

17、在c語言中引數的傳遞總是採用( 單向 )傳遞。

18、如果return 表示式;中」表示式」的型別與函式型別不一致,則以( 函式型別 )的型別為準

自動轉換;如果實際引數的型別與形式引數的型別不一致, 則以( 形式引數 )的型別為準自動轉

換。19、函式形式引數在( 呼叫 )時分配記憶體,( 呼叫結束 )時釋放記憶體。

20、系統總是為陣列分配( 連續 )的一塊記憶體。

21、字串的結束標誌是(ascii碼的0 )。

22、tc系統為任何指標變數分配的記憶體是( 4 )位元組。

23、若有定義:double x[3][5]; 則x陣列中行下標的下限為( 2 ),列下標的上限為( 4 )。

24、若有定義int x=3,*p;則使p指向變數x的賦值語句為( p=&x )。

25、在c 語言程式中,在函式內部定義的變數稱為( 區域性變數)。

26、char a[2][10]=, *p[2]=; 則(前者 )

佔用記憶體多。

27、struct st a,*p; 則變數a和p在記憶體各

佔( 25和4 )位元組。

28、union un ;

struct st w, *pw; pw=&w;

變數w佔用( 28 )位元組; 通過w 訪問v[0]的形式是( w.v[0] );通過w訪問成員c的形式是(w.k.c

);通過pw訪問v[0]的全部形式有( pw->v[0] ,*(pw->v) );通過pw訪問成員c的全部形式有(

(pw->k.c) )。(實驗驗證,pw->k->c這種書寫有錯誤直接用.也是錯誤)

29、設fp是檔案指標,要把字元變數ch的內容寫入檔案,可用的語句有(

30、fputs(str, fp)函式的功能是( 將資料str寫入fp檔案流中 )。

涉及到窮舉的題目,像28、29可能沒有列舉完全其他題目都是經過vc++6.0驗證過的。

一道c語言考試題求解答,急,一道c語言考試題求解答,急!!!!!!

三個空分別是 i 1return fun x fun x y fun y 一道c語言題目,求解答!scanf 函式中沒有精度控制。如 scanf 5.2f a 是非法的。不能企圖用此語句輸入小數為2位的實數。則排除c b,d沒有 排除 格式輸入嚴格按照格式輸入就好了,如果是c的話輸入得是 6.228...

關於考試試卷,考試題目試題

試卷答案 44 1.唾液可以將澱粉分解為麥芽糖,而碘酒只是遇澱粉變藍,遇麥芽糖不變色。2 說明溫度對唾液澱粉酶有影響。4 對比試驗。45 1 0度。2 1.兩隻小鼠生理情況不一定完全相同2.溫度過低會造成小鼠的死亡。46 1 變紅。2 有氣泡產生caco3 2hcl cacl2 co2 h2o碳酸氫...

C語言的考試題我完全不理解這道題在說什麼什麼叫與(x y

x y x y 中 x y 不為0時表示式值為x 否則為y 這道題要來 這麼解釋 源 x y x y 如果x y 0則括號內為真執行x 如果x y 0則為假執行y 而括號內的值或者為真,或者為假但是必定執行,所以是永真的,不知道其他選項是什麼樣子的,但是x y 0 x y 0是永真的,希望能幫到你!...