
作業(yè)社區(qū)
探索學(xué)習(xí)新天地,共享知識(shí)資源!
浪潮君 的學(xué)生作業(yè):
#include // 匿名結(jié)構(gòu)體,結(jié)構(gòu)體類型沒(méi)有名字 // s 是結(jié)構(gòu)體變量,屬于全局變量,分配在【數(shù)據(jù)段(BSS區(qū))】 struct { unsigned int is_online : 1; // 位域,占1位,屬于全局變量 s → 【數(shù)據(jù)段】 unsigned int has_error : 1; // 位域,占1位,屬于全局變量 s → 【數(shù)據(jù)段】 unsigned int mode : 2; // 位域,占2位,屬于全局變量 s → 【數(shù)據(jù)段】 }s; int main(int argc, char* argv[]) { // main 函數(shù)內(nèi)沒(méi)有新定義的變量,這里對(duì)全局變量 s 的成員賦值 → 【數(shù)據(jù)段】 s.is_online = 1; // 設(shè)置在線狀態(tài),占位于 s 中的某1位 → 【數(shù)據(jù)段】 s.has_error = 0; // 設(shè)置錯(cuò)誤狀態(tài) → 【數(shù)據(jù)段】 s.mode = 3; // 設(shè)置模式為3 → 【數(shù)據(jù)段】 // printf 本身在代碼區(qū),格式化時(shí)使用的臨時(shí)變量/棧幀數(shù)據(jù)位于【棧區(qū)】 printf("在線狀態(tài):%u\n", s.is_online); printf("錯(cuò)誤狀態(tài):%u\n", s.has_error); printf("模式:%u\n", s.mode); return 0; // argc 和 argv 為 main 的參數(shù) → 【棧區(qū)】 }





浪潮君 的學(xué)生作業(yè):
#include // 定義一個(gè)帶位域的結(jié)構(gòu)體 struct bit { unsigned int a : 6; // 占6位 unsigned int b : 12; // 占12位 unsigned int c : 4; // 占4位 } bt; int main() { // 輸出結(jié)構(gòu)體變量 bt 所占的字節(jié)數(shù) printf("結(jié)構(gòu)體 bt 占用的內(nèi)存大小為:%zu 字節(jié)\n", sizeof(bt)); return 0; }





浪潮君 的學(xué)生作業(yè):
#include // 定義顏色枚舉類型 enum COLOR { red = 1, // 紅色編號(hào)為 1 green = 2, // 綠色為 2 yellow, // 自動(dòng)為 3 blue, // 自動(dòng)為 4 black // 自動(dòng)為 5 }; int main() { int col; // 提示用戶輸入顏色編號(hào) printf("請(qǐng)輸入顏色編號(hào) (1-red, 2-green, 3-yellow, 4-blue, 5-black): "); scanf("%d", &col); // 從鍵盤讀取整數(shù) // 根據(jù)用戶輸入的值輸出對(duì)應(yīng)的顏色 switch (col) { case red: printf("你選擇的顏色是:紅色\n"); break; case green: printf("你選擇的顏色是:綠色\n"); break; case yellow: printf("你選擇的顏色是:黃色\n"); break; case blue: printf("你選擇的顏色是:藍(lán)色\n"); break; case black: printf("你選擇的顏色是:黑色\n"); break; default: printf("無(wú)效的顏色編號(hào)!\n"); break; } return 0; }





