基本C语言基础题

     1   .  用预处理指令#define  声明一个常数,用以表明1 年中有多少秒(忽略闰年问题)  #define  SECONDS_PER_YEAR   (60   *  60  *  24  *  365)UL   我在这想看到几件事情:     #define  语法的基本知识(例如:不能以分号结束,括号的使用,等等)   懂得预处理器将为你计算常数表达式的值,因此,直接写出你是如何计算一年中 有多少秒而不是计算出实际的值,是更清晰而没有代价的。 意识到这个表达式将使一个 16位机的整型数溢出‐ 因此要用到长整型符号L, 告诉编 译器这个常数是的长整型数。 如果你在你的表达式中用到 UL(表示无符号长整型),那么你有了一个好的起点 。

     2.   用变量a 给出下面的定义 

a)   一个整型数(An  integer )  

b) 一个指向整型数的指针(  A  pointer   to   an  integer ) 

c) 一个指向指针的的指针,它指向的指针是指向一个整型数(  A  pointer   to   a   pointer   to  an  intege )r  

d) 一个有10个整型数的数组(  An  array  of   10  integers ) 

e)   一个有10个指针的数组,该指针是指向一个整型数的。(An  array  of   10  pointers  to  integers )  

f)   一个指向有 10个整型数数组的指针(  A  pointer   to   an  array of   10  integers ) 

g)   一个指向函数的指针,该函数有一个整型参数并返回一个整型数 (A  pointer   to   a   function   that   takes  an  integer   as  an  argument  and   returns  an   integer )  

h) 一个有10个指针的数组,该指针指向一个函数,该函数有一个整型参数并返回一个整型 数 (  An  array  of   ten   pointers  to   functions   that   take   an  integer   argument   and   return   an  integer   )    

答案是:   a)   int  a;   //   An  integer   

b)   int  *a; //   A pointer   to   an  integer   

c)   int  **a;  //   A  pointer   to   a   pointer   to   an  integer  

d)   int  a[10];  //   An  array  of   10  integers   

e)   int  *a[10];   //   An  array  of   10  pointers  to   integers  

f)   int  (*a)[10];   //   A  pointer   to   an  array  of   10  integers   

g)   int  (*a)(int);   //   A  pointer   to   a   function   a that  takes  an  integer   argument   an   d   returns   an  integer    h)   int  (*a[10])(int);  //   An  array  of   10 pointers  to   functions   that  take   an   integ   er   argument   and   return   an  integer

 

3.   关键字static 的作用是什么?

       在C 语言中,关键字static 有三个明显的作用: 在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。 在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访 问,但不能被模块外其它函数访问。它是一个本地的全局变量。 在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。那就是 ,这个函数被限制在声明它的模块的本地范围内使用。

4 .关键字const 有什么含意?

const 意味着“只读”

下面的声明都是什么意思? 

const  int  a;   int  const  a;  

const  int  *a;  

int  *  const  a;  

int  const  *  a  const;

前两个的作用是一样,a 是一个常整型数。第三个意味着 a 是一个指向常整型数的指针(也就是,整型数是不可修改的,但指针可以)。第四个意思 a 是一个指向整型数的常指针(也就是说,指针指向的整型数是可以修改的,但指针是不可修改的)。最后一个意味着 a 是一个 指向常整型数的常指针(也就是说,指针指向的整型数是不可修改的,同时指针也是不可修改的)。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值