《C语言程序设计(指针)期末单元测试与答案.docx》由会员分享,可在线阅读,更多相关《C语言程序设计(指针)期末单元测试与答案.docx(4页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、一、单项选择题1、假设有语句int *point, a = 4;和point = &a;下面均代表地址的一组选项是()。A.&*a, &a, * pointB.&a, &*point, pointC.*&point, *point, &aD.a, point, *&a正确答案:B2、假设有说明:long *p, a;那么不能通过scanf语句正确给输入项读入数据的程序段是()。A.scanf(%lcT, &a);B.*p = &a; scanf(%ld, p);C.scanf(%ld, p = &a);D.p = (long)malloc(8); scanf (%ld, p);正确答案:B3、
2、有以下程序:#include int main()(int a = 1, b = 3, c = 5;int *pl = &a, *p2 = &b, *p = &c;*p = *pl*(*p2);printf(%dn”, c);return 0;)执行后的输出结果是()。A.lB.2C.3D.4正确答案:C4、假设有以下定义:inta10, *p = a;贝I p + 5表示()。A.元素a6的地址B.元素a5的值C.元素a 6的值D.元素a5的地址正确答案:D5、设有如下定义:int arr = 6, 7, 8, 9, 10; int *ptr; ptr = arr; *(ptr + 2) +
3、= 2;printf(,%d, %dnM, *ptr, *(ptr + 2);那么程序段的输出结果为()。A.6, 10B.7, 9C.6, 8D.8Z 10正确答案:A6、有以下程序:#include int main()(char a = abed, ef, gh, ijk;int i;for (i = 0; i 4; i+)printf(%c, *ai);return 0;程序运行后的输出结果是()。A.abedB.aegiC.abcdefghijkD.dfhk正确答案:B7、假设有以下说明和语句:intc,(*p);p = c;能正确引用c数组元素的是()。A,p + 1B.*(p +
4、 3)C.*(p + l) + 3D.*(pO + 2)正确答案:D8、假设有定义:inta23那么对a数组的第i行j列元素地址的正确引 用为()。A.*(a + i)B.*(a+j)C.ai + jD.*(ai +j)正确答案:C9、有以下程序:include int main()(int n, *p = NULL;p = &n;printf(Mlnput n : ”);scanf(”cT/ &p);printf(Moutput n : ”);printf(%dn,p);return 0;该程序试图通过指针p为变量n读人数据并输出,但程序有多处错误,以下语句正确的选项是()。A.scanf(
5、“%cT/ &p);B.printf(,%dn,/ p);C.int n, *p = NULL;D.p = &n;正确答案:c10、下面程序段的运行结果是()。char s = abcde; s += 2; printf(%cT, s);A.字符V的地址B.无确定的输出结果C.字符dD.cde正确答案:A11、以下程序段中,不能正确赋字符串(编译时系统会提示错误)的是()。A.char s10; strcpy (s, ,abcdefgM);B.char t = ,abcdefgM, *s = t;C.char s10; s = ,labcdefgn;D.char s10 = ,abcdefgn
6、;正确答案:C12、设已有定义:char *st = how are you;以下程序段中正确的选项是()OA.char all; strcpy(a, st);B.char all, *p; strcpy(p = a + 1, &st4);C.char a , p; strcpy(p = &al, st + 2);D.char all; strcpy(+a, st);正确答案:B13、设pl和p2是指向同一个字符串的指针变量,c为字符变量,那么 以下不能正确执行的赋值语句是()。A.p2 = c;B.c = *pl*(*p2);C.pl = p2;D.c = *pl + *p2;正确答案:A1
7、4、假设有说明语句:char a = It is mine; char *p = It is mine;那么以下不正确的表达是()。A.a中只能存放10个字符B.p变量中存放的地址值可以改变C.a + 1表示的是字符t的地址D.p指向另外的字符串时,字符串的长度不受限制正确答案:A15、下面程序的运行结果是()。#include #include int main()(char *sl = AbDeG”; char *s2 = ,AbdEgn; si += 2; s2 += 2;printf(,%dn,/ strcmp(sl, s2);return 0;A.负数B.OC.正数D.不确定的值正确答案:A