c语言编译器编译时的基本单位是,【单选题】有关芽胞正确的是A. 一般在机体外才能形成芽胞B. 是细菌维持生命的特殊形式C. 形成芽胞的细菌均为G + 菌D. 以上均对...

【单选题】有关芽胞正确的是A. 一般在机体外才能形成芽胞B. 是细菌维持生命的特殊形式C. 形成芽胞的细菌均为G + 菌D. 以上均对内容有哪些呢?

C语言编译器的功能一般不包括( )。增量编译

预编译头文件

规范代码风格

编译缓存

C语言的头文件中不包括( )。函数定义

宏定义

函数声明

全局性常量信息

C语言编译器的功能一般不包括( )。增量编译

预编译头文件

规范代码风格

编译缓存

85f5bf26-7808-11ea-ae99-dca90490bd2d.jpg

以下叙述中错误的是( )。C程序在执行过程中对预处理命令行进行处理

在程序中凡是以#开始的语句行都是预处理命令行

预处理命令行都必须以#开始

预处理命令行可以出现在C程序中任意一行上

以下叙述中正确的是( )。使用带参数的宏时,参数的类型应与宏定义时的一致

在程序的一行上可以出现多个有效的预处理命令行

宏替换不占用运行时间,只占用编译时间

C语言的编译预处理就是对源程序进行初步的语法检查

以下有关宏替换的叙述中错误的是( )。宏替换不占用运行时间

宏名无类型

宏替换只是字符替换

宏名必须用大写字母表示

设#define L(x) 2*3.14*x,则L(x)是( )。函数名

带参数的宏名

函数调用

无参数的宏名

设#define P(x) x/x执行语句printf("%d",P(4+6));后的输出结果是( )。8.5

11

1

11.5

若有宏定义#define MOD(x,y) x%y ,下面程序段的结果是( )。int z,a=15; float b=100;z=MOD(b,a);printf("%d",z++);6

语法错误

11

10

在任何情况下计算平方都不会引起二义性的宏定义是( )。#define POWER(x)  (x*x)

#define POWER(x)  (x)*(x)

#define POWER(x)  ((x)*(x))

#define POWER(x)  x*x

C语言允许对对象进行多次定义,但需保证多次定义一致。错误

正确

C语言中对一个对象进行多次声明是合法的,但要保证多次声明一致。错误

正确

在一个项目的多个源程序文件中,只需要出现一次对所调用函数的声明即可支持项目全部源程序文件对该函数进行调用。错误

正确

对象的存储空间可以通过对象声明获得。错误

正确

可以在对象声明时对其进行初始化。正确

错误

C语言支持将对象的定义和声明分离,以适应多文件的程序结构。错误

正确

C语言支持在一个函数定义前加上( )修饰,将函数设置成内部函数。internal

static

auto

private

如果在一个源文件中定义的函数,只能被本文件中的函数调用,而不能被同一程序其它文件中的函数调用,则说明这个函数为( )。内部函数

外部函数

私有函数

库函数

5cac286c-780d-11ea-8a34-dca90490bd2d.jpg

支持在另一个文件中调用的函数其类型是( )。外部函数

私有函数

内部函数

库函数

C语言编译器编译时的基本单位是( )。语句

函数

项目

源文件

C语言连接器的工作不包括( )。检查在多个目标代码或库函数中是否存在内部函数和局部变量的重复定义

检查全局范围内是否有相同名字的对象

检查在多个目标代码或库函数中是否存在全局函数和全局变量的定义

检查全局函数或全局变量是否在不同文件中重复定义

C语言的头文件中不包括( )。函数定义

宏定义

函数声明

全局性常量信息

C语言编译器的功能一般不包括( )。增量编译

预编译头文件

规范代码风格

编译缓存

以下叙述中错误的是( )。C程序在执行过程中对预处理命令行进行处理

在程序中凡是以#开始的语句行都是预处理命令行

预处理命令行都必须以#开始

预处理命令行可以出现在C程序中任意一行上

以下叙述中正确的是( )。使用带参数的宏时,参数的类型应与宏定义时的一致

在程序的一行上可以出现多个有效的预处理命令行

宏替换不占用运行时间,只占用编译时间

C语言的编译预处理就是对源程序进行初步的语法检查

以下有关宏替换的叙述中错误的是( )。宏替换不占用运行时间

宏名无类型

宏替换只是字符替换

宏名必须用大写字母表示

设#define L(x) 2*3.14*x,则L(x)是( )。函数名

带参数的宏名

函数调用

无参数的宏名

设#define P(x) x/x执行语句printf("%d",P(4+6));后的输出结果是( )。8.5

11

1

11.5

若有宏定义#define MOD(x,y) x%y ,下面程序段的结果是( )。int z,a=15; float b=100;z=MOD(b,a);printf("%d",z++);6

