學習**
#include #include #include "hello.hpp"
#include #include //c語言主要是面向過程,物件導向是一種思路,一種思維方式。
void score(int score) else if (score >= 80) else if (score >= 60) else
}void score1(int score)
}int max(int a,int b)
//c語言結構體
struct people ;
//自定義型別,使用方便
typedef structpeople1;
//定義函式指標,使用時直接用func p;
typedef void (*func)();
//函式
void sayhello()
//物件導向思想
//objectstart>>>>>>>>>>>>>>>>>>>>>
#define objectfield \
void(*ondelete)(void *);
typedef struct object object;
#define objectcreate(type) malloc(sizeof(type))
#define objectdelete(obj)
void objectondelete(void *obj)
object *objectinit(object *obj)
//objectend<<<<<<<<<<<<<<<<<<<<<<<
//people2start>>>>>>>>>>>>>>>>>>>>>
typedef structpeople2;
void peoplesayhello()
void peopleondelete(void *p)
people2 *peopleinit(people2 *p,int age)
//people2end<<<<<<<<<<<<<<<<<<<<<<<
int main(int argc, const char * argv)
// int i = 0;
// do while (i < 100);
/* struct people p;
p.age = 10;
p.name = "xiaoyang";
printf("name=%s age=%d\n",p.name,p.age);
// 結構體賦值為copy,兩個指標不想相同
struct people p1 = p;
printf("name=%s age=%d\n",p1.name,p1.age);
p.name = "yangxiao";
p.age = 11;
printf("修改p後p:name=%s age=%d\n",p.name,p.age);
printf("修改p後p1:name=%s age=%d\n",p1.name,p1.age);
*/
/*// malloc(<#size_t#>)函式需要匯入#include 庫
struct people *p = malloc(sizeof(struct people));
p->age = 10;
p->name = "xiaoyang";
// 結構體指標賦值的是retain,兩個指標相同
struct people *p1 = p;
p->age = 11;
p->name = "yangxiao";
printf("修改p後p1:name=%s age=%d\n",p1->name,p1->age);
// 結構體指標在不用的時候需要釋放,因為兩個結構體的指標相同,所以只需要釋放一次
free(p);
printf("p指標=%p p1指標=%p\n",p,p1);
*/
/*// 通常呼叫函式直接呼叫:sayhello();
// 宣告乙個返回值為void的函式指標p,p只能賦值返回值為void型別的函式指標
void (*p)();
printf("賦值前%p\n",p);
// 函式指標賦值為sayhello
p = sayhello;
printf("賦值後%p\n",p);
// 執行函式指標
p();
*/
// people2 *p2 = peopleinit(objectcreate(people2), 10);
// printf("%d\n",p2->age);
// p2->sayhello();
// objectdelete(p2);
// sayhello();
定義乙個緩衝區
// char buf[100];
清空一片區域
// memset(buf, 0, 100);
拼接一段字串,需要匯入檔案// sprintf(buf, "hello %d,%.2f,%s\n",100,1.2,"拼接完成");
// printf("%s",buf);
// 寫入資料
// file *f = fopen("data.text", "w");
// if (f != null)
// fclose(f);
讀取資料
// file *f = fopen("data.text", "r");
讀取到最後乙個位元組
// fseek(f, 0, seek_end);
// long size = ftell(f);
// char buf[size + 1];
重置到第乙個位元組
// fseek(f, 0, seek_set);
把檔案讀取到buf裡
// fread(buf, sizeof(unsigned char), size, f);
設定\0結尾
// buf[size] = '\0';
// fclose(f);
// printf("%s\n",buf);
// 猜數字小遊戲start>>>>>>>>>>>>>>>>>>>>>>>>>>>>
// 需要匯入// rand()方法需要乙個種子,根據種子來生成隨機數,這裡選用系統時間,需要匯入time.h
srand((int)time(null));
int randnum = rand()%100;
printf("請輸入乙個0-100中間的數字\n");
int userinput;
while (1) else if (userinput < randnum) else
}printf("exit\n");
// 猜數字小遊戲end<<<<<<<<<<<<<<<<<<<<<<<<<<<<
return 0;
}
PTA c語言溫習計畫
因為我個人的編碼能力實在是太差了,大一上的時候很多 處於看懂但自己放掉資料純手打根本很難完成,於是想通過完成pta上的一些題目來加強自己的編碼能力,目前的小目標是45道函式題目完成三十道,主要目的是查缺補漏。第一題 warning ignoring return value of scanf dec...
C 基礎溫習 1 溫習控制台程式(一)
我開始學c 的時候是從控制台程式開始的,現在就溫習一下控制台程式。首先我們新建乙個控制台應用程式,新建的過程我就不細說了,建立成功後我們會看到如下 using system using system.collections.generic using system.linq using system...
C 快速溫習筆記 高階 4
模板 函式模板 template ret type func name parameter list e.g.template t add t a,t b cout add 3,6 cout add 1.1,2.2 類模板 template classclass name e.g.template ...