C语言理论单项选择题,C语言理论练习题

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

}

A、 10 B、 11 C、10.4 D、 5

25.若函数定义为void fun(int x,int y,int *p) { *p= x>y ? x : y; }, 且main函数中有声明“int a=1,b=2,c[2]={0};”,则以下语句中正确的是 。

A. printf(“%d”,fun(a,b,c)); B. fun(a,b,c+1);

C. fun(a,b,c[2]); D .fun(1,2);

26.若已有声明“int a[][3]={{1,2,3},{4,5},{6}},*p1=&a[0][0], (*p2)[3]=a;”,以下选项中的语句分别被执行后,屏幕输出结果不是4选项是 。

A. printf("%d",a[1][0]); B. printf("%d",a[0][3]);

C. printf("%d",p1[4]); D. p2++; printf("%d",p2[0][0]);

27.已知有声明“int x,*px=&x;”,以下选项中不能将1赋值给x的语句是 。

A.*px=1; B.px[0]=1; C.*++px=1; D.*px++=1;

28. 已知f函数定义如下,若main函数中有声明“int a,b[10];”,则以下在main函数内出现的函数调用语句中正确的是 。

A. f(1,1); B. f(b[10],1); C.f(a,1); D.f(&a,1);

【函数定义】

void f(int p[10],int n)

{ int j;

for(j=0;j

}

29. 已知在main函数中有声明“int n;char a[50];”和语句“n=fun(10, &a[3]);”,则以下fun函数声明中正确的是 .。

A. void fun(int a, char b[]); B. int fun(int a, char a[]);

C. int fun(int a, char *b); D. int fun(int a, char b);

30. 以下声明中错误的是 。

A.char *p[4]={"yes","no"}; B. char (*p)[4]={"yes","no"};

B.char (*p)(char *)=strcpy; D. char *p(char *);

31.已知某函数中有声明“int x[10],*p[10],i;”并已执行过语句“for(i=0;i<10;i++)p[i]=x+i;”,则以下选项中不能正确地引用数组元素x[i] (0£ i £ 9)的表达式是 。

A. p[i] B. *p[i] C. *(p[0]+i) D.p[i][0]

32. 以下函数的功能与库函数 功能相同。

A. strlen B. strcpy C. strcmp D. strcat

int strsss ( char *s, char *t)

{ while (*s && *t && (*s++== *t++)) ;

return *s-*t;

}

33. 已知定义long a[10][10],tmp; 则能够正确地将a[5][5]的值赋给变量tmp的语句是

(A) tmp=*(a+5)+5; (B) tmp=*(*(a+5))+5;

(C) &tmp=*(*(a+5)+5) (D) *(&tmp)=*(*(a+5)+5)

34. 已知有如下程序段,则其中位于静态存储区的变量是 .

#define ff 3

int aa;

static float bb;

int func(int pa)

{static int cc=1; int dd;

dd=pa*cc++;

return dd;

}

void main()

{

auto float ee;

ee=func(ff);

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值