欢迎光临散文网 会员登陆 & 注册

C语言

2023-01-14 19:18 作者:泡椒芝士plus  | 我要投稿


哨兵字符:出现在字符串末尾的附加字符,他的值为\0,占用一个字符位置,作为结尾,在此处停止。


1.为什么字符从0开始编号,不是1?


答:字符的索引值是一个偏移量,它表示的是要引用的这个字符到数组第一个字符中间有多少字符


2.为什么要这样做?


答:因为计算机在存储器中以连续字节的形式保存字符,并利用索引计算出字符在存储器中的位置。假如计算机知道c【0】位于存储器10号单元,那么c【3】就可以很快计算出在10+3这个单元。


3.哨兵字符的意义?


答:C语言是比较的底层的语言,他通常不知道字符串的长度,字符串是个数组。


4.C语言知道数组的的长度吗?


答:不知道。通过编译器分析代码来计算出数组的长度。


5.单、双引号的区别?


答:单引号通常用来表示单个字符,双引号通常用来表示字符串


6.用双引号定义字符串,还是以显式字符数组的形式定义字符串?字符串字面值和字符数组的区别?


答:通常应该用双引号来定义字符串。用双引号定义的字符串叫字符串字面值(string literal),比起字符数组,它输入起来也更方便。


区别:字符串字面值是常量。


二 指针和存储器


指针:就是存储器中某条数据的地址


指针读写数据


a.得到变量的地址


1.%p:获得地址以16进制输出


2.&x:找到变量在存储器中的位置


3.指针变量:保存存储器地址的变量


int *address_of_x=&x;(这是一个指针变量,它保存的是一个地址)


b.读取地址中的内容


有了存储器地址,读取数据: int value_stored=*address_of_x;


*:保存地址,读取数据


&:接收数据,读取数据的地址

三 循环语句

1.Switch语句:有限次条件中的判断,判断某个具体的数值,而非判断条件来做出下一步选择。

switch case break,遇到break立即退出,漏掉break会让代码出错,在每个case后面跟break,这样即使会损失效率,但能提升可读性。

2.While语句:最基本的循环结构,只要条件为真,while就会一直运行代码。

   Do while语句:做出一个行为之后再进行循环。

int counter = 1;(这是循环启动代码)

while (counter < 11) {(这是循环条件)

printf("%i个枣\n", counter);

counter++;(这是循环更新代码,它用来在循环体的末尾更新计数器)

3.For循环语句:

int counter;

for (counter = 1; counter < 11; counter++) {  (初始化循环变量;每次循环执行前对条件

进行检查的代码;每次循环后运行的代码)

printf("%i个枣\n", counter);

break语句:可以用来退出循环语句和switch语句,break不能从if语句中退出。


C语言的评论 (共 条)

分享到微博请遵守国家法律