参考国二《C语言程序设计2020年版》教材自学笔记
声明:该笔记仅为个人笔记,通过教材的自主学习从而进行选取干货部分摘录和个人见解分析,如有不足请多指教,该笔记不做商用化!个人笔记会同步CSDN博客和B站。
第三章 数据结构(下)
3.3 数据输入
① scanf函数是C语言提供的标准输入函数,其作用是从终端键盘上读入数据。
3.3.1 scanf函数的一般调用形式
scanf(格式控制,输入项1,输入项2,…)
scanf("%d%f%lf", &k, &a, &y);
① scanf是函数名,双引号括起来的字符串部分为格式控制部分,其后的 &k,&a,&y为输入项。
② 格式控制的主要作用是指定输入时的数据转换格式,即格式转换说明。
③ 对于int、float、double型变量,在变量之前必须加“&”符号作为输入项(“&”是C语言中的求地址运算符,输入项必须是地址表达式)
3.3.2 scanf函数中常用的格式说明
① 由于输入是一个字符流,scanf从这个流中按照格式控制指定的格式解析出相应数据,送到指定地址的变量中。因此当输入的数据少于输入项时,运行程序将等待输入,直到满足要求为止。当输入的数据多于输入项时,多余的数据在输入流中没有作废,而是等待下一个输入操作语句继续从此输入流读取数据。
3.3.3 通过scanf函数从键盘输入数据
① 只要能把数据正确输入,就可以按任何形式添加间隔符。
② 数字之间不需要间隔符,若插入了间隔符,系统也将按指定的宽度来读取数据,从而会引起输入混乱。除非数字是“粘连”在一起,否则不提倡指定输入数据所占的宽度。
③ 可以在“%”和格式字符之间加入“ * ”,作用是跳过对应的输入数据。
④ scanf函数中的格式控制字符串是为了输入数据用的,无论其中有什么字符,也不会输出到屏幕上,因此如果想在屏幕上输出提示信息,应该首先使用printf函数输出,例如:
int x,y,z;
scanf("Please input x,y, z,:%d%d%d",&x,&y,&z);
屏幕上不会输出“Please input x,y,z:” 要求输入数据时按照一一对应的位置原样输入这些字符,必须从第一列起以下面的形式进行输入:
Please input x,y,z :12 34 56
包括“Please input x,y,z:”中字符的大小写、字符间的间隔等必须与scanf中的完全一致。这些字符又被称为通配符。
⑤ 需要提醒的是,为了减少不必要的麻烦,尽量不要使用通配符。
3.4 复合语句和空语句
3.4.1 复合语句
① 在C语言中,一对花括号“{}”不仅可用作函数体的开头和结尾的标志,也可用作复合语句的开头和结尾的标志,复合语句也可称为“语句块”。
② 用一对花括号把若干语句括起来构成一个语句组。一个复合语句在语法上视为一条语句,在一对花括号内的语句数量不限。
③ 在复合语句中,不仅可以有执行语句,也可以有定义部分,定义本复合语句中的局部变量。
3.4.2 空语句
① 如果只有一个分号,这个分号也是一条语句,称为“空语句”,程序执行时不产生任何动作。
3.5 程序举例
① 在scanf函数中给double类型变量输入数据时,应该使用 %lf格式转换说明符,而输出时,对应的格式转换说明符可以使 %lf,也可以用 %f。
文章末尾,祝参加全国计算机等级考试(NCRE)二级的各位朋友能够顺利过关!!!