apue 2013-03-16
時間下一秒:判斷是不是60,是秒數為0,分鐘+1
判斷分鐘是不是60,是分鐘為0,小時+1
判斷小時是不是24,是小時為0,日期+1
s=s+1?if(s==60){
S=0;m=m+1;
If(m==60)
{
M=0;
H++;
If?(h==24)
{
H=0;
}
}
}
核心算法+一秒??scanf("%d:%d:%d",&h,&m,&s);
While(1)
{
Sleep(1);表
}
?
標準C提供的輸入輸出函數
Printf???->?緩沖區????行??全???零緩沖
Fopen?????->屏幕?????printf?("\n");
刷新緩沖區??:fflush(NULL);空指針
Fopen()??????堆上
Fclose()??????1.free??2刷新??fflush(NULL);??文件大小或沒寫進去??ffflush(NULL);
?
程序難:完整????printf("\r%d%d%d",);光標移動到行首
?
?
循環:
For???VS??while??一樣???注意:在使用continue??
Do{}while;
?
?
1,作什么??{循環體}
2,循環次數?最痛苦
?
表達式1,表達式2,表達式3???表達式1一次
For?(;;){
語法???循環體;?
}
?
輸出:0~9重復代碼
初值???步長???while()循環次數
!vi???!g
?
編寫代碼:輸出100以內所有的偶數
偶數:能被2整除??num%2==0
多種算法???初值條件判斷步長
I=0;??提示:思考循環最后一次?i<=100??多一個=號多一次
While(i<=50)
{
Printf?("%d",i*2);
I++;
}
循環次數??常???固
??????????變???變
循環嵌套????99乘法表
1****************
2*
?*
?*
?*
3正方形
4三角形
5平形四邊形
6菱形??空心菱形
?
輸入一個數判斷是不是素數
打印100以內所有的素數
輸入一個數,輸出大于該數的5個素數
?
?
Qt安裝過程
1解包:tar?-xzvf?qt-???....tar.gz
2進入到解壓后的文件夾中??cd?qt?
3執行?./configure
4執行?make??時間長
5執行make?install
?
?
分析:
行???空格???星????1個\n
0????3??????1??
1????2??????3
2????1??????5
3????0?????7
I????3-i????2*i+1最難的
?
?
行???空格????星???1個\n
0?????1??????5
1?????2??????3?
2?????3??????1
I?????i+1?????5-2*i
最難的????可變大可變小的菱形
素數:只能被1和本身整理除.
For??(f=0,i=2;i<n;i++)
{
If?(n%i==0)
{
F=1;
Break;
}
}
If?(f==0)
Printf?("%d\n",n);
?
For?VS?while
For?(i=0;i<10;i++)
If?(i%3==0)?continue;
?
I=0;
While(i<10)
{
If?(i%3==0)
Continue;
I++;
}
?
Continue:結束本次循環。(for:執行表達式3;while判斷語句)
Break:結束循環(一層)
Goto:1。跳出多重循環
?????2.錯誤處理
Return?1,2,3??錯誤不一樣
?
?
數組?????為什么定義數組?相同類型數據的集合
1.成員的類型是相同的
2.連續存儲
數據類型???數組名???[成員的個數]
Typedef??int?arr[100];???arr變量的名字???不對
Typedef??int?a;????a是int?類型的別名
起別名????定義變量????arr??buf;???
??????????????????????Int??buf[100];
Int?arr[100];數組類型每一個成員的類型
[]成員的個數????常量?9??'a'??const?int?b;常量
Sizeof(buf)數組名???sizeof(數據類型)*成員個數??????
數組的初始化
Int??arr[8];???隨即值
Int??arr[4]?=?{1,2,3,4};
???????????{1,2,0,0};計算機幫助我們做
???????????{0};全為0,某個成員賦值,字符串
Int?arr[]?=?{1,2,3,4};
1.數組在初始化
2.函數形參
?
成員的引用:
Arr[0]??arr[1]???arr[2]???arr[3]
?
創建一個20個成員的數組
Memcpy();對整個內存進行比較
?
Arr[0]=2;
For?(i=1;i<100;i++)
Arr[i]=arr[i-1]+2;
?
?
數組的操作
1.成員賦值與取值
2.找最大值
Sizeof(數組名)?=?sizeof(數據類型)*成員個數
3數組成員交換(反序反向)
輸入一個數組,將數組首尾互換,實現數組的翻轉
4排序???5種以上排序方法
5數組的移動向前移動向后移動
向前:產生一個數組,刪除數組中相同多余的數
向后:向有序數組中插入一個數,使之仍然有序
Rand()??;即數
Srand(getpid());??變化的值,不同的隨即數???#Iinclude?<unistd.h>??頭文件
Rand()%41+50;
使用隨即數產生20個數,將數組分為兩部分
奇數部分在前,偶數部分在后,分別排序
?
Set?mouse=a
?
?
一維字符數組:字符+‘\0’=字符串
二維數組:CRC校驗
二維字符數組:==二級指針+malloc??argv
?
#ifndef?N
#define?N?10
#endif
Rand()%5?數組大小不變有效減少
向前移動i--
冒泡(相鄰的)一個算法
For?(i=0;i<len-1;i++)
If?(arr[i]>arr[i+1])
{
Tmp??反向冒泡
}???
?
For?(i=len-1;i>=1;i--)
If?(arr[i]<arr[i-1]){
}少了很多循環
?
編程:處理數據(全雙工)?半雙工(pipe??mkfifo)
有線:socket?管道??字節流???
無線:
?
字符串:若干個字符???+???'\0'
Char?buf[100];
Char?buf[4]?=?{'a',?'b',?'c','d'};??對的
Char?buf[4]?=?{'a','b',0,'\0','0'};??
Char?buf[4]?=?{"ab"};
Char?buf[4]?=?"ab";
Char?buf[]?=?{""};可以
字符串的輸入輸出
Scanf("%s",buf);不能有空格??空格?tab分隔符
Gets();警告
?
Gets(buf);沒有過界的檢查
Read(0,buf,sizeof(buf));?????????????輸入
Fgets(buf,sizeof(buf),stdin);
?
Printf("%s\n",buf);???
Char?buf[100]?=?"abcd\-bcd";???abc
Buf?+3?回車??沒有輸出
?
Puts(buf);自動打印回車,刷新緩沖區,這個地方恰好是'\0'
Write(1,buf,strlen(buf));???輸出
Fputs(buf,?sizeof(buf),stdout);
?
1.從鍵盤上輸入一個字符串,找出最小的字符
2.從鍵盤上輸入一個字符串,計算字符串長度.strlen
3.輸入兩個字符串,輸出較大的字符串strcmp
4.Strchr在字符串中找一個字符?
5.Strcat??strcpy??strstr??長中找小的字符串
6.編寫mystrstr在一個字符串中找另一個字符串??"abcd"???"bc"
7.輸入一個字符串,刪除多余的空格?"abc?de??de"??"abc?de?de"
8.輸入一個字符串??將abcd換成bc??"abcdefgh"??"bcdefgh"
9.輸入一個數字字符串,將其轉為整型數輸出??"123.c"??123?
10.從鍵盤上輸入一個數,將其轉為字符串??12312?"12312"
提示:字符串末尾有'\0'???
?
?
轉載于:https://www.cnblogs.com/wangjingyuwhy/archive/2013/03/16/2963938.html
總結
以上是生活随笔為你收集整理的apue 2013-03-16的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: tomcat无法启动(JVM错误)
- 下一篇: java中日期类型与字符串相互转换