C语言编程基础与常用技巧

需积分: 9 1 下载量 65 浏览量 更新于2024-09-08 收藏 212KB DOCX 举报
“C语言学习笔记,包含了C语言的基础知识,如数据类型、运算符、循环控制结构、函数、随机数生成、求余运算、数组、初始化等。” 在C语言学习中,了解基本概念和语法是至关重要的。首先,Double类型的变量在使用scanf函数输入时,应使用`%lf`作为格式字符串,这是因为`scanf`需要知道如何正确处理浮点型数据。 C语言中的数据类型转换遵循“更大的类型覆盖较小的类型”原则。这意味着如果两个操作数有不同的类型,小的数据类型会转换成大的数据类型,然后进行运算。例如,如果你有一个int和一个long int相加,int会被提升为long int类型。 格式化输出是C语言中的重要部分, `%09.9f` 是一个示例,它表示至少9个字符宽的浮点数,其中前导零填充到宽度9,小数点后保留9位数字。这对于打印整齐的数值非常有用。 循环控制结构是程序控制流程的关键。While语句是基于条件的循环,其结构为: ```c while(条件) { // 循环体 } ``` For语句更常用,它包含初始化、条件检查和更新三部分: ```c for(初始化; 条件; 更新) { // 循环体 } ``` Do-While语句会先执行一次循环体,再检查条件: ```c do { // 循环体 } while(条件); ``` 函数`rand()`是生成随机数的函数,它返回0到RAND_MAX之间的整数,RAND_MAX的值在`<stdlib.h>`头文件中定义。通过`rand() % d`可以将随机数限制在[0, b-1]范围内,`rand() % b + a`则可以调整范围到[a, a+b-1]。 Goto语句是无条件跳转,虽然在结构化编程中不推荐使用,但在某些复杂情况下可能有用。例如: ```c if(条件) goto 标签; // ... 标签: printf("程序结束!"); ``` Break语句用于跳出当前循环或switch语句,而Continue语句则用于结束当前循环迭代,直接开始下一次循环。 数组是C语言中的基本数据结构,例如,声明一个包含5个元素的整数数组`int score[5]`,数组名如`score`实际上是首元素的地址,即一个指针。数组元素可以通过索引访问,如`score[0]`表示第一个元素。 一维数组的初始化可以这样完成: ```c int score[5] = {90, 85, 79, 96, 84}; ``` 静态或外部存储类别的数组如果没有显式初始化,其元素默认会被初始化为0。 二维数组如`short matrix[3][4]`表示3行4列的矩阵。初始化可以逐元素或按行进行: ```c short matrix[3][4] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; short matrix[3][4] = {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}}; ``` 这些基本概念构成了C语言学习的基础,理解和掌握它们是编写高效C程序的关键。