c语言基础知识单元测试,C语言程序计单元测试题.doc

C语言程序设计_单元测试题四

本单元包含“指针、结构体与共同体、编译预处理”的内容。

一、选择题

1.以下叙述中正确的是________.

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

B)使用带参的宏时,参数的类型应与宏定义时的一致

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

D)在以下定义中CR是称为“宏名”的标识符

#define CR 045

?

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

#define MIN(x,y) (x)

main()

{int i=10,j=15,k;

k=10*MIN(i,j);

printf("%d\n",k);

}

A)10 B)15 C)100 D)150

?

3.若有宏定义如下:

#define X 5

#define Y X+1

#define Z Y*X/2

则执行以下printf语句后,输出结果是_______.

int a;a=Y;

printf("%d\n",Z);

printf("%d\n",--A);

A)7 B)12 C)12 D)7

6 6 5 5

?

4.请读程序:

#include

#define MUL(x,y) (x)*y

main()

{

int a=3,b=4,c;

c=MUL(a++,b++);

printf("%d\n",C);

}

上面程序的输出结果是__________.

A)12 B)15 C)20 D) 16

?

5.对下面程序段:

#define A 3

#define B(A) ((A+1)*A)

...

x=3*(A+B(7));

正确的判断是_________.

A)程序错误,不许嵌套宏定义

B)x=93

C)x=21

D)程序错误,宏定义不许有参数

?

6.以下正确的描述是____________.

A)C语言的预处理功能是指完成宏替换和包含文件的调用

B)预处理指令只能位于C源程序文件的首部

C)凡是C源程序中行首以"#"标识的控制行都是预处理指令

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

?

7.在"文件包含"预处理语句的使用形式中,当#include后面的文件名用< >(尖括号)括起时,找寻被包含文件的方式是_______.

A)仅仅搜索当前目录

B)仅仅搜索源程序所在目录

C)直接按系统设定的标准方式搜索目录

D)先在源程序所在目录搜索,再按照系统设定的标准方式搜索

8.变量的指针,其含义是指该变量的_________.

A)值 B)地址 C)名 D)一个标志

?

9.若有语句int *point,a=4;和point=&a;下面均代表地址的一组选项是_____.

A)a,point,*&a B)&*a,&a,*point

C)*&point,*point,&a D)&a,&*point ,point

?

10.若有说明;int *p,m=5,n;以下正确的程序段的是________.

A)p=&n; B)p=&n;

scanf("%d",&p); scanf("%d",*p);

C)scanf("%d",&n); D)p=&n;

*p=n; *p=m;

?

11.下面程序段的运行结果是_________.

char *s="abcde";

s+=2;printf("%d",s);

A)cde B)字符'c' C)字符'c'的地址 D)无确定的输出结果

?

12.设p1和p2是指向同一个字符串的指针变量,c为字符变量,则以下不能正确

执行的赋值语句是________.

A)c=*p1+*p2; B)p2=c C)p1=p2 D)c=*p1*(*p2);

?

13.以下正确的程序段是_________.

A)char str[20]; B)char *p

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值