青海大学程序设计基础习题指导书2014版 联系客服

发布时间 : 星期一 文章青海大学程序设计基础习题指导书2014版更新完毕开始阅读fba8ffd990c69ec3d5bb75f4

《程序设计基础(C)》习题指导书

A.用#include包含的头文件的后缀不可以是“.a”

B.若一些源程序中包含某个头文件;当该头文件有错时,只需对该头文件进行修改,包含此头文件所有源程序不必重新进行编译 C.宏命令可以看做是一行C语句

D.C编译中的预处理是在编译之前进行的。 5.以下有关宏替换的叙述不正确的是( )。

A.宏替换不占用运行时间 B.宏名无类型

C.宏替换只是字符替换 D.宏名必须用大写字母表示 6.程序中,头文件type1.h的内容如下:

#define N 5 #define M1 N*3

程序如下:

#include “type1.h” #define M2 N*2 main( ) {

int i; i=M1+M2;

printf(“%d\\n”,i); }

程序编译后运行的输出结果是( )。

A.10 B.20 C.25 D.30

7.下列预处理命令正确的是( )。

A.#include ; B.#define m(int x) x+3 C.#include , D.#define M 3 8.以下叙述中正确的是( )。

A.预处理命令行必须位于源文件的开头 B.在源文件的一行上可以有多条预处理命令 C.宏名必须用大写字母表示 D.宏替换不占用程序的运行时间 9.下列关于宏定义命令的描述中,错误的是( )。

A.宏定义命令有两种:不带参数的宏定义命令和带参数的宏定义命令 B.宏定义命令在程序中出现的宏名在编译前被替换

C.带参数的宏定义命令中,参数表中必须指出参数的类型 D.宏替换在正常编译前进行的,实际上是占用编译时间 ㈢.判断题

1.计算某数平方值的宏可定义为:#define SQ(y) (y)*(y)。( )?

2.在程序开始处进行了宏定义#define PI 3.14,那么在后面的程序中仍可以用赋值语句“PI=3.1415926;”

来修改PI的值。( )?

3.include 和include “stdio.h”完全没有区别。( )? 4.宏调用中提供的实参个数必须与宏定义中的形参个数相同。( )? 5.一条#include可以包含多个头文件。( )? ㈣.程序设计题

1.用带参数的宏实现两个整数相除的余数,两个整数的值在主函数中从键盘输入。 2.编写带参数的宏,实现y=x2+3x-2,主函数中输入x,输出对应的y值。

? 应用篇

㈠.填空题

第 49 页 共 64 页

《程序设计基础(C)》习题指导书

1.已知:#define B(a,b) a+1/b,则表达式B(5,1+3)的值是__________。

2.有以下程序:

#define P 3 int F(int x) {

return (P*x*x); }

main( ) {

printf(“%d\\n”, F(3+5)); }

程序运行后的输出结果是________________。 3. 以下程序的输出结果是________________。

#define SQR(x) x*x main( ) {

int a=16, k=2, m=1; a/=SQR(k+m)/SQR(k+m); printf(“%d\\n\}

4. 下面程序的输出结果是__________________。

#define SUB(x) (x)-(x) main( ) {

int a=4, b=6, c=7, d; d=SUB(a+b)*c;

printf(“d=%d\\n”, d); }

㈡.选择题

1.有以下程序:

#include #define F(X,Y) (X)*(Y) main( )

{ int a=3,b=4;

printf(“%d\\n”, F(a++, b++)); }

程序运行后的输出结果是( )。

A.12 B.15 C.16 D.20 2. 已知: #define A 4 #define B A+2 #define C B/2 main( )

{ printf(“%d\\n”,C+1); } 上述程序段的输出结果是( )。

第 50 页 共 64 页