第3章順序結構_第1頁
第3章順序結構_第2頁
第3章順序結構_第3頁
第3章順序結構_第4頁
第3章順序結構_第5頁
已閱讀5頁,還剩24頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

第三章順序結構程序設計

3.1C語句分類概述3.2數據輸入/輸出3.3程序舉例2/3/2023第4次課教學目的:了解C語句的種類;

熟記數據的輸入及輸出函數的一般格式;利用輸入輸出函數編寫簡單的順序結構程序;重點:字符輸入輸出函數的格式及使用;格式輸入輸出的格式及使用;程序編寫;難點:格式輸入輸出函數的格式及使用教具:ppt課件、屏幕投影教學過程:問題引入、內容講解、提問、小結、作業2C程序結構:順序結構、選擇結構和循環結構。

3.1

C語句分類概述

C語句可以分為以下5類:控制語句

控制語句完成一定的控制功能。C語言只有9種控制語句,它們是:①if()~else~

(條件語句)②switch (多分支選擇語句)③goto (轉向語句)④while()~

(循環語句)3⑤do~while() (循環語句)⑥for()~

(循環語句)⑦break (中止執行switch或循環語句)⑧continue (結束本次循環語句)⑨return (從函數返回語句)(2)函數調用語句函數調用語句就是在函數調用的后面加一個分號。例如:printf(“ThisisaCstatement.”);函數調用語句的一般形式是:

函數名(參數列表);

4(3)表達式語句

在任何一個C語言合法表達式的后面加一個分號就構成了相應的表達式語句。表達式語句的一般形式為:表達式;注意:一個語句必須在最后出現分號,分號是語句中不可缺少的一部分。例如:

i++;

x+y;

注意空語句在語法上占有一個語句的位置,而執行該語句不做任何操作。空語句常用于循環語句中,構成空循環。(4)空語句只有一個分號的語句是空語句,其一般形式為:

;

5(5)復合語句復合語句是由花括號{}將多條語句括在一起而構成的,在語法上相當于一條語句。復合語句的一般形式為:{ [內部數據描述]

語句1

語句n}

在復合語句的“內部數據描述”中定義的變量,僅在復合語句中有效;復合語句結束的“}”之后,不需要再加分號。6例3.1復合語句main(){ intx=1;

printf("x=%d\n",x); /*輸出x=1*/ { intx=2;

printf("x=%d\n",x); /*輸出x=2*/ }

printf("x=%d\n",x); /*輸出x=1*/}運行結果:x=1x=2x=173.2數據輸入/輸出

一、字符輸出函數putchar()函數原型:int

putchar(int);函數功能:向標準輸出設備(一般為顯示器)輸出一個字符,并返回輸出字符的ASCII碼值。參數:函數的參數可以是字符常量、字符變量或整型變量。#include"stdio.h" main() {inti=65; charch='A';

putchar(i);

putchar('\n');

putchar(ch);}運行結果:

A A8二、字符輸入函數getchar()函數原型:int

getchar(void);函數功能:從標準輸入設備(一般為鍵盤)輸入一個字符,函數的返回值是該字符的ASCII碼值。例如:#include"stdio.h" main() {charch;

inti;

ch=getchar();i=getchar(); putchar(ch);

putchar('\n');

putchar(i);}9三、格式輸出函數printf()函數原型:int

printf(char*format[,argument,…]);函數功能:按規定格式向輸出設備(一般為顯示器)輸出數據,并返回實際輸出的字符數;若出錯,則返回負數。

printf()函數使用的一般形式為:

printf(“格式控制字符串”,輸出項表列);說明:1)輸出項表列:列出了要輸出的表達式(可以是常量、變量、帶有運算符的表達式、函數返回值等),表達式可以是0個、一個或多個,每個輸出項之間用逗號“,”分隔。2)格式控制字符串:必須用英文狀態下的雙引號括起來,它的作用是控制輸出項的格式和輸出一些提示信息。103)格式控制字符串內容

普通字符:普通字符在輸出時,按原樣輸出,主要用于輸出提示信息。如:printf(“123abcd”);轉義字符:轉義字符指明特定的操作,如‘\n’表示換行,‘\t’表示水平制表等。如:printf(“ab\ncd”);格式說明:由“%”和格式字符組成,其作用是為輸出的數據指定輸出的格式。見下表。11124)修飾符:在格式控制字符串中的%和格式字符之間還可以插入以下幾種附加字符(又稱修飾符)。5)輸出項表列中的輸出項為表達式。格式控制字符串中的輸出項格式說明與輸出項表列中的輸出項按順序一一對應,且輸出項的數據類型要與格式字符相容,否則會導致執行錯誤。13例3.1整型數據的輸出。main(){ inta=12; longb=20040978;

printf("a=%d,a=%6d,a=%-6d,a=%06d\n",a,a,a,a);

printf("%d,%o,%x,%u\n",a,a,a,a);

printf("b=%ld\n",b);}運行結果:a=12,a=12,a=12,a=00001212,14,c,12b=20040978 14例3.2實型數據的輸出。main(){ floatx=1234.567; doubley=1234.5678;

printf("%f,%f\n",x,y); printf("%6.3f,%10.3f\n",x,y); printf("%e\n",x);}運行結果:1234.567000,1234.5678001234.567,1234.5681.234568e+003 15例3.3字符數據的輸出。main(){ charc='B';

inti=65;

printf("%c,%d\n",c,c);

printf("%d,%c\n",i,i); printf("%-5c,%5c\n",c,c);}運行結果:B,6665,AB,B 16例3.4

字符串的輸出。main(){printf("computer\n");

printf("%s\n","computer");printf("%5s\n","computer"); printf("%10s\n","computer");printf("%-10s\n","computer");printf("%-10.5s\n","computer");}運行結果:computercomputercomputercomputercomputercompu

17四、格式輸入函數scanf()1.格式輸入函數的一般形式函數原型:int

scanf(char*format[,argument,…]);函數功能:按規定格式從鍵盤輸入若干任何類型的數據給argument所指的單元。scanf()函數使用的一般形式為

scanf(“格式控制字符串”,地址表列);2.格式控制字符串格式控制字符串的作用與printf()函數中的作用相似,它一般由普通字符、輸入數據格式說明組成。

(1)格式說明輸入數據格式說明以%開始,以一個格式字符結束,中間可以插入附加的字符。這里格式說明的作用是控制輸入數據的格式。

1819(2)普通字符與printf()函數的普通字符不同,scanf()格式控制字符串中的普通字符是不顯示的,而是規定了輸入時必須輸入的字符。例如:scanf("a=%d",&a);若要將30輸入到a變量中,應按下列格式輸入:a=30scanf("%d,%f",&a,&x);要將10送給a,2.5送給x,則對應的輸入格式為:10,2.5

203.地址表列地址表列是由若干個地址組成的列表,可以是變量的地址、字符串的首地址、指針變量等,各地址間用逗號“,”隔開。對于變量的輸入,應為:scanf(“%d,%d”,&a,&b);scanf("%d",&a); /*從鍵盤輸入數據,存入a變量的內存地址中*/

printf("%d",a); /*將變量a的值輸出*/注意214.使用scanf()函數應注意的問題

若用一個scanf()函數輸入多個數據,且格式說明之間沒有任何普通字符例如:scanf("%d%d",&a,&b);執行該語句時,應以空格、回車或tab鍵作為數據輸入的結束。如

510或

5

10

或5tab鍵

10當scanf()函數指定輸入數據所占的寬度時,將自動按指定寬度來截取數據。例如:scanf("%2d%3d",&a,&b);若輸入為123456789則函數截取12存入地址&a中,截取345存入地址&b中。22(2)輸入實型數時不能規定精度用scanf()函數輸入實型數時,可以指定寬度,但不能規定精度。例如:scanf("%4f%5f",&x,&y);√若輸入12.345.6789↙則12.3送給變量x,45.67送給變量y。而語句scanf("%10.2f",&x);?23(3)用“%c”格式如何輸入字符在用“%c”格式輸入字符時,空格字符和轉義字符都作為有效字符輸入。例如:scanf("%c%c%c",&a,&b,&c);若輸入

abc則字符'a'送給a,空格送給b,字符'b'送給c,若輸入abc則字符'a'送給a,字符'b'送給b,字符'c'送給c。思考inta,b;charch;

scanf("%d%c%d",&a,&ch,&b);若想將12、a、34分別輸入到a,ch,b中,應如何輸入?24(4)附加字符“*”的用法格式說明中的附加字符“*”為輸入賦值抑制字符,表示該格式說明要求輸入數據,但不賦值。例如:scanf("%3d%*2d%f",&a,&x);若輸入為12345678.9則123送給a,678.9送給x,而45不賦給任何變量。253.3程序舉例一個順序結構程序,一般包括以下兩個部分。1.編譯預處理命令在程序的編寫過程中,若要使用標準庫函數,需要用編譯預處理命令#include,將相應的頭文件包含進來。若程序中只使用scanf()函數和printf()函數可省略不寫#include"stdio.h"。2.主函數在主函數體中,包含著順序執行的各個語句。主要有以下幾個部分:(1)變量類型說明;(2)給變量提供數據;(3)按題目要求進行運算;(4)輸出運算結果。26eg3.6從鍵盤上輸入一個小寫字母,輸出對應的大寫字母。定義字符型變量c;輸入小寫字母存入變量c;轉換成大寫c=c-32;輸出變量c。算法分析參考程序:#include"stdio.h"main(){charc;

printf("Inputalowercaseletter:");c=getchar(

溫馨提示

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

評論

0/150

提交評論