2022年自学考试《C语言程序设计》习题及答案20
【1.96】fscanf函数的正确调用形式是。
A)fscanf(文件指针,格式字符串,输出列表);
B)fscanf(格式字符串,输出列表,文件指针);
C)fscanf(格式字符串,文件指针,输出列表);
D)fscanf(文件指针,格式字符串,输入列表);
【1.97】使用fgetc函数,则打开文件的方式必须是。
A)只写B)追加C)读或读/写D)参考答案B和C都正确
【1.98】已知宏定义
#define N 3
#define Y(n)((N+1)*n)
执行语句z=2*(N+Y(5+1));后,变量z的值是____。
A)42 B)48 C)52 D)出错
【1.99】已知宏定义#define SQ(x)x*x,执行语句printf('%d',10/SQ(3));后的输出结果是____。
A)1 B)3 C)9 D)10
【1.100】已知宏定义如下:
#define PR printf
#define NL'n'
#define D'%d'
#define D1 DNL
若程序中的语句是PR(D1,a);经预处理后展开为____。
A)printf(%dn,a);B)printf('%dn',a);
C)printf('%d''n',a);D)原语句错误
【参考答案】
【1.96】答案:D
【1.97】答案:C
【1.98】答案:B
注释:语句z=2*(N+Y(5+1)引用了两个宏定义。C语言是区分字母大小的,第二个宏定义中的N直接用3替换,用5+1替换n,则有z=2*(3+(3+1)*5+1);结果是48。注意对于带参数的宏亦是直接的文本替换,此例中n用5+1去替换,结果是(N+1)*5+1,而不是(N+1)*(5+1)。
【1.99】答案:C
注释:宏替换后的结果是printf('%d',10/3*3)。
【1.100】答案:C
热门推荐:
自考有疑问、不知道如何选择主考院校及专业、不清楚自考当地政策,点击立即了解》》
推荐阅读: