C语言程序设计期末测试

班级
    ____________
学号
    ____________
姓名
    ____________

单选题

1、一个C程序的执行是从_____。
A、本程序的main函数开始,到main函数结束
B、本程序的main函数开始,到本程序文件的最后一个函数结束
C、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束
D、本程序文件的第一个函数开始,到本程序main函数结束
2、C语言中,复合语句的构成是将一系列语句置于____。
A、begin与end之间
B、方框号“[ ]”之间
C、花括号“{ }”之间
D、圆括号“( )”之间
3、下列描述,正确的是____ 。
A、表达式3.91%5是合法的
B、用b=89作为while循环的条件是合法的
C、逗号表达式是没有值和类型的
D、字符型变量和int型变量的操作完全不同
4.如果不显式地为自动变量初始化,则它的初值为()
A.0
B.1
C.不确定
D.-1
5.正确的数组定义是____
A)char a[ ]={A,B,C,\0};
B)int a[3]={1,2,3,4,5};
C)char a=ABC\0;
D)int a[ ] =ABC;
6.以下选项中不属于C语言变量类型标识符的是()
A. signed short int
B. unsigned long int
C. unsigned int
D.long shot
7.若有定义int a=0;,下列可正确给变量赋值的是()。
A. a=a+a
B. a=a+1”
C.a=a+\1”
D. a+1=a
8.有以下定义和语句 char c1=’a’,c2=’f’; printf("%d,%c\n",c2-c1,c2-’a’+’B’);,则输出结果是()
A. 2,M
B. 5,1
C. 2,E
D. 5,G
9.下列关于单目运算符++、--的叙述中正确的是()。
A.它们的运算对象可以是任何变量和常量
B.它们的运算对象可以是char型和int型变量,但不能是float型变量
C.它们的运算对象可以是int型变量,但不能是 double型和float型变量
D.它们的运算对象可以是char型、int型、f1oat型和 double型变量
10.已定义x为float型变量,则以下程序段()。X=213.82631; printf(“%-4.2f\n”,x);
A.输出格式描述符的域宽不够,不能输出
B.输出为213.83
C.输出为213.82
D.输出为-213.82
11.以下程序段的输出是()。int k=11; printi(%d, %o, %x" k, k, k);
A.11,12,11
B.11,13,13
C.11,013,0xb
D.11,13,b
12.能正确表示逻辑关系“a>=10或a<=0”的C语言表达式是()。
A.a=10 or a=0
B.a=0|a=0
C.a=10a=0
D.a=10||a=0
13.设int a=5,b=6,c=7,d=8,m=2,n=2;,则逻辑表达式(m=a>b)&&(n=c>d)运算后,n的值
A.0
B.1
C.2
D.3
14.下列程序执行后的输出结果是( )main( ) { char arr[10] =abcde; strcat (arr,you); arr[4]=\0; printf(%s\n,arr); }
A)abcd0you
B)abcd
C)you
D)abcdeyou
14.下列程序执行后的输出结果是( )main( ) { char arr[10] ="abcde"; strcat (arr,"you"); arr[4]='\0'; printf("%s\n",arr); }
A)abcd0you
B)abcd
C)you
D)abcdeyou
15、设a、b、c、d、m、n均为int型变量,且a=5、b=6、c=7、d=8,m=2、n=1,则逻辑表达式(m==a<b)&&(n==c<d)的值为___。
A、0
B、1
C、2
D、 3
二、填空题(每空1分,共16分)
请填写以下信息
填空1    ____________
填空2    ____________
填空3    ____________
请填写以下信息
填空1    ____________
填空2    ____________
请填写以下信息
填空1    ____________
填空2    ____________


填空

填空1    ____________
填空
填空1    ____________
填空
填空1    ____________
填空
填空1    ____________
填空
填空1    ____________
填空2    ____________
填空3    ____________
填空
填空1    ____________
填空
填空1    ____________
填空
填空1    ____________
填空2    ____________
三、程序填空题

1.下面程序的功能是从键盘输入10个整数,求出其中的最大值。

# include<stdio. h>

int main( )

{

int n,i=1, max;

scanf(%d", &n);

Max=n;

While(_____________)

{

scanf(“ %d", &n);

if(n>max)

_____________________;

        ____________________;

}

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

return 0;

}


填空1    ____________
填空2    ____________
填空3    ____________
2、 以下程序段实现:输入3个整数,按从大到小的顺序进行输出。请在空中填入正确的内容。

int x,y,z,c;

scanf(“%d%d%d”,&x,&y,&z);

if(           )

{ c=y; y=x; x=c; }

If(         )

{ c=x;x=z;z=c; }

If(          )

{ c=z; z=y; y=c;}

Printf(“ %d,%d,%d”,             )


填空1    ____________
填空2    ____________
填空3    ____________
填空4    ____________

四、运行程序结果题

1.下面程序的运行结果是( )

#include<stdio.h>

int main ( )

{ int a=0,i=0;

  do{

      ++i;

      a+=i

}while(a<=6);

pintf(“%d\n”,a);

return 0;

}


    ____________
2、请填写本项内容6、 下面程序的运行结果是( )

#include<stdio.h>

int main( )

{

  int i,j,x=0;

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

  {

if(i%3==2)

break;

x++;

for(j=0;j<4;j++)

{

  if(j%2)

  break;

x++;

}

x++;

     }

     printf(“x=%d\n”,x);

     return 0;

}


    ____________

五、编写程序

1、输入一个数,判断该数是否是回文数,是输出yes!,否输出No!
    ____________
2、输入数字n,n为斐波拉契序列第n项,并将第n项输出,编写程序实现
    ____________

36题 | 被引用0次

使用此模板创建