C语言程序设计第八章作业
一、 单选题 (每小题10分,共100分,得分 100 分) 1、设 int *p , I ;以下正确合理的语句是( )。 A、*p=10; B、i=p; C、i=*p; D、i=2*p+1;
你的回答: A (√) 参考答案:A
2、设 char s[10] ; int I ; 以下引用数组 s 中元素正确的表达式是( )。
A、S(i+2); B、*(s+i) C、*(&s+i) D、*((s++)+i)
你的回答: B (√) 参考答案:B
3、若有定义和语句int **pp, *p, a=10, b=20;pp=&p; p=&a;p=&b; printf("%d,%d\n",*p,**pp);则输出结果是( )。
A、10,20 B、10,10 C、20,10 D、20,20
你的回答: D (√) 参考答案:D
4、若定义 char s[20]="programming",*ps=s ;则不能代表字符 o 的表达式是( )。
A、ps+2 B、s[2] C、ps[2] D、ps+=2,*ps
你的回答: A (√) 参考答案:A
5、若有定义和语句 char *s1="12345" , *s2="1234";printf("%d\n" ,strlen(strcpy(s1,s2))); 则??出结果是( )。
A、4 B、5 C、9 D、10
你的回答: A (√) 参考答案:A
6、若定义 int a[ ] ={1, 2, 3, 4, 5 , 6, 7 , 8 , 9 , 10}, *p=a ; 则值为 3 的表达式是 ( )。
A、p+=2,*(p++) B、p+=2,*++p C、p+=3,*p++ D、++*p
你的回答: A (√) 参考答案:A
7、设有以下一段程序 char s[ ]="Hello";char *p=s ; 执行完上面程序段后,*(p+5) 的值为 ( ) 。 A、'o' B、'\0' C、'o' 的地址 D、不确定的值
你的回答: B (√) 参考答案:B
8、已知:int *p,a;则语句“p=&a;”中的运算符“&”的含义是。 A、位与运算 B、逻辑与运算 C、取指针内容 D、取变量地址
你的回答: D (√) 参考答案:D
9、已知:int *p;使用如下语句动态申请一个int型的存储单元,应当使用。p=________malloc(sizeof(int)); A、int B、int * C、(* int) D、(int *)
你的回答: D (√) 参考答案:D
10、已知:char s1[4]="12";char *ptr;则执行以下语句后的输出为。ptr=s1;printf("%c\n",*(ptr+1)); A、字符'2' B、字符'1' C、字符'2'的地址 D、不确定
你的回答: A (√) 参考答案:A