當前位置:首頁 » 編程語言 » c語言程序設計43講
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言程序設計43講

發布時間: 2023-08-20 11:36:18

1. c語言程序設計

5.3 if語句
用if語句可以構成分支結構。它根據給定的條件進行判斷,以決定執行某個分支程序段。C語言的if語句有三種基本形式。
5.3.1 if語句的三種形式
1. 第一種形式為基本形式:if
if(表達式) 語句
其語義是:如果表達式的值為真,則執行其後的語句, 否則不執行該語句。其過程可表示為下圖。

【例5.3】
main(){
int a,b,max;
printf("\n input two numbers: ");
scanf("%d%d",&a,&b);
max=a;
if (max<b) max=b;
printf("max=%d",max);
}

本常式序中,輸入兩個數a,b。把a先賦予變數max,再用if語句判別max和b的大小,如max小於b,則把b賦予max。因此max中總是大數,最後輸出max的值。
2. 第二種形式為: if-else
if(表達式)
語句1;
else
語句2;
其語義是:如果表達式的值為真,則執行語句1,否則執行語句2 。
其執行過程可表示為下圖。

【例5.4】
main(){
int a, b;
printf("input two numbers: ");
scanf("%d%d",&a,&b);
if(a>b)
printf("max=%d\n",a);
else
printf("max=%d\n",b);
}

輸入兩個整數,輸出其中的大數。
改用if-else語句判別a,b的大小,若a大,則輸出a,否則輸出b。
3. 第三種形式為if-else-if形式
前二種形式的if語句一般都用於兩個分支的情況。 當有多個分支選擇時,可採用if-else-if語句,其一般形式為:
if(表達式1)
語句1;
else if(表達式2)
語句2;
else if(表達式3)
語句3;

else if(表達式m)
語句m;
else
語句n;
其語義是:依次判斷表達式的值,當出現某個值為真時,則執行其對應的語句。然後跳到整個if語句之外繼續執行程序。 如果所有的表達式均為假,則執行語句n。然後繼續執行後續程序。 if-else-if語句的執行過程如圖3—3所示。

【例5.5】
#include"stdio.h"
main(){
char c;
printf("input a character: ");
c=getchar();
if(c<32)
printf("This is a control character\n");
elseif(c>='0'&&c<='9')
printf("This is a digit\n");
elseif(c>='A'&&c<='Z')
printf("This is a capital letter\n");
elseif(c>='a'&&c<='z')
printf("This is a small letter\n");
else
printf("This is an other character\n");
}

本例要求判別鍵盤輸入字元的類別。可以根據輸入字元的ASCII碼來判別類型。由ASCII碼表可知ASCII值小於32的為控制字元。 在「0」和「9」之間的為數字,在「A」和「Z」之間為大寫字母, 在「a」和「z」之間為小寫字母,其餘則為其它字元。 這是一個多分
支選擇的問題,用if-else-if語句編程,判斷輸入字元ASCII碼所在的范圍,分別給出不同的輸出。例如輸入為「g」,輸出顯示它為小寫字元。
4. 在使用if語句中還應注意以下問題:
1) 在三種形式的if語句中,在if關鍵字之後均為表達式。 該表達式通常是邏輯表達式或關系表達式, 但也可以是其它表達式,如賦值表達式等,甚至也可以是一個變數。
例如:
if(a=5) 語句;
if(b) 語句;
都是允許的。只要表達式的值為非0,即為「真」。
如在:
if(a=5)…;
中表達式的值永遠為非0,所以其後的語句總是要執行的,當然這種情況在程序中不一定會出現,但在語法上是合法的。
又如,有程序段:
if(a=b)
printf("%d",a);
else
printf("a=0");
本語句的語義是,把b值賦予a,如為非0則輸出該值,否則輸出「a=0」字元串。這種用法在程序中是經常出現的。
2) 在if語句中,條件判斷表達式必須用括弧括起來,在語句之後必須加分號。
3) 在if語句的三種形式中,所有的語句應為單個語句,如果要想在滿足條件時執行一組(多個)語句,則必須把這一組語句用{}括起來組成一個復合語句。但要注意的是在}之後不能再加分號。
例如:
if(a>b)
{a++;
b++;}
else
{a=0;
b=10;}
5.3.2 if語句的嵌套
當if語句中的執行語句又是if語句時,則構成了if 語句嵌套的情形。
其一般形式可表示如下:
if(表達式)
if語句;
或者為
if(表達式)
if語句;
else
if語句;
在嵌套內的if語句可能又是if-else型的,這將會出現多個if和多個else重疊的情況,這時要特別注意if和else的配對問題。
例如:
if(表達式1)
if(表達式2)
語句1;
else
語句2;
其中的else究竟是與哪一個if配對呢?
應該理解為:
if(表達式1)
if(表達式2)
語句1;
else
語句2;
還是應理解為:
if(表達式1)
if(表達式2)
語句1;
else
語句2;
為了避免這種二義性,C語言規定,else 總是與它前面最近的if配對,因此對上述例子應按前一種情況理解。
【例5.6】
main(){
int a,b;
printf("please input A,B: ");
scanf("%d%d",&a,&b);
if(a!=b)
if(a>b) printf("A>B\n");
else printf("A<B\n");
else printf("A=B\n");
}

