期中试卷
考试科目:C语言程序设计     试题编号:
适用对象:网络121-2          使用学期:2012--2013--1  第一学期
课程编号:                4道大题  总分100分    4
考生须知:
1) 姓名必须写在装订线左侧,其它位置一律作废。
2) 请先检查是否缺页,如缺页应向监考教师声明,否则后果由考生负责。
3) 答案一律写在答题纸上,可不抄题,但要标清题号。
4) 用蓝或黑的钢笔、圆珠笔答题。
监考须知:请将1份试卷放在答题纸上面一起装订。 
一、单项选择题(在每小题的四个备选答案中,选出一个正确的答案,每小题2分,共20小题40分)
1.假设x=2.5,a=7,y=4.7,则表达式:x+a%3*(int)(x+y)%2/4的值为(  )。
  2.5  B 2.75  C  3    9.5
2.表达式k=(12<10)?4:1?2:3的值为(  )。
A 1    B 2    C 3   D 4
3.假设整型变量a2,使b的值为0的表达式是(  )
  b=a/2  B  b=6-(--A  C  b=a%2  D  b=a>3?0:1 
4.设有整型变量a,实型变量f,双精度型变量x,则表达式10+b+x*f值的类型为(  )
A int  B float   C double   D 不能确定
5.假设a=3,b=4,c=5,则逻辑表达式: !(a+b)+c-1&&b+c/2的值是(   )。 
  true  B false  C  0    1
6.为了避免嵌套的if-else语句的二义性,C语言规定else总是与( )组成配对关系。
A  缩进位置相同的if       B  在其之前未配对的if 
C  在其之前最近的未配对的if   D  同一行上的if
7.在以下一组运算符中,优先级最高的运算符是(  )
 A  <=  B  =   C  %   D  && 
8.C语言中,运算对象必须是整型数的运算符是(   )。
  %    B  /       %/  D  * 
9.sizeof (double)是一个(  )。
  整型表达式     B  实型表达式    C  不合法的表达式    D  函数
10.以下关于运算符优先顺序的描述中,正确的是( )。
A关系运算符<算术运算符<赋值运算符     B  逻辑运算符<关系运算符<算术运算符
C  算术运算符<关系运算符<赋值运算符    D  赋值运算符<关系运算符<算术运算符
11.下面对变量赋初值正确的是(  )
  int a=b=c=1;          int a=1,b=c=2; 
  int a=1,b=1,c=1;        int a=b=1,c=2; 
12printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列,如果字符串长度大于5,则输出按方式 (  )。
    从左起输出该字符串,右补空格 B 按原字符长从左向右全部输出
C 右对齐输出该字串,左补空格   D 输出错0信息
13.设有如下的变量定义:
    int i=8,k,a,b; 
       unsigned long w=5; 
       double x=1,42,y=5.2; 
      则以下符合C语言语法的表达式是(  )
a=a-=(b=4)*(a=3)    x%(--3) 
a=a*3=2       Dy=float(i)
14.若有定义int x,y;下面选项中合法的if语句( ).
  if(a==b) x++;  B  if(a=<b) x++; 
  if(a<>b) x++;  D  if(a=>b) x++;
15.运行下列程序并用键盘输入53,48,32 后,在屏幕上的内容是(  )。
main ()
{
 int i,j,k;
 scanf ("%d,%d,%d",&i, &j, &k);
 if (i>50) printf("%d",i);
 else if (i>40) printf("%d",j);
 else if (i>30) printf("%d",k);
 else printf("Error");
}
  53   B  48    C  32   D  Error 
16. C语言的if语句中,用作判断的表达式为(  )
  关系表达式  B  逻辑表达式  C  算术表达式  D任意表达式
17. 下面程序的运行结果是(  )。
 main( )
{int k=3; 
 if (k++>3) printf("%d\n",k++);
 else  printf("%d\n",--k); } 
5   B 4   C3   D2
18. 在宏定义#define PI 3.1415926中 ,用宏名PI代替一个(  )。
A单精度数     B双精度数     C常量   D字符串
19.C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符(  )。
A 必须为字母                B 必须为下划线
C 必须为字母或下划线       D 可以是字母、数字和下划线中任一种字符
20. 一个C语言程序是由(  )组成。
A 一个函数     B 一个或若干个函数
C 一个过程     (D 一个过程或若干个过程
二、填空题(每空1分,每小题1分,共10小题20分)
  1.转换说明符%x的输出形式是(    )。每空1
  2.将int 型变量n转换成float型变量的方法是     )。每空1  3.以下变量xyz均为double类型且已正确赋值,请写出x÷(y×z)c语言表达式是(    )。每空1
  4.C语言中用于结构化程序设计的三种基本结构是(    )(    )(    )。每空1
  5. C程序中注释部分可以出现在程序中任意合适的地方,单行注释用(    ),多行注释用(    )。每空1
6.最常用的输入库函数为scanf,输出库函数为printf ,这两个函数库在头文件(    )中。每空1
7. log10(double x)和ldexp(double x, int n) ,这两个函数库在头文件(    )中。每空1
8. C语言中的数据类型有(  )、(  )、(  )。每空1
9. 变量获得值的方法:(  )、(  )、(  )。每空1
10.请写出printfscanf函数的原型(  )、(  )。每空2
三、写出下列程序的执行结果(每小题5分,共4小题20分)
1.main() {  int x,y,z;    x=y=2;z=3; y=z++-1;    printf(%d\t%d\t,x,y);    y=++x-1; printf(%d \t%d\n,x,y);    y=z---1;    printf(%d\t%d\t,z,y);    y=--z-1;    printf(%d\t%d\n,z,y); } 运行后输出的数据为_______
2.printf函数中用到格式符 5smain()  {int i=1,sum=0    while(i<=10)  {
sum=sum+1;    i++;
}  printf("i=%d,sum=%d"i,sum)  }
3.写出下列表达式
1)表示数学公式a>b>c
2)判断a, b, c三条线段能否组成一个三角形
3a, b不同时为负
4.请用语言描述求两数的最大公约数的算法。
四、程序设计题(每小题10分,共2小题20分)
1.现有两个整数xy,请将它们的值交换。
2.求求绝对值。
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
    int x, y;
    printf("input the value of x:");
    scanf("%d", &x);
    y = x;
    if (x < 0)
        y = -x;
    printf("|x|=%d\n", y);   
              system("pause");
    return 0;}

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