浪潮君 的學(xué)生作業(yè):
#include // 定義一個(gè)結(jié)構(gòu)體 RGB_t,用于表示顏色的 RGB 分量(每個(gè)分量占1字節(jié)) typedef struct { unsigned char Red; // 紅色通道 unsigned char Green; // 綠色通道 unsigned char Blue; // 藍(lán)色通道 } RGB_t; // 定義一個(gè)聯(lián)合體 PIX_t,允許以兩種方式訪問(wèn)顏色:RGB 分量 或 整體值 typedef union { RGB_t rgb; // 分通道訪問(wèn) unsigned int value; // 打包后的整型值(4字節(jié)) } PIX_t; int main() { // 定義并初始化聯(lián)合體變量 pixel,全部置0,避免未定義的高位數(shù)據(jù) PIX_t pixel = {0}; // 設(shè)置顏色的三個(gè)通道值(小端機(jī)器內(nèi)存順序?qū)⑹牵築lue, Green, Red, [未用字節(jié)]) pixel.rgb.Red = 0x11; pixel.rgb.Green = 0x22; pixel.rgb.Blue = 0x33; // 打印結(jié)構(gòu)體成員值 printf("Red = 0x%02X\n", pixel.rgb.Red); printf("Green = 0x%02X\n", pixel.rgb.Green); printf("Blue = 0x%02X\n", pixel.rgb.Blue); // 由于聯(lián)合體共用內(nèi)存,現(xiàn)在可以直接用 value 查看 RGB 被打包成的整數(shù)值 printf("打包后的 pixel.value = 0x%08X\n", pixel.value); return 0; }





浪潮君 的學(xué)生作業(yè):
#include // 定義一個(gè)結(jié)構(gòu)體類型 s_t,用來(lái)表示一個(gè)學(xué)生的信息 typedef struct { char name[20]; // 學(xué)生姓名,最多19個(gè)字符 + 1個(gè)'\0'結(jié)尾 int id; // 學(xué)號(hào) int score; // 成績(jī) } s_t; // 函數(shù):輸入學(xué)生信息 // 參數(shù):s[] 是結(jié)構(gòu)體數(shù)組,n 是學(xué)生數(shù)量 void input_student(s_t s[], int n) { for (int i = 0; i < n; i++) { printf("請(qǐng)輸入第 %d 個(gè)學(xué)生的 姓名 學(xué)號(hào) 成績(jī):", i + 1); scanf("%s %d %d", s[i].name, &s[i].id, &s[i].score); } } // 函數(shù):輸出學(xué)生信息 // 參數(shù):s[] 是結(jié)構(gòu)體數(shù)組,n 是學(xué)生數(shù)量 void output_student(s_t s[], int n) { printf("\n學(xué)生信息如下:\n"); for (int i = 0; i < n; i++) { printf("學(xué)生 %d - 姓名: %s,學(xué)號(hào): %d,成績(jī): %d\n", i + 1, s[i].name, s[i].id, s[i].score); } } // 函數(shù):查找分?jǐn)?shù)最高的學(xué)生在數(shù)組中的索引 // 參數(shù):s[] 是結(jié)構(gòu)體數(shù)組,n 是學(xué)生數(shù)量 // 返回值:分?jǐn)?shù)最高學(xué)生的索引 int maxscore_student(s_t s[], int n) { int max_index = 0; // 初始設(shè)第0個(gè)為最高分 for (int i = 1; i < n; i++) { if (s[i].score > s[max_index].score) { max_index = i; // 更新最高分學(xué)生的索引 } } return max_index; } // 主函數(shù) int main() { s_t s[3]; // 聲明一個(gè)結(jié)構(gòu)體數(shù)組,存放3個(gè)學(xué)生的信息 input_student(s, 3); // 調(diào)用函數(shù)輸入學(xué)生信息 output_student(s, 3); // 調(diào)用函數(shù)輸出學(xué)生信息 int top = maxscore_student(s, 3); // 獲取分?jǐn)?shù)最高學(xué)生的索引 // 輸出分?jǐn)?shù)最高學(xué)生的信息 printf("\n分?jǐn)?shù)最高的學(xué)生是:%s,學(xué)號(hào):%d,成績(jī):%d\n", s[top].name, s[top].id, s[top].score); return 0; // 程序結(jié)束 }





daishuuuu 的學(xué)生作業(yè):
namespace A_Space { int calc(int a, int b) { int c; c = a + b; return c; } } namespace B_Space { int calc(int a, int b) { int c; c = a - b; return c; } } namespace A_Space { extern int calc(int a, int b); } namespace B_Space { extern int calc(int a, int b); } #include #include "space.h" int main(){ int a = 10; int b = 5; int c = 0; int d = 0; c = A_Space::calc(a, b); d = B_Space::calc(a, b); std::cout