比較兩個數的大小關系。
本例中用了if語句的嵌套結構。採用嵌套結構實質上是為了進行多分支選擇,實際上有三種選擇即A>B、A<B或A=B。這種問題用if-else-if語句也可以完成。而且程序更加清晰。因此,在一般情況下較少使用if語句的嵌套結構。以使程序更便於閱讀理解。
【例5.7】
main(){
int a,b;
printf("please input A,B: ");
scanf("%d%d",&a,&b);
if(a==b) printf("A=B\n");
else if(a>b) printf("A>B\n");
else printf("A<B\n");
}

2. 哪裡有C++,C語言,VB,JAVA語言程序設計的視頻教程

J1314 C++程序設計(34講)-東南大學 何潔月(女)
J2238 C++程序設計語言(33講)-北京航空航天大學 張永鳴
J3294 C++面向對象程序設計(新)(48講)-吉林大學 王愛民
J0687 C++語言程序設計(37講)-吉林大學
J1128 C++語言程序設計(44課時)-上海交通大學
J0854 C++語言程序設計(45講)-北京大學 呂鳳翥
J0152 C++語言程序設計(52講)-中山大學 黎培興
J0043 C++語言程序設計(80講)-東南大學 何潔月
J1667 C++語言程序設計-清華大學
J1882 VC++6.0教程(48講)-吉林大學 田大新
J0379 VC++視頻教學(20講)-維新學院 孫鑫
J2471 VC++語言程序設計(56講)-哈爾濱工業大學 張衛(女)
J2322 編程之道-C/C++程序設計入門
J2327 編程之道-VC++.NET程序設計入門
J1883 面向對象C++(40講)-電子科技大學 陳文宇
J2444 面向對象程序設計(C++)(48講)-西北工業大學 劉尊
J0187 數據結構(68講)(C++描述)-吉林大學 徐沛娟(女)
J0185 數據結構(C++描述)(10講)-清華大學 殷人昆
J1495 數據結構(C++描述)(42講)-復旦大學 王宇君
J0861 數據結構(C++描述)(45講)-北京大學 梅婧(女)

J1813 C語言程序設計(21講)-中南大學
J1617 C語言程序設計(32講)-西北工業大學(譚浩強 第二版)
J1499 C語言程序設計(33講)-北京科技大學 楊國興
J0029 C語言程序設計(33講)-譚浩強主編 石油大學 曾怡(女)
J0989 C語言程序設計(40課時)-上海交通大學
J3140 C語言程序設計(43課時)-上海交通大學
J0857 C語言程序設計(45講)-北京大學 王秀珍(女)
J0138 C語言程序設計(51講)-吉林大學 康輝(女)
J1071 C語言程序設計(68講)-哈爾濱工業大學 溫東新(女)
J1931 C語言程序設計-北京郵電大學 王曉軍
J0285 C語言程序設計教學(45講)- 浙江大學 顏暉
J1313 C語言課程設計-東南大學 陳平
J1506 程序語言設計(C語言)(64講)-西北工業大學 王建國
J1057 計算機程序設計(C語言)(16講)-同濟大學
J1043 數據結構(C語言版)(30講)-石油大學 張柳村(女)
J0157 數據結構教程(C語言)(42講)-西北工業大學 趙雲慶
J1344 新東方IT培訓之C語言

