公告:本站提供编程开发方面的技术交流与分享,打造最佳教程网,希望能为您排忧解难!

C语言教程C语言试题库: 试卷七

C语言试题库: 试卷七

更新时间:2013-03-25 22:37:59 |

试卷七
一、选择题(1-20每小题2分,共40分)
(1) 以下选项中属于C语言的数据类型是
A) 复数型 B) 逻辑型 C) 双精度型 D) 集合型
(2) 在C语言中,不正确的int类型的常数是
A) 32768 B) 0 C) 037 D) 0xAF
(3) 语句:printf("%d",(a=2)&&(b= -2);的输出结果是
A) 无输出 B) 结果不确定 C) -1 D) 1
(4) 下列描述中不正确的是
A) 字符型数组中可以存放字符串
B) 可以对字符型数组进行整体输入、输出
C) 可以对整型数组进行整体输入、输出
D) 不能在赋值语句中通过赋值运算符"="对字符型数组进行整体赋值
(5) 设有如下定义:int x=l,y=-1;,则语句:printf("%d\n",(x--&++y));的输出结果是
A) 1 B) 0 C) -1 D) 2
(6) 当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b的是
A) c=b=a; B) (a=c) ‖(b=c) ;
C) (a=c) &&(b=c); C) a=c=b;
(7) 以下程序的输出结果是
A) 10 1 9 2 B) 9 8 7 6 C) 10 9 9 0 D) 10 10 9 1
main( )
{
int x=10,y=10,i;
for(i=0;x>8;y=++i)
  printf("%d,%d ",x--,y);
}
(8) 以下程序的输出结果是
A) 5 2 B) 5 1 C) 5 3 D) 9 7
main( )
{
int i,x[3][3]={9,8,7,6,5,4,3,2,1},*p=&x[1][1];
for(i=0;i<4;i+=2)
printf("%d ",p[i]);
}
(9) 以下程序的输出结果是
A)6 B) 6789 C) '6' D) 789
main( )
{
char a[10]={'1','2','3','4','5','6','7','8','9',0},*p;
int i;
i=8;
p=a+I;
printf("%s\n",p-3);
}
(10) 以下程序的运行结果是
A) 运行后报错 B) 6 6 C) 6 12 D) 5 5
#include "stdio.h"
main( )
{
    int a[ ]={1,2,3,4,5,6,7,8,9,10,11,12,};
    int *p=a+5, *q=NULL;
    * q=*(p+5);
    printf("%d %d \n",*p,*q);
}
(11) 以下说法中正确的是
A) #define和printf都是C语句 B) #define是C语句,而printf不是
C) printf是C语句,但#define不是 D) #define和printf都不是C语句
(12) 语句:printf("%d \n",12 &012);的输出结果是
A) 12 B) 8 C) 6 D) 012
(13) 能正确表示a和b同时为正或同时为负的逻辑表达式是
A) (a>=0‖b>=0)&&(a<0‖b<0)
B) (a>=0&&b>=0)&&(a<0&&b<0)
C) (a+b>0)&&(a+b<=0)
D) a*b>0
(14) 以下程序的输出结果是
A) 2 0 B) 3 1 C) 3 2 1 D) 2 1 0
main( )
{
int n=4;
while(n--)
printf("%d ",--n);
}
(15) 若已定义:int a[9],*p=a;并在以后的语句中未改变p的值,不能表示a[1] 地址的表达式是
A) p+1 B) a+1 C) a++ D) ++p
(16) 以下程序的输出结果是
A) 17,021,0x11 B) 17,17,17 B) 17,0x11,021 D) 17,21,11
main( )
{
int k=17;
printf("%d,%o,%x \n",k,k,k);
}
(17) 以下程序的输出结果是
A) -1 1 B) 0 1 C) 1 0 D) 0 0
main( )
{  int a= -1,b=1,k;
   if((++a<0)&& ! (b-- <=0))
       printf("%d %d\n",a,b);
else
      printf("%d %d\n",b,a);
}
(18) 若有说明:long *p,a;则不能通过scanf语句正确给输入项读入数据的程序段是
A) *p=&a; scanf("%ld",p);
B) p=(long *)malloc(8); scanf("%ld",p);
C) scanf("%ld",p=&a);
D) scanf("%ld",&a);
(19) 若有以下定义和语句:
double r=99, *p=&r;
*p=r;
则以下正确的叙述是
A) 以下两处的*p含义相同,都说明给指针变量p赋值
B) 在"double r=99, *p=&r;"中,把r的地址赋值给了p所指的存储单元
C) 语句"*p=r;"把变量r的值赋给指针变量p
D) 语句"*p=r;"取变量r的值放回r中
(20) 以下程序的输出结果是
A) 编译不通过,无输出 B) aceg   C) acegi D) abcdefghi
main( )
{
int i;
for(i='A';i<'I';i++,i++)
printf("%c",i+32);
printf(" \n");
}

