《C语言程序设计》试卷及答案

《C语言程序设计》试卷及答案。答案总结在文末。

目录

一、单选题

二、判断题

三、填空题

四、程序阅读题

五、编程题

答案


一、单选题

1. 一个 C 程序由若干个 C 函数组成,各个函数在文件中的位置为(   )。

A.任意                 

B.第一个函数必须是主函数,其他函数任意

C.必须按照顺序排列     

D.其他函数必须在前,主函数必须在最后

2.下列4组选项中,均不是C语言关键字的选项是(   )。

  A. define   iF     type      B. getc  char   printf

  C. include  case   scanf     D. while  go    pow

3. 以下叙述不正确的是(   )。

A.一个 c 源程序必须包含一个 main 函数

B.一个 c 源程序可由一个或多个函数组成

C.c 程序的基本组成单位是函数

D.在 c 程序中,注释说明只能位于一条语句的后面

4. 以下能正确定义整型变量a、b和c并赋初值5的语句是(  )。

A. int a=b=c=5;             B. int a,b,c=5;

C. int a=5,b=5,c=5;         D. a=b=c=5;

5. 下面字符常量正确的是(   )。

A.“c”                      B. “\\ ”

C.‘n’                      D.‘ab’

6.putchar()函数可以向终端输出一个(   )。

  A. 字符或字符变量的值        B. 字符串

  C. 实型变量                  D. 整型变量的值

7.以下叙述正确的是(   )。

A. 赋值语句中的“=”是表示左边变量等于右边表达式

B. 赋值语句是由赋值表达式加上分号构成的

C. 赋值语句中左边的变量值不一定等于右边表达式的值

D. x+=y;不是赋值语句

8.C语言用(   )表示逻辑“真”值。

  A. true     B. t或y    C. 非零整数值     D.整数0

9.若有以下语句,则(    )是正确的描述。

char s1[ ]="China"; 

char s2[ ]={'C','h','i','n','a'};

A.s1数组和s2数组的长度相同     B.s1数组长度小于s2数组长度

C.s1数组长度大于s2数组长度     D.s1数组等价于s2数组

10.C语言中,while和do-while循环的主要区别是(   )。

  A. do-while的循环体至少无条件执行一次

B. while的循环控制条件比do-while的循环控制条件严格

C. do-while允许从外部转到循环体内

D. do-while的循环体不能是复合语句

11.下面程序段中,语句“k++;”执行的次数为(   )。

  for(k=0,m=4;m;m-=2)

      for(n=1;n<4;n++)

         k++;

  A. 16       B.6        C. 12       D. 8

12.以下一维数组a的定义正确的是(   )。

A.int a(10);                    B.int n=10,a[n];

C.int n;                        D.#define SIZE 10

scanf("%d",&n);                 int a[SIZE];

int a[n];

13.对以下说明语句的正确理解是(   )。

    int a[10]={1,2,3,4,5};

 A.将5个初值依次赋给a[1]至a[5]。

 B.将5个初值依次赋给a[0]至a[4]。

 C.将5个初值依次赋给a[6]至a[10]。

 D.因为数组长度与初值的个数不相同,所以此语句不正确。

14.不能把字符串"China"赋给数组b的语句是(   )。

A.char b[10]={'C','h','i','n','a','\0'};

B.char b[10],b="China";

C.char b[10]; strcpy(b,"China");

D.char b[10]="China";

15.C语言规定函数的返回值的类型是由(    )。

A.return语句中的表达式类型决定

B.调用该函数时的主调函数类型所决定

C.调用该函数时系统临时决定

D.在定义该函数时所指定的函数类型决定

、判断题

1.C语言的源程序是由函数组成的。(   )

2.分号是C语句之间的分隔符,不是语句的一部分。(   )

3.C语言中,运算对象必须是整型数据的运算符是 %。(   )

4.C语言编译时不检查语法。(   )

5. break语句只能用于switch语句体中。(   )

6.C语言中,Area与area是不同的标识符。(   )

7.do-while语句构成的循环只能用break语句退出。(   )

8.两个字符串中的字符个数相同时才能进行字符串大小的比较。 (   )

9.对for( 表达式1 ; ;表达式3)可理解为for(表达式1 ;0 ;表达式3) 。(   )

10.if(x>y); 是正确的if语句。 (   )

、填空题

1.开发C语言程序的步骤可以分成四步,即              

          

2.转义字符“\n”的功能是______,转义字符“\r”的功能是_______。

3.运算符“%”两侧运算对象的数据类型必须都是________,运算符“++”和“--”的运算对象只能是_________。

4.while语句执行的特点是________,如果表达式的值一开始就为      时,则循环体一次也不执行。

5.C语言程序中定义一个函数由两部分组成,即                

6.无返回值的函数应定义为      类型。函数可以嵌套调用,不可以嵌套       

7.有参函数中,在定义函数时函数名后面括号中的变量名称为         ;在主调函数中调用一个函数时,函数名后面括号中的参数称为          。在调用时,将          的值传给           

8.—般而言,一个C语言程序的执行是从      开始,到      结束。

程序阅读

1.#include "stdio.h" 

main()

{  

printf("I love China!\n");

printf("We are students.\n");

}

#include<stdio.h> 

main()

{                   

int a=2,b=3;

float x=3.9,y=2.3;

float r;

r=(float)(a+b)/.2+(int)x % (int)y;

printf("%f\n",r);

}

3.#include <stdio.h> 

main()

{  int a=1,b=0;

   Switch(a)

   { case 1:switch(b)

       { case 0:printf("郑州职业技术学院");

         case 1:printf("软件工程系");  }

   case 2:printf("软件技术");break;

case 3:printf("专业\n");

}

4.#include  <stdio.h> 

main()

{  int a[ ]={1,2,3,4},i,s=0,j=1;

   for(i=3;i>=0;i--)

       {

s=s+a[i]*j;

          j=j*10;

        }

printf("s=%d\n",s);

}

编程

1.输入学生百分制成绩,输出相应等级。

cj<60           不及格

60≤cj<80       一般

80≤cj<90       良好

90≤cj           优秀

2.打印九九乘法表。

答案

一、单选题

1 A

2 A

3 D

4 C

5 C

6 A

7 B

8 C

9 C

10 A

11 B

12 D

13 B

14 B

15 D

二、判断题

1√

3√

6√

10√

三、填空题

1  编辑、编译、连接、运行

2  回车换行、回车

3  整型、变量

4  先判断后执行、假

5  函数首部/函数说明,函数体   

6  void、定义

7  形式参数、 实际参数 、 实际参数 、形式参数

8  main(或主函数),main(或主函数)

四、程序阅读题

1 程序运行结果为:     I love China!

     We are students.                

2 程序运行结果为:     26.000000                       

3 程序运行结果为:  郑州职业技术学院软件工程系软件技术 

4 程序运行结果为:     s=1234                          

五、编程题

1  答案不唯一,完成即可。

#include <stdio.h>

main()

{  

    int mark,n;

    printf("please input a score: ");

    scanf("%d",&mark);

    if(mark<0||mark>100)

    {

        printf("the score is error!\n");

        exit(0); /* end */

    }  

    n=mark/10;    

    switch(n)

    {

        case 10:

        case 9:printf("the result is 优秀\n");break;

        case 8:printf("the result is 良好\n");break;

        case 7:

        case 6:printf("the result is 一般\n");break;

        default:printf("the result is 不及格\n");

    }

2  答案不唯一,完成即可。

#include <stdio.h>

   main( )

   {  int  i,j;

      for(i=1;i<=9;i++)

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

          printf("%d×%d=%-3d",i,j,i*j);

        printf("\n");}

   }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值