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

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

C语言试题库: 试卷六

更新时间:2013-03-25 22:38:32 |

试卷六

一、选择题(1-20每小题2分,共40分)
(1) 下列语句中符合C语言语法的赋值语句是
A) a=7+b+c=a+7; B) a=7+b++=a+7; C) a=7+b,b++,a+7 D) a=7+b,c=a+7;

(2) 在C语言中,要求运算数必须是整型的运算符是
A) % B) / C) < D) !

(3) 已知字母A的ASCII码为十进制的65,下面程序的输出是
A) 67,D B) B,C C) C,D D) 不确定的值
main()
{ char ch1,ch2;
  ch1='A'+'5'-'3';
  ch2='A'+'6'-'3';
  printf("%d,%c\n",ch1,ch2);
}

(4) 下面程序的输出是
A) 0 B) 1 C) 3 D) 不确定的值
main()
{  int x=10,y=3;
   printf("%d\n",y=x/y);
}

(5) 若执行下面的程序时从键盘上输入3和4,则输出是
A) 14 B) 16 C) 18 D) 20
main()
{
int a,b,s;
scanf("%d %d",&a,&b);
s=a;
if(a<b)s=b;
 s=s*s;
printf("%d\n",s);
}
(6) 下面的程序
A) 有语法错误不能通过编译
B) 输出* * * *。
C) 可以通过编译,但是不能通过连接,因而不能运行。
D) 输出# # # #。
main()
{  int x=3,y=0,z=0;
   if(x=y+z)  printf("* * * *");
   else  printf("# # # #");
}

(7) 下面的程序
A) 输出的是1 B) 输出的是1和-2 C) 输出的是3和0 D) 是死循环
main()
{  int x=3;
  do {
     printf("%d\n",X-=2);
  }while(!(--x));
}

(8) 下面程序的输出是
A) 17 B) 18 C) 23 D) 24
main()
{  int x=023;
   printf(%d\n",--x);
}

(9) 若执行下面的程序时从键盘上输入5,则输出是
A) 7 B) 6 C) 5 D) 4
main()
{   int x;
    scanf("%d",&x);
    if(x++>5) printf("%d\n",x);
    else printf("%d\n",x--);
}

(10) 下面程序的输出是
A) 3 B) 4 C) 1 D) 2
main()
{
int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;
printf("%d\n",*(p+2));
}

(11) 执行下面程序中的输出语句,a的值是
A) 65 B) 20 C) 15 D) 10
main()
{  int a;
   printf("%d\n",(a=3*5,a*4,a+5));
}

(12) 下面程序的输出是
A) 0 0 3 B) 0 1 2 C) 1 0 3 D) 1 1 2
main()
{  int a=-1, b=4,k;
   k=(a++<=0)&&(!(b--<=0));
   printf("%d %d %d\n",k,a,b);
}

(13) 下面程序的输出是
A) xyzabcABC B) zabcABC C) yzabcABC D) xyabcABC
#include<stdio.h>
#include<string.h>
main()
{
char *p1="abc",*p2="ABC",str[50]="xyz";
strcpy(str+2,strcat(p1,p2));
printf("%s\n", str);
}

(14) 下面程序的输出是
A) 741 B) 852 C) 963 D) 875421
main()
{
int y=9;
for( ; y>0; y--)
{
if(y%3==0)
{
printf("%d", --y);continue;
}
}.
}

(15) 下面程序的输出是
A) 100 B) 160 C) 120 D) 64
main()
{
char x=040;
printf("%d\n",x=x<<1);
}
(16) 以下说法中正确的是
A) C语言程序总是从第一个的函数开始执行
B) 在C语言程序中,要调用的函数必须在main()函数中定义
C) C语言程序总是从main()函数开始执行
D) C语言程序中的main()函数必须放在程序的开始部分

(17) 执行下面的程序后,a的值为
main()
{
int a,b;
for (a=1,b=1;a<=100;a++)
{  if(b>=20) break;
   if(b%3==1)
{
b+=3;
continue;
}
b-=5;
}
}
A) 7 B) 8 C) 9 D) 10

(18) 以下程序段的输出结果是
int x=3;
do {
printf("%3d",x-=2);
} while(!(--x));
A) 1 B) 3 0 C) 1-2 D) 死循环

(19) 两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是
main( )
{
int x;
scanf("%d",&x);
if(x + + >5)
printf("%d",x);
else
printf("%d\n",x - -);
}
A) 7和5 B) 6和3 C) 7和4 D) 6和4

(20) 设有如下定义: char *aa[2]={"abcd","ABCD"}; 则以下就法中正确的是
A) aa数组成元素的值分别是"abcd"和ABCD"
B) aa是指针变量,它指向含有两个数组元素的字符型一维数组
C) aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址
D) aa数组的两个元素中各自存放了字符'a'和'A'的地址

二、 填空题(每空5分,共30分)
(1) 以下程序的功能是:人键盘上输入若干个学生的成绩, 统计并输出最高成绩和最低成绩,当输入负数时结束输入.请填空.
main()
{
float x,amax,amin;
scanf("%f",&x);
amax=x; amin=x;
while(___(1)____)
{
if(x>amax)  amax=x;
if(____(2)____) amin=x;
scanf("%f",&x);
}
printf("\namax=%f\namin=%f\n",amax,amin);
}

(2) 下面程序通过函数average计算数组中各元素的平均值,请填空.
float average(int * pa,int n)
{ int i;
 float avg=0.0;
 for(i=0;i<n;i++) avg=avg+___(3)___;
 avg=___(4)___;
 return avg;
}
main()
{
int i,a[5]={2,4,6,8,10};
  float mean;
  mean=average(a,5);
printf("mean=%f\n",mean);
}

(3) 以下程序的功能是:从键盘上输入一行字符,存入一个字符数组中,然后输出该字符串,请填空。
#include"ctype.h"
#include"stdio.h"
main()
{
char str[81],*sptr;
int i;
for(i=0;i<80;i++)
{
str[i]=getchar();
if(str[i]=='\n')
 break;
}
str[i]=___(5)___;
sptr=str;
while(*sptr) putchar(*sptr___(6)____);
}

三、 阅读程序题(每题5分  共20分)
(1) 下面程序的输出是_______。
#define MAX 5
int a[MAX],k;
main()
{ fun1();fun3(); fun2(); fun3();
  printf("\n");
}
fun1()
{
for(k=0;k<MAX;k++)
a[k]=k+k;
}
fun2()
{
int a[MAX],k;
for(k=0;k<5;k++)
a[k]=k;
}
fun3()
{
int k;
for(k=0;k<MAX;k++)
printf("%d",*(a+k)):
}

(2)  以下程序运行后,输出结果是 ________
main ()
{
 int y=18,i=0,j,a[8];
do
{
a[i]=y%2;i++;
y=y/2;
} while(y>=1);
for(j=i-1>0;j--)
printf(%d",a[j]);
printf("h\n");
}

(3)  以下程序的输出结果是 ________
main()
{
int i,j,x=0;
for (i=0;i<2;i++)
{   x++;
    for(j=0;j<3;j++)
    {
 if (j%2)
continue;
x++;
}
x++;
}
printf("=%d\n",x);
}

(4) 以下程序的输出结果是_______
main( )
{
char *s="12134211";
int v[4]={0,0,0,0},k,i;
for(k=0;s[k];k++)
{
switch(s[k])
{
case '1':i=0;
case '2':i=1;
case '3':i=2;
case '4':i=3;
}
v[i]++;
}
for(k=0;k<4;k++)
printf("%d ",v[k]);
}

四、 程序题(10分)
1.  从键盘输入一个字符串a,并在a串中的最大元素后边插入字符串b(b[ ]="ab"). 试编程.

最佳教程网

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

浙ICP备11033019号