《C语言程序设计》期末考试试卷(一)

考试时间90分钟
考试时间90分钟
1.C语言源程序的基本单位是()。
A、过程
B、函数
C、子程序
D、标识符
2、以下叙述不正确的是[   ]。
A、一个C源程序可由一个或多个函数组成
B、一个C源程序只能由一个函数,即main函数
C、一个C源程序有且只有一个主函数,其它函数不限
D、一个C源程序可以只有一个主函数,没有其它函数
3、若有定义“char a; int b; float c; double d;”,则表达式“a*b+d-c”值的类型为()。
A、char
B、int
C、float
D、double
4、若a是int 型变量,且a的初值为6,则计算表达式a+=a-=a*a后a的值为( )。
A、36
B、-36
C、-60
D、60
5、C 语言中,要求运算对象只能为整数的运算符是(  ) 。
A、/
B、%
C、+
D、*
6、下面程序的输出结果是()。

#include <stdio.h>

int main ( ){

    int a = 10;

    if( a < 20 ) {

        printf("a 小于 20!" );

     }

    printf("a 的值是 %d\n", a); return 0;

}

A、编译提示错误
B、输出结果是:a 小于 20!
C、输出结果是:a 小于 20!a 的值是 10
D、不提示错,也没有任何结果输出。
7、下面程序的结果是()。

#include <stdio.h>

main() {

    int m;

    m=2;

    switch(m-2) {

         case 0:

         case 1:printf("yes");

         case 2:printf("ok");break;

         default:printf("no");

       }

 }

A、yes
B、yesok
C、C、no
D、ok no
8、下列程序运行后的输出结果是() 。

main() {

   int n=3;

   do {

           n++;

          printf("%d",n*n);

        } while(--n);

 }

A、2591
B、1925
C、语法错误
D、死循环
9、下列选项中,合法的数组定义是()。
A、int a[]=”hello”
B、int a[6]={0,1,2,3,4,5,6}
C、char ch=”hello”
D、char ch[]={2,3,4,5,6}
10、设有定义:char s[12]="string";则printf("%d\n",strlen(s));正确的运行结果是()。
A、7
B、6
C、11
D、12
11、有字符数组a[80]和b[80],则正确的输出语句是()。
A、puts(a,b);
B、printf(%s,%s,a[],b[]);
C、putchar(a,b);
D、puts(a);puts(b);
12. 请阅读以下程序。

main(){

     int x=1,y=0,a=0,b=0;

     switch(x){

            case 1:

                switch(y)

                    {

                          case 0:a++; break;

                          case 1:b++; break;

                      }

             case 2:a++;b++; break;

          }

       printf("a=%d,b=%d",a,b);

}

上述程序的输出结果是()。

A、a=2,b=1
B、a=1,b=0
C、a=1,b=1
D、a=2,b=2
13.判断char型变量c1是否为小写字母的正确表达式为()。
A. a=c1=z
B.c1=ac1=z
C.c1=allc1=z
D.c1=ac1=z
14、下面程序的输出结果是(  ) 。

main() {

           int a[10]={1,2,3,4,5,6,7,8,9,10},

          *p=a;  

           printf("%d\n",*(p+2));

}

A、4
B、1
C、2
D、3
15.C语言中while和do-while循环的主要区别是()。
A.do-while的循环体至少无条件执行一次
B.while的循环控制条件比do-while的循环控制条件严格
C.do-while允许从外部转到循环体内
D.do-while的循环体不能是复合语句
16、有以下程序

void f(int *q) {

     int i=0;

     for(;i<5; i++) (*q)++;

}

main() {

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

       f(a);

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

       printf("%d,", a[i]);

} 程序运行后的输出结果是( )。

程序运行后的输出结果是( )。
A、2,2,3,4,5,
B、6,2,3,4,5,
C、1,2,3,4,5,
D、2,3,4,5,6,
17.下面程序的运行结果是()。

main()

{ int x=1;

  while(x<20){

        x=x*x;

        x=x+1;

     }

    printf("%d",x);

}

A.1
B.20
C.25
D.26
18、下列程序执行后的输出结果是( )。

void func1(int i);

void func2(int i);

char st[]="hello,friend!";

void func1(int i) {

          printf("%c",st[i]);

          if(i<3){i+=2;func2(i);

}

void func2(int i) {

          printf("%c",st[i]);

          if(i<3){i+=2;func1(i);

}  

main() {

          int i=0;

          func1(i);

          printf("\n");

}

A、hello
B、hel
C、hlo
D、hlm

19题 | 被引用0次

模板修改
使用此模板创建