二、 填空题(每空4分,共28分)
(1) 以下程序的功能是:从键盘上输入若干个学生的成绩,统计计算出平均成绩,并输出低于平均分的学生成绩,用输入负数结束输入。请填空。
main( )
{
float x[1000], sum=0.0, ave, a;
    int n=0, i;
    printf("Enter mark:\n");scanf("%f",&a);
    while(a>=0.0&& n<1000)
    {
sum+ ___(1)___ ;
x[n]= _____(2)_____ ;
n++;
scanf("%f",&a);
}
ave= ____(3)____ ;
printf("Output:\n");
printf("ave=%f\n",ave);
for (I=0;I<n;I++)
   if (_____(4)_____)
printf ("%f\n",x[I]);
}
(2) 以下程序中,主函数调用了LineMax函数,实现在N行M列的二维数组中,找出每一行上的最大值。请填空。
#define N 3
#define M 4
void LineMax(int x[N][M])
{
int i,j,p;
for(i=0; i<N;i++)
{
p=0;
for(j=1; j<M;j++)
   if(x[i][p]<x[i][j]) ____(5)____ ;
printf("The max value in line %d is %d\n", i, _____(6)_____ );
}
}
main()
{   
int x[N][M]={1,5,7,4,2,6,4,3,8,2,3,1};
    ______(7)______;
}

三、 阅读程序题(每题5分  共20分)
(1) 下列程序的输出结果是 __________。
#include "stdio.h"
#include"string.h"
main( )
{
char b[30],*chp;
strcpy(&b[0],"CH");
strcpy(&b[1],"DEF");
strcpy(&b[2],"ABC");
printf("%s \n",b);
}
(2) 下列程序的输出结果是 ___________ 。
int t(int x,int y,int cp,int dp)
{
cp=x*x+y*y;
dp=x*x-y*y;
}
main( )
{
int a=4,b=3,c=5,d=6;
t(a,b,c,d);
printf("%d %d \n",c,d);
}
(3) 下列程序中字符串中各单词之间有一个空格,则程序的输出结果是 ______________ 。
#include "string.h"
#include"stdio.h"
main( )
{
char strl[]="How do you do", *p1=strl;
strcpy(strl+strlen(strl)/2,"es she");
printf("%s \n",pl);
}
(4) 以下程序的运行结果是 __________
#include <stdio.h>
main( )
{
int k=4, m=1, p;
p=func(k,m); printf("%d,",p);
p=func(k,m); printf("%d \n",p);
}
func(int a, int b)
{
static int m=0, i=2;
i+=m+1;
m=i+a+b;
return m;
}

四、 程序题(10分)
1. 编写一程序,将字符串中的第m个字符开始的全部字符复制成另一个字符串.要求在主函数中输入字符串及m的值并输出复制结果,在被调用函数中完成复制.试编程.

最佳教程网

最大的技术交流平台 www.goodxyx.com© CopyRight 2011-2013, All Rights Reserved

浙ICP备11033019号