J0655 VB.NET教程(37課時)-上海交通大學
J0991 VB6.0程序設計(41課時)-上海交通大學 徐安東
J3296 VB編程與應用(64講)-吉林大學 陳偉
J1042 VB程序設計(30講)-石油大學 於廣斌
J1687 VB程序設計(34講)-鄭州大學 柳宏川
J0368 VB程序設計(40講)-電子科技大學 陳巒
J0870 VB程序設計(48講)-吉林大學
J0322 VB程序設計基礎(36講)-浙江大學 何鴻聲
J2474 VB程序設計基礎(54課時)-上海交通大學 徐安東
J2475 Windows程序設計(VB.NET)(38課時)-上海交通大學 陳澤宇
J2326 編程之道-VB.NET程序設計入門
J1080 高級語言程序設計(VB)(52講)-哈爾濱工業大學 沈傑
J0633 黑客教程-VB視頻教程(木馬編程)-黑鷹基地

J1341 Ajax與Java框架的示例講解-JAVA教學群
J0281 JavaScript視頻教學(13CD)-張孝祥
J1945 JAVA-web開發實戰培訓視頻教程-MLDN網校
J1668 JAVA編程語言-清華大學 許斌
J0265 JAVA程序程序設計與INTERNET(42講)-浙江大學 翁愷
J2473 Java程序設計教程(46講)-上海交通大學 伍建焜
J2441 JAVA高級網路編程(44講)-西北工業大學 齊勇
J0137 JAVA教學(58講)-哈爾濱工業大學 辛明影
J0006 JAVA教學全集(30講)-浙江大學 翁愷
J0092 JAVA就業培訓(高級篇)(15CD)-張孝祥
J0091 JAVA就業培訓教程(基礎篇)(5CD)-張孝祥
J0596 JAVA開發工具eclipse教程(9講)-www.akamai.com出品
J1946 JAVA框架核心技術(J2EE)培訓課程-MLDN網校
J3115 Java語言程序設計(22講)-電子科技大學 陳巒
J2440 JAVA語言程序設計(38講)-西北工業大學 嚴建峰
J3088 JAVA語言程序設計(50講)-吉林大學 康輝(女)
J2427 SSH綜合項目-智囊團(26講)-MLDN網校 JAVA培訓先鋒 李興華
J2324 編程之道-Java程序設計入門
J1429 編寫高效的代碼JAVA(10講)-西安電子科技大學 徐坤
J1932 互聯網軟體應用與開發(JAVA)-北京郵電大學 王曉軍
J0979 基於JAVA技術Web應用開發雙認證培訓-IBM軟體學院 董平軍
J2480 面向對象程序設計(JAVA)(36講)-上海交通大學 齊開悅
J0255 面向對象程序設計JAVA(45講)-浙江大學 毛根生
J1225 面向對象程序設計JAVA(46講)-石油大學 王保三
J0703 面向對象程序設計JAVA(51講)-吉林大學 王愛民
J1192 面向對象技術JAVA(43課時)-上海交通大學 李柏岩

3. c語言:程序設計

樓主你好!

根據你的要求,代碼實現如下:

#include "conio.h"
#include<stdio.h>
#include<string.h>
#include<stdlib.h>

int main(){

char a[]="123456"; // 密碼
char ch;
char st[20];
int i,k=1; //k用於統計輸入密碼的次數


A:printf("請輸入密碼:");
i=0;
ch=getch(); /* getch()函數從鍵盤接收字元,不在屏幕上顯示 */

while(ch!=13) /* 13為換行字元ASCII碼 ,鍵盤輸入為回車鍵 */

{st[i]=ch;

putchar('*');

ch=getch();

i++;

}

st[i]= ''

if(strcmp(a,st)==0)printf(" 您好,我的主人! ");
else
{
printf(" 離我遠點! ");
k++;
if(k>3)exit(0);
goto A;
}

}

希望我的回答對你有幫助!望採納!

4. 《C程序設計語言第2版·新版》pdf下載在線閱讀全文,求百度網盤雲資源

《C程序設計語言(第2版·新版)》([美] Brian W. Kernighan)電子書網盤下載免費在線閱讀

