C語言中強制型別轉換這樣寫對嗎?int i,j double s 0 0 s s 1 0 i

2021-08-26 18:17:11 字數 6060 閱讀 1089

1樓:匿名使用者

可以 s=s+1.0*i/j;或者 s=s+(double)i/j;

2樓:heart水果沙拉

#include

double b2d(char *s);

int main(void)

return 0;

}double b2d(char *s)

return n;}

3樓:匿名使用者

肯定可以啊!因為1.0是實數,i和j是整數。實數和整數一起運算的時候,整數要先轉化成實數的。有關不同型別的數進行運算的時候怎樣轉換的,還是去看看c語言的書吧!

4樓:匿名使用者

判斷題21、 語言函式的預設(預設)型別是 void 型(空型別)。( 錯)

22、 在 c 語言中,函式不能巢狀定義,但可以巢狀呼叫。(錯 )

23、 一個程式中可以使用多條檔案包含命令,但一條檔案包含命令只能包含一個(對)

24、 在同一個陣列中可以儲存許多不同型別的值。(錯 )

25、 c 語言中,變數名用大小寫是等價的。(錯 )

26、 c 語言的所有迴圈語句都要求至少要執行一次迴圈體。( 錯)

27、 c 語言中,註釋可以出現在源程式中空格可以出現的任何位置。(錯 )

28、 c 語言規定:在一個源程式中,main 函式的位置可以任意。( 對)

29、 在同一種資料型別中,變數值越大,它所佔記憶體的位元組數越多。(錯 )

30、 在 c 語言中,十六進位制數是用英文字母 o和 x 後加一個整數來表示,例如 ox12f

31、 使用巨集定義時,巨集名可以是大寫或者小寫,但是常用大寫字母表示。( 對)

32、 強制型別轉換,如(double)x,只改變原變數的型別,而不改變其值。( 對)

33、 當 c 語言的函式先使用後定義時,應該作提前宣告。(對,但有的可免宣告 )

34、 在 c 語言程式中,不允許變數同名。( 錯)

35、 c 語言的所有迴圈語句都要求至少要執行一次迴圈體。( 錯)

程式填空題

36、 從鍵盤讀入一個字串,求該字串的長度。

#include

int len(char *);

void main()

int len(char * p)

return (n);

} 37、 從鍵盤讀入一個字串,統計其中英文小寫字母的個數。

#include "string.h"

#include "stdio.h"

void main()

38、 從鍵盤讀入兩個數,求其最大者。

#include "stdio.h"

int max(int,int);

void main()

while(epselon>=1e-6);

printf("pi=%8.6f\n",4*pi);

} 序分析題

40、#include

void main()

; int i,j,s=0;

for(i=0;i<3;i++)

for(j=0;j<3;j++)

if(i==2-j) s=s+a[i][j];

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

} 執行結果:__2,7,5_______________________________________

41、#include

int sub(int n)

void main()

執行結果:__15_______________________

42、#include

int x=2,y=5;

void f()

void main()

執行結果:____1,y;1,y;8,5________________________________

43、#include

#define n 5

void main() }

