C++编程:深入理解整型数据

需积分: 15 1 下载量 115 浏览量 更新于2024-08-24 收藏 8.66MB PPT 举报
"C++³ÌÐòÉè¼Æ¡ª¡ªÌ·ºÆÇ¿" 在C++编程语言中,整型数据是基本的数据类型之一,它们用于表示没有小数部分的数值。整型数据在计算机内存中占据固定大小的存储空间,其取值范围取决于具体的实现和平台。在C++中,整型常量可以有三种表示形式: 1. **十进制**:这是最常见的表示方式,没有任何前缀,例如:43、1345、87654。 2. **八进制**:以0开头的数字表示八进制数,例如:043、056、011。在八进制中,只使用数字0到7。 3. **十六进制**:以0x或0X开头的数字表示十六进制数,例如:0x12、0xa3、0x34、0xdf。十六进制使用数字0到9以及字母A到F(或a到f)来代表10到15。 整型数据类型包括`int`、`short int`、`long int`和它们的无符号版本(`unsigned`前缀)。在大多数现代计算机系统中,这些类型的通常大小如下: - `int`:通常为32位,取值范围为-2^31到2^31-1。 - `short int`:通常为16位,取值范围为-2^15到2^15-1。 - `long int`:在某些系统上可能也是32位,但在其他系统上可能是64位,其取值范围相应地更大。 C++语言的发展历史与C语言密切相关。C语言由Dennis Ritchie和Brian Kernighan于20世纪70年代在贝尔实验室设计,最初用于编写UNIX操作系统。它的特点是结构化编程、丰富的运算符、高效的代码生成以及良好的可移植性。C++是在C语言的基础上发展起来的,增加了面向对象的特性,如类、继承、封装和多态,使得程序设计更为强大和灵活。 C++的主要特点包括: 1. **结构化编程**:C++支持模块化和结构化的编程,使程序易于理解和维护。 2. **面向对象**:C++引入了类和对象的概念,允许程序员创建复杂的数据结构和行为。 3. **运算符丰富**:C++提供了大量的运算符,包括算术运算符、逻辑运算符和位运算符,以支持复杂的计算。 4. **可移植性**:C++编写的程序可以在不同的计算机平台上运行,只需要少量或无需修改。 5. **灵活性**:虽然C++的语法较为宽松,但这也意味着程序员有很大的自由度来设计程序,这既有利也有弊,对于初学者来说可能需要更多时间去学习和调试。 C++程序设计中,理解整型数据的表示和使用是基础,同时掌握C++语言的历史和特点有助于深入学习和有效利用该语言进行编程。在实践中,开发者应注重程序的结构、效率和可读性,以编写出高质量的代码。
2023-07-08 上传

int main(void) { const unsigned char *point; u16 i=0; delay_init(); //ÑÓʱº¯Êý³õʼ»¯ NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//ÉèÖÃÖжÏÓÅÏȼ¶·Ö×éΪ×é2£º2λÇÀÕ¼ÓÅÏȼ¶£¬2λÏìÓ¦ÓÅÏȼ¶ // uart_init(115200); //´®¿Ú³õʼ»¯Îª115200 LED_Init(); //³õʼ»¯ÓëLEDÁ¬½ÓµÄÓ²¼þ½Ó¿Ú // KEY_Init(); //°´¼ü³õʼ»¯ AT24CXX_Init(); //IIC³õʼ»¯ OLED_init(); point= &picture_tab[0]; TIM_OCInitTypeDef TIM_OCInitStructure; delay_init(); //ÑÓʱº¯Êý³õʼ»¯ NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //ÉèÖÃNVICÖжϷÖ×é2:2λÇÀÕ¼ÓÅÏȼ¶£¬2λÏìÓ¦ÓÅÏȼ¶ uart_init(115200); //´®¿Ú³õʼ»¯Îª115200 LED_Init(); //LED¶Ë¿Ú³õʼ»¯ TIM3_Int_Init(4999,7199);//10KhzµÄ¼ÆÊýƵÂÊ£¬¼ÆÊýµ½5000Ϊ500ms TIM4_PWM_Init(10000-1,72-1); //72M/72=1MHz¼ÆÊýƵÂÊ,ÖØ×°ÔØÖµ while(1) { OLED_ShowString(0,30,"21221054",16); OLED_ShowString(0,15,"2023/5/18",16); OLED_ShowChinese(0,0,0,16,1); OLED_ShowChinese(16,0,1,16,1); OLED_ShowChinese(32,0,2,16,1); delay_ms(1000); OLED_Refresh_Gram(); //¸üÐÂÏÔʾµ½OLED if(++i > 3) { LED1=!LED1;//ÌáʾϵͳÕýÔÚÔËÐÐ i=0; } while(1) { u16 u16tmp; u16tmp += 500; if(u16tmp > 10000) u16tmp=0; //³õʼ»¯TIM4 Channe3 PWMģʽ TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1; //Ñ¡Ôñ¶¨Ê±Æ÷ģʽ:TIMÂö³å¿í¶Èµ÷ÖÆģʽ2 TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable; //±È½ÏÊä³öʹÄÜ TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_Low; //Êä³ö¼«ÐÔ:TIMÊä³ö±È½Ï¼«ÐÔ¸ß TIM_OCInitStructure.TIM_Pulse = u16tmp; TIM_OC3Init(TIM4, &TIM_OCInitStructure); //¸ù¾ÝTÖ¸¶¨µÄ²ÎÊý³õʼ»¯ÍâÉèTIM4 OC3 LED2=!LED2; //LED3=!LED3; delay_ms(300); } } }这段代码问题如下:declaration may not appear after executable statement inblock,TIM OCINITTYPEDEF TIM OCINITSTRUCTURE,请修改这个问题

2023-06-09 上传