ห้องสมุดฟังก์ชันทางคณิตศาสตร์ math.h. ฟังก์ชันทางคณิตศาสตร์มาตรฐานในภาษาซี

คณิตศาสตร- ไฟล์ส่วนหัว ห้องสมุดมาตรฐานภาษา C ออกแบบมาให้ใช้งานง่าย การดำเนินการทางคณิตศาสตร์- เนื่องจาก C ++ ใช้ฟังก์ชันเหล่านี้เพื่อความเข้ากันได้ (ทั้งหมดมีอยู่ในไฟล์ส่วนหัว cmath) เราจะพิจารณาภาษาเหล่านี้ร่วมกัน ภายใต้ Linux และ FreeBSD ฟังก์ชันทางคณิตศาสตร์แยกเก็บไว้ที่ ห้องสมุดคณิตศาสตร์ลิบม์ ดังนั้น หากใช้คำสั่งใดๆ เหล่านี้ ตัวเลือก -lm จะต้องถูกส่งผ่านไปยังตัวเชื่อมโยงเมื่อสร้าง เนื่องจากผลลัพธ์ของการดำเนินการทางคณิตศาสตร์ส่วนใหญ่ก็คือ ตัวเลขเศษส่วนฟังก์ชั่นไลบรารีทั้งหมดยอมรับสองเท่า สำหรับการทำงานกับโฟลตและ ยาวสองเท่าใช้ฟังก์ชันที่มี postfixes f และ l ตามลำดับ

คอมเพล็กซ์.เอช- ไฟล์ส่วนหัวของไลบรารีมาตรฐานของภาษาการเขียนโปรแกรม C ซึ่งประกาศฟังก์ชันสำหรับเลขคณิตที่ซับซ้อน ฟังก์ชันเหล่านี้ใช้ประเภทที่ซับซ้อนในตัว ซึ่งเปิดตัวในมาตรฐาน C99 ฟังก์ชั่นในไฟล์ส่วนหัว complex.h มีไว้เพื่อ สามประเภท— double, float และ long double (ค่าแสดงเป็นเรเดียน): สำหรับการคำนวณ ค่าตรีโกณมิติไซน์ โคไซน์ แทนเจนต์และโคแทนเจนต์สำหรับจำนวนเชิงซ้อน ลอการิทึมและเลขชี้กำลัง ราก

กนู (GSL)- ได้ฟรี ซอฟต์แวร์ภายใต้ ใบอนุญาตกนูใบอนุญาตสาธารณะทั่วไป ห้องสมุดมีรูทีนทางคณิตศาสตร์ที่หลากหลาย เช่น เครื่องกำเนิดไฟฟ้า ตัวเลขสุ่ม, ฟังก์ชั่นพิเศษและสี่เหลี่ยมจัตุรัสน้อยที่สุด มีฟีเจอร์ทั้งหมดมากกว่า 1,000 รายการพร้อมชุดทดสอบที่ครอบคลุม ต่างจากใบอนุญาตสำหรับไลบรารีตัวเลขที่เป็นกรรมสิทธิ์ GSL ไม่ได้จำกัดความร่วมมือทางวิทยาศาสตร์ หากต้องการรวมไลบรารี คุณต้องเขียน: $\# include - เพื่อใช้การจัดการข้อยกเว้น C++ ภายในกรอบงาน ฟังก์ชั่นที่กำหนดเองส่งผ่านไปยังไลบรารีเป็นพารามิเตอร์ ไลบรารีต้องถูกสร้างด้วยตัวเลือกการคอมไพล์ -feExceptions สามารถใช้ห้องสมุดได้ โปรแกรมแบบมัลติเธรด- ฟังก์ชันทั้งหมดเป็นแบบเธรดในแง่ที่ว่าไม่ได้ใช้ตัวแปรคงที่ หน่วยความจำจะเชื่อมโยงกับวัตถุเสมอ ไม่ใช่ฟังก์ชัน สำหรับฟังก์ชันที่อ็อบเจ็กต์ใช้ พื้นที่ทำงานในฐานะที่เป็นพื้นที่จัดเก็บชั่วคราว พื้นที่ทำงานจะต้องได้รับการจัดสรรตามเธรด สำหรับฟังก์ชั่นที่ใช้งาน วัตถุตารางหน่วยความจำสามารถใช้งานได้หลายเธรดในเวลาเดียวกัน ตารางอาร์กิวเมนต์จะประกาศค่าคงที่เสมอในฟังก์ชันต้นแบบเพื่อระบุว่าสามารถเข้าถึงได้อย่างปลอดภัยจากเธรดต่างๆ

