下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
讀程序寫結果之基IP(48本講,我們簡要說明一下閱讀程序寫結果,或者說參與NOIP初賽,要了解并掌握的一些語言基礎(以C/C++語言為例及解決此類型題目的最基本解法。一、C/C++相關知識備熟練掌握并靈活使用以下C/C++語言相關知識(一、常用運1、算術運算:+、-、*、/、%(/受兩邊操作數(shù)類型影響2、關系運算:>、<、==、!=、>=、3、邏輯運算:!(非)、&&(與)、||(或)、^(異或(二、常用函(1)數(shù)學庫函數(shù)在math.h中,主要有abs(x)求整x的絕對cos(x)x(弧度)的余fabs(x)求浮點數(shù)x的絕對值ceil(x)求不小于x的最小整數(shù)floor(x)x的最大整數(shù)log2(x)求x的對數(shù)(底為2)log(x)x的自然對數(shù)log10(x)x的對數(shù)(底為10)pow(x,y)xy次方sin(xx(弧度)的正弦sqrt(x)求x的平方根字符串處理在ctype.h中,主要有:(在字符上int與char通用intisdigit(intc)cintisalpha(intc)cintisalnum(intc)c是否是一個數(shù)字或字母intislower(intc)判斷c是否是一個小寫字母intislower(intc)判斷c是否是一個小寫字母intisupper(intc)判斷c是否是一個大寫字母inttoupper(intc)c是一個小寫字母,則返回其大寫字母inttolower(intc)c是一個大寫字母,則返回其小寫字母字符串和內存操作函數(shù)在string.h中,在調用這些函數(shù)時,可以用字符串常量char*char*char*strchr(char*s,intsc,s第一次出現(xiàn)的該字符的指針,NULLchar*strstr(char*s1,char*s2)s2s1s1s2的位置的指針,否則返回NULLchar*strlwr(char*schar*strupr(char*schar*strcpy(char*s1,char*char*strncpy(char*s1,char*s2,ints2s1nns1char*strcat(char*s1,char*s2s2intstrcmp(char*s1,char*0s1s2前00s1按字典順序在s2后面。intstricmp(char*s1,char*比較兩個字符串,大小寫無關。其他和 同intstrlen(constchar計算字符串的長char*strncat(char*strDestination,constchar*strSource,size_tstrSource中的前count個字符添加到字符串strDestinationintstrncmp(constchar*string1,constchar*string2,size_t分別取兩個字符串的前 個字符作為子字符串,比較它們的大char*strrev(char*string) 將字符串string前后顛倒。void*memcpy(void*s1,void*s2,ints2處的ns1void*memset(void*s,intc,intn)將內存地址s開始n個字節(jié)全部置為c。memset更常用的是初始化數(shù)組。例如動態(tài)規(guī)劃前初始化f數(shù)組:longmemset(f,0,sizeof(f)charhex[100];intnum=4095;sprintf(hex,”%X”,num);//numsscanf(hex,”%x”,&num);//16進制轉回整數(shù)sprintf(s,"%d", sprintf(s,"%8d%8d",123,4567);//產生 sprintf的格式控制串中既然可以各種東西,并最終把它們“連成一char*who=char*whom=sprintf(s,"%slove%s.",who,whom);:"IloveCoding.(三、位運1>>:xnxn2<<:xSHLnxn3、 4、 :位或。在其它領域可用符號∨、+表5、^:位異或。在其它領域可用符號表6、~:按位取反。在其它領域可用符號表示 {i=10;{(10)10=(00001010)2j=12;{(12)10=(00001100)2printf(“%d\n”,i>>2);{(00001010)2向右移兩位,補零:(00000010)2,輸出);printf(“%d\n”,i&j);00001010)2(00001100)2=(00001000)2printf(“%d\n”,i|j);00001010)2(00001100)2=(00001110)2printf(“%d\n”,i^j);00001010)2(00001100)2=(0000110)2 (00001010)211110101)2(四、幾個語句及幾個符1break:退出循環(huán),case語2return:3、結構體的定義與使用struct{intshortstructdate4bool:布爾類型,true,false10。5、字符、字符數(shù)組:6、指針的定義與使用:*:定義指向某類型的指針變量,該變量存放內存地址。int*p;取出該變量存放的內存地址所指向內存變量的值*p二、基本解NOIP,只要在了解語言,特別是了解以上介紹的這些基礎知識,再通過“人腦模擬程序”的方式,進細心[選例一NOIP2008提高組第一題int{int解答過程如intfor(i=0;i<4;i++)9a=a/a=96divb=f[0]+f[2]+b=b/b=77divc=(b*f[1]+a)/c=(7*19+10)divd=f[(b/c)%d=f[77div4modif(f[(a+b+c+d)mod4]>f[2]f[(10+7+4+19)mod{}else}return}輸入:91929輸出[簡析],掉以輕清晰地寫在程序的右邊,不容易錯,也便[選例二NOIP2007提高組第二題]#include<stdio.h>voidfun1(int*a,int{intk=a;a=b;b=k;}voidfun2(int*a,int{intk=*a;*a=*b;*b=k;printf("No.00:%x,%x}intmain({fun1(&a,&b);//fun2(x,y);/*fun1(a,b)結果不變,但提示[Warningpassingarg1of`fun1makespointerfromintegerwithoutacast(沒有四舍五入)*/printf("No.1:%d,%dreturn}輸出[簡析]&a,xaxx也即變量a的值。所以,變量a與變量xo16o23這題的關鍵是指針的基本使用,尤其是取地址&,int*x=&a,定義指針x并初始化為整數(shù)a的地址。請思考程序中fun2的輸出結[選例三]#include<stdioh>intmain(){int{if(n%2==1)}whilefor(j=i;j>=1;j--)return0;}程序運行的結果是[簡析]本題的關鍵是清楚子程序++、n2==1的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 石材加工企業(yè)市場分析與預測考核試卷
- 礦山生產數(shù)據(jù)分析與處理考核試卷
- 畜牧機械產業(yè)鏈優(yōu)化考核試卷
- 環(huán)保型搬運設備制造考核試卷
- 2024年度金融服務居間合同范本3篇
- 2024年版夫妻共有財產分割離婚合同模板版B版
- 2024年房產代理銷售項目合作終止及善后處理合同3篇
- 特種玻璃材料性質與應用考核試卷
- 2024年統(tǒng)一勞務協(xié)議法律范本版B版
- 木結構建筑抗震性能考核試卷
- 加油站消防應急演練方案
- 左右江水土流失及石漠化綜合治理項目實施方案
- 279565會計學基礎(第五版)配套實訓參考答案
- 雞毛信說課PPT課件
- 機場基本組成
- 2021年高考真題--化學(江蘇卷)(附解析)
- 西門子s7200通訊手冊通信
- 中小學數(shù)學學科德育實施指導綱要
- 關于試行房地產、產能過剩行業(yè)公司債券分類監(jiān)管的函
- 個體工商戶章程標準版
- 《病毒》教學設計
評論
0/150
提交評論