武汉理工大学《C语言程序设计》期末考试试卷(A卷)(2011级各专业)
一、单项选择题(本大题共20题,每题2 分,共40分)
1、以下不是C语言的特点的是         
AC语言简洁、紧凑    B、能够编制出功能复杂的程序    CC语言可以直接对硬件进行操作    DC语言移植性好
2、以下不正确的C语言标识符是         
AABC      Babc      Ca_bc      Dab.c
3、一个C语言程序是由         
A、一个主程序和若干子程序组成    B、函数组成 C、若干过程组成    D、若干子程序组成
4、一个算法应该具有“确定性”等5个特性,对另外4个特性的描述中错误的是         
A、有零个或多个输入    B、有零个或多个输出 C、有穷性    D、可行性
5、设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+i*f值的数据类型为         
Aint      Bfloat      Cdouble      D、不确定
6、在C语言中,char型数据在内存中的存储形式是         
A、补码      B、反码      C、源码      DASCII
7、有如下程序,输入数据:12345M678cR>后(<CR>表示回车),x的值是         
#include<stdio.h>
main(){
int x;
float y;
scanf("=%f",&x,&y);
}
A12345      B123      C45      D345
8、若有以下定义int a,b; float x,则正确的赋值语句是         
Aa=1,b=2    Bb++;  Ca=b=5    Db=int(x);
9、以下程序的执行结果是         
#include<stdio.h>
{  int i=10,j=10;
printf("%d,%d\n",++i,j--);  }
A11,10      B9,10      C11,9      D10,9
10、巳知字母AASCII码是65,以下程序的执行结果是         
#include<stdio.h>
main()
{    char c1='A',c2='Y';
 printf("%d,%d\n",c1,c2);
AA,Y      B65,65      C65,90      D65,89
11、下列运算符中优先级最高的是         
A、<      B、十      C%      D!
12、设xyzint型变量,且x3y4z5,则下面表达式中值为0的是         
A’x’&&’y’    Bx<=y  Cx||y+z&&y-z    D!((xy)&&!z ||1)
13、判断char型变量cl是否为小写字母的正确表达式为         
A’a’<=c1<=f’z’      B(c1>=a)&&(c1<=z) C(‘a’=c1)  (‘z’<=c1)          D(c1>=’a’)&&(c1<=’z’)
14、字符串"a"在内存中占据的字节个数为         
A0      B1      C2      D3
15、下面有关for循环的正确描述是         
Afor循环只能用于循环次数已经确定的情况  Bfor循环是先执行循环体语句,后判定表达式 C、在for循环中,不能用break语句跳出循环体    Dfor循环体语句中,可以包含多条语句,但要用花括号括起来
16、下面程序的运行结果是         
#include<stdio.h>
main()
{int num=0;
while(num<=2)
{num++;
printf(%d ,num);    }
}
A1    B1  2    C1 2 3    D1 2 3 4
17、以下描述正确的是         
A、由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语
句。    Bdo-while循环由do开始,用while结束,在while(表达式)后面不能写分号。
C、在do-while循环体中,一定要有能使while后面表达式的值变成零(“假”)的操作。    Ddo-while循环中,根据情况可以省略while
18、以下对一维整形数组a的正确说明是         
Aint a(10);              Bint n=10,a[n];    Cint n;                  Dint a[10];
      scanf(%d,&n);           
      int a[n];
19、以下对二维数组a的正确说明是         
Ainta[3][];              Bfloat a(3,4);    Cdouble a[1][4];          Dfloat a(3)(4);
20、若二维数组am列,则在a[i][j]前面的元素个数为         
Aj*m+i    Bi*m+j    Ci*m+j-1    Di*m+j+1
二、填空题(本大题共10空,每空2分,共20分)
1、结构化设计中的三种基本结构是          、、。
2、在C语言中的实型变量分为两种类型,它们是                   
3、当a=5,b=4,c=2时,表达式 a>b!= c的值是         
4、下列程序运行后的输出结果是         
#include<stdio.h>
main()
{
int i,j;
for(i=4;i>=1;i--)
{printf("* ");
for(j=1;j<=4-i;j++)
printf("* ");
printf("\n");
}
}
5、若有定义:int a[3][4]={{1,2},{0},{4,6,8,10}};则初始化后,a[1][2]得到的初值是    a[2][1]得到的初值是         
6、在C语言中,二维数组元素的内存中的存放顺序是         
三、程序分析题(本大题共2题,每题4分,共8分,描述程序功能并写出程序执行结果)
 1#include<stdio.h>
main( )
{int a,s,n,count;
 a=2;s=0;n=1;count=1;
 while(count<=7)  {n=n*a; s=s+n; ++count;}
 printf(s=%d,s);
}
2#include<stdio.h>
main()
{int  a=[3][3]={1,3,5,7,9,11,13,15,17},sum=0,i,j;
 for (i=0;i<3;i++)
  for(j=0;j<3;j++)
      if (i==j) sum=sum+a[i][j];
 printf(sum=%d\n,sum);
程序设计c语言
}
四、编程题(本大题共4题,每题8分,共32分)
1、编写摄氏温度、华氏温度转换程序。要求:从键盘输入一个摄氏温度,屏幕就显示对应的华氏温度,输出取两位小数。转换公式:F=C+32)×9/5
2、试编程判断输入的正整数是否既是5又是7的正倍数。若是,则输出yes;否则输出no
3、判断数m是否为素数(只能被1和它本身整除的整数)?
4、对15个数进行排序,按从小到大的顺序输出。
武汉理工大学《C语言程序设计》期末考试试卷(A卷)(2011级各专业)
评分标准及标准答案
一、单项选择题(本大题共20题,每题2 分,共40分)
1B      2D      3B      4B      5C        6D      7B      8B      9A      10D
11C      12D  13D      14C    15D  16C      17C      18D      19C      20B
二、填空题(本大题共10空,每空2分,共20分)
1、顺序结构    分支结构    循环结构
2、单精度型(或:float)    双精度型(或;double] 31
4*
  * *
  * * *
  * * * *