ที่นี่ โปรแกรมตัวอย่างใน C ++ โดยใช้ไลบรารีทางคณิตศาสตร์:

ค้นหาไซน์และโคไซน์ของ A

#รวม // ห้องสมุดคณิตศาสตร์

ใช้เนมสเปซมาตรฐาน;

ศาล<< «Input A = »; cin>>ก; //ใส่ก

ข=คอส(ก); //การกำหนดค่า

ศาล<< «Cos A = „<

ผลลัพธ์ของโปรแกรม:

ค้นหาประสบการณ์จากหมายเลข A

#include // ไลบรารี I/O

#รวม // ห้องสมุดคณิตศาสตร์

#รวม

#รวม

ใช้เนมสเปซมาตรฐาน;

SetConsoleOutputCP (1251);

ดับเบิ้ลเอ,บี,ซี; // ตัวแปรประเภทคู่

ศาล<< “Input A = »; cin>>ก; //ใส่ก

ข=เพดาน(ก); //การมอบหมายมูลค่า

ศาล<< «Большее целое число A = „<

ผลลัพธ์ของโปรแกรม:

เพิ่มตัวเลขเป็นค่าที่กำหนดกำลัง

#include // ไลบรารี I/O

#รวม // ห้องสมุดคณิตศาสตร์

#รวม

#รวม

ใช้เนมสเปซมาตรฐาน;

SetConsoleOutputCP (1251);

ดับเบิ้ลเอ,บี; // ตัวแปรประเภทคู่

ศาล<< “Введите число = »; cin>>ก;

ศาล<< «Введите степень = »; cin>>ข;

ศาล<< «Число в степени = „<

ผลลัพธ์ของโปรแกรม:

การแก้สมการกำลังสอง

#รวม

#รวม#รวม

ใช้เนมสเปซมาตรฐาน;

สองเท่า a = 1, b = 2, c = 1;

i = gsl_poly_solve_quadratic(a, b, c, &x0, &x1);

ถ้า (i == 2) ศาล<< “x0 =»<< x0 << " x1 ="<< x1 << endl;

ถ้า (i == 1) ศาล<< «x0 = » << x0 << endl;

ถ้า (i == 0) ศาล<< «No solve » << endl;

ผลลัพธ์ของโปรแกรม:

วิธีใช้ฟังก์ชันทางสถิติ

#รวม

#รวม

ข้อมูลสองเท่า = (17.2, 18.1, 16.5, 18.3, 12.6);

ค่าเฉลี่ยสองเท่า, ความแปรปรวน, ใหญ่ที่สุด, เล็กที่สุด;

ค่าเฉลี่ย = gsl_stats_mean (ข้อมูล 1, 5);

ความแปรปรวน = gsl_stats_variance (ข้อมูล, 1, 5);

ใหญ่ที่สุด = gsl_stats_max (ข้อมูล, 1, 5);

เล็กที่สุด = gsl_stats_min (ข้อมูล, 1, 5);

printf("ชุดข้อมูลคือ \%g, \%g, \%g,\%g, \%g\n",

ข้อมูล ข้อมูล ข้อมูล ข้อมูล ข้อมูล);

printf("ค่าเฉลี่ยตัวอย่างคือ \%g\ n", ค่าเฉลี่ย);

printf("ความแปรปรวนโดยประมาณคือ \%g\ n", ความแปรปรวน);

printf("ค่าที่ใหญ่ที่สุดคือ \%g\n", ใหญ่ที่สุด);

printf("ค่าที่น้อยที่สุดคือ \%g\n", น้อยที่สุด);

ฟังก์ชันทางคณิตศาสตร์ทั้งหมดต้องมีส่วนหัว - โปรแกรม C ใช้ส่วนหัว

