一、程序的基本结构:顺序结构、选择结构(判断结构)、循环结构
c语言属于结构性语言
1、顺序结构
一个实际程序由若干语句组成,一条语句编译后产生若干条机器指令
一个函数由声明部分和执行部分组成,声明部分的内容不称为语句,不产生机器操作,只对变量定义
一个才程序由若干源程序文件组成,一个源文件由若干个函数和预处理部分以及全局变量声明部分组成
c语言语句分为:
(1)控制语句
if......else.....
switch
for()......
while().....
do.....while()
continue
break
return
goto
(2)函数调用语句
printf("This is a book!");实质是条用printf函数
(3)表达式语句:在一个表达式后面加一个分号
(4)空语句:只有一个分号
(5)复合语句:把一些语句用{}括起来
2、赋值表达式和赋值语句
(1)赋值运算符:“=”
(2)符合赋值运算符:“+=”、“-=”、“*=”、“/=”、“%=”
(3)赋值表达式:讲一个变量和一个赋值表达式结合起来
形式:变量 赋值运算符 表达式
(4)赋值过程中的类型转换
a、如果赋值运算符两边的类型一致,则直接进行赋值
b、将实型数据赋给整形变量:先对实数取整,然后赋值
c、将整形数据赋给单、双精度型变量:数值不变以实数的形式存储到变量中。如23,float为23.000000,doublefloat为23.00000000000000
d、字符型数据赋给整形变量:将字符的ASII码赋给整形变量
f、将一个占字节多的整形数据赋给一个占字节少的整形变量或字符变量:只将其低字节原封不动的送到该变量
g、无符号数据与有符号数据之间的赋值
(a)将有符号正数赋值给长度相同的无符号整形变量
按字节原样赋值(连原有的符号也作为数值一起),数据会失真
(b)将无符号正数赋值给长度相同的有符号整形变量
不要超过有符号整形变量的范围,否则出错
3、数据的输入输出的概念
(1)所谓的输入输出是以计算机主机为主体而言的
(2)c语言本身不提供输入输出语句,由函数实现
(3)在使用系统库函数时,要在程序中使用预编译命令#include
目的是将有关头文件包含到源文件中,才能在源文件中调用头文件中的函数
头文件有两种形式:< >是标准方式,直接在头文件的子目录中找所要的文件
“ ”是按照用户当前目录中找要包含的文件,找不到,再通过标准方式找
4、字符数据的输入输出
(1)用putchar函数输出一个字符
(2)用getchar函数输入一个字符
5、简单的格式输入输出
(1)printf函数输出数据
(2)scanf函数输入数据 (详细见c语言概述)
6、较复杂的输入输出格式控制
(1)%md :用来指定输出数据的宽度,m是指定宽度,若实际位数小于m,则在其前用空格补齐,若大于m,则按实际位数输出
(2)%ld :输出前加英文l ,long int
(3)%o :以八进制整数形式输出
(4)%x :以十六进制形式输出整数
(5)%u :输出无符号整形数据
(6)%mc:用来输出指定字符数据的宽度
(7)%ms:用来输出字符串占m列,若实际位数小于m,则在其前用空格补齐,若大于m,则按实际位数输出
(8)%-ms:如果串长小于m,则在m范围内,字符串向左靠,右补空格
(9)%m.ns:输出占m列,只取字符串中左端n个字符,这n个字符放在输出右侧,左侧补空格
(10)%-m.ns:输出占m列,只取字符串中右端n个字符,这n个字符放在输出左侧,右侧补空格
(11)%m.nf:输出实数共占m列,小数n位,长度小于m,左端补空格