当前位置: 首页 > article >正文

C语言--每日选择题--Day37

第一题

1. 有以下说明语句:则下面引用形式错误的是()

struct Student 
{
    int num;
    double score;
};
 
struct Student stu[3] = {{1001,80}, {1002,75}, {1003,91}}
struct Student *p = stu;

A:p->num

B:(p++).num

C:(p++)->num

D:(*p).num

答案及解析 B

本题考查的是对结构体变量如何引用,如果是结构体定义的对象,用 ' -> ';如果是结构体的指针,就用 ' . ' ;

A:p是一个结构体指针,指向的是一个结构体数组的首元素,所以p->num,拿到的是首元素的num = 1001;

B:p++还是一个结构体指针,不可以用 ' . ';

C:正确,p++是后置++,返回的是++之前的值,所以取到的是首元素的num

D:解引用之后才是结构体的对象,使用 ' . '来访问,取到的是首元素的num = 1001

第二题

2. 以下程序运行的结果是()

#include <stdio.h>
#define X   5
#define Y   X+1
#define Z   Y*X/2
int main() 
{
    int a = Y;
    printf("%d,%d", Z, --a);
    return 0;
}

A:7,6

B:12,6

C:12,5

D:7,5

答案及解析  A

本题考查的是宏定义是替换,所以

--a = --Y = --X + 1 = 4 + 1 = 5;

Z = Y * X / 2 = X + 1 * X / 2 = 5 + 1 * 5 / 2 = 7;

所以

--a = 5;

Z = 7;

第三题

3. 不能把字符串"HELLO!"赋给数组b的语句是()

A:char b[10] = {'H','E','L','L','O','!','\0'};

B:char b[10];  b = "HELLO!";

C:char b[10];  strcpy(b,"HELLO!");

D:char b[10] = "HELLO!";

答案及解析 B

A CD都是正确的赋值;但是我们要知道b是数组名,数组名是首元素的地址,是一个常指针,不可以被改变,所以错误;b的数据类型为char * const ,可以改变数组的内容,但是不能改变数组的地址

第四题

4. 下面C程序的输出结果是()

unsigned fun(unsigned num) 
{
    unsigned k = 1;
    do 
    {
        k *= num % 10;
        num /= 10;
    } while (num);
    return(k);
}

int main() 
{
    unsigned num = 26;
    printf("%d", fun(num));
    return 0;
}

A:12

B:无限循环

C:1

D:26

答案及解析 A

单独的unsigned指的是unsigned int类型;

无符号整数,永远是大于等于0;

第一次进入循环

k = 6 num = 2

第二次进入循环

k = 12 num = 0;

num = 0的时候结束循环,返回k = 12

第五题

5. 以下代码的输出结果是()

int main() 
{
    int n = 10;
    int const *p = &n;
    p++;
    printf("%d", *p);
    return 0;
}

A:10

B:11

C:随机值

D:编译错误

答案及解析 C

int const *p = &n; const是在*的左侧,修饰的是p指向的内容不能被修改,所以p++之后,p指向的是n下面的地址处,这里存储的值是未知的,所以是随机值。


http://www.kler.cn/a/159461.html

相关文章:

  • 《数学年刊A辑》
  • aws ses 设置发件人昵称
  • PCA 原理推导
  • FreeRTOS的列表与列表项
  • 深入探索 React Hooks:原理、用法与性能优化全解
  • goframe开发一个企业网站 验证码17
  • 【android开发-11】android中创建自定义布局并引入自定义布局的参考例子
  • ctfshow sql 186-190
  • css实现最简单的3d透视效果,通过旋转可以直观感受到
  • Python源码15:使用海龟画图turtle画小黄人
  • 基于SpringBoot的仓库管理系统设计与实现附带源码和论文
  • 企企通供应链专家:拥抱智能化趋势,企业如何打造智慧供应链形成竞争优势?
  • 题目:小明的彩灯(蓝桥OJ 1276)
  • 三 STM32F4使用Sys_Tick 实现微秒定时器和延时
  • quickapp_快应用_系统接口应用
  • 咨询室游戏
  • java基础之String类
  • Django回顾【三】
  • 西南科技大学C++程序设计实验七(继承与派生二)
  • CONTROLLING VISION-LANGUAGE MODELS FOR MULTI-TASK IMAGE RESTORATION
  • AI模型平台Hugging Face存在API令牌漏洞;大型语言模型与任务模型
  • vue项目中添加刷新的按钮
  • C/C++ 前缀和与差分
  • 文章润色软件,免费的几款润色工具推荐
  • C语言速通笔记(41-62)
  • git submodule 用法