鏈接: https://pan..com/s/1txJqYzmjYS-BSw43eLWrnQ

提取碼: sejp

書名:C程序設計語言(第2版·新版)

作者:[美] Brian W. Kernighan

譯者:徐寶文

豆瓣評分:9.4

出版社:機械工業出版社

出版年份:2004-1

頁數:258

內容簡介:

在計算機發展的歷史上,沒有哪一種程序設計語言像C語言這樣應用廣泛。本書作者是C語言的設計者之一Dennis M. Ritchie和著名計算機科學家Brian W. Kernighan合著的一本介紹C語言的權威經典著作。我們現在見到的大量論述C語言程序設計的教材和專著均以此書為藍本。

原著第1版中介紹的C語言成為後來廣泛使用的C語言版本——標准C的基礎。人們熟知的「hello,World"程序就是由本書首次引入的,現在,這一程序已經成為眾多程序設計語言入門的第一課。原著第2版根據1987年制定的ANSIC標准做了適當的修訂.引入了最新的語言形式,並增加了新的示例,通過簡潔的描述、典型的示例,作者全面、系統、准確地講述了C語言的各個特性以及程序設計的基本方法。

對於計算機從業人員來說,本書是一本必讀的程序設計語言方面的參考書。

作者簡介:

Brian W. Kernighan,貝爾實驗室計算科學研究中心高級研究人員,著名的計算機科學家。參加了UNIX系統、C語言、AWK語言和許多其他系統的開發,同時出版了許多在計算機領域具有影響的著作,如《The Elements of Programming Style》《The Practice of Programming》《The UNIX Programming Environment》《The AWK Language》《Software Tools》等。

Dennis M. Ritchie,1967年加入貝爾實驗室。他和 Ken L. Thompson 兩人共同設計並實現的C語言改變了程序設計語言發展的軌跡,是程序設計語言發展過程中的一個重要里程碑。與此同時,他們還設計並實現了UNIX操作系統。正是由於這兩項巨大貢獻,Dennis M. Ritchie 於1983年獲得了計算機界的最高獎——圖靈獎。此外,他還獲得了ACM、IEEE、貝爾實驗室等授予的多種獎項.。

5. 求C語言說課稿

《C語言程序設計》說課教案

授課班級:07應用電子

授課課時:2課時

授課地點:計算機實驗室

課題 製作數字電子時鍾―――循環嵌套

一、教學目標

1、通過本次課教學,學生能進一步理解順序、分支和循環三種基本結構,特別是While、Do-While、for三種循環循環語句的使用;

2、掌握循環嵌套概念;

3、掌握多種循環程序設計方法並根據任務要求 「製作數字電子時鍾」;

4、通過本次任務,了解gotoxy()和Clrscr()函數的作用,並掌握這兩個函數在實際應用程序中的使用方法。

5、技能目標:培養學生邏輯思維能力、綜合運用知識的能力和自主學習能力;

二、教材分析

選用教材為李志球、劉昊編著的《C語言程序設計教程》(第二版),該教材由電子工業出版社出版,教材特點如下:

1、在內容上體現科學性、時代性、實用性,編排上面向應用,理論與實踐有機結合;

2、採用任務驅動、項目教學等教學手段,全書圍繞項目「學生成績管理系統」作為案例,貫穿整個課程進行難點講解,以實際應用作為突破口,使學生能夠真實體驗到知識的實際應用,提高興趣,促進理解;教學與項目開發融為一體,淺顯易懂,符合高職學生認知規律。

3、實驗實訓環節結合教學內容,實驗項目豐富。課程設計中案例學生熟悉。

本節課教學內容參考教材第4章的4.4節:循環嵌套。

三、學生分析

07應用電子是普招類(高中畢業生)學生,它們高中期間文化基礎較扎實,但計算機專業知識薄弱,C語言程序設計是他們學習的第一門計算機語言類課程,開始學習時較困難,但入門提高較快。本次課的教學內容中循環嵌套概念他們很容易理解,簡單的多重循環編程對他們不難,但循環嵌套在實際應用中的編程較為困難,如本次課的任務「製作數字電子時鍾」牽涉許多知識,如屏幕定位、輸入初始時間等。

