题海拾贝No.2|LinuxC语言小题目集锦

本文介绍了C语言和Linux编程的基础知识,包括逻辑运算符、循环结构、指针操作、数组声明、字符串处理等。通过实例解析了题目中的问题,如异或运算、死循环实现、指针自增、二维数组定义等,并提供了相关代码示例。同时,文章还探讨了指针、数组、字符串和循环在编程实践中的应用。
摘要由CSDN通过智能技术生成

题目

  1. 整型变量x和y的值相等,且为非0值,则以下选项中,结果为0的表达式是 。
    A、x||y
    B、x|y
    C、x&y
    D、x^y

  2. 结合所学知识,思考死循环怎么写?有几种写法?简单编写,伪代码实现。

  3. 若已定义 char s[10]; 则在下面表达式中不表示s[1]的地址的是 。
    A、s+1
    B、s++
    C、&s[0]+1
    D.&s[1]

  4. 以下对二维数组a的正确说明是 。
    A、int a[ ][3]={ 0 };
    B、int a[3][ ]={ {1},{2},{3} };
    C、int a[1][3]={ 1,2,3,4 };
    D、int a[2][3]={ {1,2},{3,4},{5,6} };

  5. 以下程序的功能是将字符串s中所有的字符c删除,那么空白处缺少的语句为:( )。
    #include <stdio.h>
    int main(void)
    {
    char s[80];
    int i, j;
    gets(s);
    for( i=j=0; s[i] != ‘\0’; i++ ){
    if ( s[i] != ‘c’ ){
    ______________;
    }
    }
    s[j] = ‘\0’;
    puts( s );
    return 0;
    }
    A.s[j++] = s[i];
    B.s[++j] = s[i];
    C.s[j] = s[i]; j++;
    D.s[j] = s[i];

  6. 下面代码的功能是( )。
    char x[] = “chaungke”;
    char*y=x;
    while(*y != ‘\0’)
    {
    y++;
    }
    printf(“%d”, y-x-1);
    A. 求字符串的长度
    B. 比较两个字符串的大小
    C. 将字符串x复制到字符串y
    D.将字符串x连接到字符串y后面

  7. 假定在32位机中,定义char a[20];char *p = a;那么sizeof(a),sizeof§输出的值是( C )
    A) 20,1 B) 80,4 C) 20, 4 D)40, 2

  8. 若有定义int i=2,a[10],p=&a[i];则与p++ 等价的是 。
    A、a[i++]
    B、a[i]++
    C、a[i]
    D、a[++i]

  9. 将以下代码填充,看看你会几个?
    int main(){
    char a = 10;
    char p = &a;
    /
    打印a变量存储的值 /
    /
    打印a变量存储空间的首地址 /
    /
    打印p变量存储的值,打印地址格式用%p /
    /
    打印p变量存储空间的首地址*/
    /* 打印p指向的存储空间中存储的值 /
    /
    使用所有可以表示a数据值的打印方法 /
    /
    使用所有可以表示a存储空间首地址的打印方法 */
    return 0;
    }

  10. 有定义int k=2,*p1,*p2;且p1与p2均已指向变量k,下面不能执行的语句是()
    A. k=*p1+*p2;
    B. p2=k;
    C. p1=p2;
    D. k=p1(*p2);

部分答案分析

题1

这个符号是异或的意思,比较的两个变量x和y不管值是多少,相等异或为0,不等异或为1。

题2

while(1);
do{}while(1);
for(;1;){};
tip:
	goto tip;

题3

s是个常量地址,所以不能自增去改变,语法错误;但可以进行数组值偏移来实现,所以s+1是对的,相当与首地址+1;因为是char型,所以偏移一个单位就是偏移1,如果是int型则是偏移4了,这里要注意。

题4

二维数组里规定,可以省略行但不能省略列

题7

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

题8

++ 和 * 符号等级是一样的,而且结合方向是从右到左,还有一个关键点是,指针自增而不是值自增。

题9

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

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值