嵌入式Linux C 学习笔记(2)

break 语句的用法:跳出switch语句块,也可以来跳出循环体。

continue语句的用法:终止当前循环后又回到循环体的开头执行下一次循环

素数的算法:

for(i=3;i<=sqrt(n);i+2)

{

if(prime[i])

for(j=i+1;j<=n;i+=i)prime[j]=false;

}

数组下表的方式:

count【o】=7;

count【1】=count【0】*2;

++count【2】;

这种表示方式,不仅可以表示存储单元的值,同时,也可以表示存储单元自身,也就是说可以作为左值。

不能用数组对数组进行赋值或者初始化,同时,也不能用数组类型作为函数的参数或返回值。

当数组类型做右值使用时,自动转换成指向数组元素首元素的指针。所以在传递数组时,是传递的是一个指针。(是指针类型,而不是数组类型)

#include<stdio.h>
 20 #include<stdlib.h>
 21 #include<time.h>
 22 int main(int argc, char **argv)
 23 {
 24     char gesture[3][10] = { "scissor", "stone", "cloth" };
 25     int man, computer, result, ret;
 26     srand(time(NULL));      //设置随机数种子
 27     while (1) {
 28     computer = rand() % 3;
 29     printf("\ninpute you gesturre");
 30     printf("(0-scissor 1-stone 2-cloth):\n");
 31     ret = scanf("%d", &man);
 32     if (ret != 1 || man < 0 || man > 2)
 33         printf("invalid input\n");
 34     return 1;
 35     printf("you:%s\t computer:%s\n", gesture[man], gesture[computer]);
 36     result = (man - computer + 4) % 3 - 1;
 37     if (result > 0)
 38         printf("you win!\n");
 39     else if (result == 0)
 40         printf("draw!\n");
 41     else
 42         printf("you lose!\n");

}
 44     return 0;
        }                   

gdb的基本命令:

bt(backtrace) 查看各级函数调用及参数

finish                      连续运行到当前函数返回为止,然后停下来等待命令

f(fram)              选择栈帧

info(i)   locals   查看当前栈帧局部变量的值

l                                列出源代码,每次10行

list 行号                  列出从第几行开始的源代码

list 函数名              列出某个函数的源代码

next                        执行下一条语句

print                        打印值p

quit                         退出gdb

set var                    修改变量的值

start                        开始执行语句,停在main函数第一行语句前面等待命令

run    (r)             运行程序到结束

step    (s)          执行下一条语句,如果有函数则进入函数的内部

break(b)          在某一行设置断点

break 函数名       在某个函数开头设置断点

break    if              设置条件断点

continue (c)     从当前位置开始连续运行程序

delete breakpoints /断点号  删除断点

display 变量名      跟踪查看某个断点,每次停下来都显示它的值

undisplay 跟踪显示号    取消跟踪显示

info(i) breakpoints(b) 显示断点信息

disable breakpoints 断点号   禁用断点

x 命令打印存储单元的内容,例如   x/7b b表示每个字节的一组,7 表示打印7组。

watch                  设置观察点

info(i)watchpoints 查看当前设置了那些观察点

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wwsfdf.html