1. 簡單編程的問題
字元型的,你用char讀入就行了,比如
int a,b;
char c;
scanf("%d%d %c",&a,&b,&c);
2. 程序設計主要有哪些方法
程序設計主要方法有面向結構的方法和面向對象的方法。
結構化程序設計
隨著計算機的價格不斷下降,硬體環境不斷改善,運行速度不斷提升。程序越寫越大,功能越來越強,講究技巧的程序設計方法已經不能適應需求了。記得是哪本書上講過,一個軟體的開發成本是由:程序設計 30% 和程序維護 70% 構成。這是書上給出的一個理論值,但實際上,從我十幾年的工作經驗中,我得到的體會是:程序設計占 10%,而維護要佔 90%。也許我說的還是太保守了,維護的成本還應該再提高。下面這個程序,提供了兩種設計方案,大家看看哪個更好一些那?
題目:對一個數組中的100個元素,從小到大排序並顯示輸出。(BASIC)
方法1:冒泡法排序,同時輸出。
FOR I=1 TO 100
FOR J=I+1 TO 100
IF A[I] > A[J] THEN T=A[J]: A[J]=A[I]: A[I]=T
NEXT J
? A[I]
NEXT I
方法2:冒泡法排序,然後再輸出。
FOR I=1 TO 100
FOR J=I+1 TO 100
IF A[I] > A[J] THEN T=A[J]: A[J]=A[I]: A[I]=T
NEXT
NEXT
FOR I=1 TO 100
? A[I]
NEXT
顯然,「方法1」比「方法2」的效率要高,運行的更快。但是,從現在的程序設計角度來看,「方法2」更高級。原因很簡單:(1)功能模塊分割清晰——易讀;(2)也是最重要的——易維護。程序在設計階段的時候,就要考慮以後的維護問題。比如現在是實現了在屏幕上的輸出,也許將來某一天,你要修改程序,輸出到列印機上、輸出到繪圖儀上;也許將來某一天,你學習了一個新的高級的排序方法,由「冒泡法」改進為「快速排序」、「堆排序」。那麼在「方法2」的基礎上進行修改,是不是就更簡單了,更容易了?!這種把功能模塊分離的程序設計方法,就叫「結構化程序設計」。
面向對象的程序設計
隨著程序的設計的復雜性增加,結構化程序設計方法又不夠用了。不夠用的根本原因是「代碼重用」的時候不方便。面向對象的方法誕生了,它通過繼承來實現比較完善的代碼重用功能。很多學生在應聘工作,面試的時候,常被問及一個問題「你來談談什麼是面向對象的程序設計」,學生無言,回來問我,這個問題應該怎麼回答。我告訴他,你只要說一句話就夠了「面向對象程序設計是對數據的封裝;範式(模板)的程序設計是對演算法的封裝。」後來再有學生遇到了這個問題,只簡單的一句對答,對方就對這個學生就刮目相看了(學生後來自豪地告訴我的)。為什麼那?因為只有經過徹底的體會和實踐才能提煉出這個精華。
面向對象的設計方法和思想,其實早在70年代初就已經被提出來了。其目的就是:強製程序必須通過函數的方式來操縱數據。這樣實現了數據的封裝,就避免了以前設計方法中的,任何代碼都可以隨便操作數據而因起的BUG,而查找修改這個BUG是非常困難的。那麼你可以說,即使我不使用面向對象,當我想訪問某個數據的時候,我就通過調用函數訪問不就可以了嗎?是的,的確可以,但並不是強制的。人都有惰性,當我想對 i 加1的時候,干嗎非要調用函數呀?算了,直接i++多省事呀。呵呵,正式由於這個懶惰,當程序出BUG的時候,可就不好捉啦。而面向對象是強制性的,從編譯階段就解決了你懶惰的問題。
巧合的是,面向對象的思想,其實和我們的日常生活中處理問題是吻合的。舉例來說,我打算丟掉一個茶杯,怎麼扔那?太簡單了,拿起茶杯,走到垃圾桶,扔!注意分析這個過程,我們是先選一個「對象」------茶杯,然後向這個對象施加一個動作——扔。每個對象所能施加在它上面的動作是有一定限制的:茶杯,可以被扔,可以被砸,可以用來喝水,可以敲它發出聲音......;一張紙,可以被寫字,可以撕,可以燒......。也就是說,一旦確定了一個對象,則方法也就跟著確定了。我們的日常生活就是如此。但是,大家回想一下我們程序設計和對計算機的操作,卻不是這樣的。拿DOS的操作來說,我要刪除一個文件,方法是在DOS提示符下:c:> del 文件名<回車>。注意看這個過程,動作在前(del),對象在後(文件名),和面向對象的方法正好順序相反。那麼只是一個順序的問題,會帶來什麼影響那?呵呵,大家一定看到過這個現象:File not found. 「啊~~~,我錯了,我錯了,文件名敲錯了一個字母」,於是重新輸入:c:> del 文件名2<回車>。不幸又發生了,計算機報告:File read only. 哈哈,痛苦吧:)。所以DOS的操作其實是違反我們日常生活中的習慣的(當然,以前誰也沒有提出過異議),而現在由於使用了面向對象的設計,那麼這些問題,就在編譯的時候解決了,而不是在運行的時候。obj.fun(),對於這條語句,無論是對象,還是函數,如果你輸入有問題,那麼都會在編譯的時候報告出來,方便你修改,而不是在執行的時候出錯,害的你到處去捉蟲子。
同時,面向對象又能解決代碼重用的問題——繼承。我以前寫了一個「狗」的類,屬性有(變數):有毛、4條腿、有翹著的尾巴(耷拉著尾巴的那是狼)、鼻子很靈敏、喜歡吃肉骨頭......方法有(函數):能跑、能聞、汪汪叫......如果它去抓耗子,人家叫它「多管閑事」。好了,狗這個類寫好了。但在我實際的生活中,我家養的這條狗和我以前寫的這個「狗類」非常相似,只有一點點的不同,就是我的這條狗,它是:捲毛而且長長的,鼻子小,嘴小......。於是,我派生一個新的類型,叫「哈巴狗類」在「狗類」的基礎上,加上新的特性。好了,程序寫完了,並且是重用了以前的正確的代碼——這就是面向對象程序設計的好處。我的成功只是站在了巨人的肩膀上。當然,如果你使用VC的話,重用最多的代碼就是MFC的類庫。
3. c語言程序設計難點在哪裡
C語言是一種表達力很強的語言,而且與其他語言相比顯得比較精煉高效。在C語言中的語法部分,比較難的是指針,由於它很靈活,用好的話能大大提高效率,反之則容易出錯(一般是內存空間指向出錯,如指針空懸、內存泄露等),但是當你練多了,指針應該也不成問題(要有意識的去練),我覺得真正的難點在於演算法邏輯。理論上,C語言只要求你時刻知道自己在干什麼,要實現什麼功能,只要你的程序邏輯明晰,一般不用再DEBUG,一次就能成功,反之,如果自己都感覺模糊,那程序只會比你還模糊:-D,要極好的人品才能勉強運行成功,但出不出正確結果還不一定。解決的方法很簡單,就是練。每成功寫出一個程序,都會讓自己有所進步,積累多了,就能在編程之前在大腦里構建出清晰的藍圖,編程自然不在話下。祝你在通往程序員的道路上一路狂奔,呵呵
4. 簡單編程問題
會出錯,不會有結果
(1) 10
(2)%14
5. 簡單編程問題
#include <stdio.h>
int main()
{
int x,y;
x=3;
y=x*x;
printf("%d = %d * %d ", y,x,x);
printf("%d * %d = %d ", x,x,y);// 輸出
return 0;
}
6. 簡單的編程問題
1.
#include<stdio.h>
int fact(int n)
{
int temp=1;
//while方法
while(n>0)
{
temp=temp * n;
n-=1;
}
return temp;
//for方法;
//for(;n>0;n--)
// temp=temp*n;
//return temp;
}
int main()
{
int n;
printf("請輸入一個整數\n");
scanf("%d",&n);
printf("%d",fact(n));//沒考慮溢出問題;
return 0;
}
7. 簡單的c語言程序設計問題
#include <stdio.h>
#include <stdlib.h>
void main()
{
float h,s,sum;
printf("請輸入每周工作時間和每小時的工資數:");
scanf("%f%f",&h,&s);//這里輸入時用空格
if (h<0||h>24*7)
{
printf("input is wrong!\n");
exit (0);
}
else if (h>60)
sum=s*3*(h-60)+s*1.5*20+40*s;
else if (h>40)
sum=s*1.5*(h-40)+40*s;
else
sum=s*h;
printf("若雇員周工作總工資為sum=%.2f\n",sum);
}
8. 簡單VB程序設計問題
vb2005中除了ini,還有其他的方法,就是用My.Settings。
選擇「項目」-「xxx(你的解決法案名)屬性」
可以看到一個對話框,有編譯,調試,引用,資源等選項,我們選擇「設置」,右邊出現一個表,項目有「名稱」「類型等」,我們創建一個名稱為「wt」,類型為「integer」的屬性!下面的代碼實現保存關閉時的窗體寬,當然可以保存一切你想要的數據(只讀屬性無法存!):
Private
Sub
Form1_FormClosed(ByVal
sender
As
Object,
ByVal
e
As
System.Windows.Forms.FormClosedEventArgs)
Handles
Me.FormClosed
My.Settings.wt
=
Me.Width
End
Sub
Private
Sub
Form1_Load(ByVal
sender
As
System.Object,
ByVal
e
As
System.EventArgs)
Handles
MyBase.Load
Me.Width
=
My.Settings.wt
End
Sub
9. 編程解決問題的一般步驟是什麼
編程其實就是解決問題,第一個「What」要解決什麼問題,第二個「How」如何解決,第三個以及之後都是「Do」。
編程是編定程序的中文簡稱,就是讓計算機代碼解決某個問題,對某個計算體系規定一定的運算方式,使計算體系按照該計算方式運行,並最終得到相應結果的過程。
為了使計算機能夠理解人的意圖,人類就必須將需解決的問題的思路、方法和手段通過計算機能夠理解的形式告訴計算機,使得計算機能夠根據人的指令一步一步去工作,完成某種特定的任務。這種人和計算體系之間交流的過程就是編程。
執行原理
計算機對除機器語言以外的源程序不能直接識別、理解和執行,都必須通過某種方式轉換為計算機能夠直接執行的。
這種將高級程序設計語言編寫的源程序轉換到機器目標程序的方式有兩種:解釋方式和編譯方式。
解釋方式下,計算機對高級語言書寫的源程序一邊解釋一邊執行,不能形成目標文件和執行文件。
編譯方式下,首先通過一個對應於所用程序設計語言的編譯程序對源程序進行處理,經過對源程序的詞法分析、語法分析、語意分析、代碼生成和代碼優化等階段將所處理的源程序轉換為用二進制代碼表示的目標程序。
然後通過連接程序處理將程序中所用的函數調用、系統功能調用等嵌入到目標程序中,構成一個可以連續執行的二進制執行文件。調用這個執行文件就可以實現程序員在對應源程序文件中所指定的相應功能。