c程序预处理器的设计与实现

C programming Pre-processor Aptitude Questions and Answers: In this section you will find C Aptitude Questions and Answers on Pre-processor topics like #define, #undef, #if, #endif etc.

C编程预处理程序能力问题和解答:在本节中,您将找到有关预处理程序主题的C能力倾向问题和解答,例如#define,#undef,#if,#endif等。

1) What will be the output of following program ?

#include <stdio.h>
int main()
{
#ifdef debug
printf("Start debugging...");
#endif
printf("IncludeHelp");
return 0;
}
  1. Start debugging...IncludeHelp

  2. IncludeHelp

  3. Error

  4. debug

Answer
Correct Answer - 2
IncludeHelp
debug macro is not define.

1)以下程序的输出是什么?

  1. 开始调试...包括帮助

  2. 包括帮助

  3. 错误

  4. 调试

回答
正确答案-2
包括帮助
调试宏未定义。

2) What will be the output of following program ?

#include <stdio.h>
#define MAX 100
int main()
{
#define MAX 20
printf("MAX=%d...",MAX);
return 0;
}
  1. Error

  2. MAx=100...

  3. MAx=20...

  4. MAX=10020

Answer
Correct Answer - 3
MAX=20...
A macro can be redefine any where.

2)以下程序的输出是什么?

  1. 错误

  2. MAx = 100 ...

  3. MAx = 20 ...

  4. 最大值= 10020

回答
正确答案-3
MAX = 20 ...
宏可以在任何地方重新定义。

3) What will be the output of following program ?

#include <stdio.h>
#define FUN(x)  x*x
int main()
{
int val=0;
val=128/FUN(8);
printf("val=%d",val);
return 0;
}
  1. 2

  2. 128

  3. 64

  4. 1

Answer
Correct Answer - 2
128
Consider the expression...
val=128/FUN(8) => will expand val=128/8*8
According to the operator associativity "/" will evaluate first so expression will be val=(128/8)*8=>128

3)以下程序的输出是什么?

  1. 2

  2. 128

  3. 64

  4. 1个

回答
正确答案-2
128
考虑一下表达式...
val = 128 / FUN(8)=>将展开val = 128/8 * 8
根据运算符的关联性,“ /”将首先计算,因此表达式将为val =(128/8)* 8 => 128

.minHeight{ min-height: 250px; } @media (min-width: 1025px){ .minHeight{ min-height: 90px; } } .minHeight{ min-height: 250px; } @media (min-width: 1025px){ .minHeight{ min-height: 90px; } }
4) What will be the output of following program ?

#include <stdio.h>
#define FUN(x,y)    x##y
int main()
{
int a1=10,a2=20;
printf("%d...%d",FUN(a,1),FUN(a,2));
return 0;
}
  1. Error

  2. 10...10

  3. 20...20

  4. 10...20

Answer
Correct Answer - 4
10...20
we can concatenate variable like this x##y .. (a##1=a1).

4)以下程序的输出是什么?

  1. 错误

  2. 10 ... 10

  3. 20 ... 20

  4. 10 ... 20

回答
正确答案-4
10 ... 20
我们可以像x ## y ..(a ## 1 = a1)那样连接变量。

5) What will be the output of following program ?

#include <stdio.h>
#define LARGEST(x,y)    (x>=y)?x:y
int main()
{
int a=10,b=20,l=0;
l=LARGEST(a++,b++);
printf("a=%d,b=%d,largest=%d",a,b,l);
return 0;
}
  1. a=10,b=20,largest=20

  2. a=11,b=21,largest=20

  3. a=11,b=21,largest=21

  4. a=11,b=22,largest=21

Answer
Correct Answer - 4
a=11,b=22,largest=21
Consider the expression
(x>=y)?x:y => will expand with values a++ and b++
(a++ >= b++)? a++ : b++; here (10 >= 20 )?11:21; [largest will be 21..]
Since b++ is executing 2 times so value of b will be 22.

5)以下程序的输出是什么?

  1. a = 10,b = 20,最大= 20

  2. a = 11,b = 21,最大= 20

  3. a = 11,b = 21,最大= 21

  4. a = 11,b = 22,最大= 21

回答
正确答案-4
a = 11,b = 22,最大= 21
考虑表达
(x> = y)?x:y =>将使用值a ++和b ++扩展
(a ++> = b ++)? a ++:b ++; 这里(10> = 20)?11:21; [最大为21 ..]
由于b ++执行2次,因此b的值为22。

