當前位置:首頁 » 編程語言 » c語言中補充說明該怎麼表達
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言中補充說明該怎麼表達

發布時間: 2023-01-05 12:10:21

『壹』 我的c語言問題,看補充說明,

在DEV-CPP 5.4 通過編譯測試

#include<stdio.h>	
#include<math.h>
intmain()
{
floatsum=0;
intm,i,k;
FILE*fp;
for(m=3;m<=100;m++)
{
k=sqrt(m);
for(i=2;i<=k;i++)
if(m%i==0)break;
if(i>k)sum=sum+sqrt(m);
}
fp=fopen("out.dat","w");
fprintf(fp,"%f",sum);
fclose(fp);
return0;
}

『貳』 C語言問題,請看補充說明,急急急,謝謝

#include<stdio.h>
#include<string.h>
#defineN80

intfun(constchar*str);

intmain(void)
{
chars[N]={0};
printf("Pleaseenterastring:");
gets(s);

if(fun(s))
puts("Yes");

else
puts("No");

return0;
}

intfun(constchar*str)
{
for(inti=0,j=strlen(str)-1;i<j;++i,--j)
if(str[i]!=str[j])
return0;

return1;
}

『叄』 在C語言程序中,從/*開始,到*/結束的部分稱為什麼

這時注釋,C裡面支持兩種注釋格式:行注釋、段落注釋
行注釋
//為字元指針開辟空就愛你
name =(char *)malloc(sizeof(char)*8);

段落注釋
/*
這是一段注釋,一般注釋內容較多,需要換行時
會選用這種方式
*/

『肆』 c語言問題,(看補充說明) 在一個字元數組中查找一個指定字元,若數組中含有該字元。

#include<stdio.h>
#include<string.h>
intfindchar(chars[],charc){
inti;
for(i=0;i<strlen(s);i++)
if(c==s[i])returni;
return-1;
}
intmain(){
intn,i;
chars[255],ch;
printf("請輸入一串字元:");
scanf("%s",&s);
getchar();
printf("請輸入要查找的字元:");
scanf("%c",&ch);
printf("%d ",findchar(s,ch));
return0;
}

『伍』 怎樣用C語言列印出圖案(在補充說明中)用循環編

#include <stdio.h>
#include <conio.h>
main()
{
int i,j;
for(i=0;i<4;i++)
{for(j=0;j<2*i+1;j++)
printf("*");
printf("\n");}
getch();

下面是左右對稱的那種:
#include <stdio.h>
#include <conio.h>
main()
{
int i,j,k;
for(i=0;i<4;i++)
{
for(k=1;k<4-i;k++)
printf(" ");
for(j=0;j<2*i+1;j++)
printf("*");
printf("\n");
}
getch();
}
}

『陸』 C語言問題

