李sir_Blog

博客园 首页 联系 订阅 管理
  705 随笔 :: 58 文章 :: 134 评论 :: 193万 阅读

1: 考查对volatile关键字的认识

#include<setjmp.h>

static jmp_buf buf;

main()    
{
    
volatile  int b;
    b =
3;
    
    
if(setjmp(buf)!=0)
    {
        printf(
"%d ", b); 
        exit(
0);
    }
    b=
5;
    longjmp(buf , 
1);

 

请问, 这段程序的输出是
(a) 3
(b) 5
(c) 0
(d)
以上均不是


2:考查类型转换

main()
{
   
struct node 
   {
       
int a;
       
int b;
       
int c;     
   };
   
struct node  s= { 35,6 };
   
struct node *pt = &s;
   printf(
"%d" ,  *(int*)pt);
}

 

这段程序的输出是:
(a) 3
(b) 5
(c) 6
(d) 7


3:考查递归调用

int  foo ( int x , int  n) 
{
    
int val;
    val =
1;
    
    
if (n>0
    {
        
if (n%2 == 1)  val = val *x;
        val = val * foo(x*x , n/
2);
    }
    
return val;
}

 

这段代码对xn完成什么样的功能(操作)?
(a) x^n (x
n次幂)
(b) x*n(x
n的乘积)
(c) n^x(n
x次幂)
(d)
以上均不是


4:考查指针,这道题只适合于那些特别细心且对指针和数组有深入理解的人

main() 
{
    
int  a[5] = {1,2,3,4,5};
    
int *ptr =  (int*)(&a+1);
    
    printf(
"%d %d" , *(a+1), *(ptr-1));
}

 

这段程序的输出是:
(a) 2 2
(b) 2 1
(c) 2 5
(d)
以上均不是


5:考查多维数组与指针

void foo(int [][3]);     

main()
{
    
int a [3][3]= { { 1,2,3} , { 4,5,6},{7,8,9}};
    foo(a);
    printf(
"%d" , a[2][1]);
}

void foo(int b[][3])   
{
    ++ b;
    b[
1][1] =9;
}

 

这段程序的输出是:
(a) 8
(b) 9
(c) 7
(d)
以上均不对


6:考查逗号表达式

main()
{
    
int a, b,c, d;
    a=
3;
    b=
5;
    c=a,b;
    d=(a,b);
    
    printf(
"c=%d" ,c);
    printf(
"d=%d" ,d);
}

 

这段程序的输出是:
(a) c=3 d=3
(b) c=5 d=3
(c) c=3 d=5
(d) c=5 d=5


7:考查指针数组

main()
{
    
int a[][3] = { 1,2,3 ,4,5,6};
    
int (*ptr)[3] = a;
    
    printf(
"%d %d ", (*ptr)[1], (*ptr)[2]);

    ++ptr;
    printf(
"%d %d" , (*ptr)[1], (*ptr)[2]);
}

 

这段程序的输出是:
(a) 2 3 5 6
(b) 2 3 4 5
(c) 4 5 0 0
(d)
以上均不对


8:考查函数指针

int *f1(void)
{
    
int x =10;
    
return(&x);
}

int *f2(void)
{
    
int*ptr;
    *ptr =
10;
    
return ptr;
}

int *f3(void)
{
    
int *ptr;
    ptr=(
int*) malloc(sizeof(int));
    
return ptr;
}

 

上面这3个函数哪一个最可能引起指针方面的问题
(a)
只有 f3
(b)
只有f1 and f3
(c)
只有f1 and f2
(d) f1 , f2 ,f3

 

posted on   李sir  阅读(1466)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示