lesson11數據的組織結構一字符串ppt課件_第1頁
lesson11數據的組織結構一字符串ppt課件_第2頁
lesson11數據的組織結構一字符串ppt課件_第3頁
lesson11數據的組織結構一字符串ppt課件_第4頁
lesson11數據的組織結構一字符串ppt課件_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、2022/7/18電氣與信息工程學院計算機系制造Lesson 11 數據的組織構造2022/7/18電氣與信息工程學院計算機系制造學習目的:31掌握二維數組的運用2022/7/18電氣與信息工程學院計算機系制造3字符數組2復習字符串用雙引號括起來的一串字符“1234“Tom“C Lanuage Program2022/7/18電氣與信息工程學院計算機系制造3字符數組2字符數組:數組元素的類型為字符hello02022/7/18電氣與信息工程學院計算機系制造3字符數組2字符數組的定義char ch10; 2022/7/18電氣與信息工程學院計算機系制造3字符數組2字符數組的初始化(1) 字符數組

2、的初始化的根本方法char ch5=h,e,l,l,o;(2) 省略長度闡明如: char ch =h,e,l,l,o;(3) 運用字符串初始化字符數組: char ch =“abcde; char ch =“abcde;abcde02022/7/18電氣與信息工程學院計算機系制造3字符數組2字符串在計算機中表示 char ch=“123412340字符數組字符串終了標志數組ch2022/7/18電氣與信息工程學院計算機系制造3字符數組2字符串的輸入輸出 1、gets(str); 2、scanf(“%s, str);gets( ) 函數以換行符或文件終了符EOF作為輸入的終了標志,因此在輸入的

3、字符串中允許包含空格和制表符;scanf( ) 函數那么以空格、制表符、換行符和文件終了符EOF作為輸入的終了標志,因此,在輸入的字符串中不允許包含這些字符。假設包含了它們,將作為字符串輸入的終了標志處置。 char str100;2022/7/18電氣與信息工程學院計算機系制造3字符數組2字符串的輸出 1、puts(str); 2、printf(%s, str);puts將字符串的內容顯示到規(guī)范輸出設備屏幕上,并換行。 2022/7/18電氣與信息工程學院計算機系制造3字符數組2字符串的輸出 1、puts(str); 2、printf(%s, str);puts將字符串的內容顯示到規(guī)范輸出設

4、備屏幕上,并換行。 2022/7/18電氣與信息工程學院計算機系制造3字符數組2 運轉如下程序第一次:輸入face,察看結果第二次:輸入123 abc,察看結果lesson11_11_1.clesson11_11_2.c#include #include int main( ) char num1100; gets(num1); puts(num1); return 0;#include #include int main( ) char num1100; scanf(%s,num1); printf(%s,num1); return 0;2022/7/18電氣與信息工程學院計算機系制造3字符

5、數組2練習1:從鍵盤輸入一個單詞,然后將其反著輸出,例如輸入face輸出:ecafface0數組ch2022/7/18電氣與信息工程學院計算機系制造3字符數組2練習2:從鍵盤輸入一個字符串,將每個字符往前挪動一個位置,最后一個移到第一個。例如輸入1234輸出234112340數組ch23410lesson11_ktlx2.c2022/7/18電氣與信息工程學院計算機系制造gets(char* str);從鍵盤輸入字符串puts(char *str);將字符串在屏幕上輸出atof( char *str);將字符串轉換成小數atoi(char *str);將字符串轉換成int整數atol(char

6、 *str);將字符串轉換成long整數itoa(int num, char *str, int radix);將num轉換成radix進制的字符串ltoa(long num, char* str, radix); 將num轉換成radix進制的字符串strlwr(char *str);將str轉換成小寫strupr(char *str);將str轉換成大寫strlen(char *str);求str的長度strcmp(char *str1,char * str2);比較str1和str2的大小,如果str1str2,返回正數strcpy(char *str1,char * str2);將字符

7、串str2拷貝到str1中1strcat(char *str1, char *str2);將字符串str2連接到str1后2022/7/18電氣與信息工程學院計算機系制造3字符數組2字符串轉換成數值類型 atof(str); atoi(str); atol(str);其中str是一個字符串。atof() 的前往類型是double,它可以將字符串str轉換成一個雙精度數值;atoi() 的前往類型是int,它可以將字符串str轉換成普通整型;atol() 的前往類型是long,它可以將字符串str轉換生長整型long。 2022/7/18電氣與信息工程學院計算機系制造3字符數組2例1:將用戶以字

8、符串方式輸入的兩個實型數值轉換成double類型,并顯示輸出這兩個實型數值及它們相加的結果。 2022/7/18電氣與信息工程學院計算機系制造#include #include int main( ) char num120, num220; double d1, d2, sum; printf(nEnter the first number:); gets(num1); /* 輸入第1個用字符串表示的實型數值 */ printf(Enter ths second number:); gets(num2); /* 輸入第2個用字符串表示的實型數值 */ d1 = atof(num1); /*

9、將第1個字符串轉換成double類型 */ d2 = atof(num2); /* 將第2個字符串轉換成double類型 */ sum = d1+d2; /* 將2個double類型數值相加 */ printf(n%s+%s=%.3lf, num1, num2, sum); /* 顯示結果 */ return 0;lesson11_01.c2022/7/18電氣與信息工程學院計算機系制造3字符數組2數值類型轉換成字符串 itoa(num, str, radix); ltoa(num, str, radix); 其中str用于存放結果的字符串,radix是用戶指定的進制數,它的取值必需介于236

10、之間。在itoa( ) 函數中的num是一個int類型的數值;在ltoa( ) 函數中的num是一個long類型的數值。 2022/7/18電氣與信息工程學院計算機系制造3字符數組2例2:將用戶輸入的長整型long類型數值轉換成以字符串方式表示的十六進制、八進制和二進制數值,并顯示輸出。 2022/7/18電氣與信息工程學院計算機系制造#include #include int main( ) char str33; long value; printf(nEnter a long number:); scanf(%ld, &value); /*輸入一個long類型的數值*/ ltoa(val

11、ue, str, 16); /*轉換成用字符串方式表示的十六進制數值*/ printf(nThe hexadecimal of %ld is %s, value, str); ltoa(value, str, 8); /*轉換成用字符串方式表示的八進制數值*/ printf(nThe octadecimal of %ld is %s, value, str); ltoa(value, str, 2); /*轉換成用字符串方式表示的二進制數值*/ printf(nThe binary of %ld is %s, value,str); return 0;lesson11_02.c2022/7/1

12、8電氣與信息工程學院計算機系制造3字符數組2大小寫轉換 strlwr(str); strupr(str);str是一個字符串。規(guī)范函數strlwr( ) 可以將字符串str中出現的一切大寫字母轉換成小寫字母;規(guī)范函數strupr( ) 可以將字符串str中出現的一切小寫字母轉換成大寫字母。 2022/7/18電氣與信息工程學院計算機系制造3字符數組2計算字符串長度 strlen(str);這個函數的功能是前往字符串中所包含的字符個數,即字符串長度。字符串終了標志0不計算在內。 字符串比較 strcmp(str1, str2);兩個字符串進展比較時將根據每個字符對應的ASCII編碼決議其大小。

13、2022/7/18電氣與信息工程學院計算機系制造3字符數組2例4:假設用戶的密碼是“administrators,下面這個程序將用于檢測用戶輸入的密碼能否正確。假設不正確,給出相應的提示信息,并懇求用戶重新輸入。 分析:循環(huán)的從鍵盤輸入一個字符串,用來和administrators比較,假設相等終了循環(huán)2022/7/18電氣與信息工程學院計算機系制造#include #include int main( ) char password20; /* 存放用戶輸入的密碼 */ printf(nEnter password: ); gets(password); /* 輸入密碼 */ /* 檢測用戶

14、輸入的密碼,假設不正確,給出提示,并懇求重新輸入 */ while (strcmp(password, administrators) != 0) printf(nInvalid passwordnn); printf(Enter password, again: ); gets(password); printf(OK); /*輸入正確,顯示OK*/ return 0;lesson11_04.c2022/7/18電氣與信息工程學院計算機系制造3字符數組2字符串拷貝 strcpy(str1, str2);其中str2是將要被拷貝的字符串,str1是用于存放拷貝結果的存儲區(qū)域。 字符串銜接 st

15、rcat(str1, str2);其中str1和str2是兩個字符串。這個函數的功能是:將str2銜接在str1之后,并在終了處添加一個字符串終了符02022/7/18電氣與信息工程學院計算機系制造3字符數組2例5:根據用戶的選擇輸出相應的字符串。分析:1、定義好需求輸出的字符串2、從鍵盤輸入一個數3、判別輸入的數,根據要求銜接成一個新的字符串后輸出2022/7/18電氣與信息工程學院計算機系制造#include #include int main( ) char str180 = This is a ; char str2 = program.; char str3 = Java; char

16、 str4 = Pascal; char str5 = C; char str6 = C+; int choice; printf(n = MENU =n); /* 菜單 */ printf(n Java . . 1); printf(n Pascal . 2); printf(n C . . 3); printf(n C+ . 4); printf(n choice:); scanf(%d, &choice); /* 用戶做出選擇 */lesson11_15.c2022/7/18電氣與信息工程學院計算機系制造switch (choice) /* 根據用戶的選擇拼接字符串 */ case 1:

17、strcat(str1, str3); strcat(str1, str2); break; case 2:strcat(str1, str4); strcat(str1, str2); break; case 3:strcat(str1, str5); strcat(str1, str2); break; case 4:strcat(str1, str6); strcat(str1, str2); break; default:strcpy(str1, Error); break; printf(n%s, str1); /* 顯示字符串 */ return 0;2022/7/18電氣與信息工程學院計算機系制造3字符數組 課堂練習2從鍵盤輸入一個字符串,將其按如下規(guī)那么轉換后輸出A(a)-B(b)B(b)-C(c).Y(y)-Z(z)Z(z)-A(a)2022/7/18電氣與信息工程學院計算機系制造3課堂練習6 例題:請輸入10個學生的姓名和成果,輸出高于平均分的學生姓名和

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論