另外,高職學生對於上機實際操作要比學習理論知識更為有興趣;簡單的實驗項目都能完成,但解決實際應用問題的能力也較差。因此,在教學中通過演示讓學生有感性認識,提高學習興趣;通過提出問題讓學生討論議一議,主動思考如何解決;通過一個教學任務讓學生動手做一做。

四、教學重點、難點及解決辦法

1、本次課教學重點

1)循環嵌套概念;

2)gotoxy()和Clrscr()函數使用方法;

3)循環嵌套結構程序設計方法及實際應用。

在教學過程的敘述中,要抓住教學的重點、最能體現教學理念的內容和最能展示教學藝術的環節,作較為詳細的敘述。

2、本次課教學難點

1)循環嵌套編程

2)演算法分析及程序結構

3)編程完成「製作數字電子時鍾」

3、難點解決辦法

1)通過演示讓學生有感性認識,並從for語句基本語法入手,逐步引入循環嵌套概念,弱化實用性不強的細節;

2)圍繞任務「製作數字電子時鍾」程進行難點講解,以實際應用作為突破口,使學生能理解循環嵌套在實際中的應用,提高學習興趣;

3)針對難點設置上機實際操作內容,進一步掌握循環嵌套程序設計方法。

4)在實驗實訓過程中布置任務項目,通過實踐環節進一步理解和掌握重點難點,達到學習目的。

五、教學理念、方法及手段

本次課採用理(論)實(踐)一體化教學理念通過任務驅動(項目教學)、講練結合等教學手段。

1、任務驅動:通過「製作數字電子時鍾」這一任務,掌握循環嵌套程序設計認方法。並掌握相應知識點,突出重點,分解難點。

2、講練結合:授課地點為計算機實驗室,採用邊講邊練的教學互動形式。教學過程中,適當安排學生在計算機上進行進行實際程序設計,通過運行調試自己設計的程序,讓學生親自觀察和體驗程序設計的成功感受,加深知識的理解。

六、教學設計(時間分配)

1、任務提出,演示成果程序,明確目標,提出要求。(2分鍾)

(1)演示成果程序,在屏幕固定位置顯示「製作數字電子時鍾」。

(2)任務分析:完成本次課的任務所需知識―――三種基本程序設計結構。

2、知識回顧(2分鍾)

循環結構概念、三種循環語句(while、do-while、for)、當型和直到型循環、重點語句for語句應用、注意事項。

3、上機實訓1(2分鍾)

簡單程序:用for語句編程,實現在屏幕上顯示0、1、2……59。

(上機技能訓練的操作、指導、輔導過程,以學生實際操作動手為主,教師進行輔導指導、師生共同探討完成,應充分體現學生的主體地位)

思考提問:如何讓0-59重復變化,以接近實際生活中秒的變化情況。

4、導入新課(6分鍾)

(1)通過練習1,分析在屏幕上顯示秒的變化程序中存在的問題。一是數字「0-59」以滾動卷屏方式顯示;二是每個數字顯示速度太快,如何實現以實際一秒時間顯示一個數。

第一個問題使用gotoxy()函數或clrscr()函數解決;第二個問題在程序中每顯示一秒後都設置一個時間延遲,時間延遲用方法空循環結構實現,它的位置在循環內屏幕每顯示一個數值後。通過講解解決第二個問題的程序結構,引入本次課新知識―――循環嵌套概念。

for(s=0;s<=59;s++)

{printf("\%2d",s);

for (i=1;i<=200000000;i++); }

(2)循環嵌套概念、結構和程序設計時注意事項。

5、上機實訓2(5分鍾)

使用循環嵌套結構編程,在屏幕固定位置能以分秒變化的時鍾:

10:11

編程和上機操作時要理解兩點:一是gotoxy()函數的使用,二是空循環實現延時循環終值的調試,以接近實際生活中時間變化。

本部分內容所用到知識是本次課的核心,是基本的能力目標,所以教學時要以重點內容處理。

6、程序設計講解(4分鍾)

編程完成本次課任務,製作一個帶有時、分、秒變化的數字電子時鍾。(四重循環)。

(1)演算法分析

(2)定義變數及類型

(3)程序結構設計

(3)源程序核心結構編程

7、上機實訓3(5分鍾)

