版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第1章C語言概述01C語言的發(fā)展史02C語言的特性03一個簡單的C程序04一個完整的C程序05C語言程序的格式06開發(fā)環(huán)境C語言的發(fā)展史程序語言簡述低級語言機器語言匯編語言高級語言FortranALGOL60CobolBasicPascalPrologC/C++JavaC語言的歷史ALGOL6019601963CPLA語言1967BCPL1970B語言1973C語言第一個UNIX操作系統(tǒng)1988制定ANSI標準編程語言的學習方向C語言其他語言1其他語言2其他語言3其他語言4其他語言5……其他語言6編程語言的學習方向C語言C++Visual
C++JavaJavaScriptHTMLAndroidC#A嵌入式Objective-cC語言的特點C語言的特點特點高效性靈活性功能豐富表達力強移植性好一個簡單的C程序第一個C語言程序#include<stdio.h>intmain(){ printf("Hello,world!I'mcoming!\n"); /*輸出要顯示的字符串*/ return0; /*程序返回0*/}結(jié)果DOS窗口中顯示“Hello,world!I'mcoming!”代碼分析01#include<stdio.h>03intmain()04{02
05 printf("Hello,world!I'mcoming!\n"); /*輸出要顯示的字符串*/06 return0; /*程序返回0*/07}"stdio.h"轉(zhuǎn)義字符函數(shù)頭//輸出要顯示的字符串//程序返回0主函數(shù)的結(jié)束標志一個完整的C程序完整的C程序定義頭文件宏定義函數(shù)聲明主函數(shù)的函數(shù)頭主函數(shù)的函數(shù)體定義變量輸出語句輸入語句調(diào)用函數(shù)calculate()函數(shù)返回值定義函數(shù)calculate()結(jié)果長方形的高度為:10請輸入長度2請輸入寬度5長方形的體積是:100C語言程序的格式C語言的格式特點主函數(shù)main(){}函數(shù);大小寫通用空格空行開發(fā)環(huán)境DevC++安裝DevC++1了解DevC++的主界面2常用快捷鍵3設(shè)置DOS窗口文字和背景顏色VisualC++6.0安裝VisualC++6.01了解VisualC++6.0的主界面2常用快捷鍵3VisualStudio2019VisualStudio20191了解VisualStudio2019的主界面2常用快捷鍵3第2章算法01算法的基本概念02算法的描述算法的基本概念什么是算法?食材配料操作步驟數(shù)據(jù)算法程序算法的特性有窮性確定性可行性輸入輸出算法的優(yōu)劣1、正確性2、可讀性3、健壯性4、時間復雜度與空間復雜度算法的描述算法的外在表現(xiàn)自然語言自然語言例任意輸入3個數(shù),求這3個數(shù)中的最小數(shù)。①、定義4個變量分別為x、y、z以及min②、輸入大小不同的3個數(shù)分別賦給x、y、z③、判斷x是否小于y,如果小于,則將x的值賦給min,否則將y的值賦給min④、判斷min是否小于z,如果小于,則執(zhí)行步驟
⑤,否則將z的值賦給min⑤、將min的值輸出流程圖流程圖起止輸入/輸出判斷處理流程1、順序結(jié)構(gòu)2、選擇結(jié)構(gòu)3、循環(huán)結(jié)構(gòu)順序結(jié)構(gòu)AB例輸入兩個數(shù)分別賦給變量i和j,再將這兩個數(shù)分別輸出。開始輸入兩個數(shù)賦值給i和j結(jié)束輸出變量i和j的值選擇結(jié)構(gòu)A判斷B成立不成立例輸入一個數(shù),判斷該數(shù)是否為偶數(shù),并給出相應提示。開始輸入一個數(shù)賦值給i結(jié)束判斷i能否被2整除YNi是偶數(shù)i不是偶數(shù)循環(huán)結(jié)構(gòu)A判斷成立不成立例求1到100的整數(shù)和。開始結(jié)束i>100N輸出sumi=1;sum=0;sum=sum+i;i++;綜合練習例輸入a、b、c三個數(shù),并按大小輸出。開始結(jié)束a>bNa與b互換輸入a、b、c三個數(shù)Ya<c順序輸出c、a、bb<c順序輸出a、c、b順序輸出a、b、cNYNYN-S流程圖N-S流程圖ABA判斷B成立不成立A判斷成立不成立順序結(jié)構(gòu)AB輸入兩個值分別賦給變量i和j將變量i和j的值輸出例輸入兩個數(shù)分別賦給變量i和j,再將這兩個數(shù)分別輸出。選擇結(jié)構(gòu)輸入一個數(shù)賦給變量i輸出i是偶數(shù)例輸入一個數(shù),判斷該數(shù)是否為偶數(shù),并給出相應提示。輸出i不是偶數(shù)ABPYN判斷i是否能被2整除YN循環(huán)結(jié)構(gòu)例求1到100的整數(shù)和。當P成立i<=100i=1;sum=0;sum=sum+i;i++;輸出sum第3章數(shù)據(jù)類型01編程規(guī)范02關(guān)鍵字03標識符04數(shù)據(jù)類型05常量06變量07變量的存儲類別08混合運算編程規(guī)范編程規(guī)范代碼縮進函數(shù)的命名規(guī)范變量、常量命名規(guī)范注釋Tab關(guān)鍵字32個關(guān)鍵字autodoubleintstructbreakelselongswitchcaseenumregistertypedefcharexternunionreturnconstfloatshortunsignedcontinueforsignedvoiddefaultgotosizeofvolatiledowhilestaticif標識符什么是標識符?標識符變量名函數(shù)名數(shù)組名標識符的命名規(guī)則1、以字母、下劃線開頭int!number;int2hao;int_hao;intnumber;2、除開頭外,其他位置都可以由字母、下劃線或數(shù)字組成intgood_way;intcar6V;3、區(qū)分大小寫字母intmingri;intMINGRI;intMingRi;≠≠4、標識符不是關(guān)鍵字intint;intInt;5、具有相關(guān)的含義6、不要將標識符設(shè)定的過長不推薦數(shù)據(jù)類型C語言中有哪些數(shù)據(jù)類型數(shù)據(jù)類型基本類型構(gòu)造類型指針類型空類型整型字符型實型枚舉型單精度型雙精度型數(shù)組型結(jié)構(gòu)體型共用體型常量什么是常量?常量的值在程序運行過程中不可改變。常量數(shù)值型常量字符型常量符號常量整型常量可以直接使用的整型常數(shù)num=101;height=-4932;定義十進制數(shù)字進制數(shù)十進制數(shù)字八進制數(shù)字十六進制數(shù)字不以0開頭包含數(shù)字0~9以0開頭包含數(shù)字0~7以0x開頭包含數(shù)字0~9及字母A~FOctalNumber1=356;OctalNumber2=0492;OctalNumber3=057;HexNumber1=0x123;HexNumber2=89j2;實型常量實型num1=10.1;num2=0.432;浮點型小數(shù)實型常量的表示法num1=10.1;num2=0.432;1、科學計數(shù)法2、指數(shù)方式eSciNum1=45e2=45*102=4500SciNum2=45e-2=45*10-2=0.45實型常量的分類雙精度double單精度float長雙精度longdouble6~715~1618~19FloatNum=1.2345e2F;LongDoubleNum=5.458e-1L;DoubleNum=1.2345e2;默認字符型常量字符型常量字符常量字符串常量1、一個字符2、''3、區(qū)分大小寫'a''#''a''A'≠'a''ab'1、多個字符2、"""Haveagoodday!"轉(zhuǎn)移字符常量的值在程序運行過程中不可改變。轉(zhuǎn)義字符意義轉(zhuǎn)義字符意義\n回車換行\(zhòng)\反斜杠“\”\t橫向跳到下一制表位置\'單引號符\v豎向跳格\a鳴鈴\b退格\ddd1~3位八進制數(shù)所代表的字符\r回車\xhh1~2位十六進制數(shù)所代表的字符\f走紙換頁符號常量#definePAI3.14符號變量什么是變量?變量的值在程序運行過程中可以進行改變。變量整型變量實型變量字符型變量整型變量整型變量基本型無符號型-231~(231-1)基本型短整型長整型占4個字節(jié)int-215~(215-1)占2個字節(jié)shortint或short-231~(231-1)占4個字節(jié)longint或long0~(232-1)短整型長整型unsignedint或unsigned占4個字節(jié)0~(216-1)unsignedshort占2個字節(jié)0~(232-1)unsignedlong占4個字節(jié)short<=int<=long實型變量3.1415926整數(shù)部分小數(shù)部分實型變量的分類雙精度double單精度float長雙精度longdouble占內(nèi)存4個字節(jié)占內(nèi)存8個字節(jié)占內(nèi)存8個字節(jié)floatfFloatStyle;fFloatStyle=1.2345e2f;longdoublefLongDouble;fLongDouble=5.458e-1L;doubledDoubleStyle;dDoubleStyle=1.2345e2;字符型變量charcharcChar;cChar='a';以ASCII碼形式存儲ASCII碼表49~57:數(shù)字(0-9)65~90:大寫字母(A-Z)97~122:小寫字母(a-z)字符型變量charcChar;cChar='a';存儲單元屏幕a97輸出字符輸出整型97轉(zhuǎn)換a變量的存儲類別靜態(tài)存儲和動態(tài)存儲靜態(tài)存儲動態(tài)存儲程序運行分配的固定的存儲方式程序運行期間根據(jù)需要動態(tài)地分配存儲空間auto變量修飾一個局部變量為自動的,每次執(zhí)行到定義該變量時,都會產(chǎn)生一個新的變量,并且對其重新進行初始化。作用auto關(guān)鍵字可省略static變量局部變量全局變量靜態(tài)變量函數(shù)調(diào)用結(jié)束后保留原值register變量內(nèi)存變量運算器寄存器普通變量register變量速度快extern變量外部存儲變量混合運算類型轉(zhuǎn)換10+'a'-1.5+3.2*6char、shortintunsignedlongdoublefloat第4章運算符與表達式01表達式02賦值運算符與賦值表達式03算術(shù)運算符與算術(shù)表達式04關(guān)系運算符與關(guān)系表達式05邏輯運算符與邏輯表達式06位邏輯運算符與位邏輯表達式07逗號運算符與逗號表達式08復合賦值運算符表達式表達式表達式操作符操作數(shù)5+5iNumber+9Height=iBase+(iPay*iDay)賦值運算符與賦值表達式賦值運算符等號=iAge=20;Total=Counter*3;變量賦初值
在聲明變量時,可以為其賦一個初值,就是將一個常數(shù)或者一個表達式的結(jié)果賦值給一個變量,變量中保存的內(nèi)容就是這個常量或者賦值語句中表達式的值。這就是為變量賦初值。intiNumber=100;fBase+Day*3自動類型轉(zhuǎn)換短的數(shù)據(jù)類型的值長的數(shù)據(jù)類型的值強制類型轉(zhuǎn)換數(shù)據(jù)類型A數(shù)據(jù)類型Bfloati=10.1f;intj=(int)i;強制類型轉(zhuǎn)換(類型名)(表達式)(float)(x+y)算術(shù)運算符與算術(shù)表達式算數(shù)運算符符號功能符號功能+單目正%取模-單目負+加法*乘法-減法/除法算數(shù)表達式
在表達式中使用算術(shù)運算符,則將表達式稱為算術(shù)表達式。Number=(3+5)/Rate;Height=Top–Bottom+1;Area=Height*Width;算術(shù)運算符的優(yōu)先級
在表達式求值時,先按照運算符的優(yōu)先級別高低次序執(zhí)行,算術(shù)運算符中*、/、%的優(yōu)先級別高于+、-的級別。R=x+y*z;R=(x+y)
*z;算術(shù)運算符的結(jié)合級
當算術(shù)運算符的優(yōu)先級相同時,結(jié)合方向為“自左向右”。a–b+c自增/自減運算符自增運算符:++自減運算符:--
a++++aa先參與運算,再加1a先加1,再參與運算關(guān)系運算符與關(guān)系表達式關(guān)系運算符符號功能符號功能>大于<=小于等于>=大于等于==等于<小于!=不等于關(guān)系表達式
關(guān)系運算符用于對兩個表達式的值進行比較,返回一個真值或者假值。返回真值還是假值取決于表達式中的值和所用的運算符。其中真值為1,假值為0,真值表示指定的關(guān)系成立,假值則表示指定的關(guān)系不正確。7>57>=57<57<=57==57!=5優(yōu)先級與結(jié)合性
關(guān)系運算符的結(jié)合性都是自左向右的。if(Number=NewNum!=10){ …}
if((Number=NewNum)!=10){ …}
邏輯運算符與邏輯表達式邏輯運算符邏輯運算符根據(jù)表達式的真或者假屬性返回真值或假值。符號功能&&邏輯與||邏輯或!單目邏輯非邏輯表達式Result=Func1&&Func2;Result=Func1||Func2;Result=!Func2;邏輯運算符的優(yōu)先級!&&||
“&&”和“||”是雙目運算符,它們要求有兩個操作數(shù),結(jié)合方向自左至右
“!”是單目運算符,要求有一個操作數(shù),結(jié)合方向自左向右。位邏輯運算符與位邏輯表達式位邏輯運算符符號功能&位邏輯與|位邏輯或^位邏輯非~取補位邏輯表達式
在程序中,位邏輯運算符一般被程序員用作開關(guān)標志。較低層次的硬件設(shè)備驅(qū)動程序,經(jīng)常需要對輸入/輸出設(shè)備進行位操作。if(Field&BITMASK)逗號運算符與逗號表達式逗號表達式表達式1,表達式2,…,表達式nValue=2+5,1+2,5+7;Value=(2+5,1+2,5+7);復合賦值運算符復合賦值運算符Value=Value+3;Value+=3;第5章常用的數(shù)據(jù)輸入/輸出函數(shù)01語句02字符數(shù)據(jù)輸入/輸出03字符串輸入/輸出04格式輸出函數(shù)05格式輸入函數(shù)06順序程序設(shè)計應用語句語句C語言的語句用來向計算機系統(tǒng)發(fā)出操作指令。一條語句編寫完成經(jīng)過編譯后產(chǎn)生若干條機器指令。實際程序中包含若干條語句,因此語句的作用就是完成一定的操作任務。字符數(shù)據(jù)輸入/輸出字符數(shù)據(jù)輸出putchar('A');putchar('\101');putchar字符轉(zhuǎn)義字符A、字符型變量、整型變量、常量字符數(shù)據(jù)輸入cChar=getchar();getchar字符getchar字符字符putchar字符串輸入/輸出字符串輸出函數(shù)putsputs(“ILOVECHINA!”);字符串“\0”為結(jié)束符
puts("ILOVE\0CHINA!");結(jié)束符輸出結(jié)果:ILOVE字符串輸入函數(shù)gets(cString);gets格式輸出函數(shù)printf格式輸出函數(shù)printf(格式控制,輸出列表)普通字符格式字符格式字符功能說明d,i以帶符號的十進制形式輸出整數(shù)(整數(shù)不輸出符號)o以八進制無符號形式輸出整數(shù)x,X以十六進制無符號形式輸出整數(shù)。用x輸出十六進制數(shù)的a~f時以小寫形式輸出;用X時,則以大寫字母輸出u以無符號十進制形式輸出整數(shù)c以字符形式輸出,只輸出一個字符s輸出字符串f以小數(shù)形式輸出e,E以指數(shù)形式輸出實數(shù),用e時指數(shù)以“e”表示,用E時指數(shù)以“E”表示g,G選用“%f”或“%e”格式中輸出寬度較短的一種格式,不輸出無意義的0。若以指數(shù)形式輸出,則指數(shù)以大寫表示printf格式輸出函數(shù)printf(格式控制,輸出列表)變量表達式intiInt=10;printf("thisis%d",iInt);例普通字符格式字符格式輸入函數(shù)scanf格式輸入函數(shù)scanf(格式控制,輸出列表)scanf("%d",&iInt);取地址符順序程序設(shè)計應用順序程序設(shè)計例將一個輸入的大寫字符轉(zhuǎn)換成小寫字符選擇結(jié)構(gòu)程序設(shè)計01if語句02if語句的基本形式03if的嵌套形式04條件運算符05switch語句06if…else語句和switch語句的區(qū)別07選擇結(jié)構(gòu)程序應用if語句if語句判斷if語句if語句的基本形式if語句形式if(表達式){
語句塊}if(iSignal==1){printf("theSignalLightis%d:\n",iSignal);printf("Carscanrun");}if語句中的易錯點if(value=0){…}if(value==0){…}賦值等于if…else語句形式if(表達式){
語句塊1;}else{
語句塊2;}if(value){printf("thevalueistrue");}else{printf("thevalueisfalse");}elseif語句形式if(表達式1){
語句1}elseif(表達式2){
語句2}…elseif(表達式m){
語句m}else語句nelseif語句形式if(iSelection==1){…}elseif(iSelection==2){…}elseif(iSelection==3){…}else{…}if的嵌套形式if的嵌套形式if(表達式1){if(表達式2) {語句塊1}else {語句塊2}}else{if(表達式3) {語句塊3}else {語句塊4}}條件運算符條件運算符if(a>b){max=a;}else{max=b;}?:max=(a>b)?a:b;表達式1?表達式2:表達式3;switch語句switch語句的基本形式switch(表達式){case情況1:
語句塊1;case情況2:
語句塊2;…case情況n:
語句塊n;default:
默認情況語句塊;}表達式語句塊1語句塊2語句塊n默認語句...情況1情況2情況n默認情況switch語句的基本形式switch(selection){case1: printf("ProcessingReceivables\n"); break;case2: printf("ProcessingPayables\n"); break;case3: printf("Quitting\n"); break;default: printf("Error\n"); break;}多路開關(guān)模式的switch語句switch(表達式){case1:
語句1 break;case2:case3:
語句2 break;…default:
默認語句 break;}if…else語句和switch語句的區(qū)別if…else語句和switch語句的區(qū)別語法效率選擇結(jié)構(gòu)程序應用選擇結(jié)構(gòu)程序?qū)嵗褂胹witch語句計算運輸公司的計費。路程(km)運費s<250沒有折扣250≤s<5002%折扣500≤s<10005%折扣1000≤s<20008%折扣2000≤s<300010%折扣3000≤s15%折扣循環(huán)控制01循環(huán)語句02while語句03do-while語句04for語句05三種循環(huán)語句的比較06循環(huán)嵌套07轉(zhuǎn)移語句循環(huán)語句循環(huán)語句循環(huán)的特點是,反復執(zhí)行某程序段,知道條件不成立為止。給定的條件稱為循環(huán)條件,反復執(zhí)行的程序段稱為循環(huán)體。whiledo-whileforwhile語句while語句while(表達式)語句while(iSum<100){iSum+=1;}do-while語句do-while語句do{
循環(huán)體語句}while(表達式);do{iNumber++;}while(iNumber<100);for語句for語句使用for(表達式1;
表達式2;
表達式3)for(i=1;i<100;i++){printf("theiis:%d",i);}循環(huán)變量賦初值循環(huán)條件循環(huán)變量增量for語句使用for循環(huán)的變體for語句中省略表達式1for(;iNumber<10;iNumber++)for循環(huán)的變體for語句中省略表達式2for(iCount=1;;iCount++){sum=sum+iCount;}for循環(huán)的變體for語句中省略表達式3for(iCount=1;iCount<50;){sum=sum+iCount;iCount++;}for循環(huán)的變體3個表達式都省略for(;;){
語句}while(1){
語句}for循環(huán)的變體表達式1為與循環(huán)變量賦值無關(guān)的表達式for(sum=0;iCount<50;iCount++){sum=sum+iCount;}for語句中的逗號應用for(iSum=0,iCount=1;iCount<100;iCount++){iSum=iSum+iCount;}for(表達式1;
表達式2;
表達式3)逗號表達式for(iCount=1;iCount<100;iCount++,iCount++){iSum=iSum+iCount;}for(iCount=1;iCount<100;iCount=iCount+2)3種循環(huán)語句的比較3種循環(huán)語句的比較while和do-while循環(huán)只在while后面指定循環(huán)條件,在循環(huán)體中應包含使循環(huán)趨于結(jié)束的語句(如i++或者i=i+1等);for循環(huán)可以在表達式3中包含使循環(huán)趨于結(jié)束的操作,也可以設(shè)置將循環(huán)體中的操作全部放在表達式3中。
用while和do-while循環(huán)時,循環(huán)變量初始化的操作應在while和do-while語句之前完成;而for語句可以在表達式1中實現(xiàn)循環(huán)變量的初始化。while循環(huán)、do-while循環(huán)和for循環(huán)都可以用break語句跳出循環(huán),用continue語句結(jié)束本次循環(huán)。循環(huán)嵌套循環(huán)嵌套的結(jié)構(gòu)while(表達式){
語句while(表達式){
語句}}do{
語句do{
語句}while(表達式);}while(表達式);while結(jié)構(gòu)中嵌套while結(jié)構(gòu)do-while結(jié)構(gòu)中嵌套do-while結(jié)構(gòu)循環(huán)嵌套的結(jié)構(gòu)for(表達式;表達式;表達式){
語句for(表達式;表達式;表達式){
語句}}do{
語句while(表達式);{
語句}}while(表達式);for結(jié)構(gòu)中嵌套for結(jié)構(gòu)do-while結(jié)構(gòu)中嵌套while結(jié)構(gòu)循環(huán)嵌套實例例使用嵌套語句打印歡迎界面的邊框。轉(zhuǎn)移語句goto語句goto標識符;gotoShow;printf("themessagebeforeShowMessage");Show:printf("ShowMessage");break語句while(1){printf("Break");break;}break;continue語句continue;數(shù)組01一維數(shù)組02二維數(shù)組03字符數(shù)組04多維數(shù)組05數(shù)組的排序算法06字符串處理函數(shù)07數(shù)組應用一維數(shù)組一維數(shù)組的定義類型說明符
數(shù)組標識符[常量表達式];數(shù)組,相同數(shù)據(jù)類型的元素按一定順序排列的集合。intiArray[5];一維數(shù)組的引用數(shù)組標識符[下標]iArray[2];一維數(shù)組初始化inti,iArray[6]={1,2,3,4,5,6};定義數(shù)組時直接對數(shù)組元素賦初值對其中一部分元素進行賦值intiArray[6]={0,1,2};不指定數(shù)組長度intiArray[]={1,2,3,4};一維數(shù)組應用例使用數(shù)組保存學生姓名。二維數(shù)組數(shù)據(jù)類型
數(shù)組名[常量表達式1][常量表達式2];二維數(shù)組的定義intarray[3][4];行下標列下標array[0][0]array[0][1]array[0][2]array[0][3]array[0][0]array[0][1]array[0][2]array[0][3]array[0][0]array[0][1]array[0][2]array[0][3]二維數(shù)組的引用array[1][2];intarray[2][4];…array[2][4]=9;數(shù)組名[下標][下標];二維數(shù)組初始化intarray[2][2]={1,2,3,4};intarray[][3]={1,2,3,4,5,6};inta[2][3]={{1,2,3},{4,5,6}};inta[2][3];a[0][0]=1;a[0][1]=2;二維數(shù)組應用例
打印趣味俄羅斯方塊的游戲窗口,并設(shè)置左右下橫框上有圖案。字符數(shù)組字符數(shù)組的定義char數(shù)組標識符[常量表達式]charcArray[5];字符數(shù)組的引用cArray[0]='H';cArray[1]='e';cArray[2]='l';cArray[3]='l';cArray[4]='o';字符數(shù)組的初始化charcArray[5]={'H','e','l','l','o'};逐個字符賦給數(shù)組中各元素如果在定義字符數(shù)組時進行初始化,可以省略數(shù)組長度charcArray[]={'H','e','l','l','o'};字符數(shù)組的初始化charcArray[]={"Hello"};利用字符串給字符數(shù)組賦初值charcArray[]="Hello";字符數(shù)組的結(jié)束標志charcArray[]="Hello";\0Hello\0charcArray[]={'H','e','l','l','o','\0'};字符數(shù)組的輸入輸出for(i=0;i<5;i++) { printf("%c",cArray[i]);}使用格式符“%c”進行輸入和輸出charcArray[]="GoodDay!";printf("%s",cArray); 使用格式符“%s”進行輸入或輸出使用格式符“%s”的注意事項
輸出字符不包括結(jié)束符“\0”
用“%s”格式輸出字符串時,printf函數(shù)中的輸出項是字符數(shù)組名cArray,而不是數(shù)
組中的元素名cArray[0]等
如果數(shù)組長度大于字符串實際長度,則也只輸出到“\0”為止
如果一個字符數(shù)組中包含多個“\0”結(jié)束字符,則在遇到第一個“\0”時輸出就結(jié)束字符數(shù)組的應用例
計算字符串中單詞的個數(shù)。多維數(shù)組返回語句數(shù)據(jù)類型數(shù)組名[常量表達式1][常量表達式2]…[常量表達式n];intiArray1[3][4][5]; //三維數(shù)組intiArray2[4][5][7][8]; //四維數(shù)組數(shù)組的排序算法選擇法排序
元素【0】元素【1】元素【2】元素【3】元素【4】起始值第1次第2次第3次第4次排序結(jié)果排序過程數(shù)組元素9 6 15 4 2296 15 442615 92 461592 4 69152 4 6 9 15冒泡法排序
元素【0】元素【1】元素【2】元素【3】元素【4】起始值第1次第2次第3次第4次排序結(jié)果排序過程數(shù)組元素9 6 15 4 2222 42 4 62 4 6 9 159 6 15 449 6 15 69159 15交換法排序
元素【0】元素【1】元素【2】元素【3】元素【4】起始值第1次第2次第3次第4次排序結(jié)果排序過程數(shù)組元素9 6 15 4 22 4 6 9 159615422915642 4 6 15 92 4 6 9 15插入法排序
元素【0】元素【1】元素【2】元素【3】元素【4】起始值第1次第2次第3次第4次排序結(jié)果排序過程數(shù)組元素9 6 15 4 22 4 6 9 1596 96 9 15 4 6 9 15 折半法排序
元素【0】元素【1】元素【2】元素【3】元素【4】起始值第1次第2次第3次第4次排序結(jié)果排序過程數(shù)組元素9 6 15 4 22 4 6 9 159 6 2 4 154 6 2 9 154 2 6 9 152 4 6 9 15排序算法比較選擇法排序冒泡法排序交換法排序插入法排序折半法排序n(n-1)/2次比較
交換n-1次1~n2次比較n-1次比較字符串處理函數(shù)字符串復制STRCPYstrcpy(目的字符數(shù)組名,源字符數(shù)組名)字符串連接STRCATstrcat(目的字符數(shù)組名,源字符數(shù)組名)字符串比較STRCMPstrcmp(字符數(shù)組名1,字符數(shù)組名2)
字符串1=字符串2,返回值為0
字符串1>字符串2,返回值為正數(shù)
字符串1<字符串2,返回值為負數(shù)字符串大小寫轉(zhuǎn)換strlwr(字符串)STRLWRstrupr(字符串)小寫字母大寫字母大寫字母小寫字母STRLEN獲得字符串長度strlen(字符數(shù)組名)strupr數(shù)組應用反轉(zhuǎn)輸出字符串輸出系統(tǒng)日期和時間例
設(shè)計一個應用程序,當用戶輸入命令字符“0”時顯示幫助信息,輸入命令字符“1”時顯示系統(tǒng)日期,輸入命令字符“2”時顯示系統(tǒng)時間,輸入命令字符“3”時退出系統(tǒng)。密碼:字符串的加密和解密mrsoft密碼:@#$#^&函數(shù)01函數(shù)概述02函數(shù)的定義03返回語句04函數(shù)參數(shù)05函數(shù)的調(diào)用06內(nèi)部函數(shù)和外部函數(shù)07局部變量和全局變量08函數(shù)應用函數(shù)概述函數(shù)主函數(shù)..........a函數(shù)b函數(shù)..............................a函數(shù)b函數(shù)工程師函數(shù)的注意事項主函數(shù)不允許被其他函數(shù)調(diào)用在主函數(shù)中實現(xiàn)程序的開始和結(jié)束一個C程序必須有,也只能有一個主函數(shù)函數(shù)的定義函數(shù)定義的形式返回值類型
函數(shù)名(參數(shù)列表){
函數(shù)體(函數(shù)實現(xiàn)特定功能的過程);}函數(shù)頭函數(shù)體intAddTwoNumber(intiNum1,intiNum2){ intresult; result=iNum1+iNum2; returnresult; }有參函數(shù)無參函數(shù)返回值類型函數(shù)名(){
函數(shù)體}voidShowTime() /*函數(shù)頭*/{printf("It'stimetoshowyourself!");/*顯示一條信息*/}函數(shù)定義的注意事項不能嵌套定義voidShowTime() {printf("It'stimetoshowyourself!");intAddTwoNumber(intiNum1,intiNum2){ intresult; result=iNum1+iNum2; returnresult; }}函數(shù)定義的注意事項不能嵌套定義voidShowTime(){printf("%d\n",AddTwoNumber(3,4));}intAddTwoNumber(intiNum1,intiNum2){ intresult; result=iNum1+iNum2; returnresult; ShowTime();}可以嵌套調(diào)用定義和聲明返回值類型
函數(shù)名(參數(shù)列表);intShowNumber(intiNumber);返回語句返回語句return0;立即從所在的函數(shù)中退出,即返回到調(diào)用的程序中去。返回值返回值intMinus(intiNumber1,intiNumber2){intiResult; /*定義一個整型變量用來存儲返回的結(jié)果*/iResult=iNumber1-iNumber2; /*進行減法計算,得到計算結(jié)果*/returnresult; /*return語句返回計算結(jié)果*/}intmain(){intiResult; /*定義一個整型變量*/iResult=Minus(9,4); /*進行9-4的減法計算,并將結(jié)果賦值給變量iResult*/return0; /*程序結(jié)束*/}函數(shù)參數(shù)函數(shù)參數(shù)intAddTwoNumber(intiNum1,intiNum2){ intresult; result=iNum1+iNum2; returnresult; }函數(shù)參數(shù)形式參數(shù)實際參數(shù)形式參數(shù)與實際參數(shù)數(shù)組作函數(shù)參數(shù)數(shù)組元素作為函數(shù)參數(shù)
由于實參可以是表達式形式,數(shù)組元素可以是表達式的組成部分,因此數(shù)組元素可以作為函數(shù)的實參,與用變量作為函數(shù)實參一樣,是單向傳遞。數(shù)組元素作為函數(shù)參數(shù)
可以用數(shù)組名作為函數(shù)參數(shù),此時實參與形參都使用數(shù)組名。數(shù)組作函數(shù)參數(shù)可變長度數(shù)組作為函數(shù)參數(shù)voidFunction(iintiArrayName[]);
intiArray[10]; /*定義整型數(shù)組*/Function(iArray); /*將數(shù)組名作為實參進行傳遞*/使用指針作為函數(shù)參數(shù)voidFunction(int*pPoint);
intiArray[10]; /*定義整型數(shù)組*/Function(iArray); /*將數(shù)組名作為實參進行傳遞*/main函數(shù)的參數(shù)main(intargc,char*argv[])函數(shù)的調(diào)用函數(shù)的調(diào)用方式函數(shù)的調(diào)用函數(shù)語句調(diào)用函數(shù)表達式調(diào)用函數(shù)參數(shù)調(diào)用Display();/*函數(shù)在表達式中,這時AddTwoNum(3,5)位置應該為具體的值*/iResult=iNum3*AddTwoNum(3,5); /*函數(shù)在參數(shù)中*/iResult=AddTwoNum(10,AddTwoNum(3,5));嵌套調(diào)用intmain(){voidDisplay() {printf("IwanttoshowtheNestingfunction");}return0;}voidShowMessage() { printf("TheShowMessagefunction");}
voidDisplay(){ShowMessage();}遞歸調(diào)用內(nèi)部函數(shù)和外部函數(shù)內(nèi)部函數(shù)函數(shù)內(nèi)部函數(shù)外部函數(shù)
定義一個函數(shù),如果希望這個函數(shù)只被所在的源文件使用,那么就稱這樣的函數(shù)為內(nèi)部函數(shù)。
使用內(nèi)部函數(shù),可以使函數(shù)只局限在函數(shù)所在的源文件中,如果在不同的源文件中有同名的內(nèi)部函數(shù),則這些同名的函數(shù)是互不干擾的。內(nèi)部函數(shù)staticstatic
返回值類型
函數(shù)名(參數(shù)列表)staticintAdd(intiNum1,intiNum2)外部函數(shù)externexternintAdd(intiNum1,intiNum2);局部變量和全局變量作用域{....................}形參變量在此區(qū)域,形參變量有效局部變量在一個函數(shù)的內(nèi)部定義的變量是局部變量。intmain(){intiD;for(iD=1;iD<10;iD++){charcD;...}return0;}cD的作用范圍iD的作用范圍全部變量如果一個變量在所有函數(shù)的外部聲明,這個變量就是全局變量。#include<stdio.h>inta,b;voidf1(){ ......}floatx,y;intfz(){ ......}main(){ ......}函數(shù)應用有關(guān)數(shù)學的常用函數(shù)abs() 求整數(shù)的絕對值labs() 求長整數(shù)的絕對值fabs() 求浮點數(shù)的絕對值sin() 正弦函數(shù)cos() 余弦函數(shù)tan() 正切函數(shù)isalpha() 檢測字母isdigit() 檢測數(shù)字isalnum() 檢測字母或數(shù)字指針01指針相關(guān)概念02數(shù)組與指針03指向指針的指針05指針變量作函數(shù)參數(shù)06返回指針值的函數(shù)07指針數(shù)組作main函數(shù)的參數(shù)指針的相關(guān)概念地址與指針變量與指針
變量的地址是變量和指針二者之間連接的紐帶,如果一個變量包含了另一個變量的地址,則可以理解成第一個變量指向第二個變量。這個“指向”就是通過地址來體現(xiàn)的。因為指針變量是指向一個變量的地址,所以將一個變量的地址值賦給這個指針變量后,這個指針變量就“指向”了該變量。指針變量指針變量的一般形式類型說明*變量名int*a;指針變量指針變量的賦值&變量名;inta;int*p=&a;inta;int*p;p=&a;指針變量指針變量的引用*指針變量指針變量“&”和“*”運算符“&*”和“*&”的區(qū)別p=&i;&*q=*p;inta;p=&a;指針自加自減運算
指針的自加自減運算不同于普通變量的自加自減運算,也就是說并非簡單地加1減1數(shù)組與指針一維數(shù)組與指針
當定義一個一維數(shù)組時,系統(tǒng)會在內(nèi)存中為該數(shù)組分配一個存儲空間,其數(shù)組的名稱就是數(shù)組在內(nèi)存中的首地址。若再定義一個指針變量,并將數(shù)組的首地址傳給指針變量,則該指針就指向了這個一維數(shù)組。int*p,a[10];p=a;int*p,a[10];p=&a[0];二維數(shù)組與指針3行5列的二維數(shù)組&a[0][0]既可以看作數(shù)組0行0列的首地址,也可以看作二維數(shù)組的首地址。&a[m][n]就是第m行n列元素的地址。a[0]+n表示第0行第n個元素的地址。&a[0]是第0行的首地址,當然&a[n]就是第n行的首地址。a+n表示第n行的首地址。字符串與指針
訪問一個字符串可以通過兩種方式,第一種方式就是前面講過的使用字符數(shù)組來存放一個字符串,從而實現(xiàn)對字符串的操作;另一種方式就是下面將要介紹的使用字符指針指向一個字符串,此時可不定義數(shù)組。字符串數(shù)組charcountry[5][20]={"China","Japan","Russia","Germany","Switzerland"}
一個數(shù)組,其元素均為指針類型數(shù)據(jù),稱為指針數(shù)組。也就是說,指針數(shù)組中的每一個元素都相當于一個指針變量。類型名數(shù)組名[數(shù)組長度]指向指針的指針指向指針的指針類型標識符**指針變量名;int**p;指針變量作函數(shù)參數(shù)指針變量作函數(shù)參數(shù)
整型變量、實型變量、字符型變量、數(shù)組名和數(shù)組元素等均可作為函數(shù)參數(shù)。此外,指針型變量也可以作為函數(shù)參數(shù)。返回指針值的函數(shù)返回指針值的函數(shù)int*fun(intx,inty)
一個函數(shù)可以帶回一個整型值、字符值、實型值等,也可以帶回指針型的數(shù)據(jù),即地址。其概念與之前介紹的類似,只是帶回的值的類型是指針類型而已。返回指針值的函數(shù)簡稱為指針函數(shù)。類型名*函數(shù)名(參數(shù)表列);指針數(shù)組作main函數(shù)的參數(shù)指針數(shù)組作main函數(shù)的參數(shù)main()main(intargc,char*argv[])結(jié)構(gòu)體和共用體01結(jié)構(gòu)體02結(jié)構(gòu)體數(shù)組03結(jié)構(gòu)體指針04包含結(jié)構(gòu)的結(jié)構(gòu)05鏈表06鏈表相關(guān)操作07共用體08枚舉類型結(jié)構(gòu)體結(jié)構(gòu)體、共用體、枚舉圖書圖書編號圖書名稱作者 出版社
單價 存儲量 學生學生編號學生姓名年齡 性別 年級 班級號
intcharxx[]charxx[]charxx[]floatintintcharxx[]intcharintint數(shù)組結(jié)構(gòu)體、共用體、枚舉結(jié)構(gòu)體的類型的概念結(jié)構(gòu)體成員結(jié)構(gòu)體聲明定義引用結(jié)構(gòu)體變量的聲明structstruct
結(jié)構(gòu)體名{
數(shù)據(jù)類型成員名1;
數(shù)據(jù)類型成員名2;......
數(shù)據(jù)類型成員名n;};structstu{intnum;charname[20];charsex;floatscore;};結(jié)構(gòu)體變量的定義1.先定義結(jié)構(gòu)體后定義變量structstudentstudent1,student2;結(jié)構(gòu)體變量的定義struct
結(jié)構(gòu)體名{
數(shù)據(jù)類型成員名1;
數(shù)據(jù)類型成員名2;......
數(shù)據(jù)類型成員名n;}變量1,...,變量n;2.定義類型同時定義變量structProduct{charcName[10]; /*產(chǎn)品名稱*/charcShape[20]; /*形狀*/charcColor[10]; /*顏色*/intiPrice; /*價格*/charcArea[20]; /*產(chǎn)地*/}product1,product2; /*定義結(jié)構(gòu)體變量*/結(jié)構(gòu)體變量的定義struct{
數(shù)據(jù)類型成員名1;
數(shù)據(jù)類型成員名2;......
數(shù)據(jù)類型成員名n;}變量1,...,變量n;3.直接定義變量struct{charcName[10]; /*產(chǎn)品名稱*/charcShape[20]; /*形狀*/charcColor[10]; /*顏色*/intiPrice; /*價格*/charcArea[20]; /*產(chǎn)地*/}product1,product2; /*定義結(jié)構(gòu)體變量*/結(jié)構(gòu)體注意事項類型和變量是不同的概念,不要混淆。變量可以復制、存取或運算分配內(nèi)存單位。結(jié)構(gòu)體中的成員,可以單獨使用,它的作用相當于普通變量。成員也可以是一個結(jié)構(gòu)體變量。成員名可以與程序中的變量名相同,但二者不代表同一對象。結(jié)構(gòu)體變量的引用printf("%s%s%s%d%s",product1);printf("%s%s%s%d%s",product2);結(jié)構(gòu)體變量名.成員名結(jié)構(gòu)成員運算符product1.cName="Icebox";product2.iPrice=2000;scanf("%s",&product1.cName);student1.birthday.year=1986;student1.birthday.month=12;student1.birthday.day=6;結(jié)構(gòu)體類型的初始化structStudent{charcName[20];charcSex;intiGrade;}student1={"HanXue","W",3}; /*定義變量并設(shè)置初始值*/結(jié)構(gòu)體數(shù)組結(jié)構(gòu)體數(shù)組與數(shù)組的區(qū)別結(jié)構(gòu)體數(shù)組和數(shù)組的定義與引用規(guī)則是相同的相同點不同點結(jié)構(gòu)體數(shù)組中的所有元素為結(jié)構(gòu)體變量普通數(shù)組中的所有元素為基本類型變量定義結(jié)構(gòu)體數(shù)組struct結(jié)構(gòu)體名{
成員列表}數(shù)組名[數(shù)組長度];structStudent /*學生結(jié)構(gòu)*/{charcName[20]; /*姓名*/intiNumber; /*學號*/charcSex; /*性別*/intiGrade; /*年級*/}student[5]; /*定義結(jié)構(gòu)體數(shù)組*/structStudentstudent[5];/*定義結(jié)構(gòu)體數(shù)組*/struct /*學生結(jié)構(gòu)*/{charcName[20]; /*姓名*/intiNumber; /*學號*/charcSex; /*性別*/intiGrade; /*年級*/}student[5]; /*定義結(jié)構(gòu)體數(shù)組*/初始化結(jié)構(gòu)體數(shù)組struct結(jié)構(gòu)體名{
成員列表;}數(shù)組名={初始值列表};structStudent /*學生結(jié)構(gòu)*/{charcName[20]; /*姓名*/intiNumber; /*學號*/charcSex; /*性別*/intiGrade; /*年級*/}student[5]={{"WangJiasheng",12062212,'M',3}, {"YuLongjiao",12062213,'W',3}, {"JiangXuehuan",12062214,'W',3}, {"ZhangMeng",12062215,'W',3}, {"HanLiang",12062216,'M',3}}; /*定義數(shù)組并設(shè)置初始值*/結(jié)構(gòu)體指針指向結(jié)構(gòu)體變量的指針結(jié)構(gòu)體類型*指針名;structStudent*pStruct;引用成員的方法:1(*pStruct).成員名2pStruct->成員名;指向結(jié)構(gòu)體數(shù)組的指針
結(jié)構(gòu)體指針變量不但可以指向一個結(jié)構(gòu)體變量,還可以指向結(jié)構(gòu)體數(shù)組,此時指針變量的值就是結(jié)構(gòu)體數(shù)組的首地址。結(jié)構(gòu)體指針變量也可以直接指向結(jié)構(gòu)體數(shù)組中的元素,這時指針變量的值就是該結(jié)構(gòu)體數(shù)組元素的首地址。結(jié)構(gòu)體作為函數(shù)參數(shù)使用結(jié)構(gòu)體變量作為函數(shù)參數(shù)voidDisplay(structStudentstu);結(jié)構(gòu)體作為函數(shù)參數(shù)使用指向結(jié)構(gòu)體變量的指針作為函數(shù)參數(shù)voidDisplay(structStudent*stu)結(jié)構(gòu)體作為函數(shù)參數(shù)使用結(jié)構(gòu)體變量的成員作為函數(shù)參數(shù)Display(student.fScore[0]);包含結(jié)構(gòu)的結(jié)構(gòu)包含結(jié)構(gòu)的結(jié)構(gòu)structstudent /*學生信息結(jié)構(gòu)*/{charname[30]; /*姓名*/intnum; /*學號*/charsex[20]; /*性別*/structdatebirthday; /*出生日期*/}student={"蘇玉群",12061212,"女",{1986,12,6}}; /*為結(jié)構(gòu)變量初始化*/鏈表鏈表概述數(shù)組鏈表定義固定長度連續(xù)性存儲空間過長過小頭指針數(shù)據(jù)部分指針部分動態(tài)內(nèi)存分配函數(shù)malloc函數(shù)calloc函數(shù)free函數(shù)void*calloc(unsignedn,unsignedsize);voidfree(void*ptr);void*malloc(unsignedintsize);創(chuàng)建動態(tài)鏈表
所謂建立動態(tài)鏈表就是指在程序運行過程中從無到有地建立起一個鏈表,即一個一個地分配節(jié)點的內(nèi)存空間,然后輸入節(jié)點中的數(shù)據(jù)并建立節(jié)點間的相連關(guān)系。輸出鏈表鏈表相關(guān)操作鏈表的插入操作鏈表的刪除操作共用體共用體的概念union
共用體名{
成員列表}變量列表;unionDataUnion{intiInt;charcChar;floatfFloat;}variable;共用體變量的引用共用體變量.成員名;variable.iInt;variable.cChar;variable.fFloat;共用體變量的初始化unionDataUnionUnion={97};共用體類型的數(shù)據(jù)特點
共用體變量中,可以包含若干個成員及若干種類型,但共用體成員不能同時使用。共用體變量中起作用的成員值是最后一次存放的成員值。共用體變量的地址和它的各成員的地址是一樣的。不能對共用體變量名賦值,也不能企圖引用變量名來得到一個值。枚舉類型枚舉的概念輸
贏星期一星期二星期三星期四星期五星期六星期日#defineUP 1;#defineDOWN 2;#defineLEFT 3;#defineRIGHT 4;上下左右枚舉類型的定義enum
枚舉標識符{常量列表}enumColors(Red=1,Green,Blue);位運算01位與字節(jié)02位運算操作符03循環(huán)位移04位段位與字節(jié)位與字節(jié)
位是計算機存儲數(shù)據(jù)的最小單位。一個二進制位可以表示兩種狀態(tài)(0和1),多個二進制位組合起來便可表示多種信息。整型4個字節(jié)32位字符型1個字節(jié)8位位運算操作符位運算操作符運算符含義&按位與|按位或~取反^按位異或<<左移>>右移“與”運算符aba&b00001010011189&38&“或”運算符aba|b00001110111117|31|“取反”運算符~25-25~“異或”運算符aba^b000011101110^107^127“左移”運算符<<a=39a左移兩位a變成了156“右移”運算符>>a=6a右移兩位a變成了10000011000000001循環(huán)位移循環(huán)位移循環(huán)移位就是將移出的低位放到該數(shù)的高位或者將移出的高位放到該數(shù)的低位循環(huán)左移循環(huán)位移循環(huán)右移位段位段的概念
位段類型是一種特殊的結(jié)構(gòu)類型,其所有成員的長度均是以二進制位為單位定義的,結(jié)構(gòu)中的成員被稱為位段。結(jié)構(gòu)結(jié)構(gòu)名{
類型
變量名1:長度;
類型
變量名2:長度;……
類型
變量名n:長度;}structpacked_data{
unsigneda:2;
unsignedb:1;unsignedc:1;unsignedd:2;}data;位段相關(guān)說明
因為位段類型是一種結(jié)構(gòu)類型,所以位段類型和位段變量的定義,以及對位段(即位段類型中的成員)的引用均與結(jié)構(gòu)類型和結(jié)構(gòu)變量相同。
一個位段必須存儲在一個存儲單元(通常為一字節(jié))中,不能跨兩個存儲單元。如果本單元不夠容納某位段,則從下一個單元開始存儲該位段。
在數(shù)值表達式中引用位段時,系統(tǒng)自動將位段轉(zhuǎn)換為整型數(shù)。ftell函數(shù)longftell(文件類型指針)第13章預處理01宏定義02#include指令03條件編譯宏定義不帶參數(shù)的宏定義
宏定義指令#define用來定義一個標識符和一個字符串,以這個標識符來代表這個字符串,在程序中每次遇到該標識符時就用所定義的字符串替換它。宏定義的作用相當于給指定的字符串起一個別名。#define宏名
字符串預處理命令的標志標識符常數(shù)、表達式、格式字符串等#definePI3.14159帶參數(shù)的宏定義#define宏名(參數(shù)表)字符串對兩個數(shù)實現(xiàn)乘法加法混合運算例#include指令#include指令
在一個源文件中使用#include指令可以將另一個源文件的全部內(nèi)容包含進來,也就是將另外的文件包含到本文件之中。#include使編譯程序?qū)⒘硪辉次募度霂в?include的源文件,被讀入的源文件必須用雙引號或尖括號括起來。#include"stdio.h"#include<stdio.h>條件編譯#if命令#if的基本含義是:如果#if命令后的參數(shù)表達式為真,則編譯#if到#endif之間的程序段,否則跳過這段程序。#endif命令用來表示#if段的結(jié)束。#if常數(shù)表達式語句段
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 物流行業(yè)無人配送技術(shù)研發(fā)與應用
- 大數(shù)據(jù)產(chǎn)業(yè)人才培養(yǎng)及技術(shù)應用推廣策略研究報告
- 高中生文學創(chuàng)作經(jīng)驗分享征文
- 必修一數(shù)學試卷
- 初中生藝術(shù)體操比賽故事解讀
- 在線教育平臺智能客服系統(tǒng)安全協(xié)議
- 線上線下聯(lián)合促銷活動策劃方案
- 高中學生物理實驗故事解讀
- 濱州五年級期末數(shù)學試卷
- 農(nóng)業(yè)標準化機耕道施工合同
- 機關(guān)事業(yè)單位財務管理制度(六篇)
- 2025禮品定制合同范本
- 醫(yī)院消毒隔離制度范文(2篇)
- 2024年01月11026經(jīng)濟學(本)期末試題答案
- 烘干煤泥合同范例
- 人教版六年級上冊數(shù)學第八單元數(shù)學廣角數(shù)與形單元試題含答案
- 2025年“三基”培訓計劃
- 第20課 北洋軍閥統(tǒng)治時期的政治、經(jīng)濟與文化 教案
- 叉車租賃合同模板
- 住房公積金稽核審計工作方案例文(4篇)
- 口腔門診醫(yī)療風險規(guī)避
評論
0/150
提交評論