-
while、do-while和for三种循环在具体的使用场合上是有区别的,如下:
1、在知道循环次数的情况下更适合使用for循环;
2、在不知道循环次数的情况下适合使用while或者do-while循环,如果有可能一次都不循环应考虑使用while循环,如果至少循环一次应考虑使用do-while循环。
但是从本质上讲,while,do-while和for循环之间是可以相互转换的,
搜索
复制
查看全部 -
取余运算中注意:
该运算只适合用两个整数进行取余运算,如:10%3 = 1;而10.0%3则是错误的;运算后的符号取决于被模数的符号,如(-10)%3 = -1;而10%(-3) = 1。查看全部 -
C语言中的算法有
算术
赋值
关系
逻辑
三目
查看全部 -
值不发生改变的量称为常量(直接常量、字符常量)
直接常量:直接拿来用的无需说明
整型常量:
实型常量
字符常量
字符串常量
字符常量:要先定义
#define 标识符 常量值
查看全部 -
格式化输出:其格式为:printf("输出格式符",输出项)
%d 带符号十进制整数
%c 单个字符
%s 字符串
%f 6位小数
查看全部 -
基本数据类型:四种1、基本类型(整型、字符、浮点(单精度、双精度))2、构造类(枚举、数组、结构体、共用体)3、指针类型4、空类型
数据类型
char
int
float
double
查看全部 -
表头的源文件还有text.c要修改,将text.c里的函数前面加上static
查看全部 -
第一个是错的
因为C语言规定 不可以用static 做形参
为什么这么规定,是因为没必要
静态局部变量的特点,是生存周期不被函数限制
每次调用函数时,静态变量还是上次退出的值。 除此外 和普通局部变量没区别
而参数, 每次调用的时候, 形参的值其实就是实参决定的
换句话说,每次调用函数, 形参都会被重新初始化或者说赋值
这样的话, 用static就没什么意义了,以为完全没机会保留上次的值,必然会被重写的。
既然没意义,C就规定了,形参不许static
第二个.是对的
第三个你中间等号代表什么 值相等 还是语法
第四个对的
查看全部 -
第17行 "printf("x=%d\n",x)"可以换成fn();
查看全部 -
17行 printf("x=%d\n",x)可以换成fn();
查看全部 -
17行 printf("x=%d\n",x)可以换成fn();
查看全部 -
释放是什么意思
1.动态是随程序函数使用而结束,随时可能会释放掉。,静态会一直存储到程序结束,随时可以调用。2.就是销毁,比如一个函数里面{int i=1 i++;}然后i出来就变成2但是当第下次调用这个函数的时候i=2这个值就被释放了(也就是销毁)然后i又被初始化变成了1但是如果是静态的{static int i= 1 i++}函数被第一次调用后i的值为2第二次调用的时候i等于2不被释放(也就是不被销毁)所以i此时的初始值为2这次出来变成3,下次出来变成4以此类推
查看全部 -
这里的int x=100;是外部变量
查看全部 -
范例2中"static int x= 0;"运行所遵守的规则如下:
注意:静态局部变量属于静态存储类别,在静态存储区内分配存储单元,在程序整个运行期间都不释放;静态局部变量在编译时赋初值,即只赋初值一次;如果在定义局部变量时不赋初值的话,则对静态局部变量来说,编译时自动赋初值0(对数值型变量)或空字符(对字符变量)。
查看全部 -
对于void fn1(): 原因是当函数不需要返回值值时,必须使用void限定。例如:void func(int a,char *b)。
查看全部 -
输出:fnl(): x=77 的原因如下:
17行的fn1()调用了第三行。
查看全部 -
1.
代码块作用域主要靠 { }来区分.
因此 if里面是一个作用域 ,在main里面 原本的x指向同一内存地址,只要是改变,x就会改变,后来加了int说明在if作用域重新开辟一个内存地址x,此时是另一个内存地址,main里面第一个x的内存地址由于命名相同被隐藏,不作用于if作用域中,但是作用于main之中,所以才会有了这种情况
查看全部
举报