9月26日-高级语言程序设计-课程内容(5)

9月26日第四次上课记录



1,程序设计补充

程序设计错误:

  1. 语法错误
  2. 运行错误
  3. 逻辑错误

调试程序:

  • 单步追踪:调试工具逐句执行语句查看结果。
  • 进入或跳过一个函数:可进入一个函数进行单步追踪或跳过函数。
  • 设置断点:可在特定位置设置断点暂停程序。
  • 显示变量值:调试工具可显示一些选定的变量的值,使用单步追踪时这些值会不断变化方便查找bug。
  • 显示调用栈:调试工具跟踪函数条用并列出执行中的函数。
  • 修改变量:调试工具可以在调试过程中修改变量。

2,逻辑运算

运算符 作用 运算数 结合性 优先级
&& 逻辑与 双目 左结合 5
ll 逻辑或 双目 左结合 4
! 逻辑非 单目 右结合 14

C语言不能进行两个以上的判断,要用逻辑运算符来进行。

C语言中的短路原则:条件判断从左到右,遇到能确定结果的条件,就不再继续判断。

3,选择结构

  1. 单分支if
    语法格式:

if(表达式)
语句;


如果表达式成立(非0值),则执行语句。

  1. 双分支if
    语法格式:

if(表达式)
语句1;
else
语句2;


  1. 嵌套if
    1)
    if(条件1)
    if(条件2)
    语句1;
    else
    语句2;
    else
    语句3;
    2)
    if(条件1)
    语句1;
    else if(条件2)
    else if(条件3)

    使用多个if和else时,else会匹配上一个未配对的if。
  2. switch语句
    语法格式:

switch(表达式)
{
case 常量1:语句或语句组1;
case 常量2:语句或语句组2;

case 常亮n:语句或语句组n;
default:语句或语句组n+1;
}


先判断表达式,如果有符合的,就从第一个case开始往下执行全部,如果没有就执行default。

  1. 条件运算符
    语法结构:

表达式1?表达式2:表达式3;


4,随机数

rand函数会产生一个随机数,如果种子不变,产生的随机数就一样。
srand函数可以用于改变随机数种子:void srand(unsigned int seed)
为了保证每次的种子不同,可以使用系统时间作为随机数的种子。time(0)包括在头文件time.h中,rand和srand包含在头文件stdlib.h中。

5,循环结构

  1. while语句
    语法结构:

while(表达式)
语句;


当表达式中为真时,执行后续语句,再次进入循环,如果表达式中为假,则结束循环。
循环体只能包含一条语句,当循环体需要更多的时候使用复合语句。
如果条件一直为真,会出现死循环。
while先判断表达式,再执行语句,所以语句可能一次都不被执行。

  1. do-while语句
    语法结构:

do
{
语句;
}
while(表达式);


需要多条语句时,要用复合语句。
do-while先执行再判断,所以至少会执行一次

  1. for语句
    语法结构:

for(进行初始化;控制循环条件;执行完后计算)
语句;


需要多条语句时,要用复合语句。
for语句时先判断再执行,所以可能一次也不执行。

  1. 循环语句使用要点:
    1)如果循环次数已经知道,使用for。
    2)循环次数不确定使用while。
    3)如果需要检查循环前执行一次,用do-while。

  2. 改变循环流程的方法
    1)break语句
    break语句可以用于跳出switch,while,do-while和for。它用于结束直接包含它的最内层的循环语句。
    2)continue语句
    continue语句可以用于结束switch,while,do-while和for的本次执行,转去再次判定循环条件

  3. goto语句
    goto也称为无条件转移语句,语法格式


goto 语句标号;


语句标号的作用类似标识符,标号后加冒号,用于标识语句。
因为goto容易造成程序混乱,所以一般不推荐使用。

6,数组

数组是一组有序数据的集合,这组数组拥有同一个名字,即数组名。数组中的一个数据称为数组元素,每个元素都有一个唯一的编号,称为下标。每个数组元素的数据类型都是相同的,不能错误摆放。
语法格式


数据类型说明符 数组名[整型表达式]


1)数据类型说明符制定了数组中存放数据的数据类型。
2)数组名的命名规则和变量一样。
3)数组名后面方括号中说明了可以存放的元素个数。
4)数据存放超出空间并不会报警,但是会对存储造成影响。这种行为称为越界,C不能识别。
引用数组时,语法格式


数组名[下标]


1)下标如果是浮点数系统会去掉小数部分。
2)下标范围要合理,超出称为下标越界。
3)一个数组元素的使用方式与同类型的变量一样。
数组的初始化,语法格式


int a [10]={1,2,3,4,5,6,7,8,9,10}


上面是给全部元素赋值,也可以只输入一部分,给前几个赋值。对数组初始化的时候,可以不用写下标,系统会根据所需要的元素自动分配空间

猜你喜欢

转载自blog.csdn.net/weixin_43008400/article/details/82975602