[计算机类试卷]国家二级C语言机试(翻译预处理和指针)模拟试卷11及答案与解析.doc
《[计算机类试卷]国家二级C语言机试(翻译预处理和指针)模拟试卷11及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级C语言机试(翻译预处理和指针)模拟试卷11及答案与解析.doc(16页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级 C语言机试(翻译预处理和指针)模拟试卷 11及答案与解析 一、选择题 1 关于 C语言预处理命令的叙述中正确的是 ( )。 ( A)在 C语言中,预处理命令行都以 “#”开头 ( B)预处理命令行必须位于 C源程序的起始位置 ( C) #include必须放在 C程序的起始位置 ( D) C语言的预处理不能实现宏定义和条件编译的功能 2 关于宏的叙述中正确的是 ( )。 ( A)宏名称必须用大写字母表示 ( B)宏定义必须位于源程序中所有语句之前 ( C)宏调用比函数调用耗费时间 ( D)宏替换没有数据类 型限制 3 设 #define IsDIV(k, n)(k n=1)? 1:
2、0),则宏调用: IsDIV(m, 5)&IsDIV(m,7)为真时所要表达的是 ( )。 ( A)判断 m是否能被 5和 7同时整除 ( B)判断 m被 5或者 7整除是否余 1 ( C)判断 m被 5和 7整除是否都余 ( D)判断 m是否能被 5或者 7整除 4 以下程序的输出结果是 ( )。 #include #define f(x)x*x*x main()int a=3, s, t; s=f(a+1); t=f(a+1); printf( d, d n, s, t); ( A) 64, 10 ( B) 10, 64 ( C) 10, 10 ( D) 64, 64 5 关于预处理命令的
3、叙述中错误的是 ( )。 ( A)预处理命令行的最后不能以分号表示结束 ( B) C程序对预处理命令行的处理是在程序执行的过程中进行的 ( C) #define MAX是合法的宏定义命令行 ( D)在程序中凡是以 “#”开始的语句行都是预处理命令行 6 以下程序的输出结果是 ( )。 #deftne S(x)x*x #define T(x)S(x)*S(x) main()int k=5, j=2; printf( d, d n, S(k+j), T(k+j); ( A) 17, 37 ( B) 49, 289 ( C) 17, 289 ( D) 49, 2401 7 关于 #include的叙
4、述中正确的是 ( )。 ( A)在包含文件中,不得再包含其他文件 ( B) #include命令行不能出现在程序文件的中间 ( C)在一个程序中,允许使用任意数量的 #include命令行 ( D)虽然包含文件被修改了。包含该文件的源程序也可以不重新进行编译和连接 8 设 void fun(int n, char *s) ,则下面对函数指针的定义和赋值均正确的是( )。 ( A) void *pf(); *pf=fun; ( B) void (*pf)(int, char*); pf=fun; ( C) void *pf(); pf=fun; ( D) void (*pf)(int, char
5、); pf=&fun; 9 关于变量和地址的叙述中正确的是 ( )。 ( A)语句 p=NULL;执行后,指针 P指向地址为 0的存储单元 ( B)语句 p=NULL; 与 p= 0; 是 等价的语句 ( C) “int*p1; int*p2; int*p3; ”都是合法的定义指针变量的语句 ( D)指针变量只能通过求地址运算符 (&)来获得地址值 10 关于 int* func(int a10, int n);的叙述中正确的是 ( )。 ( A)说明中的 a10写成 a或 *a效果完全一样 ( B)形参 a对应的实参只能是数组名 ( C) func的函数体中不能对 a进行移动指针 (如 a+
6、)的操作 ( D)只有指向 10个整数内存单元的指针,才能作为实参传给 a 11 关于地址的叙述中错误的是 ( )。 ( A)改变函数形参的值,不会改变对应实参的值 ( B)函数可以返回地址值 ( C)当在程序的开头包含头文件 stdio h时,可以给指针变量赋: NULL ( D)可以给指针变量赋一个整数作为地址值 12 23以下程序的输出结果是 ( )。 main()int m=1, n=2, *p=&m, *q=&n, *r; r=p; p=q; q=r; printf( d, d, d, d n, m, n, *P, *q); ( A) 2, 1, 2, 1 ( B) 1, 2, 2,
7、 1 ( C) 1, 2, 1, 2 ( D) 2, 1, 1, 2 13 设 float a10, *s=a;以下能够代表数组元素 a3的是 ( )。 ( A) (*s)3 ( B) *s3 ( C) *s+3 ( D) *(s+3) 14 若 int a23, *p3;则以下语句中正确的是 ( )。 ( A) p0=&a12; ( B) p0=a; ( C) *p+=1; ( D) p=a; 15 若 float a, *p=&a;以下叙述中错误的是 ( )。 ( A)定义语句中的 *是一个说明符 ( B)定义语句中的 P只能存放 float类 型变量的地址 ( C)定义语句中木 p=&a
8、把变量 a的地址作为初值赋给指针变量 p ( D)定义语句中的 *是一个间址运算符 16 以下程序的输出结果是 ( )。 int fun1(double A)return a*=a; int fun2(double x, double y) double a=0, b=0; a=fun1(x); b=fun1(y); return(int)(a+b); main() double w; w=fun2(1 1, 2 0); ( A) 5 00 ( B) 4 0 ( C) 4 21 ( D) 5 0 17 以下程序的输出结果是 ( )。 void fun(int n, int *s)int f;
9、if(n=1)*s=n+1; elsefun(n一 1, &f); *s=f; main()int x=0; fun(4, &x); printf( d n, x); ( A) 4 ( B) 3 ( C) 1 ( D) 2 18 以下程序的输出结果是 ( )。 #include main() #define N 4 int xN=1, 2, 3), 4), 5, 6, 7, 8), 9, 10, void fun(int aN, int b) yN, i; int i; fun(x, y); for(i=0; i N; i+)bi=aii; for(i=0; i N; i+)printf( d
10、, , yi); printf( n); ( A) 3, 4, 8, 10, ( B) 1, 4, 5, 9, ( C) 1, 0, 7, 0, ( D) 1, 2, 3, 4, 19 以下程序的输出结果是 ( )。 #include main() void fun(char *c, int d) char b=a, a=A; *c=*c+1; d=d+1; fun(&b, a); printf( c, c n, b, a); printf( c, c, , *c, d); ( A) b, B, b, A ( B) a, B, a, B ( C) a, B, B, a ( D) b, B, B
11、, A 20 以下程序的输出结果是 ( )。 #include int funa(int a, int b)return a+b; int funb(int a, int b)return a一 b; int sss(int(*t)(), jnt x, int y)retern(*t)(x, y); main()int x; x=sss(funa, 9, 3); x+=sss(funb, 8, 3); printf( d n, x); ( A) 17 ( B) 22 ( C) 24 ( D) 23 21 以下程序的输出结果是 ( )。 void fun(int *p, int* q)int t
12、; t=*P; *P=*q; *q=t; *q=*p; main()int a=0, b=9; fun(&a, &b); printf( d n, a, b); ( A) 9 0 ( B) 9 9 ( C) 0 0 ( D) 0 9 22 以下程序的输出结果是 ( )。 void swap(char*x, char*y) main() char t; char*s1=abc, *s2=123*; t=*x; *x=*y; *y=t; swap(s1, s2); printf( s, s n, s1, s2); ( A) 321, cba ( B) 123, abc ( C) abc, 123
13、( D) 1bc, a23 23 以下函数的功能是 ( )。 int fun(char*s) char*t=s; while(*t+); return(t一 s); ( A)计算 s所指字符串的长度 ( B)比较两个字符串的大小 ( C)计算 s所指字符串占用内存字节的个数 ( D)将 s所指字符串复制到字符串 t中 24 以下程序的输出结果是 ( )。 #include void fun(char*P) +p; printf( sh, *P); main() char*a=Morning, Afternoon, Evening, Night); fun(a); ( A) Morning (
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 语言 翻译 预处理 指针 模拟 11 答案 解析 DOC