程序設計初步 一、 順序結構程序設計 1.輸入語句read和readln 功能:從鍵盤或文件讀入數據項,並把它存到變數中去,使該數據能在以後的計算中使用。 輸入語句的一般形式為: read(v1,v2,…,vn); readln(v1,v2,…,vn);從鍵盤逐次讀入數據,分別賦給變數v1,v2,…,vn,一次輸入多個變數值時,要求數據之間用空格分隔,readln語句要求輸入數據後必須回車,使得後繼操作從下一行的頭上開始。
Slide 2read語句與readln語句區別是: (1) read語句是一個接一個地讀數據,在執行完本Read語句( 讀完本語句中變數所需的數據)後,下一個讀語句接著從該數據輸入行中繼續讀數據,也就是說,不換行。如: Read(a,b); Read(c,d); Read(e); 如果輸入數據行如下: 1□2□3□4□5□6□←┘ 則a,b,c,d,e的值分別為1,2,3,4,5,如果後面無讀語句則數據6是多餘的,這是允許的。
Slide 3Readln則不同,在讀完本Readln語句中變數所需的數據後, 該數據行中剩餘的數據多餘無用,或者說,在讀完本Readln語句中變數所需數據後,一定要讀到一個回車,否則多餘的數據無用。設有下列語句: read(a,b,c); readln(d,e); readln; readln(f); 其中,所有變數均為整型。再設輸入的數據如下: 1□2←┘ 3□4□5□6□7□8←┘ 9□10←┘ 11←┘ 結果為:1 2 3 4 5 11
Slide 4(2)readln語句與read語句的第二個區別是: read 後一定要有參數表, readln可以不帶參數表,即可以沒有任何輸入 項, 只是等待讀入一個換行符(回車)。 經常用於暫停程序的運行,直到輸入 一個回車
Slide 52、輸出語句write和writeln 功能:把程序計算的結果,按適當的形式輸出到屏幕或文件。 1)、write語句格式Write(表達式1,表達式2,……);如: write(x,5,a+b); write(『My name is Liping』); 2)、writeln語句格式: Writeln(表達式1,表達式2,……) 或writeln
Slide 6Write語句與writeln語句格式上都相似,但它們在功能上有所不同,兩個語句的區別在於: write語句將其後括弧中的表達式一個接一個輸出後,沒有換行。 而writeln語句則在輸出各個表達式的值後換行。例如以下兩個程序段的輸出分別為: write(1,2,3,4); write(5,6); 輸出為: 123456 writeln(1,2,3,4); write(5,6); 輸出為: 1234 56
Slide 74)實數的輸出格式實數(real)以浮點型格式輸出。例如805.67對應的浮點數為8.056700000000E+02。這種實數表達方式很不方便。我們可以通過下述形式強迫實數以定點型格式輸出: 實數表達式:域寬:小數位數例如,t的值設為63.123。下面三條輸出語句分別有它們右邊所示的輸出格式: write(t); 6.312300000000E+01 write(t:6:2); 63.12 write(t:10:5); 63.12300 輸出語句的輸出格式: 場寬的分類:標准場寬和自定義場寬。 自定義場寬又分為單場寬和雙場寬。 單場寬的形式: x:n; 可以輸出的項目有整型、字元型、布爾型,不允許實型。 雙場寬的形式: x:n1:n2; 控制實型數據的輸出。
Slide 83:復合語句:定義:復合語句是由若干條語句組成的語句序列。形式: begin 語句1; 語句2; ···· 語句n end;用保留字begin和end括起來,構成一條邏輯上的語句,語法上充當一條語句。
Slide 9二、 選擇結構程序設計 一:什麼是選擇結構?選擇結構的特點? 二:選擇結構的幾種語句: 1.if 語句:格式:if 條件 then 語句1; if 條件 then 語句1 else 語句2;功能:執行過程說明:1)該語句為一個語句; 2)條件是一個布爾表達式或一個布爾變數,then 和else後的語句可以是單個語句,當需要多條語句時,用begin和end括起來構成復合語句。 3)靈活運用該語句,條件是關鍵。
Slide 10補充:邏輯運算及布爾表達式 1、布爾常量: true false const t=true;f=false; 2、 布爾變數: var t,f:Boolean; 順序型數據false(0),true(1),有ord,succ,pred等函數運算 3、關系表達式:定義;運算符;運算結果 對於數值型數據的比較,直接比較數值的大小如:13>6 的結果為true 對於其它類型數據的比較,則按其序號進行比較如:』a』>=』b』的結果為false 邏輯運算:三個運算符(優先順序):not(單目) and(雙目) or(雙目) 運算結果為布爾型數據:true,false 布爾表達式:由邏輯運算符將幾個類型相容且有序的表達式聯結起來的式子。 邏輯、算術、關系運算符的運算次序:括弧——函數、not——*、/、div、mod、and——+、-、or——>、>=、<、<=、=、<> 例:若a=true,b=false,x=7,y=12,m=3,n=35,求下列布爾表達式的值。 a and not (m>n) and (x<y-m) or (a or b) ① ② ③
Slide 112.if 語句的嵌套:格式: (1) if 語句嵌套在then語句中 if 條件1 then if 條件2 then 語句21 else 語句22 else 語句12;(2)if 語句嵌套在else語句中 if 條件1 then 語句11 else if 條件2 then 語句21 else 語句22 ;
Slide 12【例】:計算下列函數 分析:根據輸入的x值,先分成x>0與x≤0兩種情況,然後對於情況x≤0,再區分x是小於0,還是等於0。
Slide 13程序代碼: program ex; var x:real; y:integer; begin write('input x:');readln(x); if x>0 then y:=1 else if x=0 then y:=0 else y:=-1; writeln('x=',x:6:2,'y=',y); end.
Slide 143.case 語句:分情況語句(多分支語句)格式:case 表達式 of 常數表1:語句1; 常數表2:語句2; ···· 常數表n:語句n; else 語句n+1 end; 功能:執行過程說明:1)end 與case 對應 2)表達式的類型通常是整型、字元型 3)常量表是常量,其類型與表達式的類型要一致。常量表中的常量不能重復。
Slide 15【例】:輸入兩個數(均不為零)及一個算術運算符,輸出其運算的結果程序代碼: program ex3(input,output); var x,y,s:real; ch:char; begin writeln(『input x & y & ch:』); readln(x,y); readln(ch); case ch of 『+』:s:=x+y; 『-『:s:=x-y; 『*』:s:=x*y; 『/』:s:=x/y end; writeln(x,ch,y,』=』,s) end.
Slide 16上機練習題 1.求一元二次方程ax2+bx+c=0的根。 演算法分析:方程的系數a,b,c決定了方程有無根,是幾個根,是實數根還是復根。 2.列印某年某月有幾天。 演算法分析:可分為以下3種情況: 每年的1,3,5,7,8,10,12這七個月每月為31天; 每年的4,6,9,11這四個月為30天; 2月又分為兩種情況:閏年為29天,否則為28天。 判斷閏年的條件:年數能被4整除,並且不能被100整除,或者年數能被400整除; (year mod 4=0)and (year mod 100<>0) or (year mod 400=0)
Slide 17第三節 循環結構程序設計 一、什麼是循環結構?其特點是什麼?二、循環結構的三種形式: 1.for語句:(「計數循環」):就是將規定循環體重復執行的次數。格式:for 控制變數:=初值 to 終值 do 循環體語句; for 控制變數:=初值 downto 終值 do 循環體語句;功能:執行過程說明:1) 初值和終值可以是表達式,控制變數和初值、終值的類型相同,且必須是整型、布爾型和字元型等順序類型,不能為實型。 2)遞增按succ函數規律變化,遞減按pred函數規律變化,整型按數值大小變化,如果為字元型量,按ASCII碼表的順序計算。 3)初值和終值在循環之前計算,重復過程中,其值不受影響;不得在循環語句中對控制變數進行賦值。 4)當初值超過終值,不執行循環,循環次數為零。
Slide 18【例1】:計算1+2+3+4+···+100之和。演算法分析:對於求和,我們使用的是累加的辦法。程序代碼: program ex1(input,output); var i,sum:integer; begin sum:=0; for i:=1 to 100 do sum:=sum+I; writeln(『sum=』,sum) end. 補充說明:類似sum迭加變數這樣的功能稱為「累加器」;類似i這樣的變數稱為「計數器」;「計數器」和「累加器」是在程序中經常使用的基本操作語句。
Slide 192.while語句:(「當型循環」):當條件滿足時反復執行循環體。格式:while 布爾表達式 do 語句;功能:執行過程:先求布爾表達式的值,值為真時,執行語句;值為假時,退出循環。說明:1)為了while循環能正常終止,布爾表達式中的變數必須在循環體中的某語句中有所改變,即有可能是布爾表達式的值為假,使循環結束,否則將出現死循環。 2)循環體中的語句一般是多條語句,用begin和end使其成為一條復合語句。
Slide 20【例】:輸出1~100之間的奇數。程序代碼: program ex5(input,output); var x:integer; begin x:=1; while x<100 do begin write(x:5); x:=x+2 end end.
Slide 213.until語句:(「直到型循環」):反復執行循環體直到條件滿足為止。格式:repeat 語句1; 語句2; 語句3; ··· 語句n until 布爾表達式;功能:執行過程:先執行指定的語句序列,然後判別表達式。
Slide 22說明:while語句和repeat語句都可以實現循環結構,但它們有四點不同:
Slide 23【例】:輸出1~100之間的奇數。(用repeat則應該是)程序代碼: program ex5(input,output); var x:integer; begin x:=1; repeat write(x:5); x:=x+2 Until x>=100 end.
Slide 24三、多重循環: 1*1=1 2*1=2 2*2=4 3*1=3 3*2=6 3*3=9 4*1=4 4*2=8 4*3=12 4*4=16 ………………………………………….. 9*1=9 9*2=18 9*3=27 ………….. …... 9*9=81 列印出如下的九九表:
Slide 25program jjb(input,output); var i,j:integer; begin for i:=1 to 9 do begin for j:=1 to i do write(i,'*',j,'=',i*j,『 ':3); writeln; end end.
Slide 26四、轉向語句:goto Goto語句並不是循環語句,而是一個無條件的強制跳轉語句。格式: goto 語句標號; 1、標號說明通常放在程序說明部分第一個出現,格式如下: label 標號1,標號2……… 標號只起到一個表明位置的作用,它並不改變原語句的功能 標號並不代表實際的行數,標號之間也可不按大小順序 2、只能從一個語句結構中轉出來,不允許從外部轉進去例如:求100以內的所有質數
Slide 27program js(input,output); Var n,i,j:integer; begin write('2,'); for i:=3 to 100 do begin n:=2; while i mod n<>0 do n:=n+1; if i=n then write(i,','); end; end.
Slide 28上機練習題 1.編程求出1!+2!+3!+……….+n!的值 2.編程找出四位整數abcd中滿足下述關系的數。 (ab+cd)(ab+cd)=abcd 3.已知:faibonacci(費波那契)數列的前幾個數分別為0,1,1,2,3,5,···,編程求出此數列的前n項。 4.試編寫能列印如下輸出圖形的程序。########### ######### ####### ##### ### #思考:如果把圖形上下顛倒的話,程序應如何修改
Slide 295. (1)求出兩個自然數a和b的最大公約數。 (2)求出兩個自然數a和b的最小公倍數。 6. 用5元錢買100隻紐扣,其中金屬紐扣每隻5角,有機玻璃紐扣每隻一角,小按扣1分錢3個,編程求出各種紐扣各買了多少只? 7.(1)隨機產生一個三位自然數,判斷這個數是否為水仙花數。 (2)求100~999中的水仙花數。(若三位數abc,abc=a3+b3+c3,則稱為水仙花數。如:153,13+53+33=1+125+27=153)
Slide 30program jjb(input,output); var i,n,s,m:integer; begin read(n); s:=0; m:=1; for i:=1 to n do begin m:=m*i; s:=s+m; end; writeln('s=',s); end. 1.編程求出1!+2!+3!+……….+n!的值
Slide 312、【演算法分析:這道題屬於搜索問題,因為是四位整數,其范圍從1000——9999,所求的數究竟在哪裡,無法確定,只有在這個范圍內從小到大一個一個進行搜索,對每一個數,看它的高兩位數與低兩位數和的平方是否為該數。高兩位數:abcd div 100=ab 低兩位數:abcd mod 100=cd 程序代碼: program ex4(input,output); var i,m,n,k:integer; begin for i:=1000 to 9999 do begin m:=i div 100; n:=i mod 100; k:=(m+n)*(m+N); If k=i then write(I:8) end end. 補充說明:以上用的方法也叫「枚舉法」,又稱「窮舉法」。它是用計算機解題的一種常用的辦法。它的基本思路是:一一枚舉各種可能的情況,並判斷哪一種可能是符合要求的解。方法雖然很笨,然而與計算機高速的處理能力相結合,也不失為一種較有用的方法
Slide 323.已知:faibonacci(費波那契)數列的前幾個數分別為0,1,1,2,3,5,···,編程求出此數列的前n項。 program fbnqsl(input,output); var f1,f2,fn,i,n:integer; begin writeln('input n:'); readln(n); f1:=0; f2:=1; write(f1:6,f2:6); for i:=3 to n do begin fn:=f1+f2; write(fn:6); f1:=f2; f2:=fn; end; end.
Slide 334、########### ######### ####### ##### ### # program ex10(input,output); var i,j,k:integer; begin for i:=6 downto 1 do begin for j:=1 to 6-i do write(『 『); for k:=2*i-1 downto 1 do write(『#』); writeln end end. # ### ##### ####### #################### program ex10(input,output); var i,j,k:integer; begin for i:=1 to 6 do begin for j:=6-i downto 1 do write(' '); for k:=2*i-1 downto 1 do write('#'); writeln end end.
Slide 345、program fbnqsl(input,output); var m,n,t,r:integer; begin writeln('input m and n:'); readln(m,n); if m<n then begin t:=m; n:=m; m:=t; end; r:=m mod n; while r<>0 do begin m:=n; n:=r; r:=m mod n; end; write(n); end. program fbnqsl(input,output); var m,n,i,s:integer; begin writeln('input m and n:'); readln(m,n); i:=1; s:=m*i; while s mod n<>0 do begin i:=i+1; s:=m*i; end; write(s); end. 最小公倍數:
Slide 356、用5元錢買100隻紐扣,其中金屬紐扣每隻5角,有機玻璃紐扣每隻一角,小按扣1分錢3個,編程求出各種紐扣各買了多少只? var x,y,z:integer; begin for x:=1 to 10 do for z:=1 to 100 do begin y:=100-x-z; if 50*x+10*y+z/3=500 then writeln(x:4,y:4,z:4); end; end.
Slide 367、program ex9(input,output); var a,b,c:integer; begin for a:=1 to 9 do for b:=0 to 9 do for c:=0 to 9 do if a*a*a+b*b*b+c*c*c=a*100+b*10+c then write(a*100+b*10+c:6); writeln end.
循環結構
by guest102525 | Added: 1 month ago

Language: Chinese | Topic: Nature

4 Views 1 Embeds
Share via email
URL:

Embed: HTML XHTML

For WordPress: Get SlideBoom plugin for WordPress

More by this UserMost ViewedRelated presentations
This user doesn't uploaded any other presenations.

Share via email
(comma-separated)Emails*:
Your name*:
Message:
Refresh
Please enter the characters you see.
Characters are not case sensitive.

Send
* indicates a required field

Share presentation with a group
Group:
Select group
Message:
Post

『柒』 C語言問題~

if語句的用法

if 語句

if語句是C++/C語言中最簡單、最常用的語句,然而很多程序員用隱含錯誤的方式寫if語句。本節以「與零值比較」為例,展開討論。

4.3.1 布爾變數與零值比較

l 【規則4-3-1】不可將布爾變數直接與TRUE、FALSE或者1、0進行比較。

根據布爾類型的語義,零值為「假」(記為FALSE),任何非零值都是「真」(記為TRUE)。TRUE的值究竟是什麼並沒有統一的標准。例如Visual C++ 將TRUE定義為1,而Visual Basic則將TRUE定義為-1。

假設布爾變數名字為flag,它與零值比較的標准if語句如下:

if (flag) // 表示flag為真

if (!flag) // 表示flag為假

其它的用法都屬於不良風格,例如:

if (flag == TRUE)

if (flag == 1 )

if (flag == FALSE)

if (flag == 0)

4.3.2 整型變數與零值比較

l 【規則4-3-2】應當將整型變數用「==」或「!=」直接與0比較。

假設整型變數的名字為value,它與零值比較的標准if語句如下:

if (value == 0)

if (value != 0)

不可模仿布爾變數的風格而寫成

if (value) // 會讓人誤解 value是布爾變數

if (!value)

4.3.3 浮點變數與零值比較

l 【規則4-3-3】不可將浮點變數用「==」或「!=」與任何數字比較。

千萬要留意,無論是float還是double類型的變數,都有精度限制。所以一定要避免將浮點變數用「==」或「!=」與數字比較,應該設法轉化成「>=」或「<=」形式。

假設浮點變數的名字為x,應當將

if (x == 0.0) // 隱含錯誤的比較

轉化為

if ((x>=-EPSINON) && (x<=EPSINON))

其中EPSINON是允許的誤差(即精度)。

4.3.4 指針變數與零值比較

l 【規則4-3-4】應當將指針變數用「==」或「!=」與NULL比較。

指針變數的零值是「空」(記為NULL)。盡管NULL的值與0相同,但是兩者意義不同。假設指針變數的名字為p,它與零值比較的標准if語句如下:

if (p == NULL) // p與NULL顯式比較,強調p是指針變數

if (p != NULL)

不要寫成

if (p == 0) // 容易讓人誤解p是整型變數

if (p != 0)

或者

if (p) // 容易讓人誤解p是布爾變數

if (!p)

4.3.5 對if語句的補充說明

有時候我們可能會看到 if (NULL == p) 這樣古怪的格式。不是程序寫錯了,是程序員為了防止將 if (p == NULL) 誤寫成 if (p = NULL),而有意把p和NULL顛倒。編譯器認為 if (p = NULL) 是合法的,但是會指出 if (NULL = p)是錯誤的,因為NULL不能被賦值。

程序中有時會遇到if/else/return的組合,應該將如下不良風格的程序

if (condition)

return x;

return y;

改寫為

if (condition)

{

return x;

}

else

{

return y;

}

或者改寫成更加簡練的

return (condition ? x : y);