幾道C語言題目,一道c語言題目

時間 2021-07-21 03:32:34

1樓:匿名使用者

1. 為了方便敘述,現將程式的沒一行進行編號。(注:語句 for(i=0;i

void main()

注:n[j]+=n[i]+1; 等效於n[j]=n[j]+(n[i]+1);

(1)---(4)比較簡單,就不說了。具體說說(5)--(7)是怎麼執行的。具體過程如下:

首先,對 i 進行賦值,i=0時,j 分別等於 0,1,2.,把 i,j 的值帶入n[j]+=n[i]+1;表示式中

執行 n[0]=n[0]+(n[0]+1);n[1]=n[1]+(n[0]+1);n[2]=n[2]+(n[0]+1);執行完以後,

n[0]=0+0+1=1;n[1]=0+1+1=2,;n[2]=0+1+1=2;

其次,重複以上步驟,i=1時,j分別等於0,1,2,把 i,j 的值帶入n[j]+=n[i]+1;表示式中,

執行 n[0]=n[0]+(n[1]+1);n[1]=n[1]+(n[1]+1);n[2]=n[2]+(n[1]+1);執行完以後,

n[0]=1+2+1=4;n[1]=2+2+1=5,;n[2]=2+5+1=8;

最後,i=2時,把 i,j 的值帶入n[j]+=n[i]+1;表示式中,

執行n[0]=n[0]+(n[2]+1);n[1]=n[1]+(n[2]+1);n[2]=n[2]+(n[2]+1)執行完以後,

n[0]=4+8+1=13;n[1]=5+8+1=14,;n[2]=8+8+1=17;

2.#include

void main()

(4) 計算s的最終值

printf("sum=%d\n",s); 輸出

}(2)a=2 (3)s+=t (4)s*=a

至於第三個,屬於檔案的題,我也不懂了。

如果沒看懂我上面說的兩道題,還可以問我

2樓:匿名使用者

1. char *p="girl";的含義是定義字元型指標變數p,p的值是字串"girl"。 (2分) 1. true

2. 兩個字串中的字元個數相同時才能進行字串大小的比較 (2分) 2. false

3. 如果想使一個陣列中全部元素的值為0,可以寫成 int a[10]=; (2分) 3. true

4. char c="very good"; 是一個合法的為字串陣列賦值的語句。 (2分) 4. true

5. 取地址運算子&與指標運算子*的優先順序相同,結合方向為自右向左。 (2分) 5. true

6. 在二維陣列中,行指標是指向一維陣列的指標變數. (2分) 6. true

7. 程式進行編譯時,不為形式引數分配儲存空間. (2分) 7. true

8. 在語句int *p;和語句printf("%d",*p);中的*p含義相同。 (2分) 8. false

9. 對二維陣列a來說,由於a+1與*(a+1)的值相等,因此二者的含義是一樣的。 (2分) 9. false

10. 用gets函式可以接收一個含有空格的字串。 (2分) true

若有說明:int i,j=7,*p=&i;則與i=j;等價的語句是___b___。 (2分)

a. i=*p; b. *p=*&j; c. i=&j; d. i=**p; a b c d 2.

有以下程式段

int n=0,p;

do while(p!=12345&&n<3);

此處do-while迴圈的結束條件是____a__。 (2分)

a. p的值不等於12345並且n的值小於3

b. p的值等於12345並且n的值大於等於3

c. p的值不等於12345或者n的值小於3

d. p的值等於12345或者n的值大於等於3

a b c d 3.

若有說明:int n=2,*p=&n,*q=p;,則以下非法的賦值語句是___d___。 (2分)

a. p=q; b. *p=*q; c. n=*q; d. p=n; a b c d 4.

有以下程式

void fun(char *a, char *b)

main()

程式執行後的輸出結果是____a____ (2分)

a. ab b. aa c. aa d. bb a b c d 5.

有以下程式

void ss(char *s,char t)

}main()

程式執行後的輸出結果是___b___。 (2分)

a. abcddefedbd b. abcddfefdbd c. abcaafefaba d. abcddfefdbd a b c d 6.

為了判斷兩個字串s1和s2是否相等,應當使用 (2分) d

a. if (s1= =s2) b. if (s1=s2) c.

if ( strcpy (s1,s2)) d. if ( strcmp( s1,s2)= =0 ) a b c d 7.

有如下程式段

int *p,a=10,b=1;

p=&a; a=*p+b;

執行該程式段後,a的值為___b___。 (2分)

a. 12 b. 11 c. 10 d. 編譯出錯 a b c d 8.

若有定義:int *p[3];,則以下敘述中正確的是____b____ (2分)

a. 定義了一個基型別為int的指標變數p,該變數具有三個指標

b. 定義了一個指標陣列p,該陣列含有三個元素,每個元素都是基型別為int的指標

c. 定義了一個名為*p的整型陣列,該陣列含有三個int型別元素

d. 定義了一個可指向一維陣列的指標變數p,所指一維陣列應具有三個int型別元素

a b c d 9.

說明語句"int ( * p ) ;"的含義是 (2分) d

a. p是一個指向一維陣列的指標變數

b. p是指標變數,指向一個整型資料

c. p是一個指向函式的指標,該函式的返回值是一個整型

d. 以上都不對

a b c d 10.

已知:char b[ 5 ] , *p=b; 則正確的賦值語句是 (2分) c

a. b="abcd"; b. *b="abcd"; c. p="abcd" ; d. *p="abcd";

3樓:匿名使用者

1、main()

2、x=35 y=-4 s=-29

3、void strinverse(char* str)}

一道c語言題目

4樓:匿名使用者

#include

char const des[25] = ,};int inputdate(int i)int sumup(int x)

return sum;

}int deduce(int x)

int main()

5樓:鳳祺隨銳精

求輸出結果嗎?

a=y轉化為a=x+1而下x=5;

所以a=6

再看z=?

z=x+1*x/2

把x=5代入得z=7

所以,輸出為75

6樓:唐蘊鐸冰綠

前面幾個都bai

不按題目要求來編du程,題目說要用兩zhi個子函式實dao現,所以應該是這版樣.

#include

"stdio.h"

inta(int

n)return

sum;

}double

b(int

n)return

nn;}

intmain(int

argc,

char*

argv)

7樓:郭怡和拜豔

首先,你的程式應該有抄問題,變數c沒有定義,所以應該會報錯。如果把定義語句改為float

a,b,c;並且把賦值語句都加上分號的話應該會輸出如下結果:

a=123.450000

b=32.560000

c=123.450000

解釋:%f禁止使用指數形式來表示浮點數,但注意它的精度要求:也是小數點後6位有效數字。

8樓:福獻仉河

#include

#include

#include

struct

node*

insert(struct

node*

head,struct

node*

end);

struct

node

;int

main()

printf("\n");

t=head;

printf("請輸入要插入的節點值\n");

scanf("%d",&s);

while(t!=null)

else

else

}else}}

t=head;

while(t!=null)

printf("\n");

}這串**是我之前寫的,作用是建立一個連結串列後,插入一個節點,位置在比新節點值大的節點之前,你根據我這個改一下就行了

9樓:闞壽扶經綸

樓主不要被

bai樓上忽悠了,while(y--);與while(y);

y--;可不能du畫等號.就

zhiy而言,while(y--);比while(y);

y--;多運算了一次dao.while(y);

y--;

y==0;

while(y--);當y等於

內0的時候,這個迴圈實容際上已經結束了,此時y=0,但y--還有個自減1,所以0-1=-1;

(y--,減號在後,執行玩之後再自減,如果是--y,則是先自減再執行以下程式,如果是--y的話輸出就是0了.)

while(y);

y--;則是,y=0時,如果有個printf的話,此時輸出y=0迴圈結束,而y--在迴圈之中,迴圈都結束了,自然不會再執行y--了,所以y依然等於0.

樓主懂了否?

10樓:万俟秋英謇詩

主**:bai

比如輸du入的字串存

zhi放在str中;dao

if(str[i]>=65&&str[i]<=87)/*大寫字母

內*/str[i]+=3;

else

if(str[i]>=88&&str[i]<=90)str[i]=65+str[i]-88;

else

if(str[i]>=100&&str[i]<=122)/*小寫字母*/

str[i]-=3;

else

if(str[i]>=97&&str[i]<=99)str[i]+=23;

else

if(str[i]>=49&&str[i]<=58)/*數字容*/str[i]=58-str[i];

求助一道C語言題目,求助一道c語言題目?

萍水相逢就是緣吧 初步判斷 都可以用三角形來計算吧 三角形面積公式 哦,還得查查 李快來 一道c語言題目,發來看看,與水泥中的氫氧根離子發生反應生成矽酸鹽,與水泥中的氫氧化鈣反應生成水合矽酸鈣,引起混凝土的不均勻膨脹。 開發經驗分享 執行結果如圖所示 gcc polygon.c wall lm in...

求教一道c語言題目,求教一道C語言題目

c語言中宣告陣列時,一定要顯式的指明陣列長度,所以陣列長度是個常數,int a n 這種宣告法是明顯錯誤的。你可以看到,n最大值是10,那麼直接宣告乙個int a 10 就可以了。另外,你的交換演算法也還有問題,修改如下,注釋並且修改 include int main void temp2 a n ...

一道C語言題目

從左往右計算,a 2,左邊成立,後面不計算了,因為無論 b c為0或者1,最後結果都為1 左面 a為2 如果 b c a,則計算 b,c,左面為1,右面 c不計算,至於具體原因,記住系統從左往右計算,可能有些從右往左 對於邏輯運算子來說,的優先順序大於 其次,在前乙個表示式能夠確定整個表示式的結果時...