| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 12107 人关注过本帖, 2 人收藏
标题:哥出几个 c 语言 基础题, 测测你可能过 2 级
只看楼主 加入收藏
BlueGuy
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:29
帖 子:4476
专家分:4055
注 册:2009-4-18
收藏
得分:0 
enum 常量 只能是int 常量集合。const 常量 可以是int 常量数值,也可以是 char常量串
就是这个意思, 要是你传了个 enum 之外的常量, 编译器是会报错的, 而 const就不会

我就是真命天子,顺我者生,逆我者死!
2010-04-04 12:03
zhangbohtz
Rank: 2
等 级:论坛游民
帖 子:36
专家分:39
注 册:2010-1-29
收藏
得分:0 
学习低调些,我的答案,感觉太简单了,这样的问题应该是基础了。。。
1) 8 (一个int4个字节,一个char 1个字节,但考虑字节对齐,和操作系统平台的相关性,对于32位i386 char自动对齐int,因为是寄存器字长,所以为8)。
(2) 8 (考的是字符串多加一个尾零存储的问题,几乎傻子都知道!)
(3)
    int test (int  num)
    {
        int i, t, count = 0;
        for (i = 0, t = num;  t >0; t = t/10) {
                  count++;
        }
        for (i = count, t = num;  i > count- 2  && t > 0; i--) {
                t = t/10;
        }
        return t%10;
    }
(4)enum 常量 与 const 常量
   enum 枚举类型。const 是限定词
(5)<1>
    第2次释放已经释放的空间,出段错误!
<2> char * blue = mallco(100); /分配了100个char型字节空间,并让blue指向这个地址
    blue = mallco(100);  /分配了100个char型字节空间,并让blue指向这个地址
    浪费了空间。第一次分配的空间被占用,并没有释放,有可能导至第二次申请空间失败,因为空间可能不足
 

(6)
列举 const 的常见用途
const 定义常量 定义常量指针  定义常量数组

(7)
c库函数 time_t time ( time_t * timer ); 中的 time_t 是什么意思?
time_t 无符号长整型


(8)
下面这段代码会不会造成 死循环, 为什么?
for (int i = 100; i < -100; i++)
{
    ;
}
不会造成死循环,因为i的初始值为100, i < -100 的值为假
2010-04-04 15:12
BlueGuy
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:29
帖 子:4476
专家分:4055
注 册:2009-4-18
收藏
得分:0 


(2) 8 (考的是字符串多加一个尾零存储的问题,几乎傻子都知道!)
(3)
    int test (int  num)
    {
        int i, t, count = 0;
        for (i = 0, t = num;  t >0; t = t/10) {
                  count++;
        }
        for (i = count, t = num;  i > count- 2  && t > 0; i--) {
                t = t/10;
        }
        return t%10;
    }


(8)
下面这段代码会不会造成 死循环, 为什么?
for (int i = 100; i < -100; i++)
{
    ;
}
不会造成死循环,因为i的初始值为100, i < -100 的值为假
第2,3,8题都答错了,  是你看不懂题目的意思吗?

我就是真命天子,顺我者生,逆我者死!
2010-04-04 16:48
yubo841021
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2010-4-5
收藏
得分:0 
晕,有点难,怎么有很多东西老师没讲过
2010-04-05 08:17
woodydongli
Rank: 2
等 级:论坛游民
帖 子:57
专家分:84
注 册:2010-4-4
收藏
得分:0 
这些题都比较简单.
2010-04-05 10:40
woodydongli
Rank: 2
等 级:论坛游民
帖 子:57
专家分:84
注 册:2010-4-4
收藏
得分:0 
以下是引用BlueGuy在2010-4-4 16:48:19的发言:

第2,3,8题都答错了,  是你看不懂题目的意思吗?
明显第二题是4.撒.. 那是一个指针.
2010-04-05 10:41
woodydongli
Rank: 2
等 级:论坛游民
帖 子:57
专家分:84
注 册:2010-4-4
收藏
得分:0 
#define P 0x20000000
int test(int a)
{
   return (a&P==0?0:1);
}
2010-04-05 10:44
woodydongli
Rank: 2
等 级:论坛游民
帖 子:57
专家分:84
注 册:2010-4-4
收藏
得分:0 
(8)
下面这段代码会不会造成 死循环, 为什么?
for (int i = -100; i < 100; i--)
{
    ;
}
这个是整形在计算机里用补码表示.. i的初始值为-100,它一直减,当减到-32768(考虑为2个字节),时,再减应该为32767了对不
我觉得原因应该是溢出的问题.不会造成死循环.

[ 本帖最后由 woodydongli 于 2010-4-5 10:54 编辑 ]
2010-04-05 10:47
许苏娟
Rank: 1
等 级:新手上路
威 望:1
帖 子:40
专家分:9
注 册:2010-4-3
收藏
得分:0 
楼上那位做的对么?
2010-04-05 10:47
woodydongli
Rank: 2
等 级:论坛游民
帖 子:57
专家分:84
注 册:2010-4-4
收藏
得分:0 
(6)
列举 const 的常见用途
const 定义常量 定义常量指针  定义常量数组

const的用途很多,比如传一个参数时,如果不想被调函数改变它.比如说
char * strcpy( char *strDest, const char *strSrc )
{
  assert( (strDest != NULL) && (strSrc != NULL) );
  char *address = strDest;
  while( (*strDest++ = * strSrc++) != ‘\0’ );
   return address;
} 下面这程序,不能改变源字符串.
 (1)欲阻止一个变量被改变,可以使用const关键字。在定义该const变量时,通常需要对它进行初始化,因为以后就没有机会再去改变它了;

  (2)对指针来说,可以指定指针本身为const,也可以指定指针所指的数据为const,或二者同时指定为const;

  (3)在一个函数声明中,const可以修饰形参,表明它是一个输入参数,在函数内部不能改变其值;

  (4)对于类的成员函数,若指定其为const类型,则表明其是一个常函数,不能修改类的成员变量;

  (5)对于类的成员函数,有时候必须指定其返回值为const类型,以使得其返回值不为“左值”。例如:
const classA operator*(const classA& a1,const classA& a2);


  operator*的返回结果必须是一个const对象。如果不是,这样的变态代码也不会编译出错:
classA a, b, c;
(a * b) = c; // 对a*b的结果赋值


  操作(a * b) = c显然不符合编程者的初衷,也没有任何意义。

上面几条是我拷过来的,哈哈.
2010-04-05 10:52
快速回复:哥出几个 c 语言 基础题, 测测你可能过 2 级
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.022418 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved