c语言陷阱试题,超级经典计算机二级C语言陷阱考试题.doc

超级经典计算机二级C语言陷阱考试题

超级经典计算机二级C语言陷阱考试题

若有定义:int a[2][3],则对a数组的第i行j列元素地址的正确引用为___d___.

a)*(a[i]+j) b)(a+i) c)*(a+j) d)a[i]+j

以下正确的程序段是_________.

a)char str[20]; b)char *p;

scanf("%s",&str); scanf("%s",p);

c)char str[20]; d)char str[20],*p=str;

scanf("%s",&str[2]); scanf("%s",p[2]);

下面程序的运行结果是_______.

#include

#include

fun(char *w,int n)

{char t,*s1,*s2;

s1=w;s2=w+n-1;

while(s1

}

main()

{

char p[] = “1234567”;

fun(p,strlen(p));

puts(p);

}

a)7654321 b)1714171 c)1711717 d)7177171

下面程序段的运行结果是__ hELLO!______.

char s[80],*sp="HELLO!";

sp=strcpy(s,sp);

s[0]='h';

puts(sp);

.下面程序段的运行结果是__ef_____.

char str[]="abc\0def\0ghi",*p=str;

printf("%s",p+5);

设有如下定义:int x = 1, y = -1;,则语句:printf(“%d\n”, (x--&++y));的输出结果是: B

1

0

-1

2

设有如下定义:int a, b;,则语句:printf("%d", (a = 5) && (b = -1));的输出结果是: A

1

5

-1

不确定

程序执行后的输出结果是int i, n = 0;

for (i = 2; i < 7; i++) {

do {

if (i % 3) {

continue;

}

--n;

} while(!i);

n++;

}

printf("n = %d\n", n);

以下代码,哪一句是非法的?____最后一句s.p[0] = 2;____

struct po_s

{

int i;

int *p;

};

int main(void)

{

struct po_s s;

int *p;

p = &s.i;

p[0] = 4;

p[1] = 3;

s.p = p;

s.p[1] = 1;

s.p[0] = 2;

return 0;

以下代码,输出什么?____a3, BB(注意大小写)____

int a[5] = {0x1a,0xa3,0xd3,0xe4,0xbb};

int *ptr;

ptr = (int *)(&a + 1);

printf("%x, %X", *(a + 1), *(ptr - 1));

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

void foo(void)  {   unsigned int a = 0x10;

int b = -20;

(a + b > 6) ? puts("> 6") : puts("<= 6");  }#define PS struct po_s*typedef struct po_s* PS_t;

这两个语句是将PS 和 PS_t 作为一个指向结构po_s指针。typedef更好。

因为如下代码

PS p1, p2;  PS_t p3, p4;

p1为一个指向结构的指,p2为一个实际的结构,这也许不是你想要的。第二个例子正确地定义了p3 和p4 两个指针。

下面两段代码一样吗?为什么?

int square(volatile int *ptr)  {  int a, b;  a = *ptr;  b = *ptr;

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
抱歉,根据提供的引用***供足够的信息来回答这个问题。但是,C语言数组在期末考试中通常涉及以下几个方面: 1. 声明和初始化数组:包括数组的数据类型、数组名、数组大小以及初始化数组的方法。 2. 数组的访问和操作:包括通过索引访问数组元素、修改数组元素的值、计算数组的长度等。 3. 多维数组:包括二维数组、多维数组的声明和初始化、多维数组的访问等。 4. 数组和指针的关系:包括数组名和指针的关系、指针与数组的转换、指针与数组的操作等。 5. 数组作为函数参数:包括数组作为函数参数的传递方式、数组作为函数返回值的使用等。 如果您有具体的C语言数组期末考试题目,请提供更多的信息,我将尽力为您提供帮助。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [《C语言程序设计》课程期末样卷7份,2023第一学期《C语言程序设计》期末复习资料](https://download.csdn.net/download/qq_41464123/88107680)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [长春工业大学历年c语言期末考函试试题.doc](https://blog.csdn.net/weixin_30909873/article/details/117103207)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值