C语言期末考试真题
3.题目:用折半查找法在有序数组中查找指定元素x
-------------------------------------------------------*/
#include<stdio.h>
void main()
{ int a[10],x,i,start,end,flag=0;
printf("输入10个有序数:\n");
{i=(start+end)/2;
if (x==a[i])
{ flag=1; break; }
/***********SPACE***********/
else if (x>a[i])start=i+1;
else end = i-1; }
if(flag==1) printf("found:a[%d]",i);
if (k%13 == 0 ||k%17==0)
{
m=m+k;
mc++;
}
k--;
}
/***********SPACE***********/
return m;
}
main ( )
{
printf("%d\n", fun (500));
}
---------------------------------------------------------
例如:数字26,数位上数字的乘积12大于数字之和8。
-------------------------------------------------------*/
#include <stdio.h>
main()
{
int n,k=1,s=0,m;
for(n=1;n<=100;n++)
{
k=1;
s=0;
#include <conio.h>
#include <stdio.h>
/***********SPACE***********/
int fun(int k)
{
int m=0, mc=0;
/***********SPACE***********/
while (k >= 2 &&mc<10)
{
/***********SPACE***********/
{int x=0,s=0;
While(!X!=0)s+=++x;
Printf(“%d”,s);}
A.0
B.1
C.语法错误
D.无限循环
20.(B)int a[10];给数组a的所有元素分别赋值为1、2、3、.....的语句是?
A.for(i=1;i<11;i++)a[i]=i;
B.for(i=1;i<11;i++)a[i-1]=i;
21.(F)二维数组在内存中储存以列为主序方式存放。
22.(T)c程序中#include和#define均不是c语句
23.(F)通过return语句,函数可以带回一个或一个以上的返回值
24.(T)在程序中定义了一个结构体类型后,可以多次用它来定义具有该类型的变量
25.(T)对结构体类型的变量的成员可以象普通变量一样参与各种运算
B它们的运算对象可以是char型变量和int型变量,但不能是float型变量
C它们的运算对象可以是int型变量,但不可能是double型变量和float型变量
D它们的运算对象可以是char型变量、int型变量和float型变量
9.(D)逻辑运算符两侧运算对象的数据类型(?)
A只能是0或1
B只能是0或非0正数
B.for(i=0; 1<3: i++)for(=0 j<2: j++)a[j][i]=j*3+i+1;
C.for(i=0;i<6;i++)a[i/3][i%3]=i+1;
D.for(i=1;i<6;i++)a[i][i]=i;
22.(B)以下不正确的说法是c语言规定:
A.实参可以是常量,变量或表达式
C.4
D.死循环
15.(B)若变量已经正确定义,有下列程序段输出结果是?
i=0:
Do printf(“%d”,i): while(i++):
Printf(“%d\n”,i):
A.0,0
B.0,1
C.1,1
D.程序进入无限循环
16.(D)设变量已经正确定义,则以下能正确计算f=n!的程序段是?
A.f=0:
else printf(" not found"); }
四、程序设计
---------------------------------------------------------
1.题目:请编写函数fun,其功能是:将一组得分中,去掉一个最高分和一个最低分,然后求平均值,并通过函数返回。函数形参a指向存放得分的数组,形参n中存放得分个数(n>2)。例如:若输入9.9 8.5 7.6 8.5 9.3 9.5 8.9 7.8 8.6 8.4十个得分,则输出结果为:8.687500。
C.static
D.extern
6.(C)以下字符中不是转义符的是?
A、\a’
B.\b’
C.\c’
D.’\\’
7.(D)putghar函数可以向终端输出一个(?)
A整型变量表达值
B实型变量值
C字符串
D字符或字符型变量值
8.(D)以下关于单目运算符++、--的叙述值正确的是?
A它们的运算对象可以是任何变量和常量
A说明变量
B说明存储类型
C初始化
D未尾不写分号
25.(D)使用共用体变量不可以:
A节省存储空间
B简化程序设计
C进行动态管理
D同时访问所有成员
三、程序填空
---------------------------------------------------------
1.功能:输出1到100之间每位数的乘积大于每位数的和的数。
12.(F)若a是实型变量,c程序中允许以下赋值a=10:因此实型变量中允许存放整型变量。
13.(T)在c语言中,逻辑“真”等价于不等于0的数。
14.(F)开关语句switch最多可以形成3个分支.
15.(T)Int a=1,b=2,c=3:if(a>c)b=a:a=c:c=b:则c的值是2.
16.(T)Int i=3,j=5:if(i>j):是正确的。
17.(F)若有i=10,j=0:则执行完语句if(j=0):i++:elsei - -:i的值为11
18.(T)break语句只能用于循环语句switch-case语句中。
19.(T)若有说明int c:则while(c=getchar()):是正确的c语句。
20.(T)Int a[10]:for(i=1:i<10:i++)a[i-1]=i:能使数组元素分别取值{1,2,3,4,5,6,7,8,9,10}.
注意:请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入
所编写的若干语句。
-------------------------------------------------------*/
#include <stdio.h>
double fun(double a[ ] , int n)
C在switch语句必须使用break语句
D.break语句只能用于switch语句中
12.(A)结构化程序由三种基本结构组成的算法(?)
A可以完成任何复杂的任务
B只能完成部分复杂的任务
C只能完成符合结构化的任务
D只能完成一些简单的任务
13.(C)用下列语句定义a,b,c,然后执行b=a、c=’b’+b,则b,c的值是?
6.(T)整数-32100可以赋值给int型和long int型变量。
7.(F)表达式(j=3,j++)的值是4.
8.(F)在c程序中,赋值运算符的优先级最低。
9.(F)7&3+12的值是15.
10.(F)若a是实型变量,在执行了a=5后,a将变为整型变量。
11.(F)若有i=10,j=2:则执行完i*=j+8:后i的值是28.
则以下叙述中正确的是?
A.循环控制表达式的值为0
B.循环控制表达式的值为1
B.循环控制表达式不合法
D.以上说法都不对
18.(D)以下不正确的说法是?
A.在不同函数中可以相同名字的变量
B.形式参数是局部变量
C.在函数内定义的变量只在本函数范围内有效
D.在函数内的复合语句中定义的变量在本函数范围内有效
19.(B)以下程序的执行结果(?)
/***********SPACE***********/
m=n;
/***********SPACE***********/
while(m>0)
{
k*=m%10;
s+=m%10;
/***********SPACE***********/
m=m/10;
}
if(k>s)
printf("%d ",n);
}
C只能是整型或字符型数据
D可以是任何类型的数据
10.(D)下列运算符正是c语言关系运算符的是?
A.~