C语言面试题目2

 

全局量可不可以定在可被多个.C文件包含的文件中?

答:可以,在不同的C文件中以static形式来声明同名全局变量。

可以在不同的C文件中声明同名的全局变量,前提是其中只能有一个C文件中对此变量赋初值,此时连接不会出错

 

进程和线程的差别

线程是指进程内的一个执行单元,也是进程内的可调度实体.

与进程的区别:

(1)   调度:线程作为调度和分配的基本单位,进程作为拥有资源的基本单位

(2)   并发性:不仅进程之间可以并发执行,同一个进程的多个线程之间也可并发执行

(3)   拥有资源:进程是拥有资源的一个独立单位,线程不拥有系统资源,但可以访问隶属于进程的资源.

(4)   系统开销:在创建或撤消进程时,由于系统都要为之分配和回收资源,导致系统的开销明显大于创建或撤消线程时的开销。

 

一语句实现x是否为2的若干次幂的判断

int i = 512;

cout << boolalpha << ((i & (i - 1)) ? false : true) << endl;

 

1000!的未尾有几个0

求出1->1000,能被5整除的数的个数n1,能被25整除的数的个数n2,能被125整除的数的个数n3, 能被625整除的数的个数n4.

1000!末尾的零的个数=n1+n2+n3+n4;

 

请编写一个 C 函数,该函数在给定的内存区域搜索给定的字符,并返回该字符所在位置索引值。

int search(char *cpSource, int n, char ch)

{

            int i;

            for(i=0; i<n && *(cpSource+i) != ch; ++i);

            return i;

}

 

用递归算法判断数组a[N]是否为一个递增数组。

int fun( int a[], int n )

{

 int i=1;

 

 if( n==1 )

 return 1;

 

 if( n==2 )

 {

  if(a[n-1] < a[n-2]) return 0;

  else return 1;

 }

 

 if (fun( a,n-1) && ( a[n-1] >= a[n-2] )) return 1;

 else return 0;

 

}

 

 

int main(int argc,char *argv[])

{

int a[5]={1,2,8,4,5};

int i;

i=fun(a,5);

printf("the result is %d/n",i);


 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值