A. c語言編程問題
#include <iostream>
using namespace std;
class Cheight
{
public:
void getPHeight();//獲得父母的身高
void getBasicHeight();//獲取基本的身高
void getSports();//是否鍛煉
void getDiet();//獲取飲食習慣
void getFinalHeight();//獲取身高
private:
//int n;//數據個數
//float child[n];
float faHeight,moHeight,basHeight,finalHeight;
char sex,sports,diet;
};
void Cheight::getPHeight()
{
cout << "請輸入父親的身高:";
cin >> faHeight;
cout << "請輸入母親的身高:";
cin >> moHeight;
}
void Cheight::getBasicHeight()
{
cout << "請輸入性別(男:m,女:f):";
cin >> sex;
if(sex == 'm'||sex == 'M')
{
basHeight = (faHeight + moHeight) * 0.54;
}
else
if(sex == 'f' || sex == 'F')
{
basHeight = (faHeight * 0.923 + moHeight) / 2;
}
else
cout << "ERROR!";
}
void Cheight::getSports()
{
cout << "是否喜歡運動(是:y,否:n):";
cin >> sports;
if(sports == 'y' || sports == 'Y')
{
basHeight = basHeight * (1 + 0.02);
}
}
void Cheight::getDiet()
{
cout << "是否有好的飲食習慣(是:y):";
cin >> diet;
if(diet == 'y' || diet == 'Y')
{
basHeight = basHeight * (1 + 0.015);
}
}
void Cheight::getFinalHeight()
{
finalHeight = basHeight;
cout << "您的身高是:" << finalHeight << "cm";
}
int main()
{
Cheight testHeight;
testHeight.getPHeight();
testHeight.getBasicHeight();
testHeight.getSports();
testHeight.getDiet();
testHeight.getFinalHeight();
return 0;
}
寫了一個只測試當個人的,如果測試一組人,請設置為數組。這個請樓主自己思考!
B. 小孩子學習C語言哪裡有少兒編程培訓,少兒編程
目前大多數主要針對的還是Scratch編程的課程比較多,開設C語言的少兒編程相對少點,碼小易的少兒編程課程體系就包含了Scratch、C++、Python等編程,可以供孩子很多選擇。不過學習C語言要求孩子的知識面和編程基礎到達一定程度,學習後可以參加競賽。
C. 小孩學c語言
在我看來,無論幾歲學習c語言都是可以的。當然自學相對枯燥一點,利用小學功課不緊的情況學一下對將來也有好處。 只是對於未成年人來說,眼睛沒有發育完全,長時間對著電腦非常影響視力,建議每天對著電腦時間不要超過兩小時,一小時期間休息十分鍾。 c語言和任何一門外語一樣都是人為創造出來的,有一系列的「單詞」,「語法」 所以你想學會c語言,需要的是一本語法書 鑒於現在可視化編程的需求比較多,我推薦你學習MFC 所以去書店買兩本書,由於版本原因我不知道現在是叫什麼名字了,一本是清華大學出版社譚浩強編的《c++程序基礎》(書名不太確定,認准作者就好) 另一本是《MFC編程指南》(同樣書名記不清楚了),是一本按常式一步步教MFC編程的書,買到類似的就可以了。 先學習c++語法,上機試驗書中的例子,如果有興趣,再學習MFC。 現在的編程語言越來越多樣化,學會c++再學別的編程語言能夠一通百通。 編程環境,我上大學那陣用的是vc6.0,不過現在感覺落伍了,我現在用的是vc2010,也挺好用的。 很多人推薦國外大牛的書的中文版,我並不推薦,因為我看過那樣的書,每個語法都講得非常詳細,篇幅非常長,一本書比詞典還厚。加上濃濃的英式中文保准一個初學者沒看下去就不想學了,那種工具書,是已經能夠簡單編程的人細扣自己語法知識點的,並不適合初學者。
D. 今年已經二十五歲了,想學習C語言,會不會起步太晚,能夠學好嗎
c語言是基礎,學習軟體編程要學習很多種語言,計算機語言不斷更新,就要不斷學習。
學習永遠不會晚,只要你能堅持,遇到什麼事情都不放棄就能成
E. 小孩子讓他去學C語言會不會太難了點
我覺得最好不要讓兒童去學c 原因有幾點,第一c語言等計算機語言的邏輯思維和人類不一樣說一個行內的笑話,你出門你老婆說讓你如果看到蘋果就買點順便帶個西瓜,正常人都能理解但是c就是 如果你看到蘋果才買西瓜沒看到就什麼都不買,所以如果從小學習c會導致邏輯思維收到計算機思維影響從而和社會格格不入
其次是c語言其實越來越少了,隨著時間推移和發展越來越多的,簡單方便麵向對象的語言誕生,甚至現在還出現了電腦自己編程,這種趨勢下現在兒童去學其實未來並沒有優勢
最後確實是很難而且很枯燥,小孩子很難學的
F. 讓兒童直接去學C語言會不會太難了點
我覺得最好不要讓兒童去學c 原因有幾點,第一c語言等計算機語言的邏輯思維和人類不一樣說一個行內的笑話,你出門你老婆說讓你如果看到蘋果就買點順便帶個西瓜,正常人都能理解但是c就是 如果你看到蘋果才買西瓜沒看到就什麼都不買,所以如果從小學習c會導致邏輯思維收到計算機思維影響從而和社會格格不入
其次是c語言其實越來越少了,隨著時間推移和發展越來越多的,簡單方便麵向對象的語言誕生,甚至現在還出現了電腦自己編程,這種趨勢下現在兒童去學其實未來並沒有優勢
最後確實是很難而且很枯燥,小孩子很難學的
G. 小孩可以學c語言嗎
這么著急干什麼?上初中後就可以學一些簡單的。主要看興趣,興趣高了自己可以鑽研。沒有興趣的話,會覺得很煩,學了沒有任何效果。 學c語言基本不需要英語基礎。現在好像市面上沒有針對小孩子的教材,因為除過興趣,小孩子不適合學習c語言。如果實在要學習編程的話,建議學習比較簡單的BASIC語言。
H. 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