C语言 C语句
一、C语句
定义
- C程序是以函数基础为单位的。
- 一个函数的执行部分是由若干语句构成的
- C语句都是用来完成一定的操作任务
- C语句必须依赖函数存在
二、C程序结构
三、C语句分类
3.1 控制语句
作用:用来完成一定的控制功能
举例:
if..else..、for..、while..、do..while、continue、break、switch、return、goto
3.2 函数调用语句
由一个函数调用 + 分号组成,例如:
printf("这是一个函数调用语句");
test();
3.3 表达式语句
由一个表达式+分号组成,最典型的表达式语句就是赋值语句,例如:
a = 3 // 表达式
score >= 90 // 表达式
score = 90; // 表达式语句
3.4 空语句
只有一个分号,什么都不做,例如:
;
for(;;)
3.5 复合语句
用(...)括起来的若干个语句,例如:
{z = z +y;t = z / 100;printf("%f\n",t);// 超过1条语句就是复合语句
}
四、数据的输入与输出
4.1 输入输出机制
数据的输入与输出是相对而言的,其中:
- 从计算机向外部设备输送数据称为输出(output)。通常的输出设备包括:显示器、打印机等。
- 从外部设备项计算机输送数据称为输入(input)。通常的输入设备包括:键盘、鼠标、扫描仪等。
注:(1)在C语言中,输入与输出需要使用标准的输入输出库(stdio.h)中的函数,如:scanf()输入函数,printf()输出函数。(2)在使用系统库函数的时候,需要用预处理指令 #include 将有关的头文件包含到用 户资源文件中(一般放在程序的开头位置)头文件中包含了调用函数时需要的有关信息,具体的函数实现在编译的时候再去链接对应的系统库。
库函数已经被编译成了目标文件内置于编译系统,在链接时与编译源程序得到的目标文件相链接,生成可执行程序。
4.2 scanf()输入函数
语法:
scanf("格式控制",地址列表);
注意:地址列表不能传变量,常量,表达式,只能传与之对应的内存地址(首地址)、如果实普通变量、通过&+变量名 获取变量地址。
举例:
int a = 10; //定义了一个变量a
scanf("%d",&a); &在这里称作 取地址符,(博主的运算符那篇博客对&介绍过)&a的意思是获取变量a对应的内存地址(首地址)
作用:
将键盘输入的数据存入内存的单元里,存储单元有地址标识。
参数:
- 格式控制:含义等同于printf函数的格式控制,说明输入的数据应该使用的格式。
- 地址列表:是由若干个地址组成,可以是变量的地址或者字符串的地址。&是取地址符号,用于取出变量的地址。与格式化输出一样,在格式控制中,用于说明数据格式的格式说明符以%开头,后面紧跟具体的格式。
案例:
需求:从键盘输入整数给变量a,b,c赋值
代码:
#include <stdio.h>int main()
{ int a,b,c; //定义三个变量//每次使用scanf()时,提示一下。printf("请输入3个整数:"); scanf("%d%d%d",&a,&b,&c);//测试输出printf("a=%d,b=%d,c=%d",a,b,c);return 0;
}
结果:
总结:输入多个数据的时候可以用空格、Tab键、回车键中的任意一种。
如果:
scanf("%d,%d,%d",&a,&b,&c);
那么输入的时候加上 (,) 逗号:
说明:
- scanf函数中的“格式控制”后面应当是变量的地址,由取地址符&和变量名共同组成, 举例:
scanf("%f%d", &a, &b);
- 如果“格式控制”中除了格式说明以外还有其他字符,则在输入数据时必须在对应位置输入与之相同的字符,举例:
scanf("%d,%d",&a, &b);
- 从键盘录入数据的时候,使用格式控制中的逗号分隔: 3,4
scanf("%d-%d-%d",&year, &month, &day);
- 从键盘录入数据的时候,使用格式控制中的短横线分隔: 2025-7-11
scanf("%d年%d月%d日",&year, &month, &day);
- 从键盘录入数据的时候,使用格式控制中的年月日分隔: 2025年7月11日
用 %c 格式输入字符时,转义符(如: \n , \t 等)都作为有效字符输入,应注意:
scanf("%c%c%c", &a, &b, &c);
- 对于 unsigned 型变量所需的数据,建议用 %u 格式输入;若用 %d ( signed int ),需确保输入值在 int 范围内(否则可能溢出)