首页 范文大全 古典文学 职场知识 中国文学 公文书信 外国名著 寓言童话 百家讲坛 散文/诗歌 美文欣赏 礼仪知识 民俗风情
  • 工作总结
  • 工作计划
  • 心得体会
  • 竞聘演讲
  • 会议发言
  • 爱国演讲
  • 就职演说
  • 开业开幕
  • 思想学习
  • 征文演讲
  • 经验材料
  • 述职报告
  • 调研报告
  • 工作汇报
  • 年终总结
  • 申报材料
  • 学习体会
  • 企划方案
  • 活动方案
  • 技巧经验
  • 模板范例
  • 思想宣传
  • 经济工作
  • 工作报告
  • 组织人事
  • 反腐倡廉
  • 慰问贺电
  • 先进事迹
  • 思想汇报
  • 入党申请书
  • 党会发言
  • 先进性教育
  • 入团申请书
  • 个人简历
  • 演讲稿
  • 调查报告
  • 实习报告
  • 和谐社会
  • 观后感
  • 读后感
  • 作文范文
  • 自我鉴定
  • 讲话稿
  • 自查报告
  • 2010-2011第1学期《C语言程序设计》试卷A.doc

    时间:2020-09-30 15:12:18 来源:蒲公英阅读网 本文已影响 蒲公英阅读网手机站

    相关热词搜索:试卷 学期 语言程序设计

     2011-2012 第 第 1 学期《C 语言程序设计》卷 试卷 A 一、选择题(每小题 2 分,共计 40 分)

     题号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 得分 答案

      1、以下能正确定义且赋初值的语句是(

      )。

     A)int

     n1=n2=10;

      B)char

     c=32;

     C)float

     f=f+1.1;

     D)double

     x=12.3e2.5;

     2、在 C 语言中,表达式____的值是整数类型。

     A)25.0

      B)34.5+0.5

     C)12.3*10

     D)3%10

     3、以下叙述不正确的是(

     )。

     A)一个 C 源程序可由一个或多个函数组成。

     B)一个 C 源程序必须包含一个 main 函数。

      C)在 C 程序中,注释说明只能位于一条语句的后面。

     D)C 程序的基本组成单位是函数。

     4、当 a=1、b=3、c=5、d=4 时,执行以下程序段后 x 的值是

      。

     if(a<b)

      if(c<d) x=1;

      else

      if(a<c)

     if(b<d) x=2;

     else

     x=3;

      else x=6; else x=7; A)1

     B)2

     C)3

     D)6

     5、执行下列程序段:

      for (i=0;i<5;i++)

      for (j=1;j<6;j++) x+=3; 其中表达式“x+=3”共执行___

      _次。

     A)30

     B)24

     C)25

     D)20

     6、C 语言中 switch 语句形式如下所示,关键字 switch 后一对圆括号中表达式 exp 的类型(

     )。

      switch (exp)

     { case 常量表达式 1:语句 1; ...... case 常量表达式 n: 语句 n; default: 语句 n+1; } A)可以是整型或字符型

     B)只能是 int 类型

     C)只能是字符型

     D)只能是整型或实型

     7、C 语言规定,函数返回值的类型是由(

     )。

     A)调用该函数时系统临时决定 B)return 语句中的表达式类型所决定 C)调用该函数时的主调函数类型所决定 D)在定义该函数时所制定的函数类型所决定

     8、以下叙述中不正确的是:(

     )。

     A)在不同的函数中可以使用相同名字的变量。

     B)形式参数是局部变量。

     C)在函数内定义的变量只在本函数范围内有效。

     D)在函数内的复合语句中定义的变量在本函数范围内有效。

     9、以下正确的函数声明形式是

      。

     A) double fun( int x,int y)

      B) double fun(int x;int y) C) double fun( int x,int y) ;

     C)double fun( int x,y)

     10、以下程序的运行结果是

     。

     #define

     MIN(x,y)

     (x)<(y) ? (x):(y) main() { int i=10,j=15,k;

      k=10*MIN(i,j);

      printf(“%d\n”,k); } A)10

      B)15

      C)100

     D)150

     11、以下对二维数组 a 的正确说明是

      。

     A ) int a [3][ ]

     B ) float a (3,4)

     C )double a[ ][4]

     D )float a (3)(4)

     12、以下关于结构体的叙述中,错误的是(

     )。

     A)结构体是一种可由用户构造的数据类型 B)结构体中的成员可以具有不同的数据类型 C)结构体中的成员不可以与结构体变量同名 D)结构体中的成员可以是指向自身结构的指针类型

      13、判断字符串 s1 和 s2 是否相等,应使用下面哪种形式_________。

     A)if (s1==s2)

     B)if (s1=s2) C)if (strlen(s1)==strlen(s2)))

     D)if (strcmp(s1,s2)==0)

     14、已定义 c 为字符型变量,则下列语句中正确的是(

     )。

     A) c=’97’

      B) c=”97”

     C) c=97

      D) c=”a”

     15、以下程序的正确运行结果是

     。

     #include<stdio.h> void num(

     )

     { extern int x,y ; int a=15,b=10 ;

      x=a-b;

     y=a+b; } int x, y; main( ) {

     int a=7, b=5 ;

     x=a+b ;

     y=a-b;

     num( )

     printf( “%d,%d\n”), x, y); } A) 5,25

     B)不确定

     C) 12,2

      D) 1,12

     16 在一个源程序文件中,若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使用的存储类别是

      。

     A) extern

     B) register

     C) auto

     D) static

     17、变量的指针,其含义是指该变量的

     。

     A) 值

     B) 名

     C) 地址

     D) 一个标识

     18、已有定义 int i,a[10],*p;,则下面赋值语句中 合法的是(

     )。

     A)p=100;

     B)p=a[5];

      C)p=a[2]+2;

      D)p=a+2;

     19、若有如下定义:

     struct person {

     int id;

     char name[2 0]; }per,*s=&per; 则以下对结构体成员的引用 错误的是(

     )。

     A)per.name

     B)s->name

      C)(*per).name

     D)(*s).id

     20、利用 fopen()函数打开文件,如果打开失败,其返回值为_____。

     A)

     NULL

      B )

     EOF

      C) 0

     D)

     不确定

     得分

     二、填空题(每空 2 分,共 20 分)

     1、一个 C 程序必定从________函数开始执行。

     2、C 语言的源程序必须通过

      和

      后,才能被计算机执行。

     3、采用结构化程序设计方法编写的程序一般有三种基本结构:顺序结构、

     、 和

      。

     4、若有定义 float a[2][3];则 a 数组所含数组元素个数是

      ,a 数组所占的字节数是

      。

     5、C 语言中的标识符只能由三种字符组成,它们是字母、

      和数字。

     6、以下程序的功能是用递归方法计算学生的年龄,已知第一位学生年龄最小,为 10 岁,其余学生一个比一个大两岁,求第 5 个学生的年龄。请填空。

     递归公式为:

     #include<stdio.h> int age(int n) {

     int c;

      if(n==1)

     c=10;

      else

      c=

      ;   ) 1 ( 2 ) 1 () 1 ( 0 1) (n n agenn age

     return (c);

     } void main() {

      printf(“age:%d\n”,

      );

     }

     }

     得分

     三、写出下列程序的运行结果。(在书写结果的表格中,假定每一格代表屏幕上一个字符的位置,请在表格内书写运行结果。每题 4 分,共 5 题,共计 20 分) 1、void main() { float x=8.7,y=10.5;

      int i,j;

      i=x+y;

      j=(int)x+(int)y;

      printf("x=%f,\ny=%f,\ni=%d,\nj=%d\n",x,y,i,j);

      }

     运行结果为:

     2、void main() {

      int i=0; char st[]="1234567";

      while(i<6){

      switch (st[i])

      { case "1":putchar("1");

      case "2": putchar("2");break;

      case "3": putchar("3");

      case "4": putchar("4"+1);

      default :printf("%s","56");

     }

     putchar("\n");

     i++;

     }

     } 运行结果为:

     3、 #include <stdio.h> int fb(int n) {

      int i, t=1; for(i=1; i<=n; i++)

     t=t*i;

     return t; } void main() { int j=1 ;

      for( ; j<5 ; j++)

     printf(“j=%d, fb(%d)=%d\n”, j, j, fb(j)); } 运行结果为:

     4、 void swap(int *p1 ,int *p2) { int m; m=*p1;*p1=*p2;*p2=m; } void main( )

     {

     int a=5,b=7,*ptr1,*ptr2; ptr1=&a,ptr2=&b; swap(ptr1,ptr2); printf(“*ptr1=%d,*ptr2=%d\n”, *ptr1, *ptr2); printf(“a=%d,b=%d”, a, b); } 运行结果为:

      5、void main() {

     int i, f[10] ;

     f[0]=f[1]=1;

     for(i=2; i<10; i++)

     f[i]=f[i-2]+f[i-1];

     for(i=0; i<10; i++)

      {

     if(i%4==0) printf(“\n”);

      printf(“%3d”,f[i]);

      }

      }

      得分

     四、编程题(第一题 8 分,第二题 12 分,共 20 分)

     1、求 1+2+3+…+100。请编写程序。

     2、从键盘读入 N 个整数,存入一个一维数组中,输出这 N 个数,对这 N 个数排序后重新输出,请编写程序。编程要求:1)输出排序前后的数据对比排序效果,一行输出 5 个数;2)排序后为 升序,即 由小到大;3)程序框架采用 函数调用的形式,要求定义函数inpput、sort、output 分别实现数据输入、排序、输出功能;4)N 的大小可自由定义。

     10-11 第 第 1 学期《 《C 语言程序设计卷 》试卷 A 参考 答案 一、单项选择题。(每道选择题只有一个正确答案,请将答案填在题前的括号内,填写其它地方无效。每题 2 2 分,共 0 20 题,共计 0 40 分 。)

     1-5

      BDCBC

      6-7 ADDCB

     11-15 CCDCA

      16-20 DCDCA 二 填空题(每空 2 2 分,共 0 20 分)

     1.main

      2.编译

     链接

     3.选择(或分支)结构

     循环结构

     4.16

     24

      5.下划线

     6.age(n-1)+2

     age(5)

     三 、写出下列程序的运行结果。( ( 在书写结果的表格中,假定每一格代表屏幕上一个字符的位置,请在表格内书写运行结果。

     每题 4 4 分,共 5 5 题, 共计 2 20 0 分) )

     1、 ( 4 分) 运行结果为:

     x = 8 . 7 0 0 0 0 0 ,

     Y = 1 0 . 5 0 0 0 0 ,

     i = 1 9 ,

     j = 1 8

      2、 (4 分)

     运行结果为:

     1 2

      2

     3 5 5 6

      5 5 6

     5 6

      5 6

     3、 (4 4 分)

     运行结果为:

     j = 1 , f b ( 1 ) =1

      j = 2 , f b ( 2 ) =2

      j = 3 , f b ( 3 ) =6

     j = 4 , f b ( 4 ) =2 4

     4、 (4 4 分)

     运行结果为:

      5、 (4 4 分)

     运行结果为:

      四、编程题 (题 第一题 8 分,第二题 12 分 分,共 共 20 分 分)

     )

     1、求 1+2+3+…+100。请编写程序。

     2、从键盘读入 N 个整数,存入一个一维数组中,输出这 N 个数,对这 N 个数排序后重新输出,请编写程序。编程要求:1)输出排序前后的数据对比排序效果,一行输出 5 个数;2)排序后为 升序,即 由小到大;3)程序框架采用 函数调用的形式,要求定义函数inpput、sort、output 分别实现数据输入、排序、输出功能;4)N 的大小可自由定义。

     参考代码#include <stdio.h> #define N 100 void

     main()

     { void input(int array[ ],int n); void output(int array[ ],int n); void sort(int array[ ],int n);

      int a[N],m;

      m=N;

      input(a,m);

      output(a,m);

      sort(a,m); * p t r 1 =7 , * p t r 2 = 5

      a = 7 , b = 5

     1

      1

      2

      3

      5

      8

     1 3

     2 1

     3 4

     5 5

     output(a,m); } void input(int array[ ],int n) /*输入函数*/ {

      int i; printf(“Please input the data.\n”); for(i=0;i<n;i++) { printf(“the array[%d] is:\n”,i); scanf(“%d”,&array[i]);

      }

      printf(“The inputing has been completed.\n”); } void output(int array[ ],int n) /*输出函数*/ {

      int i;

      printf(“the array is:\n”); for(i=0;i<n;i++) { printf(“%8d”,array[i]); if(((i+1)%5)==0)

      printf(“\n”); } } void

     sort(int array[],int n)/*排序函数,顺序选择法*/ { int i, j, k, t;

     for(i=0;i<n-1;i++)

     { k=i;

     for(j=i+1;j<n;j++)

     if(array[j] < array[k])k=j;

      t=array[k];

     array[k]=array[i];

      array[i]=t

     }

      } void sort2(int array[ ],int n) /*排序函数,泡泡法*/ {

      int j,i;

     for(j=0;j<n-1;j++)

     /*排序的趟数*/

      for(i=0;i<n-1-j;i++)

     /*每一趟比较的次数*/

     if (a[i]>a[i+1])

     {

      t=a[i];a[i]=a[i+1];

      a[i+1]=t;

     } }

    • 范文大全
    • 职场知识
    • 精美散文
    • 名著
    • 讲坛
    • 诗歌
    • 礼仪知识