(1)調試程序時要注意觀察程序運行情況,調整空循環變數i的終值,盡量與實際運轉時間一致。計算機運行速度越快,則這個數值越大。

(2)本程序需運行24小時才能結束,如果要停止程序運行,可以按Ctrl-C或連續按兩次Ctrl-Break強制中斷程序運行。

(3)修改變數i類型,將它定義為整形後再次運行程序,觀察運行結果,分析程序出錯原因,提醒以後編程時注意。

8、提出問題,任務完善―――源程序提高與擴展 之一(4分鍾)

前面的程序每次運行都從0點0分0秒開始,不能從當前實際時間開始運行。解決問題的辦法可以在程序第一次循環開始時輸入一次當前實際時間。為了只在開始運行時設置一次初始時間,可以引入一個邏輯變數first,其初始值為0 ,輸入初始時間後,將其值置為非0。在後面程序運行中,通過if語句控制不再需要輸入初始時間。

9、上機實訓4(5分鍾)

上機修改程序,使數字電子鍾能從指定時間(輸入初始時間)開始運轉。

10、思考和作業(5分鍾)

(1)源程序提高與擴展 之二:本程序只能運行24小時,請同學們將程序進一步改進,使它能顯示年、月、日、星期、時、分、秒等數據的電子鍾。

(2)「九九乘法表」。

10、課堂小結及作業(5分鍾)

11、Question & Answer(1-2分鍾)

七、學法指導

1、鼓勵學生自主探索和合作交流。引導學生自主地從事觀察、分析、交流等活動,使學生形成對計算機語言知識有效的學習策略。

2、鼓勵與提倡解決問題的多樣性,引導學生在與他人的交流中去選擇合適的策略,豐富自己的思維方式,獲得成功的體驗和不同的發展。

3、引導學生將所學計算機知識應用到其他學科中去,使學生覺得計算機有很用,同時也培養了學生邏輯思維能力。

6. 求C語言程序設計!

《C語言程序設計》網路網盤資源免費下載

鏈接:https://pan..com/s/1poC6JALVnvOfunlWOnN6nQ

提取碼:ejmz

0100C語言程序設計譚浩強版全30講曾怡石油大學|各學科學習視頻目錄|1-15講|[C語言程序設計視頻教程(曾怡)].15.csf|[C語言程序設計視頻教程(曾怡)].14.csf|[C語言程序設計視頻教程(曾怡)].13.csf|[C語言程序設計視頻教程(曾怡)].12.csf|[C語言程序設計視頻教程(曾怡)].11.csf|[C語言程序設計視頻教程(曾怡)].10.csf|[C語言程序設計視頻教程(曾怡)].09.csf|[C語言程序設計視頻教程(曾怡)].08.csf|[C語言程序設計視頻教程(曾怡)].07.csf|[C語言程序設計視頻教程(曾怡)].06.csf|[C語言程序設計視頻教程(曾怡)].05.csf|[C語言程序設計視頻教程(曾怡)].04.csf

7. C語言程序設計

1.B 2.B 3.C 4.A 5.C 6.D 7.B 8.B 9.A 10.C
1、編寫程序。從鍵盤輸入100個數,將正數升序排列到數組的前端,把0放在中間,負數按降序排列在0的後面。
#include"stdio.h"
void main()
{
int i,j,k,s,a[100],b[100]={0},m=0,n=0;
printf("input:");
for(i=0;i<100;i++)
scanf("%d",a[i]);
for(i=0,j=0;i<100;i++)
if(a[i]>0){b[j++]=a[i];m++;}//m正數個數
for(i=0,j=99;i<100;i++)
if(a[i]<0){b[j--]=a[i]; n++;}//n負數個數
for(i=0;i<m-1;i++)//正數排序
{ k=i
for(j=i+1;j<m;j++)
if(b[i]>b[j])k=j;
if(i!=k)
{s=b[i];b[i]=b[k];b[k]=s;}
}
for(i=100-n;i<99;i++)//負數排序
{ k=i
for(j=i+1;j<100;j--)
if(b[i]<b[j])k=j;
if(i!=k)
{s=b[i];b[i]=b[k];b[k]=s;}
}
for(i=0;i<100;i++)
printf("%d ",b[i]);
printf("\n")

}