奥鹏网院作业 发表于 2017-6-13 22:15:44

《C语言》在线考试1.判断字符串s1是否大于字符串s2,应该...

中石油华东2017年春季学期《C语言》在线考试(适用于2017年6月份考试)标准答案
一、单选题:【10道,总分:20分】
1.判断字符串s1是否大于字符串s2,应该使用          (满分:2)
    A. if(s1>s2)
    B. if(strcmp(s1,s2))
    C. if(strcmp(s2,s1)>0)
    D. if(strcmp(s1,s2)>0)
2.若i为整型变量,则以下循环的次数是for(i=2;i==0;)printf(“%d”,i--);          (满分:2)
    A. 无限次
    B. 0次
    C. 1次
    D. 2次
   
3.设有如下程序段:int x=2, y=3;printf("%d\n",(x,y));则以下叙述中正确的是          (满分:2)
    A. 输出语句中格式说明符的个数少于输出项的个数,不能正确输出
    B. 运行时产生出错信息
    C. 输出值为2
    D. 输出值为3
4.语句: printf("%d",(a=2)&&(b=-2)); 的输出结果是          (满分:2)
    A. 无输出
    B. 结果不确定
    C. 1
    D. 2
   
5.设有int x=11;则表达式(x *1/3)的值是          (满分:2)
    A. 3
    B. 4
    C. 11
    D. 12
   
6.设有定义语句:char str[]={"Hello","Beijing"},*p=str; 则printf("%d\n",strlen(p+20)); 输出结果是          (满分:2)
    A. 0
    B. 5
    C. 7
    D. 20
   
7.设有语句:float x=1,y;? y=x 3/2; 则y的值是          (满分:2)
    A. 1
    B. 2
    C. 2.0
    D. 2.5
   
8.结构化程序的3种基本控制结构是          (满分:2)
    A. if-else结构、while结构、for结构
    B. 顺序结构、分支机构、循环结构
    C. while结构、do-while结构、for结构
    D. 以上三种都不对
9.设有定义 int a=3,b=4,c=5; ,则以下表达式中,值为0的表达式是          (满分:2)
    A. a&&b
    B. a<=b
    C. a(    )b c&&b-c
    D. !((a<b)&&!c(    )1)
   
10.以下选项中,与k= n完全等价的表达式是          (满分:2)
    A. k=n,n=n 1
    B. n=n 1,k=n
    C. k= n
    D. k =n 1
二、简答题:【3道,总分:30分】
1.编程题:编写函数change使输入的字符串按反序存放,在主函数中输入和输出字符串。例如输入是:12345abcde,则输出为:edcba54321
      满分:10分
2.编程题:编写一个函数,将一个字符串(最多80个字符)中的大写字母变为小写字母,小写字母变为大写字母。要求字符串的输入与输出在主函数中完成。
      满分:10分
3.设有分段函数:
x         (x<1)
Y=      2x-1      (1≤x<10)   写一程序,输入 x,输出 y 的值。
3x-11       (x≥10)
三、其他题(共 10 道试题,共 50 分。)V
1.读程序,写出程序执行结果
    #include <stdio.h>
void main()
{ int x=1,a=0,b=0;
switch(x)
{ case 0: b++;
case 1: a++;
case 2: a++;b++;
   }
printf(“a=%d,b=%d\n”,a,b);
}
      满分:5分
2.读程序,写出程序执行结果
#include <stdio.h>
void main()
{ int s,i;
for(s=0,i=1;i<5;i++,s+=i) ;
printf(“%d\n”,s);
}

      满分:5分
3.读程序,写出程序执行结果
   #include <stdio.h>
int f( )      
{ int s=1;
static int i=0;
s+=i;i++;
returns ;
}
void main()
{ int i,a=0;
for(i=0;i<3;i++) a+=f( );
      printf("%d\n",a);
}
      满分:5分
4.读程序,写出程序执行结果
#include <stdio.h>
    void main()
    {   inti,n[]={1,2,3,4,5};
for(i=0;i<2;i++)
{   n=n+1;
            printf("%d ",n);
}
for(i=0;i<5;i++)
            printf("%d ",n);
    }

      满分:5分
5.
读程序,写出程序执行结果
#include <stdio.h>
   void main()
{int a=10,b=0;
   if(a=12)
      {a++; b++; }
   else
      { a=a+3 ; b=b+3;}
   printf(“%d,%d\n”,a,b);
}
      满分:5分
6.读程序,写出程序执行结果
#include <stdio.h>
void main()
{ int i=0,a=0;
while( i<20 )
{for(;;)
if((i%10)==0) break;
else i--;
         i+=11;
         a+=i;
}
printf("%d\n",a);
}

      满分:5分
7.
读程序,写出程序执行结果
#include <stdio.h>
    int ws(intx)
    {   if(x/100>0)
         return(3);
       else if(x/10>0 )
         return(2);
      else
         return(1);
   }
    void main()
    {   inta=123;
      printf("%d是%d位数\n",a,ws(a));
    }

      满分:5分
8.
读程序,写出程序执行结果
#include <stdio.h>
void main()
{ int k=4,n=0;
for( ; n<k ; )
{n++;
if(n%3!=0) continue;
k- -;
}
printf("%d,%d\n",k,n);
}

      满分:5分
9.
读程序,写出程序执行结果
   #include <stdio.h>
void main()
   { int n=2;
      printf(“%d,%d,%d\n”, ++n , n+=2 , --n) ;
}

      满分:5分
10.
读程序,写出程序执行结果
   #include <stdio.h>
int fun(char *s1,char *s2)
   { int i=0;
      while(s1==s2 && s2!='\0') i++;
return (s1=='\0' && s2=='\0');
}
void main()
{ char p= "abcdef", q= "ABCDEF"
printf("%d\n",fun(p,q));
}

页: [1]
查看完整版本: 《C语言》在线考试1.判断字符串s1是否大于字符串s2,应该...