C语言练习答案01

1. 设有定义语句:char c1 = 92, c2 = 92;,则以下表达式中值为零的是()
  • c1^c2
  • c1&c2
  • ~c2
  • c1|c2
正确答案A 答案解析
92的二进制是 0101 1100
A是 按位异或 0101 1100 ^0101 1100 =0000 0000
B是 按位与 0101 1100 &0101 1100 =0101 1100
C是 按位取反 ~0101 1100=1010 0011
D是 按位或 0101 1100 | 0101 1100 =0101 1100

2. 下列程序输出什么
#include<stdio.h>
#include<string.h>

int main() {
   
    int n;
    char y[10] = "ntse";
    char *x = y; // *x = y首级地址,也就是'n'
    n = strlen(x); // n = 4
    *x = x[n]; // *x改变指向,*x存储"\0",同时y[0]指向"\0"
    x++; // x指向t
    printf("x=%s,", x);
    printf("y=%s\n", y);
    return 0;
}
  • x=atse,y=
  • x=tse,y=
  • x=atse,y=e
  • x=tse,y=e
正确答案B 答案解析

在这里插入图片描述
在这里插入图片描述

3. 给定下面函数:整数单链表作为参数,函数重新排列列表的元素。
现以顺序为 1, 2, 3, 4, 5, 6, 7 的整数列表调用该函数
struct node
{
   
    int value;
    struct node *next;
};
 
void rearrange(struct node *list)
{
   
   struct node *p, * q;
   int temp;
   if ((!list) || !list -> next)
      return;
   p = list;
   q = list -> next;
   while(q)
   {
   
       temp = p -> value
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

muskfans

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值