10.34 阅读以下程序,使程序输出结果为30,4.000 000,请填空。 #include \ main() { int a=30,b=40,c; double 【14】 ,s; s=fun(&a,&b,&c); printf(\\n\);} double fun(int *a,int *b, 【15】 ) { *c=*a%*b; return(4.0); }
正确答案: fun(int *,int *,int *) 正确答案: int *c 第10章 指针 同步练习二
一、选择题(在下列各题的A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项填涂在答题卡相应位置上。)
10.1b 下列关于指针变量赋空值的说法错误的是 A)当赋空值的时候,变量指向地址为0的存储单元 B)赋值语句可以表达为变量名=′\0′; C)赋值语句可以表达为变量名=0; D)一个指针变量可以被赋空值 考生答案: 正确答案: A 10.2b 下面函数的功能是 char *fun(char *str1,char*str2)
{ while((*str1)&&(*str2++=*str1++)); return str2; }
A)求字符串的长度 B)比较两个字符串的大小
C)将字符串str1复制到字符串str2中 D)将字符串str1接续到字符串str2中 考生答案: 正确答案: C
10.3b 下面程序段中,输出*的个数是 char *s=\\ta\018bc\
for(;*s!=′\0′;s++)printf(\); A)9 B)5 C)6 D)7
考生答案: 正确答案: C
10.4b 下列程序是用来判断数组中特定元素的位置所在。如果输入如下整数: 876 675 896 101 301 401 980 431 451 777
#include #include
int fun(int *s, int t, int *k) { int i; *k=0; for(i=0;i
if(s[*k]
{ int a[10]={ 876,675,896,101,301,401,980,431,451,777},k; clrscr(); fun(a, 10, &k);
printf(\\n \[k]); }
则输出结果为 A)7,431 B)6 C)980 D)6,980 正确答案: D 10.5b 有以下程序 #include main() { char *p,*q;
p=(char *)malloc(sizeof(char)*20); q=p; scanf(\ %s\); printf(\\n\); }
若从键盘输入:abc def<回车>,则输出结果是 A)def def B)abc def C)abc d D)d d
考生答案: 正确答案: A 10.6b 有以下程序 #include main()
{ char *p=\\0fghjik\0 \ printf(\\n \(p)); }
程序运行后的输出结果是 A)12 B)15
C)6 D)5
考生答案: 正确答案: D 10.7b 已知char **t;则变量t是 A)指向char变量的指针 B)指向指针的char变量 C)指向指针的指针 D)以上说法都不对 考生答案: 正确答案: C
10.8b 阅读下面程序,执行后的结果为 #include \ void fun(int *a,int *b) { int k; k=5; *a=k; *b=*a+k;} main()
{ int *a,*b,x=10,y=15; a=&x; b=&y; fun(a,b);
printf(\\n\); } A)10,15 B)5,15 C)5,10 D)15,10
考生答案: 正确答案: C
10.9b 阅读下面程序,在程序执行后的结果为 #include \ int *fun(int *a,int *b) { int m; m=*a; m+=*b-3; return(&m); } main()
{ int x=21,y=35,*a=&x,*b=&y; int *k; k=fun(a,b); printf(\\n\); }
A)53 B)21 C)35 D)14
考生答案: 正确答案: A
10.10b 阅读下列程序,则执行后的结果为 #include \ main()
{ int c[][4]={1,2,3,4,5,6,7,34,213,56,62,3,23,12,34,56}; printf(\\n\[2][2],*(*(c+1)+1)); }
A)3e,6 B)62,5 C)56,5 D)3E,6 考生答案: 正确答案: A
10.11b 下面程序的文件名为t.exe,在DOS下输入的命令行参数如下:t to meet me<回车> 则程序输出的结果是 #include \ main(argc,argv) int argc;char *argv[]; { int i;
printf(\\n\); } A)3 B)4 C)2
D)以上答案都不正确 考生答案: 正确答案: B 10.12b 现有如下程序段 #include \ int *fun(int *a,int *b) { int c; c=*a%*b; return &c; } main() { int a=5,b=19,*c; c=fun(&a,&b); printf(\\n\); }
则程序段执行后的结果为 A)8 B)7 C)6
相关推荐: