C语言入门必做踩坑题《篇四》

简介: C语言入门必做踩坑题《篇四》

第1题

🎗若有定义: int a[ ] = {2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24}, *q[4], k; 则下面的程序段输出的结果是 ( )

for(k=0; k<4; k++){ 
  q[k] = &a[k*3]; 
}
printf("%d\n",q[3][1]);

A. 18

B. 22

C. 20

D. 输出项不合法,结果不正确

📝 分析:

此题考查的是指针和数组的知识:

int* q[4]; q 是一个数组有4个元素,每个元素的类型是int*

所以选择 B 选项

第2题

🎗test.c 文件中包括如下语句:则文件中定义的四个变量,哪个变量不是指针类型 ( )

#define INT_PTR int* 
typedef int* int_ptr;
INT_PTR a, b;
int_ptr c, d;

A. a

B. b

C. c

D. d

📝 分析:

此题虽然不难,但是有坑 🕳

    1️⃣ #define 定义的符号是完全替换的

    2️⃣ typedef 是类型重命名

所以选择 B 选项

第3题

🎗 表达式 0x13&0x17, 0x13|0x17 的值分别是多少 ( )

A. 0x17 ; 0x13

B. 0x13 ; 0x17

C. 0xF8 ; 0xE8

D. 0xEc ; 0xC8

📝 分析:

此题考查的主要是进制之间的转换:

所以选择 B 选项

第4题

🎗 在 VS2013 下,这个结构体所占的空间大小是____字节

typedef struct
{ 
  int a;
  char b; 
  short c; 
  short d; 
}AA_t;

A. 16

B. 9

C. 12

D. 8

📝 分析:

对于结构体是如何计算大小有如下规则:

    ❗ 这个规则就是结构体内存对齐 ❕

▶ 第1个成员在与结构体变量偏移量为0的地址处

▶ 其它成员变量要对齐到某个数字 (对齐数) 的整数倍的地址处。对齐数 = 编译器默认的一个对齐数与该成员大小的较小值。VS中默认对齐数是8; Linux没有默认对齐数,它是按照自身大小来对齐的

▶ 结构体总大小为最大对齐数 (每个成员变量都有一个对齐数) 的整数倍

▶ 如果嵌套了结构体的情况,嵌套的结构体对齐到自己的最大对齐数的整数倍,结构体的整体大小就是所有最大对齐数 (含嵌套结构体的对齐数) 的整数倍

    ❗ 图示 ❕

所以选择 C 选项

第5题

🎗 若 int a = 10 ,则执行表达式 a += a *= a -= a/3 后 a 的值为

📝 分析:

❗ 影响表达式求值的有三个因素:❕

  1️⃣ 操作符的优先级

  2️⃣ 操作符的结合性 (优先级相同的情况下,结合性决定了运算顺序)

  3️⃣ 是否控制求值顺序 (比如 &&,如果左边为假,则整体为假)

⚠ 注意:

  N\A是无结合性

  L-R是从左向右

  R-L是从右向左

由此可见这里计算的顺序是:

所以 a 的值是 98


相关文章
|
3月前
|
安全 编译器 C语言
C++入门1——从C语言到C++的过渡
C++入门1——从C语言到C++的过渡
74 2
|
1月前
|
存储 NoSQL 编译器
【C语言】指针的神秘探险:从入门到精通的奇幻之旅 !
指针是一个变量,它存储另一个变量的内存地址。换句话说,指针“指向”存储在内存中的某个数据。
84 3
【C语言】指针的神秘探险:从入门到精通的奇幻之旅 !
|
3月前
|
存储 Java 编译器
初识C语言1——C语言入门介绍
初识C语言1——C语言入门介绍
38 1
|
3月前
|
C语言
回溯入门题,数据所有排列方式(c语言)
回溯入门题,数据所有排列方式(c语言)
|
5月前
|
C语言
C语言------程设设计入门
这篇文章是C语言程序设计的入门教程,涵盖了C程序的实现过程、VC集成开发环境的使用、基本数据类型的使用、格式控制字符的作用,以及通过示例代码演示了如何使用printf()函数输出不同类型的数据。
C语言------程设设计入门
|
6月前
|
存储 Java C语言
【C语言入门】初识C语言:掌握编程的基石
【C语言入门】初识C语言:掌握编程的基石
80 4
【C语言入门】初识C语言:掌握编程的基石
|
5月前
|
NoSQL Java 编译器
C语言从入门到精通该怎样学?
持续学习与实践:编程是一门需要不断学习和实践的技能,要保持对新技术和新知识的敏感性,并持续进行编程实践。
68 1
|
6月前
|
存储 Java 程序员
【C语言入门】C语言入门:探索编程世界的基础概念
【C语言入门】C语言入门:探索编程世界的基础概念
135 2
|
6月前
|
前端开发 C语言 C++
C语言入门02---环境搭建
C语言入门02---环境搭建
|
6月前
|
编译器 C语言 C++
C++从遗忘到入门问题之C++持从C语言的过渡问题如何解决
C++从遗忘到入门问题之C++持从C语言的过渡问题如何解决

相关实验场景

更多