C语言程序设计教学
C语言程序设计教学
结构化设计程序
1.if语句
单分支结构:if…
双分支结构:if…else…
多分支结构:if…else if…else…
2.switch条件语句(条件语句)
3.break语句(跳转语句)
终止当前循环,执行循环体外的第一条语句
4.continue语句(跳转语句)
中止本次循环,并继续执行下一次循环;
break语句可以用于switch语句,而continnue不可以;
5.goto语句(跳转语句)
break语句出现在嵌套循环中的内层循环,只能跳出内层循环;如果想跳出外部循环则需要对外层循环添加标记,然后使用goto语句。
6.while循环语句与 do…while循环语句
循环条件的值非0,循环体就会被执行;循环体执行完毕时会继续判断循环条件,知道循环条件的值为0时,整个循环过程才会结束。 do…while循环语句与之类似。
不同的是,do…while循环体先执行后判断(while先判断后执行)
数组
1.一维数组
(1)定义:数据类型 数组名[常量表达式];
eg:int array[5]; (占据内存大小为:5*sizefo(int))
(2)初始化常见方式:
方式 | 举例 |
---|---|
直接对数组中所有元素赋值 | int s[4]={1,2,3,4}; |
手机 | int s[5]={1,2} ; (其他元素的值会被默认设置为零) |
导管 | int[]={1,2,3} (系统会根据赋值号右边初始值列表给出的初值个数自动设置数组的长度) |
(3)引用方式:数组名[下标];
(4) 数组的非法操作
-
不能用已经初始化的数组为另一个数组赋值
eg:int a[3]={1,2,3}; int b[3]; y=x;
-
不能对数组进行整体的输入输出,必须以元素为单位进行操作
-
printf()和scanf()只支持字符数组整体的输入输出
-
数组和数组之间不能进行比较,也不能进行运算
2.二维数组
(1)语法格式:类型说明符号 数组名 {常量表达式1}{常量表达式2};
(2)初始化
二维数组的第一个下标可省略,第二个下标不可省略
数据类型与运算符
1.变量的数据类型 :整形变量,实型变量,字符型变量,枚举类型变量; (单引号内只可以存放转义字符、一个字符)
数据类型 | 所占字符数 |
---|---|
char | 1个字节 |
int | 4个字节 |
short | 2个字节 |
2.printf()函数与scanf()函数
(1) 常用printf()函数格式字符
用格式字符 | 含义 |
---|---|
%s | 输出一个字符串 |
%c | 输出一个字符 |
%d | 以十进制输出一个有符号整型 |
%u | 以十进制输出一个无符号整型 |
%f | 以十进制输出一个浮点数 |
- sizeof运算符可以获取数据字节数 : sizeof(数据类型名称或变量名称)
- eg:printf(“int: %d字节\n”,sizeof(int));
- 格式字符串一般形式:[标志][输出最小宽度][.精度][长度]类型
(2) scanf()函数
功能:接收用户输入,也可以通过格式控制字符控制用户输入
接收的是变量的地址
- scanf("%d,%d",&a,&b) 输入数据用逗号隔开
- scanf("%d%d",&a,&b) 输入数据用空格隔开
(3)算数运算符优先级
(4)位运算符
(5)关系运算符
(6)三目运算符
表达式1?表达式2:表达式3(若1为真,则为2,否则为3)
条件运算符方向:自右向左
eg:a>b?a:c>d?c:d应理解为a>b?a:(c>d?c:d),这也是三目运算符的嵌套