當輸入a1b2c3d4e程式的輸出結果st

2021-03-17 09:55:39 字數 5622 閱讀 3110

1樓:yx陳子昂

當然不是了,i從9一直到1,第一次迴圈是st[18]= st[9], st[17]=' '

insert函式是在每個字元間插入空格,因此選a

2樓:15853833407王

這個找專門的程式設計員才能知道是什麼意思。

3樓:令寒天

根本無法計算出這樣的算式

c語言考試題

4樓:高金山

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

就算錯也錯不會超過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()

5樓:匿名使用者

我來回答下把:

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()

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

6樓:匿名使用者

未檢查,請後來人指正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()

7樓:真理的尋找

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這分可是真不好拿阿

8樓:雛龍

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()

9樓:匿名使用者

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個我拿不準)!

當a 3,b 2,c 1時,執行以下程式段後c

c 2a b 2 b c 1 c a 2 回答當a 3,b 2,c 1 時,執行以下程式段後 a if a b a b if b c b c else c b c a 當a 3,b 2,c 1 時,執行以下程式段後 a if a b a b if b c b c else c b c a 當a 3,...

int a 1,b 2,c 3,d 0 if a 1 b2 if bc3 printfd d結果為什麼不是1,

第一句if。a 1和b 都為真du。所以執行zhiif b 0 c 3 dao但是b 2先判斷b是否為2,後b自加1,所以內b 3,答案1,3,3 c不減1是因為if b 0 c 3 這個容if是或運算,在c語言中或運算只有在 之前的表示式不為真的時候在進行 後面的表示式計算,而上面是 之前的表示式...

c中,如果a1,b2,c3,d4,則表示式「a

條件運算子的結合方向為 自右向左 a b?a cb?a c 那麼結果就很顯然了 結果為 c 3 可以看成是計算a b?a cb不成立,取 後面的表示式即c c,所以值為c,3 應該是3 如果a大於b那麼就是a,否則如果c小於d就是c,否則為d 已知a 1,b 2,c 3,則表示式a b b c a ...