1 เอคอส ฟังก์ชั่น double acos(double หาเรื่อง หาเรื่อง
2 สิน ฟังก์ชั่น double asin(double หาเรื่อง) ส่งกลับค่าโคไซน์ส่วนโค้งของอาร์กิวเมนต์ หาเรื่อง- ค่าของอาร์กิวเมนต์ของฟังก์ชันต้องอยู่ในช่วงตั้งแต่ -1 ถึง 1 มิฉะนั้นจะเกิดข้อผิดพลาด
3 อาทัน ฟังก์ชั่น double atan(double หาเรื่อง) ส่งคืนค่าอาร์กแทนเจนต์ของอาร์กิวเมนต์ หาเรื่อง.
4 อาทาน2 ฟังก์ชั่น double atan2(double x, สองเท่า ) ส่งคืนค่าอาร์กแทนเจนต์ของค่า /x.
5 เพดาน ฟังก์ชั่น เพดานคู่(double จำนวน) ส่งคืนจำนวนเต็มที่ใกล้เคียงที่สุด (แสดงเป็นจำนวนจริงที่มีจุดลอยตัว) ซึ่งไม่น้อยกว่าค่าของอาร์กิวเมนต์ จำนวน- ตัวอย่างเช่น ceil(1.02) จะส่งกลับ 2.0 การแปลงนี้เรียกว่าการปัดเศษมากเกินไป
6 เพราะ ฟังก์ชั่น double cos(double หาเรื่อง) ส่งคืนค่าโคไซน์ของอาร์กิวเมนต์ หาเรื่อง
7 เยี่ยมเลย ฟังก์ชั่น double cosh(double หาเรื่อง) ส่งกลับค่าไฮเปอร์โบลิกโคไซน์ของอาร์กิวเมนต์ หาเรื่อง.
8 ประสบการณ์ ฟังก์ชั่น double exp(double หาเรื่อง) ส่งคืนค่าฐานของลอการิทึมธรรมชาติ อียกขึ้นสู่อำนาจ หาเรื่อง.
9 เยี่ยมมาก ฟังก์ชั่น double fabs(double จำนวน) ส่งกลับค่าสัมบูรณ์ (ค่าโมดูโล) ของอาร์กิวเมนต์ จำนวน.
10 พื้น ฟังก์ชั่นสองชั้น(double จำนวน) ส่งคืนจำนวนเต็มที่มากที่สุด (แสดงเป็นจำนวนจริงที่มีจุดลอยตัว) ไม่เกินค่าของอาร์กิวเมนต์ จำนวน- ตัวอย่างเช่น floor(1.02) จะส่งกลับตัวเลข 1.0 การแปลงนี้เรียกว่าการปัดเศษลง
11 เอฟเอ็มดี ฟังก์ชัน double fmod(double x, double y) ส่งคืนส่วนที่เหลือของการหาร x/y
12 เฟร็กซ์ ฟังก์ชั่น double frexp(double จำนวน, อินท์ * ประสบการณ์) ขยายตัวเลข จำนวนโดยแมนทิสซาที่มีค่าตั้งแต่ 0.1 ถึง 1 ไม่รวม 1 และเลขชี้กำลังจำนวนเต็ม ดังนั้น จำนวน = แมนทิสซา- ฟังก์ชันส่งคืนแมนทิสซาและค่าของเลขชี้กำลังจะถูกเก็บไว้ในตัวแปรที่ตัวชี้ชี้ไป ประสบการณ์.
13 บันทึก ฟังก์ชั่น บันทึกคู่(double จำนวน) ส่งกลับค่าลอการิทึมธรรมชาติของตัวเลข จำนวน- ถ้าจะโต้แย้ง. จำนวน
14 บันทึก 10 ฟังก์ชั่น double log10(double จำนวน) ส่งกลับค่าลอการิทึมทศนิยมของตัวเลข จำนวน- ถ้าจะโต้แย้ง. จำนวนเป็นลบหรือศูนย์ เกิดข้อผิดพลาด
15 ธาร ฟังก์ชั่น double pow(double ฐาน, สองเท่า ประสบการณ์) ส่งกลับตัวเลข ฐาน, ยกขึ้นสู่อำนาจ ประสบการณ์- หากพิจารณาจากพื้นฐานการศึกษาระดับปริญญา ฐานมีค่าเท่ากับศูนย์และเป็นเลขชี้กำลัง ประสบการณ์น้อยกว่าหรือเท่ากับศูนย์ อาจเกิดข้อผิดพลาดเนื่องจากอาร์กิวเมนต์ออกจากโดเมนของคำจำกัดความฟังก์ชัน (ข้อผิดพลาดของโดเมน) ข้อผิดพลาดนี้ยังเกิดขึ้นหากมีการโต้แย้ง ฐานเป็นลบและการโต้แย้ง ประสบการณ์ไม่ใช่จำนวนเต็ม
16 บาป ฟังก์ชั่น บาปสองครั้ง(double หาเรื่อง) ส่งคืนค่าไซน์ของอาร์กิวเมนต์ หาเรื่อง- ค่าอาร์กิวเมนต์ต้องแสดงเป็นเรเดียน
17 บาป ฟังก์ชั่น double sinh(double หาเรื่อง) ส่งกลับค่าไฮเปอร์โบลิกไซน์ของอาร์กิวเมนต์ หาเรื่อง.
18 ตารางวา ฟังก์ชั่น double sqrt(double จำนวน) ส่งคืนค่ารากที่สองของอาร์กิวเมนต์ จำนวน- หากอาร์กิวเมนต์เป็นค่าลบ จะเกิดข้อผิดพลาดเนื่องจากฟังก์ชันอยู่นอกขอบเขต
19 สีแทน ฟังก์ชั่น double tan(double หาเรื่อง) ส่งคืนค่าแทนเจนต์ของอาร์กิวเมนต์ หาเรื่อง- ค่าอาร์กิวเมนต์ต้องแสดงเป็นเรเดียน
20 ทานห์ ฟังก์ชั่น double tanh(double หาเรื่อง) ส่งคืนค่าไฮเปอร์โบลิกแทนเจนต์ของอาร์กิวเมนต์ หาเรื่อง.

อัปเดตล่าสุด: 31/10/2558

คลาส Math ใช้เพื่อดำเนินการทางคณิตศาสตร์ต่างๆ ในไลบรารีคลาส .NET มันเป็นแบบคงที่ ดังนั้นวิธีการทั้งหมดจึงเป็นแบบคงที่เช่นกัน

ลองดูวิธีการของชั้นเรียนคณิตศาสตร์:

    Abs(double value) : ส่งกลับค่าสัมบูรณ์สำหรับอาร์กิวเมนต์ value

    ผลลัพธ์สองเท่า = Math.Abs(-12.4); // 12.4

    Acos(double value) : ส่งกลับค่าโคไซน์ส่วนโค้งของค่า พารามิเตอร์ค่าจะต้องมีค่าระหว่าง -1 ถึง 1

    ผลลัพธ์สองเท่า = Math.Acos(1); // 0

    Asin(double value) : ส่งกลับค่าส่วนโค้งไซน์ของค่า พารามิเตอร์ค่าจะต้องมีค่าระหว่าง -1 ถึง 1

    Atan(double value) : ส่งกลับค่าอาร์กแทนเจนต์ของค่า

    BigMul(int x, int y) : ส่งคืนผลคูณ x * y เป็นวัตถุขนาดยาว

    ผลลัพธ์สองเท่า = Math.BigMul(100, 9340); // 934000

    Ceiling(double value) : ส่งกลับจำนวนเต็มทศนิยมที่เล็กที่สุดซึ่งไม่น้อยกว่าค่า

    ผลลัพธ์สองเท่า = Math.Ceiling (2.34); // 3

    Cos(double d) : ส่งคืนค่าโคไซน์ของมุม d

    Cosh(double d) : ส่งกลับค่าไฮเปอร์โบลิกโคไซน์ของมุม d

    DivRem(int a, int b, out int result) : ส่งคืนผลลัพธ์ของการหาร a/b และส่วนที่เหลือจะถูกวางไว้ในพารามิเตอร์ผลลัพธ์

    ผลลัพธ์ภายใน; int div = Math.DivRem (14, 5, ผลลัพธ์ออก); //ผลลัพธ์ = 4 // div = 2

    Exp(double d) : ส่งกลับฐานของลอการิทึมธรรมชาติที่ยกกำลัง d

    Floor(decimal d) : ส่งคืนจำนวนเต็มที่มากที่สุดซึ่งไม่เกิน d

    ผลลัพธ์สองเท่า = Math.Floor(2.56); // 2

    IEEERemainder(double a, double b) : ส่งคืนค่าส่วนที่เหลือของการหารด้วย b

    ผลลัพธ์สองเท่า = Math.IEEERemainder(26, 4); // 2 = 26-24

    Log(double d) : ส่งกลับค่าลอการิทึมธรรมชาติของ d

    Log(double a, double newBase) : ส่งคืนลอการิทึมของตัวเลขโดยยึดตาม newBase

    Log10(double d) : ส่งกลับค่าลอการิทึมฐานสิบของ d

    Max(double a, double b) : ส่งกลับจำนวนสูงสุดระหว่าง a และ b

    Min(double a, double b) : ส่งกลับจำนวนขั้นต่ำระหว่าง a และ b

    Pow(double a, double b) : ส่งคืนค่าตัวเลข a ยกกำลังของ b

    Round(double d) : ส่งกลับ d ปัดเศษเป็นจำนวนเต็มที่ใกล้ที่สุด

    ผลลัพธ์คู่ 1 = คณิตรอบ (20.56); // 21 double result2 = Math.Round(20.46); //20

    Round(double a, round b) : ส่งกลับตัวเลข a ที่ปัดเศษเป็นจำนวนตำแหน่งทศนิยมที่ระบุซึ่งแสดงด้วย b

    ผลลัพธ์คู่ 1 = คณิตศาสตร์รอบ (20.567, 2); // 20.57 double result2 = Math.Round(20.463, 1); //20.5

    เครื่องหมาย(ค่าสองเท่า) : ส่งคืน 1 หากค่าเป็นบวก และ -1 หากค่าเป็นลบ ถ้าค่าเป็น 0 จะส่งกลับ 0

    Int result1 = Math.Sign(15); // 1 int result2 = Math.Sign(-5); //-1

    Sin(double value) : ส่งคืนค่าไซน์ของค่ามุม

    Sinh(double value) : ส่งกลับค่าไฮเปอร์โบลิกไซน์ของค่ามุม

    Sqrt(double value) : ส่งคืนค่ารากที่สองของค่า

    ผลลัพธ์สองเท่า1 = Math.Sqrt(16); // 4

    Tan(double value) : ส่งคืนค่าแทนเจนต์ของค่ามุม

    Tanh(double value) : ส่งกลับค่าไฮเปอร์โบลิกแทนเจนต์ของค่ามุม

    Truncate(double value) : ละทิ้งส่วนที่เป็นเศษส่วนของค่า โดยส่งคืนเฉพาะค่าจำนวนเต็ม

    ผลลัพธ์สองเท่า = Math.Truncate(16.89); // 16

คลาสคณิตศาสตร์ยังกำหนดค่าคงที่สองค่า: Math.E และ Math.PI ตัวอย่างเช่น ลองคำนวณพื้นที่ของวงกลม:

Console.WriteLine("ระบุรัศมีของวงกลม"); รัศมีสองเท่า = Double.Parse(Console.ReadLine()); พื้นที่สองเท่า = Math.PI * Math.Pow(รัศมี, 2); Console.WriteLine("พื้นที่ของวงกลมที่มีรัศมี (0) คือ (1)", รัศมี, พื้นที่);

เอาต์พุตคอนโซล:

ใส่รัศมีวงกลม 20 พื้นที่ของวงกลมที่มีรัศมี 20 คือ 1256.63706143592

กรุณาระงับ AdBlock บนไซต์นี้

การคำนวณทางคณิตศาสตร์ไม่ได้จำกัดอยู่เพียงการดำเนินการทางคณิตศาสตร์เท่านั้น นอกจากนี้คุณยังสามารถค้นหาราก โมดูล ลอการิทึม ฟังก์ชันตรีโกณมิติ ฯลฯ มาเรียนรู้วิธีใช้ฟังก์ชันดังกล่าวในโปรแกรมของเรากัน

หากต้องการใช้ฟังก์ชันทางคณิตศาสตร์ คุณต้องรวมไฟล์ส่วนหัว math.h ด้วย มันกำหนดฟังก์ชันต่างๆ มากมาย แต่สำหรับตอนนี้เราจะดูดังต่อไปนี้:

ฟังก์ชันทางคณิตศาสตร์บางอย่าง

fabs(x) โมดูลัสของจำนวน x
sqrt(x) รากที่สองของจำนวน x
บาป(x) ไซน์ของ x (x เป็นเรเดียน)
cos(x) โคไซน์ของ x (x เป็นเรเดียน)
pow(x, y) การคำนวณ x y
ประสบการณ์ (x) การคำนวณ เช่น x
log(x) ลอการิทึมธรรมชาติของ x
log10(x) ลอการิทึมทศนิยมของ x

สองประเด็นสำคัญ

  • ฟังก์ชันทั้งหมดส่งคืนค่าสองเท่า
  • พารามิเตอร์ของฟังก์ชันเป็นจำนวนจริง (สองเท่า) แต่คุณสามารถส่งผ่านจำนวนเต็มได้เช่นกัน สิ่งนี้จะเกิดขึ้น การแปลงประเภทโดยนัย- คอมไพเลอร์จะสร้างจำนวนจริง 3.0 จากจำนวนเต็ม เช่น 3

ตัวอย่าง.
แสดงความยาวของขาของสามเหลี่ยมมุมฉาก คำนวณความยาวของด้านตรงข้ามมุมฉาก. ปัญหาง่ายๆ ในการทดสอบความรู้เกี่ยวกับทฤษฎีบทพีทาโกรัส

รายการ 1.

#รวม #รวม // เชื่อมต่อ math.h int main (เป็นโมฆะ) ( int a, b, c2; scanf("%d",&a); scanf("%d",&b); c2 = a*a + b*b; printf ("c = %.2f\n", sqrt(c2));

คำนวณไซน์ของมุมที่ป้อนจากคีย์บอร์ด มุมถูกป้อนเป็นองศา

รายการ 2.

#รวม #รวม // เชื่อมต่อ math.h int main (โมฆะ) ( double alpha, sin_a, pi = 3.1415926; scanf("%lf",&alpha); alpha = alpha*pi/180; sin_a = sin(alpha); printf("% .2f\n", sin_a); ส่งกลับ 0; )

มีเรื่องให้พูดคุยมากมายในโปรแกรมนี้ ฟังก์ชันตรีโกณมิติที่กำหนดไว้ใน math.h ใช้ได้กับการวัดมุมเรเดียน ผู้คนคุ้นเคยกับการทำงานในระดับปริญญามากขึ้น ดังนั้นในโปรแกรมนี้เราจึงแปลงค่าจากองศาเป็นเรเดียนก่อน หากไม่ทำเช่นนี้ผลลัพธ์จะไม่ถูกต้อง ตรวจสอบด้วยตัวคุณเอง

การแปลงประเภทโดยนัย

เมื่อดำเนินการแปลงประเภทอย่างชัดเจน เราได้ระบุไว้ในวงเล็บก่อนค่าประเภทที่ควรแปลงค่า ไม่จำเป็นต้องทำเช่นนี้ในการแปลงโดยนัย คอมไพเลอร์จะเลือกประเภทที่ต้องการโดยอัตโนมัติ

การแปลงประเภทโดยนัยจะดำเนินการในกรณีต่อไปนี้:

  1. ก่อนที่จะส่งอาร์กิวเมนต์ไปยังฟังก์ชัน (ดังในตัวอย่างรูตของเรา รายการ 1)
  2. การดำเนินการทางคณิตศาสตร์ด้วยอาร์กิวเมนต์ประเภทต่างๆ
  3. ก่อนปฏิบัติงาน

กฎการแปลงประเภทโดยนัย

  • หากดำเนินการทางคณิตศาสตร์ด้วยอาร์กิวเมนต์ประเภทต่างๆ อาร์กิวเมนต์ทั้งสองถูกส่งไปยังประเภทที่ใหญ่กว่า
    พิมพ์คำสั่ง: int< float < double
  • เมื่อได้รับมอบหมาย ค่าทางด้านขวาของตัวดำเนินการกำหนดจะถูกแปลงเป็นประเภทของตัวแปรทางด้านซ้ายของตัวดำเนินการกำหนด อย่างไรก็ตาม หากกำหนดประเภทที่ใหญ่กว่าให้กับประเภทที่เล็กกว่า อาจทำให้สูญเสียความแม่นยำได้

int+float จะถูกแปลงเป็น float+float โดยอัตโนมัติ
float/int จะถูกแปลงเป็น float/float โดยอัตโนมัติ
double*float จะถูกแปลงเป็น double*double
int = double double จะถูกแปลงเป็น int โดยสูญเสียเศษส่วนไป
float = int int จะถูกแปลงเป็น float

โครงสร้างของโปรแกรมภาษาซี

1.#รวม cstdlib.h.

2.#รวม - รวมไฟล์ส่วนหัว iostream.h.

3 . ใช้เนมสเปซ std –ใช้เนมสเปซมาตรฐาน

4. int main(int argc, char *argv)– ชื่อฟังก์ชั่น โปรแกรม C ใดๆ ประกอบด้วยฟังก์ชันตั้งแต่หนึ่งฟังก์ชันขึ้นไป ในเทมเพลตที่เขียนมีเพียงฟังก์ชันเดียวเท่านั้น - หลัก().ฟังก์ชั่นที่มีชื่อ หลัก ต้องเข้าแน่นอน โปรแกรมปฏิบัติการใดๆ .

5. { - จุดเริ่มต้นของฟังก์ชันร่างกาย

6. ระบบ (“หยุดชั่วคราว”) –การเรียกใช้ฟังก์ชัน ระบบด้วยการโต้แย้ง "หยุดชั่วคราว".ฟังก์ชั่นรอการกดปุ่ม

7. ผู้ปฏิบัติงาน กลับด้วยการโต้แย้ง ทางออก_ความสำเร็จ– การสิ้นสุดฟังก์ชันหลักด้วยรหัส 0

8. ) – สิ้นสุดฟังก์ชัน หลัก.

ชนิดข้อมูล C อย่างง่าย

ในการแสดงค่าจำนวนเต็มในภาษา C จะมีการจัดเตรียมประเภทข้อมูลต่อไปนี้:

พิมพ์ถ่าน ครอบครองพื้นที่หน่วยความจำ 1 ไบต์ ใช้แทนอักขระและจำนวนเต็มตั้งแต่ 0 ถึง 255 (-128 ถึง 127)

พิมพ์ int. ครอบครองพื้นที่หน่วยความจำ 4 ไบต์ ใช้แทนจำนวนเต็มในช่วง -2,147,483,648 ถึง 2,147,483,647

ประเภทลอย. ครอบครองพื้นที่หน่วยความจำ 4 ไบต์ ใช้แทนจำนวนจุดลอยตัว จาก 3.4×10 -38 เป็น 3.4×10 38 คำนวณได้แม่นยำถึงทศนิยม 7 ตำแหน่ง

ประเภทคู่. ครอบครองพื้นที่หน่วยความจำ 8 ไบต์ ใช้แทนจำนวนจุดลอยตัว จาก 1.7×10 -308 ถึง 1.7×10 308 ความแม่นยำในการคำนวณทศนิยมสูงสุด 15 ตำแหน่ง

ประเภทเป็นโมฆะ – ประเภทว่างเปล่า. ใช้เพื่ออธิบายฟังก์ชัน

ประเภทบูล – ประเภทตรรกะ สามารถรับได้ 2 ค่า: จริงหรือเท็จ

ตัวดำเนินการ C ขั้นพื้นฐาน

ตัวดำเนินการคือโทเค็นที่สลับการคำนวณบางอย่างเมื่อนำไปใช้กับตัวแปรหรืออ็อบเจ็กต์อื่นในนิพจน์ ภาษา C นำเสนอชุดตัวดำเนินการทางคณิตศาสตร์และตรรกะจำนวนมาก

ตารางที่ 4.1. ตัวดำเนินการ Unary ของภาษา C

ตารางที่ 4.2. ตัวดำเนินการไบนารีภาษา C

รหัสตัวดำเนินการ ชื่อ ผลลัพธ์ของการดำเนินการ
ตัวดำเนินการเพิ่มเติม
+ ไบนารีบวก คำนวณผลรวม เช่น int x = 2,y = 1,z;
- z = x+y; ไบนารีลบ
คำนวณความแตกต่าง เช่น int x = 2,y = 1,z;
* z = x-y; ตัวดำเนินการคูณ
/ การคูณ คำนวณผลคูณ เช่น int x = 2,y = 1,z;
% z = x*y; แผนก
การคำนวณผลหาร เช่น int x = 12,y = 2,z;
&& z = x/y; ส่วนที่เหลือ
|| คำนวณเศษที่เหลือของการหาร เช่น int x = 12,y = 7,z; z = x%y;
ตัวดำเนินการเชิงตรรกะ
= ตรรกะและ การตรวจสอบเงื่อนไขที่เชื่อมต่อด้วยตรรกะ AND
ตรรกะหรือ
< การตรวจสอบตรรกะหรือเงื่อนไข ผู้ดำเนินการที่ได้รับมอบหมาย
> งานที่มอบหมาย กำหนดค่าที่กำหนดให้กับตัวแปรหรือค่าของตัวแปรอื่น
<= ตัวดำเนินการเชิงสัมพันธ์ ผู้ดำเนินการที่ได้รับมอบหมาย<=y, x меньше или равно y
>= น้อยกว่า x
มากกว่า
= = x>y, x มากกว่า y น้อยกว่าหรือเท่ากับ
!= มากกว่าหรือเท่ากับ x>=y, x มากกว่าหรือเท่ากับ y
, ตัวดำเนินการสมมูล เท่ากับ

x= =y, x เท่ากับ y

ไม่เท่ากัน x!=y, x ไม่เท่ากับ yตัวดำเนินการแจงนับ

ดำเนินการแยกตัวดำเนินการจากซ้ายไปขวา เช่น y+=5,x-=4,y+=x;ห้องสมุดฟังก์ชันทางคณิตศาสตร์ math.h x. C รองรับฟังก์ชันทางคณิตศาสตร์มากมาย ซึ่งมีต้นแบบอธิบายไว้ในไฟล์คณิตศาสตร์.h. xมาทำความรู้จักกับบางส่วนกันดีกว่า . เอบีเอส(int x)ส่งกลับโมดูลัสของจำนวนเต็ม xเอคอส(ดับเบิ้ล x) ส่งคืนค่าโคไซน์ส่วนโค้งของตัวเลขเป็นเรเดียน xสิน(x สองเท่า) คืนค่าอาร์กไซน์ของตัวเลขเป็นเรเดียน อาทัน(ดับเบิ้ล x)ส่งกลับค่าอาร์กแทนเจนต์ของตัวเลข เป็นเรเดียน atof(ถ่าน *s, x สองเท่า)แปลงสตริง x(xให้เป็นจำนวนจริง x. x cos(คูณ x) ส่งคืนค่าโคไซน์ของตัวเลขให้ไว้เป็นเรเดียน) เป็นเรเดียน เพดาน (x สองเท่า)ปัดเศษตัวเลข เป็นเรเดียน ขึ้นไปประสบการณ์ (x สองเท่า) x(xส่งคืนค่าเลขชี้กำลังของตัวเลข แฟบส์ (ดับเบิ้ล x)ส่งกลับโมดูลัสของจำนวนจริง เป็นเรเดียน บาป (x สองเท่า)ส่งคืนค่าไซน์ของตัวเลข x(xให้ไว้เป็นเรเดียน) sqrt(คูณ x) x. xส่งคืนค่ากำลังสองของตัวเลข สีแทน (x สองเท่า)ส่งคืนค่าแทนเจนต์ของตัวเลข xให้ไว้เป็นเรเดียน) พื้น( x สองเท่า) ลง fmod(x สองเท่า, y สองเท่า) xส่งกลับส่วนที่เหลือหลังจากหารตัวเลข พื้น( x สองเท่า) ต่อหมายเลขย. เป็นเรเดียน ฮิโปต (x สองเท่า, y สองเท่า)คืนค่ากำลังสองของผลรวมของตัวเลข เป็นเรเดียน และตัวเลขบันทึก (x สองเท่า) ส่งกลับค่าลอการิทึมธรรมชาติของตัวเลข log10(คูณ x) เขียนส่วนจำนวนเต็มของตัวเลขเดิม เป็นเรเดียน ธาร(x สองเท่า, y สองเท่า)ผลตอบแทน xในระดับหนึ่ง พื้น( x สองเท่า)

หากต้องการใช้ฟังก์ชันข้างต้นทั้งหมด ให้เชื่อมต่อห้องสมุด