精华内容
下载资源
问答
  • 填空题下列给定程序中,函数fun()的功能将字符串s中位于偶数位置字符或ASCII码为奇数字符放入字符串t中(规定第一个字符放在第0位中)。例如:字符串中数据为ADFESHDI,则输出应当 AFESDI。请改正程序...

    填空题下列给定程序中,函数fun()的功能是将字符串s中位于偶数位置的字符或ASCII码为奇数的字符放入字符串t中(规定第一个字符放在第0位中)。

    例如:字符串中的数据为ADFESHDI,则输出应当是 AFESDI。

    请改正程序中的错误,使它能得到正确结果。

    注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。

    试题程序:

    #include <conio.h>

    #include <stdio.h>

    #include <string.h>

    #define N 80

    /************found*************/

    void fun(char s,char t[])

    {

    int i,j=0;

    for(i=0;i<strlen(s);i++)

    /*********found*+************/

    if(i%2=0 || s[i]%2!=0)

    t[j++]=s[i];

    t[j]=’\0’;

    }

    main()

    {

    char s[N],t[N];

    clrscr();

    printf("\nPlease enter string s:");

    gets(s);

    fun(s,t);

    printf("\nThe result is:%s\n",t);

    }

    展开全文
  • 创建线程使用fork()

    2015-01-04 06:49:04
    仔细阅读、分析下列程序,假设程序正确运行并创建子进程成功,那么,输出到屏幕正确结果是main() { pid_t pid; pid = fork(); if (pid = = 0) printf ("Hello World\n"); else if (pid > 0) printf ("Hello World...
  • C语言程序试题(二).doc

    2020-08-24 18:50:28
    C语言程序设计习题(二) 学号_ 姓名_ 选择题 16位系统执行下列... A.65535 B.1 C.32767 D 32位系统Short类型变量占( )个字节 A1 B2 C 下列程序的输出结果是 void main) { printf%d,null; } A0 B1 C-1 D 设int x=1,y=1
  • 在Point3D中主函数main()中实例化两个Point2D对象,并通过这两个对象调用它们属性和方法,输出方法执行结果。 2.(第2题)定义抽象类Shape,抽象方法为showArea(),再定义矩形类Rectangle,正方形类Square,圆类 ...
  • C语言学习错题集(4)

    2020-11-28 16:34:31
    1.下列程序的输出结果是() main() { int num1=18,num2=20; num2+=num++; printf("%5d,%-5d\n",num1,num2); 答案:num1=19,num2=38 见翁恺网课2.2.2 运算符优先级 可知+优先级高于= 所以先算num2+=num1,...

    1.下列程序的输出结果是()

    main()
    {
    	int num1=18,num2=20;
    	num2+=num++;
    	printf("%5d,%-5d\n",num1,num2);
    

    答案:num1=19,num2=38

    在这里插入图片描述
    见翁恺网课2.2.2 运算符优先级
    可知+优先级高于=
    所以先算num2+=num1,然后计算num1++

    2.函数调用结束后之所以能正确返回到主调用函数,是因为在———中保存了———。

    答案:函数活动记录,返回地址

    3.有段程序如下:

    	int sex=1;
    	switch(sex){
    		case 0:printf("boy\n");
    		case 1:printf("girl\n");
    		default:printf("invalid data\n");
    	}
    

    正常情况下只有没有case匹配的时候才会执行default.
    当case匹配了,但是没有break的时候,还是会执行default的。

    答案:girl
    invalid data

    4.———和控制器合称为CPU,控制器中的程序计数器PC的作用是———。

    答案:运算器;存放下一条待执行的指令在内存的地址。

    5.程序不运行时,代码存放在———中;要运行程序,首先要将代码装到———中。

    答案:外存/辅存;内存/主存。

    6.———是能够被计算机硬件直接识别的、命令计算机进行某种基本操作的二进制代码串

    答案:指令

    7.操作系统的功能(5点)

    答案:作业管理、设备管理、CPU管理、内存管理、文件管理

    8.C程序源文件转变为目标代码文件是在———阶段实现的,生成最终的可执行文件(.exe文件)是在———阶段实现的。

    答案:编译,链接

    记得熟悉N-S图

    展开全文
  • C语言期末考试题及答案(二)

    千次阅读 2020-10-01 23:31:58
    2.下列程序的输出结果是( )。 main( ) { int a=7,b=5; printf("%d\n",b=b/a); } A 5 B 1 C 0 D不确定值 3.假设变量a,b均为整型,表达式(a=5,b=2,a>b?a++:b++,a+b)的值是( )。 A 7 B 8 C 9 D 2 4.设a为

    C语言(一)
    一 选择题(7分,每小题0.5分)
    1.C语言源程序的基本单位是( )。
    A 过程 B 函数 C 子程序 D 标识符
    2.下列程序的输出结果是( )。
    main( )
    { int a=7,b=5;
    printf("%d\n",b=b/a);
    }
    A 5 B 1 C 0 D不确定值
    3.假设变量a,b均为整型,表达式(a=5,b=2,a>b?a++:b++,a+b)的值是( )。
    A 7 B 8 C 9 D 2
    4.设a为int型变量,执行下列赋值语句后,a的取值分别是( )。
    a=125.534;
    a=(int)125.521%4;
    a=5<<2;
    A 125,31,1 B 125,1,20 C 125,31,20 D 125.534,2,20
    5.设有如下程序段,下面描述中正确的是 ( )。
    int k=10;
    while(k=0) k=k-1;
    A 循环执行一次 B循环是无限循环 C循环体语句一次也不执行 D循环体语句执行一次
    6.以下程序的输出结果为( )。
    int i; void prt( )
    {
    for(i=5;i<8;i++)
    printf("%c",’*’);
    printf("\t");
    }
    main( )
    {for(i=5;i<=8;i++)
    prt( );
    }
    A *** B *** *** *** *** C *** *** D * * *
    7.在C语言程序中,以下说法正确的是( )。
    A函数的定义可以嵌套,但函数的调用不可以嵌套 B函数的定义不可以嵌套,但函数的调用可以嵌套 C函数的定义和函数的调用都不可以嵌套 D函数的定义和函数的调用都可以嵌套

    8.以下函数调用语句中含有( )个实参。
    func((e1,e2),(e3,e4,e5));
    A 2 B 3 C 5 D 语法错误
    9.以下程序的输出结果为( )。
    #define ADD(x) x*x
    main( )
    {int a=4,b=6,c=7,d=ADD(a+b)*c;
    printf(“d=%d”,d);
    }
    A d=70 B d=80 C d=140 D d=700
    10.已知职工记录描述如下,在Turbo C中,系统为变量w分配( )字节的空间。
    struct worker
    {int no;
    char name[20];
    char sex;
    union{int day;int month;int year;}
    birth;
    } w;
    A 29 B 20 C 25 D 6
    11.设有以下定义,值为5的枚举常量是( )。
    enum week{sun,mon=4,tue,wed,thu,fri,sat} w;
    A tue B sat C fri D thu
    12.下面选项中正确的赋值语句是(设 char a[5],*p=a;)( )。
    A p=“abcd”; B a=“abcd”; C *p=“abcd”; D *a=“abcd”;
    13.设有以下程序段,则值为6的表达式是( )。
    struct st{ int n; struct st *next;};
    static struct st a[3]={5,&a[1],7,&a[2],9,0 },*p;
    p=&a[0];
    A p+±>n B ++p->n C p->n++ D (*p).n++
    14.C语言中的文件类型只有( )。
    A 索引文件和文本文件两种 B 文本文件一种 C 二进制文件一种 D ASCII码文件和二进制文件两种
    二 判断对错,对的划“√”,错的划“×”(5分,每小题0.5分)
    1.在Turbo C中,整型数据在内存中占2个字节。( )
    2.int i=20;switch(i/10){case 2:printf(“A”);case 1:printf(“B”);}的输出结果为A。( )
    3.break语句用在循环体中,可结束本层循环,continue语句用在循环体中,可结束本次循环。( )
    4.函数的递归调用不过是一个函数直接或间接地调用它自身。( )
    5.函数strlen(“ASDFG\n”)的值是7。( )
    6.通过return语句,函数可以带回一个或一个以上的返回值。( )
    7.结构体类型只有一种。 ( )
    8.char *p=“girl”;的含义是定义字符型指针变量p,p的值是字符串"girl"。( )
    9.若有定义:char *p(char a[10]);则p是函数名。( )
    10.用fopen(“file”,“r+”);打开的文件"file"可以进行修改。 ( )

    三 写出下列程序的运行结果(10分,每小题2分)

    1.float average (float array[10])
    {int i;
    float aver,sum=array[0];
    for (i=1;i<10;i++)
    sum=sum+array[i];
    aver=sum/10;
    return(aver);
    }
    main( )
    {float score[10]={89,67.5,78,91,56,82.5,65,70,79,88},aver;
    int i;
    aver=average (score);
    printf (“average score is %5.2f\n”,aver);
    }
    2.main( )
    {char a[5]={‘A’,‘B’,‘C’,‘D’,‘E’},p=a,pa;
    for(p=0;p<a+5;p++) printf(“%2c”,*p);
    printf(“\n”);
    printf(“%2c\n”,
    (pa=&p));
    }
    3.main( )
    {int a,b,s=0;
    for(a=1,b=1;a<=100;a++)
    {if(b>=20)
    break;
    if(b%31)
    {b+=3;
    continue;
    }
    b-=5;
    }
    printf(“a=%d\tb=%d\n”,a,b);
    }
    4.main()
    {printf(“main( ) :%d\n”,fact(5));
    fact(-5);
    }
    fact(int value)
    {int f;
    if(value<0)
    {printf(“Arg error\n");
    return(-1);
    }
    else if(value
    1||value==0)
    f=1;
    else f=value
    fact(value-1)+1;
    printf(“This called value=%d\n”,f);
    return f;
    }
    5.main( )
    {int a=012,b=0x12,k=12;
    char c=‘\102’,d=‘\r’;
    printf(“a=%d\tb=%d\tk=%d\n”,a,b,k);
    printf(“c=%c,d=%c%o\n”,c,d,a);
    a=‘A’;
    c=49;
    printf(“a=%d\tc=%c\n”,a,c);
    }
    四 阅读下列程序,在 处填入适当内容,使程序完整(8分,每个空1分)
    1.有一个3*4矩阵,求其中的最大元素。
    max_value( (1) )
    {int i,j,max; max=array[0][0];
    for(i=0;i<3;i++)
    for(j=0;j<4;j++)
    if(array[i][j]>max)
    max=array[i][j];
    (2) ;
    }
    main( )
    {int a[3][4], i,j;
    for(i=0;i<3;i++)
    for(j=0;j<4;j++)
    (3) ;
    printf(“max value is %d\n”,max_value(a));
    }

    2.输入x、y两个整数,按先大后小的顺序输出x、y。
    #include “stdio.h”
    main( )
    {int x,y, *px,*py, (4) ;
    scanf(“%d%d”,&x,&y);
    (5) ;
    (6) ;
    if(x<y)
    {p=px;
    px=py;
    py=p;
    }
    printf(“x=%d,y=%d\n”,x,y);
    printf(“MAX=%d,MIN=%d\n”,*px,*py);
    }
    3.用选择排序法对任意10个整数按照由小到大排序。
    main()
    {int a[11],i,j,k,t;
    printf(“Please input 10 numbers:\n”);
    for(i=1;i<11;i++) scanf("%d",&a[i]);
    printf("\n");
    for(i=1;i<=9;i++)
    { (7) ;
    for(j=i+1;(8);j++)
    if(a[j]>a[k])
    k=j;
    if(k!=i)
    {t=a[k];
    a[k]=a[i];
    a[i]=t;
    }
    }
    printf(“The sorted numbers:\n”);
    for(i=1;i<11;i++)
    printf("%d ",a[i]);
    }
    答案(一)
    一 选择题(7分,每小题0.5分)

    1. B 2. C 3. B 4. B 5. C
    2. A 7. B 8. A 9. A 10. C
    3. A 12. A 13. B 14. D
      二 判断对错,对的划“√”,错的划“×”(5分,每小题0.5分)
      1.× 2.× 3.√ 4.√ 5.×
      6.× 7.× 8.× 9.√ 10.√
      四 阅读下列程序,在 处填入适当内容,使程序完整(8分,每个空1分)
      1.(1)int array[3][4](int array[][4])
      (2)return(max)
      (3)scanf(“%d”,&a[i][j])
      2.(4)*p
      (5)px=&x(py=&y)
      (6)py=&y(px=&x)
      3.(7)
      (8)

    C语言(二)
    一 选择题(24分,每小题2分)
    1.已知函数fread的调用形式为fread(buffer,size,count,fp),其中buffer代表的是( )。
    A 存放读入数据项的存储区 B 存放读入数据的地址或指向此地址的指针
    C 一个指向所读文件的文件指针 D 一个整形变量,代表要读入的数据项总数
    2.以下程序的输出结果为( )。
    main( )
    {int i=010,j=10;
    printf("%d,%d\n",i++,j–);
    }
    A 11,9 B 9,10 C 8,10 D 9,9
    3.设a为int型变量,执行下列赋值语句后,a的取值分别是( )。
    a=125.534;a=20.0/3;
    a=(int)125.521%4;a=5<<2;
    A 125,6,31,1 B 125,6,1,20 C 125,6.666666,31,20 D 125.534,6.666666,2,204.设i和k都是int类型,则for循环语句( )。
    for(i=0,k=-1;k=1;i++,k++)
    printf("****\n");
    A 循环结束的条件不合法 B 循环体一次也不执行
    C 循环体只执行一次 D 是无限循环
    5.以下程序的输出结果为( )。
    main( )
    {char c;
    int i;
    for(i=65;i<68;i++)
    {c=i+32;
    switch©
    {case ‘a’:case ‘b’:case ‘c’:printf("%c,",c);break;default:printf(“end”);}
    }
    }
    A a,b,c,end B a,a,a,end C a,a,a, D a,b,c,
    6.函数调用语句:fseek(fp,-10L,2);的含义是( )。
    A 将文件位置指针从文件末尾处向文件头的方向移动10个字节
    B 将文件位置指针从当前位置向文件头的方向移动10个字节
    C 将文件位置指针从当前位置向文件末尾方向移动10个字节
    D 将文件位置指针移到距离文件头10个字节处

    7.以下程序的输出结果为( )。
    main( )
    {char s1[40]=“country”,s2[20]=“side”;
    int i=0,j=0;
    while(s1[i]!=’\0’)
    i++;
    while(s2[j]!=’\0’)
    s1[i++]=s2[j++];
    s1[i]=0;
    printf("%s\n",s1);
    }
    A side B country C sidetry D countryside
    8.下列说法不正确的是( )。
    A 主函数main中定义的变量在整个文件或程序中有效
    B 不同函数中,可以使用相同名字的变量
    C 形式参数是局部变量
    D 在一个函数内部,可以在复合语句中定义变量,这些变量只在本复合语句中有效
    9.在下列程序段中,枚举变量 c1的值是( )。
    enum color {red,yellow,blue=4,green,white}
    c1;
    c1=yellow;
    c1=white;
    A 1 B 3 C 5 D 6
    10.设有说明 int (*ptr)();其中标识符ptr是( )。
    A 是一个指向整形变量的指针 B 是一个指针,它指向一个函数值是int的函数
    C 是一个函数名 D定义不合法
    11.定义由n个指向整形数据的指针组成的数组p,其正确的方式为( )。
    A int p; B int (*p)[n]; C int *p[n]; D int (*p)( );
    12.具有相同类型的指针类型变量p与数组a,不能进行的操作是( )。
    A p=a; B *p=a[0]; C p=&a[0]; D p=&a;
    二 判断对错,对的划“√”,错的划“×”(20分,每小题2分)
    1.参加位运算的数据可以是任何类型的数据。( )
    2.若有定义和语句:
    int a;
    char c;
    float f;
    scanf("%d,%c,%f",&a,&c,&f);
    若通过键盘输入:10,A,12.5,则a=10,c=‘A’,f=12.5。( )
    3.C语言把文件看作是一个字符(字节)的序列。( )
    4.若有宏定义:
    #define S(a,b)
    t=a;
    a=b;
    b=t由于变量t没定义,所以此宏定义是错误的。( )
    5.在Turbo C中,下面的定义和语句是合法的:file *fp;fp=fopen(“a.txt”,“r”)😭 )
    6.若有定义:char s[ ]="china";
    则Turbo C系统为数组s开辟6个字节的内存单元。( )
    7.若有定义和语句:
    int a[3][3]={{3,5},{8,9},{12,35}},i,sum=0;
    for(i=0;i<3;i++)
    sum+=a[i][2-i];
    则sum=21。( )
    8.若有定义和语句:
    struct student {int num;char name[10]; float score;}
    s[5]={{1,“lili”,98.5},{9,“xiaohua”,66}},*p=s;
    printf("%d",p++);
    输出结果是1。( )
    9.在程序中定义了一个结构体类型后,可以多次用它来定义具有该类型的变量。( )
    10.在Turbo C中,此定义和语句是合法的:
    enum aa{ a=5,b,c}bb;bb=(enum aa)5;( )
    三 写出下列程序的运行结果(36分,每小题6分)
    1.main( )
    { int i=29,j=6,k=2,s;
    s=i+i/j%k-9;
    printf(“s=%d\n”,s);
    }
    2.main( )
    {int x=31,y=2,s=0;
    do
    {s-=x
    y;
    x+=2;
    y-=3;
    }
    while( x%3==0);
    printf(“x=%d\ty=%d\ts=%d\n”,x,y,s);
    }
    3.main( )
    {int a[6]={10,20,30,40,50,60},i;
    invert(a,0,5);
    for(i=0;i<6;i++) printf(“%d,”,a[i]);
    printf(“\n”);
    }
    invert(int s[ ],int i,int j)
    {int t;
    if(i<j)
    {invert(s,i+1j-1);
    t=s[i];s[i]=s[j];s[j]=t;
    }
    }

    4.#include<stdio.h> main()
    {char str[ ]=“The C program”,c; int i;
    for(i=2;(c=str[i])!=‘\0’;i++)
    {switch©
    {case ‘g’: ++i;
    break;
    case ‘o’: continue;
    default: printf(“%c”,c);
    continue;
    }
    printf(“*”);
    }
    printf(“\n”);
    }
    5.struct w{char low;char high; };
    union u{struct w byte; short word; }uw;
    main( )
    {int result;
    uw.word=0x1234;
    printf(“word value:%04x\n”,uw.word);
    printf(“high byte:%02x\n”,uw.byte.high);
    printf(“low byte:%02x\n”,uw.byte.low);
    uw.byte.low=0x74;
    printf(“word value:%04x\n”,uw.word);
    result=uw.word+0x2a34;
    printf(“the result:%04x\n”,result);
    }
    6.main()
    {char *s2=“I love China!”,**s1=&s2;
    char *s3,c,*s4=“w”;
    s3=&c;
    *s3=‘H’;
    s2=s2+2;
    printf(“%s\t%c\t%s\t%c\n”,s2,*s3,s4,**s1);
    }
    四 阅读下列程序,在 处填入适当内容,使程序完整(20分,每个空2分)

    1. 百马百担问题:有100匹马,驮100担货,大马驮3担,中马驮2担,两匹小马驮1担,问大、中、小马各多少匹?
      main( )
      {int hb,hm,hl,n=0;
      for(hb=0;hb<=100;hb+= (1) )
      for(hm=0;hm<=100-hb;hm+= (2) )
      {hl=100-hb- (3)
      if(hb/3+hm/2+2* (3) 100)
      {n++;
      printf(“hb=%d,hm=%d,hl=%d\n”,hb/3,hm/2,2*hl); }
      }
      printf(“n=%d\n”,n);
      }
      2.用“起泡法”对输入的10个字符排序后按从小到大的次序输出。
      #define N 10
      char str[N];
      main()
      {int i,flag;
      for(flag=1;flag
      1;)
      {scanf("%s",str);
      flag=0;
      printf("\n");
      }
      sort(___(4)___);
      for(i=0;i<N;i++)
      printf("%c",str[i]);
      printf("\n");
      }
      sort(char str[N])
      {int i,j;
      char t;
      for(j=1;j<N;j++)
      for(i=0;(i<N-j)&&(str[i]!=’\0’);i++)
      if(str[i]>str[i+1])
      {t=str[i];
      (5);
      (6);
      }
      }
      3.以下程序是一个函数,功能是求二阶矩阵(m行n列矩阵)的所有靠外侧的各元素值之和。(本程序中二阶矩阵用一维数组来表示。)
      例如,矩阵为:
      3 0 0 3
      2 5 7 3
      1 0 4 2
      则所有靠外侧的各元素值之和为3+0+0+3+2+3+1+0+4+2=18。
      add(int m,int n,int arr[])
      {int i,j,sum=0;
      for(i=0;i<m;i=i+m-1)
      for(j=0;j<n;j++)
      sum=sum+ (7)
      for(j=0;j<n;j=j+n-1)
      for(i=1; (8) i++)
      sum=sum+arr[i*n+j];
      return(sum);
      }
      4.用指针作函数参数,编程序求一维数组中的最大和最小的元素值。
      #define N 10
      main()
      {void maxmin(int arr[],int *pt1,int *pt2,int n);
      int array[N]={10,7,19,29,4,0,7,35,-16,21},*p1,*p2,a,b;
      p1=&a;
      p2=&b;
      maxmin(array,p1,p2,N);
      printf(“max=%d,min=%d”,a,b);
      }
      void maxmin(int arr[],int *pt1,int *pt2,int n)
      {int i;
      *pt1=*pt2=arr[0];
      for(i=1;i<n;i++)
      {if(arr[i]>*pt1)
      (9)
      if(arr[i]<*pt2)
      (10)
      }
      }

    答案(二)
    一 选择题(24分,每小题2分)
    1.( B ) 2.( C ) 3.( B ) 4.( D )5.( D ) 6.( A ) 7.( D ) 8.( A ) 9.( D ) 10.( B ) 11.( C ) 12.( D )二 判断对错,对的划“√”,错的划“×”(20分,每小题2分)
    1.( × ) 2.( √ ) 3.( √ )
    4.( × ) 5.( × ) 6.( √ )
    7.( √ ) 8.( × ) 9.( √ )
    10.( √ )
    三 写出下列程序的运行结果(36分,每小题6分)

    1. s=20
    2. x=35 y=-4 s=-29
    3. 60,50,40,30,20,10,
    4. e C pr*am
    5. word value:1234
    6. love China! H w l
      high byte:12
      low byte:34
      word value:1274
      the result:3ca8
      四 阅读下列程序,在 处填入适当内容,使程序完整(20分,每个空2分)
    7. (1) 3 (2) 2 (3)hm hl
    8. (4) str (5) str[i]=str[i+1] (6) str[i+1]=t
    9. (7) arr[in+j](或者arr[i10+j])
      (8) i<m-1(或者i<=m-2)
    10. (9) *ptr1=arr[i] (10) *ptr2=arr[i]
    展开全文
  • 精品文档 第一套 一单项选择 1... C$abc D"house" 2 以下所列的 C 语言常量中错误的是 (b ) A 0xFF B 1.2e0.5 C2L D'\72' 3 以下程序的输出结果是 D main) {float x=3.6; int i; i=(int)x; printf"x=%f,i=%d\n,x,i; }
  • C语言考试题及答案(一)

    千次阅读 2020-09-30 22:58:15
    2.下列程序的输出结果是( c)。 main( ) { int a=7,b=5; printf("%d\n",b=b/a); } A 5 B 1 C 0 D不确定值 3.假设变量a,b均为整型,表达式(a=5,b=2,a>b?a++:b++,a+b)的值是(b )。 A 7 B 8 C 9 D 2 4.设

    C语言(一)
    一 选择题(7分,每小题0.5分)
    1.C语言源程序的基本单位是( )。
    A 过程 B 函数 C 子程序 D 标识符
    2.下列程序的输出结果是( c)。
    main( )
    { int a=7,b=5;
    printf("%d\n",b=b/a);
    }
    A 5 B 1 C 0 D不确定值
    3.假设变量a,b均为整型,表达式(a=5,b=2,a>b?a++:b++,a+b)的值是(b )。
    A 7 B 8 C 9 D 2
    4.设a为int型变量,执行下列赋值语句后,a的取值分别是( b )。
    a=125.534;
    a=(int)125.521%4;
    a=5<<2;
    A 125,31,1 B 125,1,20 C 125,31,20 D 125.534,2,20
    5.设有如下程序段,下面描述中正确的是 ( C )。
    int k=10;
    while(k=0) k=k-1;
    A 循环执行一次 B循环是无限循环 C循环体语句一次也不执行 D循环体语句执行一次
    6.以下程序的输出结果为( A )。
    int i; void prt( )
    {
    for(i=5;i<8;i++)
    printf("%c",’*’);
    printf("\t");
    }
    main( )
    {for(i=5;i<=8;i++)
    prt( );
    }
    A *** B *** *** *** *** C *** *** D * * *
    7.在C语言程序中,以下说法正确的是( B)。
    A函数的定义可以嵌套,但函数的调用不可以嵌套 B函数的定义不可以嵌套,但函数的调用可以嵌套 C函数的定义和函数的调用都不可以嵌套 D函数的定义和函数的调用都可以嵌套

    8.以下函数调用语句中含有( A )个实参。
    func((e1,e2),(e3,e4,e5));
    A 2 B 3 C 5 D 语法错误
    9.以下程序的输出结果为( A )。
    #define ADD(x) x*x
    main( )
    {int a=4,b=6,c=7,d=ADD(a+b)*c;
    printf(“d=%d”,d);
    }
    A d=70 B d=80 C d=140 D d=700
    10.已知职工记录描述如下,在Turbo C中,系统为变量w分配(C )字节的空间。
    struct worker
    {int no;
    char name[20];
    char sex;
    union{int day;int month;int year;}
    birth;
    } w;
    A 29 B 20 C 25 D 6
    11.设有以下定义,值为5的枚举常量是( A )。
    enum week{sun,mon=4,tue,wed,thu,fri,sat} w;
    A tue B sat C fri D thu
    12.下面选项中正确的赋值语句是(设 char a[5],*p=a;)( A )。
    A p=“abcd”; B a=“abcd”; C *p=“abcd”; D *a=“abcd”;
    13.设有以下程序段,则值为6的表达式是( B )。
    struct st{ int n; struct st *next;};
    static struct st a[3]={5,&a[1],7,&a[2],9,0 },*p;
    p=&a[0];
    A p+±>n B ++p->n C p->n++ D (*p).n++
    14.C语言中的文件类型只有( D )。
    A 索引文件和文本文件两种 B 文本文件一种 C 二进制文件一种 D ASCII码文件和二进制文件两种
    二 判断对错,对的划“√”,错的划“×”(5分,每小题0.5分)
    1.在Turbo C中,整型数据在内存中占2个字节。( )
    2.int i=20;switch(i/10){case 2:printf(“A”);case 1:printf(“B”);}的输出结果为A。( )
    3.break语句用在循环体中,可结束本层循环,continue语句用在循环体中,可结束本次循环。( )
    4.函数的递归调用不过是一个函数直接或间接地调用它自身。( )
    5.函数strlen(“ASDFG\n”)的值是7。( )
    6.通过return语句,函数可以带回一个或一个以上的返回值。( )
    7.结构体类型只有一种。 ( )
    8.char *p=“girl”;的含义是定义字符型指针变量p,p的值是字符串"girl"。( )
    9.若有定义:char *p(char a[10]);则p是函数名。( )
    10.用fopen(“file”,“r+”);打开的文件"file"可以进行修改。 ( )

    三 写出下列程序的运行结果(10分,每小题2分)

    1.float average (float array[10])
    {int i;
    float aver,sum=array[0];
    for (i=1;i<10;i++)
    sum=sum+array[i];
    aver=sum/10;
    return(aver);
    }
    main( )
    {float score[10]={89,67.5,78,91,56,82.5,65,70,79,88},aver;
    int i;
    aver=average (score);
    printf (“average score is %5.2f\n”,aver);
    }
    2.main( )
    {char a[5]={‘A’,‘B’,‘C’,‘D’,‘E’},p=a,pa;
    for(p=0;p<a+5;p++) printf(“%2c”,*p);
    printf(“\n”);
    printf(“%2c\n”,
    (pa=&p));
    }
    3.main( )
    {int a,b,s=0;
    for(a=1,b=1;a<=100;a++)
    {if(b>=20)
    break;
    if(b%31)
    {b+=3;
    continue;
    }
    b-=5;
    }
    printf(“a=%d\tb=%d\n”,a,b);
    }
    4.main()
    {printf(“main( ) :%d\n”,fact(5));
    fact(-5);
    }
    fact(int value)
    {int f;
    if(value<0)
    {printf(“Arg error\n");
    return(-1);
    }
    else if(value
    1||value==0)
    f=1;
    else f=value
    fact(value-1)+1;
    printf(“This called value=%d\n”,f);
    return f;
    }
    5.main( )
    {int a=012,b=0x12,k=12;
    char c=‘\102’,d=‘\r’;
    printf(“a=%d\tb=%d\tk=%d\n”,a,b,k);
    printf(“c=%c,d=%c%o\n”,c,d,a);
    a=‘A’;
    c=49;
    printf(“a=%d\tc=%c\n”,a,c);
    }
    四 阅读下列程序,在 处填入适当内容,使程序完整(8分,每个空1分)
    1.有一个3*4矩阵,求其中的最大元素。
    max_value( (1) )
    {int i,j,max; max=array[0][0];
    for(i=0;i<3;i++)
    for(j=0;j<4;j++)
    if(array[i][j]>max)
    max=array[i][j];
    (2) ;
    }
    main( )
    {int a[3][4], i,j;
    for(i=0;i<3;i++)
    for(j=0;j<4;j++)
    (3) ;
    printf(“max value is %d\n”,max_value(a));
    }

    2.输入x、y两个整数,按先大后小的顺序输出x、y。
    #include “stdio.h”
    main( )
    {int x,y, *px,*py, (4) ;
    scanf(“%d%d”,&x,&y);
    (5) ;
    (6) ;
    if(x<y)
    {p=px;
    px=py;
    py=p;
    }
    printf(“x=%d,y=%d\n”,x,y);
    printf(“MAX=%d,MIN=%d\n”,*px,*py);
    }
    3.用选择排序法对任意10个整数按照由小到大排序。
    main()
    {int a[11],i,j,k,t;
    printf(“Please input 10 numbers:\n”);
    for(i=1;i<11;i++) scanf("%d",&a[i]);
    printf("\n");
    for(i=1;i<=9;i++)
    { (7) ;
    for(j=i+1;(8);j++)
    if(a[j]>a[k])
    k=j;
    if(k!=i)
    {t=a[k];
    a[k]=a[i];
    a[i]=t;
    }
    }
    printf(“The sorted numbers:\n”);
    for(i=1;i<11;i++)
    printf("%d ",a[i]);
    }
    答案(一)
    一 选择题(7分,每小题0.5分)

    1. B 2. C 3. B 4. B 5. C
    2. A 7. B 8. A 9. A 10. C
    3. A 12. A 13. B 14. D
      二 判断对错,对的划“√”,错的划“×”(5分,每小题0.5分)
      1.× 2.× 3.√ 4.√ 5.×
      6.× 7.× 8.× 9.√ 10.√
      四 阅读下列程序,在 处填入适当内容,使程序完整(8分,每个空1分)
      1.(1)int array[3][4](int array[][4])
      (2)return(max)
      (3)scanf(“%d”,&a[i][j])
      2.(4)*p
      (5)px=&x(py=&y)
      (6)py=&y(px=&x)
      3.(7)
      (8)

    C语言(二)
    一 选择题(24分,每小题2分)
    1.已知函数fread的调用形式为fread(buffer,size,count,fp),其中buffer代表的是( )。
    A 存放读入数据项的存储区 B 存放读入数据的地址或指向此地址的指针
    C 一个指向所读文件的文件指针 D 一个整形变量,代表要读入的数据项总数
    2.以下程序的输出结果为( )。
    main( )
    {int i=010,j=10;
    printf("%d,%d\n",i++,j–);
    }
    A 11,9 B 9,10 C 8,10 D 9,9
    3.设a为int型变量,执行下列赋值语句后,a的取值分别是( )。
    a=125.534;a=20.0/3;
    a=(int)125.521%4;a=5<<2;
    A 125,6,31,1 B 125,6,1,20 C 125,6.666666,31,20 D 125.534,6.666666,2,204.设i和k都是int类型,则for循环语句( )。
    for(i=0,k=-1;k=1;i++,k++)
    printf("****\n");
    A 循环结束的条件不合法 B 循环体一次也不执行
    C 循环体只执行一次 D 是无限循环
    5.以下程序的输出结果为( )。
    main( )
    {char c;
    int i;
    for(i=65;i<68;i++)
    {c=i+32;
    switch©
    {case ‘a’:case ‘b’:case ‘c’:printf("%c,",c);break;default:printf(“end”);}
    }
    }
    A a,b,c,end B a,a,a,end C a,a,a, D a,b,c,
    6.函数调用语句:fseek(fp,-10L,2);的含义是( )。
    A 将文件位置指针从文件末尾处向文件头的方向移动10个字节
    B 将文件位置指针从当前位置向文件头的方向移动10个字节
    C 将文件位置指针从当前位置向文件末尾方向移动10个字节
    D 将文件位置指针移到距离文件头10个字节处

    7.以下程序的输出结果为( )。
    main( )
    {char s1[40]=“country”,s2[20]=“side”;
    int i=0,j=0;
    while(s1[i]!=’\0’)
    i++;
    while(s2[j]!=’\0’)
    s1[i++]=s2[j++];
    s1[i]=0;
    printf("%s\n",s1);
    }
    A side B country C sidetry D countryside
    8.下列说法不正确的是( )。
    A 主函数main中定义的变量在整个文件或程序中有效
    B 不同函数中,可以使用相同名字的变量
    C 形式参数是局部变量
    D 在一个函数内部,可以在复合语句中定义变量,这些变量只在本复合语句中有效
    9.在下列程序段中,枚举变量 c1的值是( )。
    enum color {red,yellow,blue=4,green,white}
    c1;
    c1=yellow;
    c1=white;
    A 1 B 3 C 5 D 6
    10.设有说明 int (*ptr)();其中标识符ptr是( )。
    A 是一个指向整形变量的指针 B 是一个指针,它指向一个函数值是int的函数
    C 是一个函数名 D定义不合法
    11.定义由n个指向整形数据的指针组成的数组p,其正确的方式为( )。
    A int p; B int (*p)[n]; C int *p[n]; D int (*p)( );
    12.具有相同类型的指针类型变量p与数组a,不能进行的操作是( )。
    A p=a; B *p=a[0]; C p=&a[0]; D p=&a;
    二 判断对错,对的划“√”,错的划“×”(20分,每小题2分)
    1.参加位运算的数据可以是任何类型的数据。( )
    2.若有定义和语句:
    int a;
    char c;
    float f;
    scanf("%d,%c,%f",&a,&c,&f);
    若通过键盘输入:10,A,12.5,则a=10,c=‘A’,f=12.5。( )
    3.C语言把文件看作是一个字符(字节)的序列。( )
    4.若有宏定义:
    #define S(a,b)
    t=a;
    a=b;
    b=t由于变量t没定义,所以此宏定义是错误的。( )
    5.在Turbo C中,下面的定义和语句是合法的:file *fp;fp=fopen(“a.txt”,“r”);( )
    6.若有定义:char s[ ]="china";
    则Turbo C系统为数组s开辟6个字节的内存单元。( )
    7.若有定义和语句:
    int a[3][3]={{3,5},{8,9},{12,35}},i,sum=0;
    for(i=0;i<3;i++)
    sum+=a[i][2-i];
    则sum=21。( )
    8.若有定义和语句:
    struct student {int num;char name[10]; float score;}
    s[5]={{1,“lili”,98.5},{9,“xiaohua”,66}},*p=s;
    printf("%d",p++);
    输出结果是1。( )
    9.在程序中定义了一个结构体类型后,可以多次用它来定义具有该类型的变量。( )
    10.在Turbo C中,此定义和语句是合法的:
    enum aa{ a=5,b,c}bb;bb=(enum aa)5;( )
    三 写出下列程序的运行结果(36分,每小题6分)
    1.main( )
    { int i=29,j=6,k=2,s;
    s=i+i/j%k-9;
    printf(“s=%d\n”,s);
    }
    2.main( )
    {int x=31,y=2,s=0;
    do
    {s-=x
    y;
    x+=2;
    y-=3;
    }
    while( x%3==0);
    printf(“x=%d\ty=%d\ts=%d\n”,x,y,s);
    }
    3.main( )
    {int a[6]={10,20,30,40,50,60},i;
    invert(a,0,5);
    for(i=0;i<6;i++) printf(“%d,”,a[i]);
    printf(“\n”);
    }
    invert(int s[ ],int i,int j)
    {int t;
    if(i<j)
    {invert(s,i+1j-1);
    t=s[i];s[i]=s[j];s[j]=t;
    }
    }

    4.#include<stdio.h> main()
    {char str[ ]=“The C program”,c; int i;
    for(i=2;(c=str[i])!=‘\0’;i++)
    {switch©
    {case ‘g’: ++i;
    break;
    case ‘o’: continue;
    default: printf(“%c”,c);
    continue;
    }
    printf(“*”);
    }
    printf(“\n”);
    }
    5.struct w{char low;char high; };
    union u{struct w byte; short word; }uw;
    main( )
    {int result;
    uw.word=0x1234;
    printf(“word value:%04x\n”,uw.word);
    printf(“high byte:%02x\n”,uw.byte.high);
    printf(“low byte:%02x\n”,uw.byte.low);
    uw.byte.low=0x74;
    printf(“word value:%04x\n”,uw.word);
    result=uw.word+0x2a34;
    printf(“the result:%04x\n”,result);
    }
    6.main()
    {char *s2=“I love China!”,**s1=&s2;
    char *s3,c,*s4=“w”;
    s3=&c;
    *s3=‘H’;
    s2=s2+2;
    printf(“%s\t%c\t%s\t%c\n”,s2,*s3,s4,**s1);
    }
    四 阅读下列程序,在 处填入适当内容,使程序完整(20分,每个空2分)

    1. 百马百担问题:有100匹马,驮100担货,大马驮3担,中马驮2担,两匹小马驮1担,问大、中、小马各多少匹?
      main( )
      {int hb,hm,hl,n=0;
      for(hb=0;hb<=100;hb+= (1) )
      for(hm=0;hm<=100-hb;hm+= (2) )
      {hl=100-hb- (3)
      if(hb/3+hm/2+2*(3) == 100)
      {n++;
      printf(“hb=%d,hm=%d,hl=%d\n”,hb/3,hm/2,2* hl); }
      }
      printf(“n=%d\n”,n);
      }
      2.用“起泡法”对输入的10个字符排序后按从小到大的次序输出。
      #define N 10
      char str[N];
      main()
      {int i,flag;
      for(flag=1;flag==1;)
      {scanf("%s",str);
      flag=0;
      printf("\n");
      }
      sort(___(4)___);
      for(i=0;i<N;i++)
      printf("%c",str[i]);
      printf("\n");
      }
      sort(char str[N])
      {int i,j;
      char t;
      for(j=1;j<N;j++)
      for(i=0;(i<N-j)&&(str[i]!=’\0’);i++)
      if(str[i]>str[i+1])
      {t=str[i];
      (5);
      (6);
      }
      }
      3.以下程序是一个函数,功能是求二阶矩阵(m行n列矩阵)的所有靠外侧的各元素值之和。(本程序中二阶矩阵用一维数组来表示。)
      例如,矩阵为:
      3 0 0 3
      2 5 7 3
      1 0 4 2
      则所有靠外侧的各元素值之和为3+0+0+3+2+3+1+0+4+2=18。
      add(int m,int n,int arr[])
      {int i,j,sum=0;
      for(i=0;i<m;i=i+m-1)
      for(j=0;j<n;j++)
      sum=sum+ (7)
      for(j=0;j<n;j=j+n-1)
      for(i=1; (8) i++)
      sum=sum+arr[i*n+j];
      return(sum);
      }
      4.用指针作函数参数,编程序求一维数组中的最大和最小的元素值。
      #define N 10
      main()
      {void maxmin(int arr[],int *pt1,int *pt2,int n);
      int array[N]={10,7,19,29,4,0,7,35,-16,21},*p1,*p2,a,b;
      p1=&a;
      p2=&b;
      maxmin(array,p1,p2,N);
      printf(“max=%d,min=%d”,a,b);
      }
      void maxmin(int arr[],int *pt1,int *pt2,int n)
      {int i;
      *pt1=*pt2=arr[0];
      for(i=1;i<n;i++)
      {if(arr[i]>*pt1)
      (9)
      if(arr[i]<*pt2)
      (10)
      }
      }

    答案(二)
    一 选择题(24分,每小题2分)
    1.( B ) 2.( C ) 3.( B ) 4.( D )5.( D ) 6.( A ) 7.( D ) 8.( A ) 9.( D ) 10.( B ) 11.( C ) 12.( D )
    二 判断对错,对的划“√”,错的划“×”(20分,每小题2分)
    1.( × ) 2.( √ ) 3.( √ )
    4.( × ) 5.( × ) 6.( √ )
    7.( √ ) 8.( × ) 9.( √ )
    10.( √ )
    三 写出下列程序的运行结果(36分,每小题6分)

    1. s=20
    2. x=35 y=-4 s=-29
    3. 60,50,40,30,20,10,
    4. e C pr*am
    5. word value:1234
    6. love China! H w l
      high byte:12
      low byte:34
      word value:1274
      the result:3ca8
      四 阅读下列程序,在 处填入适当内容,使程序完整(20分,每个空2分)
    7. (1) 3 (2) 2 (3)hm hl
    8. (4) str (5) str[i]=str[i+1] (6) str[i+1]=t
    9. (7) arr[in+j](或者arr[i10+j])
      (8) i<m-1(或者i<=m-2)
    10. (9) *ptr1=arr[i] (10) *ptr2=arr[i]
    展开全文
  • 练习试题整理(1)

    2020-02-24 16:42:50
    下列程序的输出结果是()。 int main(void) { int a[10] = {0,1,2,3,4,5,6,7,8,9}, *p = a+3; printf(“%d”, *++p); return 0; } A.3 B.4 C.a[4]的地址 D.非法 int a[10] = {0,1,2,3,4...
  • 题(1)

    2017-02-16 17:08:22
    在x86下,有下列程序 #include #include int main() { union { short k; char i[2]; }*s,a; s = &a; s->i[0] = 0x39; s->i[1] = 0x38; printf("%x\n",a.k); system("pause");...输出的结果是() A.
  • 共10道单选题和2道编程题,限答1次、限时50分钟 选择题 1.以下选项不是函数作用的:‪...2.下列程序的输出结果为:(A) def f(a,b): a=4 return a+b def main(): a=5 b=6 print(f(a,b),a+b) main() A.10 11 B.10
  • 1 分析下列程序: #include using namespace std; int i=1; int main() { ...}输出结果是0. ...int i=i,i变量从声明那一刻开始就是可见了,main()i不是1,因为它和main()i无关,而是一个
  • B.C语言程序中,要调用的函数必须在main()函数中定义 C.C语言程序总是从main( )函数开始执行 D.C语言程序中的main( )函数必须放在程序的开始部分 2.下列为字符常量的是(C)。 A.“a” B. ‘ab’ C. ‘\n’ D....
  • 沈阳师范大学大一上册C语言PTA题目集以及答案(第二章 分支结构程序设计 选择题篇) ...下列程序的输出结果是()。 int main(void) { int a = 2, b = -1, c = 2; if(a < b) if(b < 0) c = 0; e
  • 填空题(1)

    2011-03-30 11:39:58
    1.执行下列代码后结果是什么? int x,a=2,b=3,c=4; x=++a+b+++c++; ________2....下列程序中构造了一个SET并且调用其方法add()输出结果是 ________public class A{  public int hashCode(){...
  • Java中间缓存变量机制(i++)

    千次阅读 2014-01-09 09:50:40
    Java程序员面试宝典(第二版)中有这样一道笔试题:.../**下列程序的输出结果是()*/ import java.until.*; public class Test{ public static void main(String[] args){ int j = 0; for(int i=0;i;i++){ j = j++
  • 计算机二级考试C语言模拟试题(一)单项选择题1、 下列程序的输出结果是( )。main( ){int i=1,j=2,k=3;if(i++= =1&&(++j= =3= =‖k++= =3))printf("%d%d%d\n",i,J,k);)A.1 2 3B.2 3 4C.2 2 3D.2 3 32、...
  • 下列给定程序中,函数fun()的功能:给定n个实数,输出平均值,并统计平均值以上(含平均值)实数个数。例如, n=8时,输入193.199,195.673,195.757,196.051,196.092, 196.596,196.579,196.763,所得平均值...
  • C++学习(36)

    2017-06-09 15:35:50
    1.一个C++程序由一个或多个函数所组成,即使最简单程序,也必须有一个main函数。...2.下列程序输出结果为:22 #include #include #pragma pack(2) using namespace std; class A{ int i; union U{ char buff
  • C语言面试题分享(4)

    2020-12-26 14:19:20
    一、下列程序的输出结果是________。 int main(void) { int a=0,b=0,c=0; if(++a>0||++b>0)++c; printf("\na=%d,b=%d,c=%d",a,b,c), } A)a=0,b=0,c=0 B)a=1,b=1,c=1 C)a=1,b=0, c=1 D)a=0, b=1,c=1 答案...
  • 例题:下列给定程序中,函数fun功能:求n!(n<20),所求阶乘值作为函数值返回。例如,若n=5,则应输出120。 请修改程序错误,得出正确的结果。 注意:不要改动main函数,不能增行或删...main() { int n=5;
  • 下面对程序的横线处填写不同语句的分析正确的:(选择一项) A) 填充 break 使程序能够有退出循环的可能性。 B) 填充 continue 将使程序成为死循环,永远无法退出循环。 C) 填充 continue 使程序能够有退出循环的...
  • 2、下列程序的输出结果为: def f(a,b): a=4 return a+b def main(): a=5 b=6 print(f(a,b),a+b) main() A、10 11 B、10 10 C、11 10 D、11 11 正确答案 A 这里没有全局变量,都函数局部变量的运算。 3、...
  • 下列给定程序的功能:读入一个整数k(2=),打印它的所有质因子(即所有素数的因子)。例如,若输入整数2310,则应输出:2、3、5、7、11。 请改正程序中的错误,使程序能得出正确的结果。 注意:不要改动main函数...
  • 分析下面 C 程序 , 输出结果是 }while!x; #include<stdio.h> A 是死循环 B 循环执行二次 C 循环执行 - 次 D 有语法错误 void main) { 8. 在 C语言中下列正确字符型常量是 int num=0; A. "f
  • 数据结构(C++)有关练习题

    热门讨论 2008-01-02 11:27:18
    2、 按要求记录下要求的输出结果。 <br> 实验六 二叉树(二) 实验目的: 通过实验掌握下列知识: 1、继续熟悉二叉树的存储结构和遍历算法; 2、熟悉二叉搜索树的应用,并做一个小型的课程设计;...
  • 程序编写完成后,编译并没有出错,但是在运行程序时得到的结果错误,出现了逻辑错误。本息一直等于原来输入本金(也就是sum等于money)。 APP 中接收数据代码: #include<stdio.h> #include<math...
  • 1.下列程序的输出结果为:(B)#includevoid main(){ char* a[ ] = { "hello", "the", "world"}; char** pa = a; pa++; cout}A) theworld B) the C) ello D) ellotheworld 2. 已知二叉树后序遍历序列bfegcd

空空如也

空空如也

1 2 3 4 5 ... 10
收藏数 186
精华内容 74
关键字:

下列程序的输出结果是()main()