语法错误

11

10

在任何情况下计算平方都不会引起二义性的宏定义是( )。#define POWER(x)  (x*x)

#define POWER(x)  (x)*(x)

#define POWER(x)  ((x)*(x))

#define POWER(x)  x*x

下面程序执行后的输出结果是( )。#include #define ADD(x) x+xint main(){int m=1,n=2,k=3,sum ;sum = ADD(m+n)*k ;printf("%d",sum); return 0;}12

18

9

10

下面程序执行后的输出结果是( )。#include #define X 5#define Y X+1#define Z Y*X/2int main(){int a=Y;printf("%d ",Z);printf("%d",--a); return 0;}7 5

12 5

7 6

12 6

下面程序执行后的输出结果是( )。#include #define DOUBLE(r) r*rint main(){int x=1,y=2,t;t = DOUBLE(x+y);printf("%d",t);return 0;}6

5

8

7

定义宏将两个float类型变量的数据交换,下列写法中最好的是( )。#define jh(a,b,t) t=a;a=b;b=t;

#define jh(a,b) a=b;b=a;

#define jh(a,b) {float t;t=a;a=b;b=t;}

#define jh(a,b) t=a;a=b;b=t;

若有宏定义:#define N 3#define Y(n) ((N+1)*n)则表达式2*(N+Y(5+1))的值是( )。54

42

出错

48

已知宏定义#define p(x,y,z) x=y*z;则宏替换p(a,x+5,y-3.1)应为( )。a=(x+5)*(y-3.1)

a=x+5*y-3.1;

a=(x+5)*(y-3.1);

a=x+5*y-3.1

下面程序执行后的输出结果是( )。#include #define MA(x) x*(x-1)int main(){ int a=1,b=2; printf("%d",MA(1+a+b)); return 0;}8

10

6

12

下面程序执行后的输出结果是( )。#include #define f(x) (x*x)int main(){int i1, i2;i1=f(8)/f(4); i2=f(4+4)/f(2+2);printf("%d,%d",i1,i2);return 0;}64, 64

4, 3

4, 4

64, 28

下面程序执行后的输出结果是( )。#include #define MAX(x,y) (x)>(y) ? (x):(y)int main(){int a=5,b=2,c=3,d=3,t;t=MAX(a+b,c+d)*10;printf("%d",t); return 0;}8

7

9

6

下面程序执行后的输出结果是( )。#include #define R 0.5#define AREA(x) R*x*xint main(){int a=1, b=2;printf("%5.1f", AREA(a+b)); return 0;}4.5

0.0

3.5

0.5

4da631b8-7809-11ea-ae99-dca90490bd2d.jpg

C语言中的预定义宏__DATE__指定程序编译的日期格式为( )。Mmm dd yyyy

yyyy-Mmm-dd

yyyy Mmm dd

d Mmm yyyy

写出下面程序执行后的运行结果。#include #define N 2#define M N+1#define NUM 2*M+1int main(){int i;for(i=1;i<=NUM;i++)printf("%d",i); return 0;}暂无选项

写出下面程序执行后的运行结果。#include #define SQR(X) X*Xint main(){int a=16, k=2, m=1;a/=SQR(k+m)/SQR(k+m);printf("%d",a); return 0;}暂无选项

写出下面程序执行后的运行结果。#include #define F(X,Y) (X)*(Y)int main(){int a=3, b=4;printf("%d", F(a++, b++)); return 0;}暂无选项

写出下面程序执行后的运行结果。#include #include #define ROUND(x,m) ((int)((x)*pow(10,m)+0.5)/pow(10,m))int main(){printf("%f,%f", ROUND(12.3456,1),ROUND(12.3456,2)); return 0;}暂无选项

头文件CH09K006.h的内容是:#define N 5#define M1 N*3写出下面程序执行后的运行结果。#include #include "CH09K006.h"#define M2 N*2int main(){int i;i=M1+M2;printf("%d",i); return 0;}暂无选项

Which one of the following statements is wrong?Formal parameters are only visible in the function, in which they are defined.

If a local variable declared in a function, which has the same name with an external global variable, this external variable is not visible in the function.

Different functions can use variable with the same identifier.

A variable, declared in a compound statement in a function, is visible in the function.

If a global variable and a local variable have the same identifier in a source file, which one of the following statements is right?It is allowed in C.

They are regarded as the same variable.

The scopes of these two variables are uncertain.

It is not allowed in C.

If a variable is declared in a compound statement of a function, which one of the following is right?The variable is visible in this function.

This variable is illegal.

The variable is visible only in this compound statement.

The variable is visible in the source file.

Which one is the output of the following program?#include int a=3;int main(){ int s=0; { int a=5; s+=a++; } s+=a++; printf("%d",s); return 0;}8

10

7

11

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值