1下述程序段的输出结果是() 答A
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.下述程序段的输出结果是()。答:A int x=10;
int y=x++;
printf(“%d,%d”,(x++,y),y++);
A. 11,10
B. 11,11
C. 10,10
D. 10,11
2. 下述程序的作用是删除字符串s中的所有空格。请在每组中选择正确的答案。
#include
void delspace(char *s)
{char *I;
int t;
for(I=s,t=0; (1) ; I++)
if( ! isspace( (2) ) ) /*isspace函数用来判断某个字符是否为空格*/
(1) = *I;
*s=’\0’;}
main()
{char s[81]= “S_t_r_i_n_g” ; /*_表示空格*/
delspace(s);
puts(s);}
(1)A. *I B. !*I C. *I!=’\n’ D. **I
(2)A. *s B. *I C.*I++ D. *s++
(3)A. *s B. *++s C. *s++ D. s(I-1)
3. 下述语句中,()可以在字符串s1和s2相等时显示”Equal”。答:B
A. if(s1==s2) puts(”Equal”);
B. if(!strcmp(s1,s2)) puts(”Equal”);
C. if(*s1==*s2) puts(”Equal”);
D. if(strcmp(s1,s2)) puts(”Equal”);
4. 下述程序的运行结果实()。答:A void sub(int *s,int *y)
{static int t=3;
*y=s[t]; t--;}
main()
{int a[]={1,2,3,4},k,x;
for(k=0;k<4;k++)
{sub(a,&x); printf(“%d”,x);}}
A. 4,3,2,1
B. 1,2,3,4
C. 0,0,0,0
D. 4,4,4,4
5. 若有如下说明和语句,且0 p=a; A. &(a+1) B. a++ C. &p D. &p[t] 6. 下列函数在一维数组v上把x插入下标为I的元素之前,I≥0。如果I大于等于元素个数则在末尾。原有的元素个数存放在指针n所值的变量中,插入后元素个数增1。请在空白处填空。 void insline(double v[ ],int *n,double x,int I) { int j; if( (1) ) for(j=*n-1; (2) ; j--) (3) =v[j]; else I=*n; v[I]= (1) ; (*n)++;} 答:(1) I<*n (2) j>=I (3) v[j+1] (4) x 7. 下列程序的执行结果是()。答:D f(int a) {int b=0; static c=3; a=c++,b++; return(a);} main() {int a=2,I,k; for(I=0;I<2;I++) k=f(a++); printf(“%d\n”,k);} A. 3 B. 0 C. 5 D. 4 8. 下面函数的功能是()。答:A int fun1(char *x) {char *y=x; while(*y++); return(y-x-1);} A. 求字符串的长度 B. 求字符串存放的位置 C. 比较两个字符串的大小 D. 将字符串x连接到字符串y后面 9. 已定义char b[5],*p=b; 选择出正确的赋值语句()。答:C A. b=”abcd”; B. *b=”abcd”; C. p=”abcd”; D. *p=”abcd”; 10. 下面程序的输出结果是。 long fun5(int n) {long s; if( (n==1)||(n==2) ) s=2; else s=n+fun5(n-1); return(s);} main() {long x; x=fun5(4); printf(“%ld\n”,x);} 答:9 11. 用以下程序求出a数组中所有素数的和,函数isprime用来判断变量是否为素数。main() {int I,a[10],*p=a,sum=0; for(I=0;I<10;I++) scanf(“%d”,&a[I]); for(I=0;I<10;I++) if( isprime( *(p+ (1) ) )==1 ) {printf(“%d”, *(a+I) ); sum+=*(a+I); } printf(“%d\n”,sum); } isprime(int x) {int I; for(I=2;I<=x/2;I++) if(x%I==0) return(0); (1) ; } 答:(1) I (2) return(1) 12. 若有以下说明和语句,且0≤I<10,则()是对数组元素的错误引用。答:C int a[ ]={1,2,3,4,5,6,7,8,9,0},*p,I; p=a; A. *(a+I) B. a[p-a] C. p+I D. *(&a[I]) 13. 以下程序段的结果是()。答:B static char a[ ]=”Program”; char *ptr=a;