首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

来做题

2012-11-09 
高手进来做题C/C++ code1、以下程序运行后,输出结果是()main(){ char *sabcdes+2printf(%ld\n,s)}

高手进来做题

C/C++ code
1、以下程序运行后,输出结果是(  )main(){ char *s="abcde";s+=2;printf("%ld\n",s);}A.cde    B.字符c的ASCII码值      C.字符c的地址     D.出错2、下面的程序将输出:(       )main(){ char ch; ch=’1’; ch+=1; switch(ch) {  case ‘1’: printf("this is one. ");  case ‘2’: printf("this is two. ");  default: printf("no way! ");   }  }A.this is one.     B.this is two.    C.no way!    D.this is two.no way!3、    以下所列的C语言常量中,错误的是(  )A. 0xFF     B. 1.2e0.5    C. 2L         D. '\72'4、    设P1和P2是指向同一个int型一维数组的指针变量,k为int型变量,则不正确的语句是(  )A.k=*P1+*P2;    B.P2=k;       C.P1=P2;        D.k=*P1 * (*P2);5、    设有如下定义int arr[]={6,7,8,9,10};int * ptr;则下列程序段的输出结果为:(       )ptr=arr;* (ptr+2)+=2;printf ("%d,%d\n",*ptr,*(ptr+2));A.8,10         B.6,8            C.7,9             D.6,106、在下以下程序的输出结果是:(       )#define f(x) x*xmain(){int a=6,b=7,c;    c=f(a)/f(b);    printf(“%d\n”,c);}A.9               B.35                  C.36                D.187、设有以下说明和定义typedef union { long   i;  int  k[15];  char  c; }DATE;struct date { int cat;  DATE cow;  double   dog; } too;DATE   max;则下列语句的执行结果是:(       )printf ("%d",sizeof (struct date ) +sizeof(max));A.30         B.35           C.70           D.758、若已知int a[3][4],*p;p=(int *)a;那么对数组a的第2行第2列的正确引用是:(       )A.a[2][2]    B.p[9]     C.a[9]             D.p[1][1]9、下列程序段所表示的逻辑关系是:(       )if(a<b)  { if(c==d)  x=1;}    else  x=2;A. x =         B. x =     C. x =             D. x =     10、若有说明int a[2][2];那么,下面正确的C赋值语句是:(       )A.a=2;        B.a[1]=2;    C.a[1]={1,2};     D.a[0][1]=a[1][0];11、给出以下定义:char x[ ]="abcdefg";char y[ ]={'a','b','c','d','e','f','g'};则正确的叙述为A、数组X和数组Y等价             B、数组x和数组Y的长度相同C、数组X的长度大于数组Y的长度   D、数组X的长度小于数组Y的长度12、有以下程序main(){ char   a[]="programming", b[]="language";char   *p1,*p2;int    i;p1=a;      p2=b;for(i=0;i<7;i++)if(*(p1+i)==*(p2+i))   printf("%c",*(p1+i));}输出结果是:A、gm         B、rg           C、or              D、ga13、下面函数调用语句含有实参的个数为:func((exp1,exp2),(exp3,exp4,exp5));A、1          B、2             C、3           D、414、当执行下面的程序时,如果输入ABC,则输出结果是#include "stdio.h"#include "string.h"main(){     char ss[10]="1,2,3,4,5";    gets(ss);    strcat(ss, "6789");    printf("%s\n",ss);}A、ABC6789     B、ABC67        C、12345ABC6    D、ABC45678915、若二维数组a 有m列,则在a[i][j]之前的元素个数为(    )A、j*m+i        B、i*m+j         C、 i*m+j-1     D、i*m+j+1主观题部分:一、简答题(每题2.5分,共2题)1、阅读程序写结果#include <stdio.h>int f(int n){static int s=1; while(n) s*=n--; return s;}main(){int i,j;     i=f(3); j=f(5)+f(2);     printf("\nThe outputis:\n");     printf("i=%#x,j=%d \n",i,j);}2、阅读程序写结果#include     <stdio.h>typedef struct     stu{ char     name[10];  int      age; }STU;char *fun(STU *p,int m){ int k,i;  STU *q;  k=200;  for(i=0;i<m;i++)    if((p+i)->age<k)      {        k=p->age;        q=p+i;        }  return q->name;}main(){ struct  stu   students[3]={"Zhang",20,"Wang",19,"Zhao",18}; printf("%s\n",fun(students,3));    }二、论述题(每题5分,共2题)1、编这样一个程序,用户输入10个整数,程序找出其中的最大值和最小值,并输出最大值与最小值的和、差、积、商。2、下面程序的功能是将一个字符串续接到另一个字符串上,至少包含有10处错误。请纠正错误的地方,使之成为正确运行的程序。#include "string.h"#include “stdio.h”void main(){ char str1[4]; char *str2="4567"; void StringCat(char s1;char *s2) str1="123"; StringCat(str1,str2); printf("%s",str1); }void StringCat(char s1;char *s2);{ char *p1,p2; p1=s1; p1+=strlen(s1); p2=s2; while(p2)   *p1++=*p2++; *p1=0;}


[解决办法]
空格表示无答案
1-5 CDBBD
6-10 B B D
11-15 CDBAB

一、1.

The output is:
i=0x6,j=2160;

(个人认为此题的j的值因编译器而异,因为每次调用函数时s的值都不同,j=f(5)+f(2) f(5)与f(2)运算的顺序不定,导致j的值不同)



2.
zhao


1.代码如下:

C/C++ code
#include<stdio.h>void  main(){    int a[10];    int i,min,max;    printf("Please enter 10 numbers:");    for(i=0;i<10;i++)        scanf("%d",&a[i]);    min=a[0];    max=a[0];    for(i=0;i<10;i++)    {        if(a[i]>max)  max=a[i];        if(a[i]<min)  min=a[i];    }    printf("%d %d %d %d\n",max+min,max-min,max*min,max/min);}
[解决办法]
工作时回答问题真蛋疼,还没弄完就有人搞完了。

热点排行