題型1 賦值,比大小,ascii表內問題,字串函式
題型2 數學問題,幾何圖形,自定義函式(方法/子函式)
題型3 指標,結構體,鍊錶,檔案讀寫
題型3適合已經學會語法的盆友~
賦值問題:
如果定義乙個變數,沒有賦初值,預設是auto的,數值是隨機的;如果定義為static,沒有賦初值,那麼一開始是0;
1.求三個數的最大值輸入
1)通過scanf函式(通過鍵盤輸入引數)
2)通過命令列引數輸入三個數(注意編寫argc小於3的異常)儲存
1)直接通過scanf,賦值到初始化後的變數
2)儲存在一維陣列裡
比大小演算法
1)隨意設定三個數之中某乙個為max,然後進行for迴圈比較
#陣列形式
#include
#include
intmain
(int argc,
char
** ar**)
else
}printf
("max= %d\n"
,max)
;return0;
}}
2.關於ascii表的題目1)ascii表中字母移動,解碼 將「china」中每個字母向後移動4個字母,變成「glmre」
重點概念:ascii碼中數字和字母的對應
數字和字元可以直接替換,可以直接相加
#include
//字元和數字可以直接替換
//c1=c1+4;
//c2=c2+4;
//putchar可以直接輸出字串到stdout
2)有一行電文,電文被譯成密碼,編個程式來解碼(第乙個字母變成第26個字母,第i個變成第(26-i+1)個字母,非字母字元不變。
#include
//a 65-90 a 97-122
intmain()
else
if(ch[j]
>=
'a'&& ch[j]
<=
'z')
else new[j]
=ch[j]
; j++;}
n=j;
printf
("解碼後:");
for(
int i=
0;i)printf
("\n");
return0;
}//注意 gets不會檢查是否溢位
//gets最後以'\0'結尾
getc 和putc/gets和puts用途比較廣泛,互動的流可以是標準輸出輸入流也可以是檔案。而getchar和putchar一般用在標準輸入輸出。
gets和scanf stirng的區別:scanf如果識別到空格會認為字串結束,gets不會,只會識別回車為字串終止符,所以想要輸入"hi hello"這種,要用gets
getc(stdin)用法: 庫函式,取字元
int
getc
(file*stream)
從指定的流 stream 獲取下乙個字元(乙個無符號字元),並把位置識別符號往前移動。
c=
getc
(stdin);
printf
("%d"
,c);
**putc(c,stdout)**用法:
c 庫函式,輸出字元
int
putc
(int
char
, file* stream)
把引數char指定的字元(乙個無符號字元)寫入到指定的流 stream 中,並把位置識別符號往前移動。
**gets()**用法
c 庫函式
char
*gets
(char
* str)
或者到達檔案末尾時,它會停止,具體視情況而定。
!但該函式不會考慮資料邊界,所有從鍵盤輸入的字元都被拷貝到buffer,很容易造成溢位。可以用fgets來代替。但引數有三個,比較麻煩。
getchar()和==putchar()==用法
c 庫函式
int
getchar
(void
)
從標準輸入 stdin 獲取乙個字元(乙個無符號字元)。這等同於getc帶有 stdin 作為引數。
char c;
//也可以int c;
printf
("請輸入字元:");
c =getchar()
;printf
("輸入的字元:");
putchar
(c);
如何識別字串:並輸出該字串帶有的所有字元型別數量:字母,數字,空格…
#include
intmain()
else
else
else}}
}printf
("countbuchstabe: %d\n"
,countbuchstabe)
;printf
("countzahl:%d\n"
,countzahl)
;printf
("countspace:%d\n"
,countspace)
;return0;
}//使用while((c=getchar())!='\n')來使操作者一次性輸入字串,但其實在內部,檢測的還是一步一步檢測,以字元為單位
getchar()
//讀入兩個字元給a1,a2
putchar()
;printf()
;#輸出兩個字元
//三個函式區分
#include
intmain()
{char a1,a2;
//int a1,a2;
printf
("輸入a1,a2\n");
a1=getchar()
;a2=
getchar()
;printf
("用putcharc輸出\n");
putchar
(a1)
;putchar
(a2)
;printf
("\n");
printf
("用printf輸出\n");
printf
("%c%c\n"
,a1,a2)
;//printf("%d%d\n",a1,a2);
return0;i
//printf中如果採用%d來輸出字元,則會輸出ascii對應的int值
//a1 a2可以使用int或char來定義,不會影響後面putchar和getchar的函式
//字元佔乙個位元組byte,整型變數佔2或4個位元組byte,因此整型變數可以輸出字元的範圍是0-127 整型可以有0-256個,但字元只有1byte
//在輸入a1和a2時中間不可以有空格,也不可以分行,否則a2=空格或換行符,則在putchar時無法顯示內容
陣列常見題型方式彙總(1)
不要求資料表是已經排好序的。從線性資料表中的第乙個 或者最後乙個 記錄開始查詢。以此將記錄的關鍵字與查詢的關鍵字進行比較。當某個記錄的關鍵字與查詢關鍵字相等的時候,即查詢成功。反之,查完所有記錄都沒有與之相等的關鍵字,則查詢失敗。順序 int linsearch int num,int x,int ...
學校的C語言題型
二 計算階乘的函式 三 計算字串長度的函式 非函式類 1 單行順序顛倒函式 include define n 10 void fun int a,int n int main void 法2 include intmain 2 二維陣列顛倒函式void exchange int a 3 3 3 數之...
C語言經典題型 喝汽水問題
喝汽水,1瓶汽水1元,2個空瓶可以換一瓶汽水,給20元,可以喝多少瓶汽水。這個問題是個經典的c語言問題,用簡單的程式可以實現,如下 include include define n 20 inttotal int num return x int main 這裡定義了乙個巨集,是為了方便我們修改資料...