6) What will be the output of following program ?

#include <stdio.h>
#define OFF 0
#if debug == OFF
int a=11;
#endif
int main()
{
int b=22;
printf("%d...%d",a,b);
return 0;
}

  1. 11...22

  2. Error

  3. 11...11

  4. 22...22

Answer
Correct Answer - 1
11...22
Undefined macro has 0, you can use undefined macro name in #if...#endif.

6)以下程序的输出是什么?

  1. 11 ... 22

  2. 错误

  3. 11 ... 11

  4. 22 ... 22

回答
正确答案-1
11 ... 22
未定义的宏有0,您可以在#if ...#endif中使用未定义的宏名称。

.minHeight{ min-height: 250px; } @media (min-width: 1025px){ .minHeight{ min-height: 90px; } } .minHeight{ min-height: 250px; } @media (min-width: 1025px){ .minHeight{ min-height: 90px; } }
7) What will be the output of following program ?

#include <stdio.h>
#define TEXT IncludeHelp
int main()
{
printf("%s",TEXT);
return 0;
}
  1. IncludeHelp

  2. TEXT

  3. Error

  4. TEXT IncludeHelp

Answer
Correct Answer - 3
Error : 'IncludeHelp' undeclared identifier.
Consider the statement printf("%s",TEXT); , TEXT is a macro will expand like printf("%s",IncludeHelp);, in this statement IncludeHelp should be an identifier.

7)以下程序的输出是什么?

  1. 包括帮助

  2. 文本

  3. 错误

  4. TEXT IncludeHelp

回答
正确答案-3
错误:“ IncludeHelp”未声明的标识符。
考虑语句printf(“%s”,TEXT); ,TEXT是一个宏,它将像printf(“%s”,IncludeHelp)一样展开; ,在此语句中,IncludeHelp应该是一个标识符。

8) What will be the output of following program ?

#include <stdio.h>
#define VAR1    VAR2+10
#define VAR2    VAR1+20
int main()
{
printf("%d",VAR1);
return 0;
}
  1. VAR2+10

  2. VAR1+20

  3. Error

  4. 10

Answer
Correct Answer - 3
Error : 'VAR1' undeclared identifier.

8)以下程序的输出是什么?

  1. VAR2 + 10

  2. VAR1 + 20

  3. 错误

  4. 10

回答
正确答案-3
错误:“ VAR1”未声明的标识符。

9) What will be the output of following program ?

#include <stdio.h>
#define SUM(x,y)    int s; s=x+y; printf("sum=%d\n",s);
int main()
{
SUM(10,20);
return 0;
}

  1. sum=30

  2. 10,20

  3. Error

  4. sum=0

Answer
Correct Answer - 1
sum=30
Here SUM(10,20) will be expanded as int s; s=10+20; printf("sum=%d",s);
Hence sum=30 will print.
In same example, if you call SUM() again, you will get an error 's' redefinition.

9)以下程序的输出是什么?

  1. 总和= 30

  2. 10,20

  3. 错误

  4. 总和= 0

回答
正确答案-1
总和= 30
在这里, SUM(10,20)将被扩展为int s; s = 10 + 20; printf(“ sum =%d”,s);
因此将打印sum = 30。
在同一示例中,如果再次调用SUM(),则会得到错误的's'重定义。

10) What will be the output of following program ?

#include <stdio.h>
#define MAX 99
int main()
{
printf("%d...",MAX);
#undef MAX
printf("%d",MAX);
return 0;
}

  1. 99...0

  2. 99...99

  3. Error

  4. MAX...MAX

Answer
Correct Answer - 3
Error: 'MAX' undeclared identifier
After #undef you can not use that macro.

10)以下程序的输出是什么?

  1. 99 ... 0

  2. 99 ... 99

  3. 错误

  4. 最大...最大

回答
正确答案-3
错误:“ MAX”个未声明的标识符
#undef之后,您将无法使用该宏。

翻译自: https://www.includehelp.com/c-programs/c-pre-processor-aptitude-questions-and-answers.aspx

c程序预处理器的设计与实现