50    6          6、按行主顺序存放
三、程序分析题(本大题共2题,每题4分,共8分)
能正确表达出题目的含义、要求,即可得分,部分正确可按比例得分,否则不得分。
1、功能:求S=0+2+4+8+16+32+64+128 和。
输出结果:s=254
2、功能:出矩形阵a的主对角线上的元素之和。
输出结果:27
四、编程题(本大题共4题,每题8分,共32分)
能正确表达出题目的含义、要求,且格式正确,即可得满分,不要求形式完全相同。部分正确可按比例得分,否则不得分。
1#include<stdio.h>
main()
{ float c,f;
  printf("input c:"); …………………………………………….2
  scanf("%f",&c); …………………………………………….2
  f= (c+32.0)*9.0/5.0; …………………………………………….2
  printf("F=%.2f \n ",f); …………………………………………….2
}
2#include<stdio.h>
    main()
{int x;
scanf("%d",&x); …………………………………………….2
if(x%5==0&&x%7==0) …………………………………………….2
printf("yes");…………………………………………….2
else
printf("no");…………………………………………….2
}
3# include <stdio.h>
# include <math.h>
main()
{int m,i,k;
 scanf("%d\n",&m);
 k=sqrt(m); …………………………………………….2
 for(i=2;i<=k;i++)…………………………………………….2
 {if(m%i==0)
  break; …………………………………………….2
  }
if(i>k)
  printf("m is a prime number!\n");…………………………………………….2
}
4# include <stdio.h>
main()
{int i,j,a[15],t;
 printf("input 15 numbers:\n");
 for(i=0;i<15;i++)
 scanf("%d",&a[i]); …………………………………………….2
 for(j=0;j<15;j++)…………………………………………….2
  for(i=0;i<15-j;i++)…………………………………………….2
    if(a[i]>a[i+1])
    {t=a[i];a[i]=a[i+1];a[i+1]=t;} …………………………………………….2
  for(i=0;i<15;i++)
 printf("m",a[i]);
}

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。