北理c语言小蜜蜂题目,北理工c语言单项选择题(示例代码)

1.在函数中,只要说明了变量,就可为其分配存储单元

error:如auto和register类型的变量在定义它的函数被调用时才被分配存储单元

auto:默认的局部变量存储方式,(这种变量定义时在动态存储区被分配空间),使用完毕后(比如函数结束),被系统回收,整个过程是系统管理的,所有称为自动变量

register:寄存器存储方式,(通常变量都被存储在内存里,使用时被读入CPU处理,但这会耗费时间),如果某个变量使用频率极高,如循环控制变量,则可以使用该关键字将这个变量放入CPU内部的寄存器中以提高操作速度,不过,由于CPU寄存器是有限的,所以,(只有自动变量和形参才可以被设置为寄存器变量,而且有数量限制)

static:这个关键字定义的局部变量被放置在静态存储区,即使在函数调用结束后,其内存空间也不会被回收,而且保持原值,这样,下次函数被调用时,访问的仍然是同一个变量,静态变量只在编译阶段初始化一次。虽然static定义的变量不会被回收,但是如果它修饰的是局部变量,所以使用它的只能是定义它的函数,其它函数无法使用

全局变量被存储在静态存储区,分为两种:

内部全局变量区,用static声明,其作用域为本cpp文件,其它文件不能使用

外部局部变量,不加任何声明的全局变量默认为外部全局变量 1.如在本cpp中使用,直接使用n即可,如跨文本使用,需要使用前用extern int n声明一次,这个声明并不会产生新变量

只是说明n在其他cpp中

2.不用参数交换变量x和y的值

func (int *x, int *y)

{

*x=*x+*y;*y=*x-*y;

*x=*x-*y;

}

3.实现字符串的复制

func(char *s1,char *s2)

{

while(*s1++=*s2++);

}

4

fgetc():函数返回来自(FILE *)stream流中的下一个字符,如果达到文件尾或者发生错误时返回EOF

rewind()把文件指针移到由stream(流)指定的开始处,同时清除和流相关的错误和EOF标记

ftell:返回stream流的当前位置(long),如果发生错误返回-1

fseek:为给出的流设置位置数据,int fseek(FILE *stream,long offset,int origin)(在stdio.h中定义)

如fseek(fp,-10,1)将文件指针fp从当前位置向文件首方向移动10个字符

将文件(F根目录)f1的内容先在屏幕上显示,然后复制到(F根目录)f2

#include

#include

int main()

{

FILE *fp1,*fp2;

if((fp1=fopen("F:\\f1.txt","r")) == NULL)//必须有新文本存在

{

printf("Cannot open f1\n");

exit(0);

}

if((fp2=fopen("F:\\f2.txt","w")) == NULL)//文本如无,则创建新的文本

{

printf("Cannot open f2\n");

exit(0);

}

while(!feof(fp1))

putchar(fgetc(fp1));

rewind(fp1);

while(!feof(fp1))

fputc(fgetc(fp1),fp2);

fclose(fp1),fclose(fp2);

return 0;

}

5

#include

void aaa() {printf("hi");}

void bbb(){printf("hello");}

void ccc(){ printf("bye");}

int main()

{

void (*p[3])() = {&aaa,&bbb,&ccc};//指针数组引用三个函数

return 0;

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值