c程序预处理器的设计与实现_C预处理器-能力问题与解答相关推荐

  1. 安卓的用户实时预览Figma设计稿的方法

    实时预览功能对于UI设计师来说非常重要.它可以帮助他们更快速.更直观地查看设计稿的效果,从而更快地修正设计问题,提高工作效率. 通过实时预览,你可以检查设计是否符合预期,确保元素之间的对齐方式.字体大 ...

  2. node.js云学堂微信小程序学习系统的设计与实现毕业设计源码011735

    Node.js云学堂微信小程序 摘要 信息化社会内需要与之针对性的信息获取途径,但是途径的扩展基本上为人们所努力的方向,由于站在的角度存在偏差,人们经常能够获得不同类型信息,这也是技术最为难以攻克的课 ...

  3. SSM+微信小程序网易云音乐设计与实现 毕业设计-附源码261620

    基于SSM微信小程序的网易云音乐 摘  要 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,微信小程序 ...

  4. SSM+mysql+微信小程序网易云音乐设计与实现 毕业设计-附源码261620

    基于SSM微信小程序的网易云音乐 摘  要 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,微信小程序 ...

  5. (附源码 )SSM+mysql+微信小程序网易云音乐设计与实现 毕业设计261620

    基于SSM微信小程序的网易云音乐 摘 要 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,微信小程序的 ...

  6. 从零开始设计RISC-V处理器——单周期处理器的设计

    系列文章目录 (一)从零开始设计RISC-V处理器--指令系统 (二)从零开始设计RISC-V处理器--单周期处理器的设计 (三)从零开始设计RISC-V处理器--单周期处理器的仿真 (四)从零开始设 ...

  7. 校园二手交易商城系统小程序-JAVA【数据库设计、源码、开题报告】

    第一章 绪 论 1.1选题背景 互联网是人类的基本需求,特别是在现代社会,个人压力增大,社会运作节奏高,随着互联网的快速发展,用户的需求也越来越高,用户也将越来越多依靠互联网而不是自己获取信息,使得各 ...

  8. 微信小程序网易云音乐设计与实现 毕业设计-附源码261620

    基于SSM微信小程序的网易云音乐 摘 要 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,微信小程序的 ...

  9. Python图片相册批处理器的设计与实现批量添加图片水印、批量命名等功能

    课题研究使用Python语言开发一个包含批量添加图片水印.批量命名等功能的图片批处理程序,功能模块大概包含以下模块: (1)首页模块:首页是整个软件的初始页面,包含用户登录.注册.关于本软件等功能,用 ...

最新文章

  1. Ubuntu12.10 安装Nessus
  2. 送一台自用笔记本电脑!新款
  3. java 对线程进行事务控制_Java 多线程事务回滚 ——多线程插入数据库时事务控制...
  4. 支付巨头Visa宣布计划在巴西将加密货币服务引入传统银行
  5. oracle not in 改为 not exist
  6. 第七章 课后习题P206
  7. 6月16日!蒋江伟深度解读基础云产品生态战略 | 凌云时刻
  8. 使用卡方分箱进行数据离散化-python实现
  9. mui登录模板源码解
  10. 面试必备:消息队列原理和选型(荣耀典藏版)
  11. c语言大作业点歌系统,基于C语言的KTV点歌系统
  12. 不用恢复出厂设置啦,联想电脑YogaDuet如何升级win11?在BIOS开启加载系统初始值 打开Intel Platform Trust开启TMP2.0更新win11
  13. 小程序:选举投票问题未知行数输入问题(含代码)
  14. 九步确定你的人生目标和制定达到目标的计划
  15. Caffe2 - (二十四) Detectron 之 utils 函数(2)
  16. 中标麒麟桌面版7.0 u盘安装
  17. # 科研牛人告诉研究生怎么看文献,怎么写论文csdn
  18. EF BB BF 文本文件开头 iniparser
  19. Pycharm 引入类报错Unresolved reference ‘attempt_load‘
  20. java短信模板设计,全网疯传

热门文章

  1. 去哪里找与计算机相关的外文,找计算机相关的外文翻译
  2. android preferenceactivity 源码,PreferenceActivity PreferenceScreen (3.0/API 11 以前)
  3. android自带下拉阻尼动画,android 有阻尼下拉刷新列表的实现方法
  4. 弱电工程集成商_弱电工程楼宇自控系统基础知识培训资料
  5. html jq 控制显示密码,js、jquery分别实现点击密码输入框密码显示和隐藏
  6. Python二级笔记(2)
  7. latex表格名的引用问题
  8. JDK源码解析之Java.util.Collections
  9. C#委托、类和事件的验证【C#】
  10. 016 pickle