for(i=0;i

行結果:_____+****

0+***

00+**

000+*

0000+ _____________________

c語言 int i,j=0; for(i=0;s[i];i++) if(s[i]!=c) s[j++]=s[i]; s[j]=0; 這個程式設計中的s[j]=0是什麼意思? 5

5樓:匿名使用者

int i,j=0;

for(i=0;s[i];i++) //應該能看出s是個字串,此處就是遍歷字串的一般規範寫內法,s[i]表示,當s[i]!=0時, 0 == 『\0』是字串結束容符

if(s[i]!=c) //從這裡可以看出,這是刪除串中的某個字元c的功能,有多少個,刪除多少個

s[j++]=s[i];

s[j]=0; //置字串結束符,這樣返回後的s在輸出時,才會正常,不然,會有多餘的字元出現! 字串在輸出時,從首地址,一直輸出到字串結束符位置才停止

6樓:

int i,j=0;

for(i=0;s[i];i++)

if(s[i]!=c)

s[j++]=s[i];

s[j]=0;//把最後一個元素設為0,可能是作為陣列的結束來用。

7樓:匿名使用者

是字元陣列吧,把最後一個元素設為0,作為陣列的結束標記

8樓:匿名使用者

s是個陣列,取第j個元素(陣列下標從0開始),賦值為0

#includedouble f (int n){int i; double s;s=1.0;for(i=1;i<=n;i++)s+=1.0/i;

9樓:匿名使用者

i=0時,呼叫函式返回值s=1 a=a+1=1

i=1時,呼叫函式返回值s=1+1=2 a=a+2=3

i=2時,呼叫函式返回值s=1+1+0.5=2.5 a=a+2.5=5.5

10樓:

main()函式中

第一次呼叫f(i),i此時值為0,即傳送的引數為0即n的值為0,那麼進入f函式迴圈時無法通過 i<=n這個判定,所以s值不便仍為1,結果為a=a+1=0+1=1.程式到此時a的值改變為1

第二次呼叫f(i),i此時值為1,即傳送的引數為1即n的值為1,那麼進入f函式迴圈時可以通過1次i<=n這個判定,所以s的值為s=1+1/i=1+1=2,結果為a=a+s=1+2=3,程式到此時a的值改變為3.

第二次呼叫f(i),i此時值為2,即傳送的引數為2即n的值為2,那麼進入f函式迴圈時可以通過2次i<=n這個判定,所以s的值為s=1+1/i+1/2=1+1+0.5=2.5,結果為a=a+s=3+2.

5=5.5求分

11樓:霧明冰清

呃 神馬都不輸出,你的main方法缺少型別,在最新的vs2010中會報錯

一道c語言程式設計題求s=1+1/2!+1/3!+1/4!+....+1/n!的的近似值,星號下填語句 10

12樓:匿名使用者

**中各

bai項的分母不是階乘

du 而是平方。zhi

應該是你題目dao

打錯了。

按照專**中填寫**如屬下

double r=0;

int i;

for(i = 1; i <=n; i ++)r+=1.0/i/i;

return r;

13樓:匿名使用者

int i,j,t;

double s=0;

for(i=1;i<=n;i++)

return s;

14樓:匿名使用者

#include

#include

#include

using namespace std;

string a,b;

int main()

c語言中:(i>=j)+(i==j)的值分別為0、1或2。是什麼意思?

15樓:gta小雞

i>=j和i==j都是邏輯表示式,為真則返回1,為假則返回0。因此,兩個邏輯表示式相加的結果只可能是0(0+0)、1(0+1或1+0)或2(1+1)。

c語言中 for (i = 0; s[i] !='\0' && s[j]==t[k]; j++, k++) 整個語句是什麼意思?

16樓:巫馬尓絲

for (i = 0; s[i] !='\0' && s[j]==t[k]; j++, k++)

對比常用的

for (i = 0; i第二個s[i] !='\0' && s[j]==t[k];這一句就相當於i件

第三個j++, k++就相當於i++這個判定條件,總體來說就是從i=0開始,每次 j++, k++,直到s[i] !='\0' && s[j]==t[k];這個條件不成立時候就結束迴圈。

17樓:范德薩了就

意思就是:

i = 0;

while(s[i] != '\0' && s[j] == t[k])

不過你的i沒有變化阿,一般應該還有i++

c語言中如果定義int i,k;unsigned j;那麼執行for(i=15;j>0;i-=2) 10

18樓:千鋒教育

unsigned是無符號整型預設值是:3435973836for(i=15;j>0;i-=2)

k++這樣分析沒有迴圈終止條件,所以不能這麼寫for(i=15;j>0&&j--;i-=2)k++

c語言刪除語句s[j++]=s[i];s[j]='\0',我不太懂,解釋一下 5

19樓:千鋒教育

這是一個追加字元的表示式  ,用來想一個字串最後新增字元比如 :

char s[10]="123"

int j=3

int i=0;

s[j++]=s[i];s[j]='\0'//此句執行完後s=="1231"

20樓:金色潛鳥

j++ 是後加加。表示式裡j 不自增,出了表示式再自增1。

所以s[j++]=s[i]; s[j]='\0';

可以按步寫成 s[j]=s[i]; j=j+1; s[j]='\0'。

所謂刪除,版是指字串裡發生的權事。 s[j]='\0' ;也就是把字串結束符 放在 s[j] 位置,這樣字串 s 有效字串只算到s[ j] 以前, 後面的字元不起作用了。等於刪除了。

例如:

char s[12]="abcde12345"; // 原來的字串

int j=2,i=9;

printf("%s\n",s); // 輸出原來的字串 abcde12345

s[j]=s[i]; // 把s[9] 放到 s[2] -- 字元c 變字元 5

printf("%s\n",s);

j=j+1;

s[j]='\0'; // 刪除 s[j] 以後的

printf("%s\n",s);

執行上面語句,輸出為:

abcde12345

ab5de12345

ab5等於刪除了 cde1234

21樓:帶你看我小時候

s[j]=s[i];然後句末j++ (就是j+1的意思)

'\0' 是字串的結束符,任何字串之後都會自動加上'\0'

22樓:t君凡

將s[j]=s[i];j=j+1;

s[j]='\0'

23樓:劉江濤

現將s[i]中的值移入s[j]中,j自加1,然後將其中的值替換為結束符,原s[j]中的值就被刪除了。

c語言中函式指標的強制型別轉換有什麼作用

如果你把sub函式bai改為int sub int a,int b,int c,int d,int e,int f,int g,int h 你就會發現後面du那幾個引數 就zhi變得不dao正常,道理很簡單,版引數push過少,函權數傳遞引數是把引數push進堆疊,在函式題裡面再pop出來,至於什麼...

C語言指標問題,指標型別強制轉換,求高手分析

是這樣的,c語言中,32 bit系統int和float雖然都佔4個位元組,但是他們在記憶體中的儲存方式是不一樣的。int型的3在記憶體中32 bit 16進位制是0x00000003 float型的3在記憶體中32 bit 16進位制是0x40400000 當你把指標v 原本指向int型 強制轉換指...

c語言中的func型別是什麼,在C語言中,FUNC是什麼意思?

在c語言中沒有func型別,func一般是自定義函式的函式名 函式 的英語翻譯回 function 如以下 答 include int func int a 定義函式,函式名為funcvoid main 在這段 定義了函式func 其作用是返回a 1的值。沒有這個型別 這是一般書本里面用來給自定義函...