C_基础_第三章基本语句与顺序结构程序设计
一.语言程序的基本语句
表达式语句、函数调用语句、控制语句、复合语句、空语句。
复合语句:一般的认为是将多条语句复合成一条语句去逐语句执行
- 增强可读性
- 控制语句想控制多行语句时 就得加{}
- 在以后 我们认为{} 代表作用域({}中的内容作用于哪一个区域)
二.数据的输入输出
C语言中数据的输入、输出是由函数来实现的。
格式输入输出函数 printf( )和 scanf( )
字符输入输出函数 putchar( )和getchar( )
1.缓冲区
缓冲区:用于临时存储数据的区域 由系统控制(键盘缓冲区)
当我们执行一个复杂的程序时, 可能会有多个输入 且不是同时输入的,程序在编译时,就会了解一共需要输入多少个数据 当程序段执行到输入时 就会从键盘缓冲区拿数据 且是一一对应的去拿 而不是边输入边执行 所有的输入内容都会记录在缓冲区中 运行前分配 程序运行结果或者全部读取后释放(只要缓冲区内有数据,缓冲区就不会被释放) 程序会先从缓冲区去读取内容 如果缓冲区数据不够用 就会使控制台停下来 等待用户继续输入 如果够用 就会一直执行下去 控制台不会阻塞 回车代表给缓冲区送入数据程序开始读取缓冲区内记录的内容。
所有从控制台读取到的数据 都是字符串。
2.格式输出函数: printf( )函数
头文件:stdio.h
功能:将字符串中的内容打印到控制台中
格式: printf(“格式控制字符串”[ , 输出表列] );
格式控制: 由双引号括起来的字符串, 用于指定输出格式。
普通字符: 按原样输出的字符
格式说明: 用来指定需输出数据的输出格式 形式: %[ 修饰符 ]格式字符
输出表列: 需要输出的数据列表,彼此间用逗号分隔, 可以是任意合法的表达式。
2.1.用于输出的修饰符

2.2.用于输出的格式字符

注意:输出表列可以是任何可以计算出结果数据
但是格式符与类型必须一致 除%d %c(0-127)
当格式说明个数<输出项时,多余的输出项不予输出。
当格式说明个数>输出项时,输出不定值
d格式符
作用: 输出一个带符号的十进制整数(正数不输出符号)
格式: ① %d ② %md ③ %ld 其中:
%d—按整型数据的实际长度输出;
m—字段宽度;(大于字符长度时:正数有对齐补空格,负数左对齐补空格。小于字符长度时,按字符本身输出)
%ld—输出长整型数据
%hd—输出短整型数据
c 格式符
作用: 用来输出一个字符
一个整数,如果在0~127之间,也可用字符形式输出,系统会将该整数转换成对应的ASCII码字符
s 格式符
作用: 用来输出一个字符串
格式: ① %s ② %ms ③ %m.ns 其中:
m—输出的字符串占m列;
n—输出字符串中左端n个字符
f 格式符
作用: 以小数形式输出单、双精度实数。
格式: ① %f ② %m.nf 其中:
%f—整数部分全部输出, 隐含输出6位小数。
m—字段宽度(整数、小数位数、数符、小数点)
n —小数位数的个数, 如: %12.4f
s 格式符
作用: 以标准化的指数形式输出实数(小数点前必须有而且只能有一位为非0数字)。
格式: ① %e ② %m.ne
%e —默认输出6位小数
m—字段宽度(指数部分占5列)
n —小数部分的位数
我们往变量中赋值的方式:
- 程序内直接赋值 a=7;
- 从控制台读取 scanf
- 从文件读取 fscanf
- 从已有的变量中读取 sscanf
八进制 十六进制数字没有负数 %o %x 来输出整型数 默认输出的是无符号数
除 X, E, G 格式符外, 其他格式符必须用小写字母。
3.格式输出函数: scanf( )函数
功能:按格式控制所规定的格式, 从指定的输入设备(一般为键盘)上把数据输入到指定的变量中。
格式: scanf(“格式控制”,地址表列 );
格式控制: 普通字符: 需原样输入的字符, 通常不使用。
格式说明: 用于指定需输入数据的输入格式
形式: %[ 修饰符 ] 格式字符
地址表列: 给出各变量的地址 “
地址是由“&”运算得到的
“&”是取地址运算符, 得到变量在内存中的地址。单目运算符,右结合性。
当格式符的个数少于参数列表个数时,多余的将忽略。
当格式符的个数多于参数列表的个数时候,将输出不确定的值。
3.1修饰符

3.2格式符

3.3格式输出使用与注意
(1)输入数据时采用的分隔符应与格式控制中的分隔符一致。格式控制中无普通字符时, 输入数值型数据可用空格、Tab键、回车键作分隔符。
(2) 输入数据时不可规定精度, 但可指定宽度。
(3)输入格式符带有*,表示该数据不赋值。
(4)用C格式符输入字符时,任意字符均为有效字符
(5)无符号数可用 %d、%o、%x 格式输入
(6)在下列情况下可认为数据输入结束: (1)遇空格、回车、 Tab键;
(2)遇宽度结束;
(3)非法输入。
|
遇到空格、回车键、TAB键读取结束 |
遇到异常字符结束 |
指定宽度结束 |
|
|
%s |
yes |
no |
yes |
|
%d%o%x%u%f |
yes |
yes |
yes |
|
%c |
no |
no |
yes |
4 字符输入、输出函数
字符输入函数
格式: putchar( c );
功能: 向终端输出一个字符
说明: C为参数, 可以是字符型变量、整型变量、字符型常量、表达式或转义字符, 但只能是单个字符而不能是字符串。
例如:
-
-
-
#include <stdio .h> void main( ) { char a =’O’ ; int b=75; putchar( a ); putchar( b ); }
-
-
字符输入函数
格式: getchar( );
功能: 从键盘读入一个字符 char ch = getchar( );
说明: 只能读取一个字符 该字符可赋给字符变量、整型变量或作为表达式的一部分。
例如:
-
-
-
#include <stdio .h> void main( ) { char c ; c=getchar( ); putchar(c); }
-
-

浙公网安备 33010602011771号