这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » DIY与开源设计 » 电子DIY » 敢不敢测测你的C语言功底?

共17条 1/2 1 2 跳转至

敢不敢测测你的C语言功底?

工程师
2012-02-17 12:49:59     打赏

      大家一定都在等STM32的开发板吧,我也在等,呵呵,玩遍各种开发板的时候,你是否忘了修练内功呢?

       会C语法与会用C语言写程序是两个概念,C的灵活性以及由此而产生的陷阱非常非常多,敢不敢测测自已的C语言功底?欢迎跟贴讨论下面的问题:

1、 用a给下面变量定义:
     a) 一个整型数

     b) 一个指向整型数的指针(A pointer to an integer)
     c) 一个指向指针的的针,它指向的指针是一个整型数
     d) 一个有10个整型数的数组|
     e) 一个有10个指针的数组,该指针是指向10个整形数的
     f) 一个指向函数的指针,该函数有一个整型参数并返回一个整型数
     g) 一个有10个指针的数组,该指针指向一个函数,该函数有一个整型参数并返回一个整型数

2、关键字static的作用是什么?


3、关键字const是什么含意?


4、关键字volatile有什么含意?


5、嵌入式系统总是要用户对变量或寄存器进行位操作。给定一个整型变量a,写两段代      码,      第一个设置a的bit 3,第二个清除a的bit 3。在以上两个操作中,要保持其它位不变。


6、嵌入式系统经常具有要求程序员去访问某特定的内存位置的特点。在某工程中,求设置一绝对地址为0x67a9的整型变量的值为0xaa66。编译器是一个纯粹的ANSI编译器。写代码去完成这一任务。

7、中断是嵌入式系标中的重要的组成部分,这导致了很多编译开发商提供一种扩展让标准备C支持中断,具体代表是产生了一个新的关键字__interrupt。下面的代码就使用了__interrupt去定义一个中断服务程序,请评论一下此代码的。

__interrupt double compute_area (double radius)

{

 double  area  =  PI * aadriuas* radius;

 printf(“%f”,area);

return area;

}


8、下面的代码输出是什么,为什么?

void foo(void)

{

 unsigned int   a = 6;

 int   b = -20;

 (a+b> 6) ? puts("> 6") :  puts("<= 6");

}


9、C语言同意一些令人震惊的结构,下面的结构是合法的吗,如果是它做些什么?

int   a = 5, b = 7, c;

c = a+++b;




关键词: 敢不敢     测测     你的     语言     功底     一个     整型    

院士
2012-02-17 13:23:02     打赏
2楼
这个帖子的初衷值得推荐

菜鸟
2012-02-17 15:55:45     打赏
3楼
很基础的东西,温故而知新。

助工
2012-02-17 16:46:46     打赏
4楼
挺好挺好

高工
2012-02-17 16:53:46     打赏
5楼
能给出答案就更好了。。

专家
2012-02-17 17:39:28     打赏
6楼

敢出题就敢侧!!!!


专家
2012-02-17 19:09:10     打赏
7楼

让大家先写一下,明天我就写出答案,呵呵!!!对于一些人面试来说也是不错的试题


助工
2012-02-17 21:07:46     打赏
8楼

只是一部分啊。还有指针的初始化,数组的使用,动态内存的使用,函数参数传值等等等等


工程师
2012-02-17 21:34:53     打赏
9楼
呵呵,学习学习

专家
2012-02-18 14:35:13     打赏
10楼
万丈高楼平地起~

共17条 1/2 1 2 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]