答案c
66、下面程序应能对两个整型变量的值进行交换。以下正确的说法是________。 main()
{ int a=10,b=20;
printf(\ swap(&a,&b);
printf(\}
swap(int p,int q) { int t;
t=p;p=q;q=t; } A、该程序有错,只要将swap()函数中的形参p和q以及t均定义为指针(执行语句不变)即可
B、该程序完全正确
C、该程序有错,只要将语句swap (&a,&b);中的参数改为a,b即可 D、以上说法都不正确 答案d
67、以下程序有错,错误原因是________。 main()
{ int *p,i;char *q,ch; p=&i; q=&ch; *p=40; *p=*q;
…… } A、q没有指向具体的存储单元,所以*q没有实际意义
B、p和q的类型不一致,不能执行*p=*q;语句
C、*p中存放的是地址值,因此不能执行*p=40;语句
D、q虽然指向了具体的存储单元,但该单元中没有确定的值,所以不能执行*p=*q;语句 答案d
68、若已定义int a =5;下面对(1),(2)两个语句的正确解释是________。
(1)int *p=&a; (2)*p=a;
A、(1)在对P进行说明的同时进行初始化,使P指向a
(2)将变量a的值赋给指针变量p
B、语句(1)和(2)中的*P含义相同,都表示给指针变量P赋值
C、(1)和(2)语句的执行结果,都是把变量a的地址值赋给指针变量p
D、(1)在对P进行说明的同时进行初始化,使P指向a
(2)将变量a的值赋于*p 答案d
69、若有说明:int *p,m=5,n;以下正确的程序段是________。 A、scanf(\ *p=n; B、p=&n;
scanf(\ C、p=&n; scanf(\D、p=&n; *p=m; 答案d
70、若有说明:int *p1,*p2,m=5,n;以下均是正确赋值语句的选项是________。 A、p1=&m;p2=&n;*p1=*p2; B、p1=&m;*p2=*p1; C、p1=&m;p2=p1; D、p1=&m;p2=&p1; 答案c
71、已有变量定义和函数调用语句:int a=25; print_value(&a);下面函数的正确输出结果是________。
void print_value(int *x) { printf(\ A、25 B、23 C、24 D、26 答案d
9
72、下面判断正确的是________。 A、char str[10]={\等价于char str[10];str[]={\
B、char[4]=\等价于charc[4]=d[4]=\C、char *s=\等价于char *s;s=\D、char *a=\等价于char *a; *a=\答案c
73、下面能正确进行字符串赋值操作的是________。
A、char s[5]={'A','B','c','D','E'}; B、char *s; scanf(\C、char *s; s=\D、char s[5]={\答案c
74、设P1和p2是指向同一个字符串的指针变量,c为字符变量,则以下不能正确执行的赋值语句是________。 A、pl=p2; B、p2=c;
C、c=*pl*(*p2); D、c=*pl+*p2; 答案b
75、设有下面的程序段:chars[]=\*p;p=s;则下列叙述正确的是________。 A、s数组长度和p所指向的字符串长度相等
B、s和p完全相同
C、数组s中的内容和指针变量p中的内容相等
D、*p与s[0]相等 答案d
76、下面程序段的运行结果是_________。 char *format=\int a=1,b=10; a+=b;
printf(format,\A、format,\B、以上结果都不对
10
C、a+=b,a=ll,b=10 D、for,\答案c
77、下面程序段的运行结果是_________。 char *p=\int a=111,b=10,c; c=a%b;p+=3; printf(p,c,a,b); A、a=lll,b=10 B、a=1,b=111 C、以上结果都不对 D、1,a=111,b=10 答案b
78、以下正确的程序段是________。 A、char *p;
scanf(\
B、char str[20],*p=str; scanf(\C、char str[20]; scanf(\ D、char str[20]; scanf(\答案c
79、以下正确的程序段是________。 A、char str[10],*st=\B、char st1[]=\C、char str[10]=\D、char str1[]=\2); 答案c
80、下面程序段的运行结果是________。 char str[]=\printf(\A、字符'C'的地址 B、0 C、字符'C' D、67 答案b
81、下面程序段运行的结果是________。 char *p=\p+=3;
printf(\A、12 B、7 C、4 D、8 答案c
82、下面程序段的运行结果是________。 char a[]=\p=a;
while(*p!='u'){ printf(\A、language B、langUAGE C、LANG
D、LANGUAGE 答案c
83、若有语句:char s1[]=\则对库函数strcpy的正确调用是:________。 A、strcpy(s3,\B、strcpy(s4,\C、strcpy(s1,s2); D、strcat(s3,\答案b
84、以下与库函数strcpy(char *p1,char *p2)功能不相等的程序段是________。 A、strcpy1(char *p1,char *p2) { while(*p1++=*p2++);} B、strcpy1(char *p1,char *p2) { while((*p1++=*p2++)!='\\0');} C、strcpy2(char *p1,char *p2)
{ while((*p1==*p2)!='\\0'){p1++;p2=++;}} D、strcpy1(char *p1,char *p2) { while(*p2) *p1++=*p2++;} 答案d
85、以下与库函数strcmp(char *s,char *t)的
11
功能相等的程序段是________。 A、strcmp2(char *s,char *t) { for( ;*s++==*t++;) if(!*s) return 0; return(*s-*t); }
B、strcmp4(char *s,char *t) { for( ;*s==*t;s++,t++) if(!*s) return 0; return (*t-*s); }
C、strcmp3(char *s,char *t) { for( ;*t==*s;)
{ if(!*t) return 0; t++; s++;} return(*s-*t); }
D、strcmp1(char *s,char *t) { for( ;*s++==*t++;)
if(*s=='\\0') return 0; return (*s-*t); } 答案c
86、当运行以下程序时,从键盘输入Happy!
{ char str[10],*p=str; gets(p);
printf(\}
stre(char str[])
{ int num=0;
while(*(str+num)!='\\0') num++; return(num); } A、5 B、6 C、10 D、7 答案b
87、下面程序的运行结果是________。 #include
printf(\}
A、零 char
a[]=\ char *p1,*p2; int k; p1=a;p2=b;
for(k=0;k<=7;k++)
if(*(p1+k)==*(p2+k)) printf(\}
A、gae B、有语法错 C、ga D、Language 答案a
88、 下面程序的运行结果是________。#include
char *a;
for(i=0,j=0;a[i]!='\\0';i++) if(a[i]>='0'&&a[i]<='9') { s[j]=a[i];j++;} s[j]='\\0'; }
main()
{ char *item=\ delch(item); printf(\}
A、a34 B、34 C、a34bc D、abc 答案b
89、下面程序的运行结果是________。 #include
{ char *s1=\ char *s2=\
B、负数 C、不确定的值 D、正数
答案b
90、当运行以下程序时,从键盘输入MyBooK
{ if(*s<='Z'&&*s>='A') *s+=32; return *s; }
main()
{ char c[80],*p; p=c;
scanf(\
while(*p){ *p=fun(p);putchar(*p);p++;} printf(\
} A、my book B、My Book C、mybook D、mY bOOk 答案c
91、下面程序的运行结果是________。 #include
strcpy (a,\
}
main() { char *p; fun(p); puts(p); }
A、look_ _
12
相关推荐: