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 #include 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]中的值就被刪除了。 如果你把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語言中,32 bit系統int和float雖然都佔4個位元組,但是他們在記憶體中的儲存方式是不一樣的。int型的3在記憶體中32 bit 16進位制是0x00000003 float型的3在記憶體中32 bit 16進位制是0x40400000 當你把指標v 原本指向int型 強制轉換指... 在c語言中沒有func型別,func一般是自定義函式的函式名 函式 的英語翻譯回 function 如以下 答 include int func int a 定義函式,函式名為funcvoid main 在這段 定義了函式func 其作用是返回a 1的值。沒有這個型別 這是一般書本里面用來給自定義函...c語言中函式指標的強制型別轉換有什麼作用
C語言指標問題,指標型別強制轉換,求高手分析
c語言中的func型別是什麼,在C語言中,FUNC是什麼意思?