C语言辅导资料 下载本文

#include void abc(char *p) {

int i,j;

for(i=j=0; *(p+i)!=?\\0?; i++) if(*(p+i)>=?d?) {

*(p+j)=*(p+i); j++; }

*(p+j)=?\\0?; }

void main() {

char str[ ]=”cdalb”; abc(str); puts(str); }

A.dalb B.cd C.dl D.c

【例5.17】下面程序的运行结果是 。

#include void main() {

int x[5]={2,4,6,8,10},*p,**pp; p=x; pp=&p;

printf(“%d”,*(p++)); printf(“%d\\n”,**pp); }

A.4 4 B.2 4 C.2 2 D.4 6

【例5.18】阅读以下程序:

#include void main() {

int a[10]={2,4,6,8,10,12,14,16,18,20},*p; p=a;

printf(“%x\\n”,p); printf(“%x\\n”,p+9); }

若第一个printf语句输出的是ffca,则第二个printf语句输出的是 。 A.ffdd B.ffdc C.ffde D.ffcd

【例5.19】以下程序运行的结果是 。

#include #include

49

void main() {

char *p1,*p2,str[50]=”abc”,st[50]=”abc”; p1=st; p2=”abc”;

strcpy(str+1, strcat(p1,p2)); printf(“%s\\n”,str); }

A.abcabcabc B.bcabcabc C.aabcabc D.cabcabc

【例5.20】以下程序运行的结果是 。

#include sub( int x, int y, int *z) {

*z=y-x; }

void main() {

int a,b,c;

sub(10,5,&a); sub(7,a,&b); sub(a,b,&c);

printf(“M,M,M\\n”,a,b,c); }

A.5, 2, 3 B.-5, -12, -7 C.-5, -12, 7 D.5, -2, -7

【例5.21】执行以下程序后,a的值为【1】 ,b的值为【2】 。

#include void main() {

int a,b,k=4,m=6,*p1=&k,*p2=&m; a=p1= =&m;

b=(-*p1)/(*p2)+7; printf(“a=%d\\n”,a); printf(“b=%d\\n”,b); }

【1】 A.-1 B.1 C.0 D.4 【2】 A.5 B.6 C.7 D.10

【例5.22】下面程序的运行结果是 。

#include void main() {

int b,a=28; char s[10],*p; p=s;

50