…… __…__…__…__…__…_:…业…专… 线__…__…__…__…__…__…:级…年封 … __…__…__…__…__…:号…学密. … _…__…_ … …__…__…:名…姓….… …黄淮学院2008—2009年第二学期计算机科学系2008级
《C语言程序设计》期终试卷(B)
一、选择题(每小题1分,共15分)
1、 以下4组用户定义标识符中,全部合法的一组是( )
A)_main B)If C)txt D) 2int enclude -max REAL k_2 sn turbo 3COM _001
2.表达式____ 的值是整数类型。
A.15/2+2.0 B.15/2 C.25/5.0 D.0.5*10 3.以下选项中,不能作为合法常量的是 。
A.1.234e04 B.1.234e0.4 C.1.234e+4 D.1.234e0 4.设有以下定义int a=0;
double b=1.25; char c='A'; #define d 2
则下面语句中错误的是()
A)a++; B)b++ c)C++; D)d++;
5.算法具有五个特性, 以下选项中不属于算法特性的是 。
A.有限性 B.有效性 C.确定性 D.简洁性 6.为求出s=10!的值,则变量s的类型应当为 。
A.int B.long C.unsigned D.以上三种类型均可 7.C语言程序中,若对函数类型未加显示说明,则函数的隐含类型是____。A.void B.double C. int D.char
8.在C语言中,\是合法的___ _表示。
A.字符 B.浮点数 C.字符串 D.A,B,C都不对
9.设变量说明为:int a=30,b=20,c=10,d=a>b>c;则d 的值是_______。A.0 B.1 C.30 D.10 10. 是C语言的标准函数名。
A.putchar B.case C.while D.long 11.设已定义k是int型变量,则下面循环环执行体执行的次数是_______。k=10;
while(k=0) k=k-1;
A.执行10次 B.无限循环 C.一次也不执行 D.执行一次
12.设int类型的数据长度为2字节,则unsigned int类型数据的取值范围
是 。
A.0~255 B.0~65535 C.-256~255 D.-32768~32767 13.在一个源文件中定义的全局变量的作用域为
A.本文件的全部范围 B.本程序的全部范围
C.本函数的全部范围 D.从定义该变量开始至本文件结束 14.设有如下说明
typedef struct ST { long a; int b; char c;
}NEW;则下面叙述中正确的是__________。
A.以上说明表式非法 B.ST是一个结构体类型 C.NEW是一个结构体类型 D.NEW是一个结构体变量 15.设有一共用体变量定义如下:
union data { long w; float x; int y; char z; }try;
执行赋值语句try.w=123456;try.y=65;try.z=’*’;try.x=3.1416;后,共用体变量try的值是___________。
A.123456 B.65 C.3.1416 D.’*’ 二、填空题(每空1分,共10分)
1.结构化程序设计所规定的三种基本控制结构是顺序结构、__________
和 。
2.整型变量a,b,c,分别为3,4,5,计算表达式a=16+(b++)-(++c)后,a的值
是 。 3.有以下程序
main( ) {
int x=102,y=012; printf(\
} 执行后输出结果是______________。 4.有如下程序段
1
printf(\int *p,a=10,b=1; p=&a; a=*p+b;
} 执行该程序段后,a的值为 。
}
5.若有定义语句 int a[3][5],则表示a是一个整型数组,它包含有 3.main( )
个元素。 { char a[]=\6.开辟一个16字节的内存区,用来存储一个字符串,并将此存储区首地printf(\址送入p(指向字符型数据指针变量)的语句为 。 }
7. 定义一个指针变量fun,指向返回值为double类型的函数的指针变量
的说明语句为 。
8.有以下程序
main( ) { unsigned char a,b; a=4|3; b=4&3;
printf(\
执行后输出结果是()
A) 7 0 B}0 7 C}1 1 D}43 0
程序运行后的输出结果是 。
9.若有说明语句和执行语句:int a=7,b=12,c;c=a&b;变量c的值是 三、将下面数学表达式写成C语言表达式(每小题2分,共10分) 1. log10x + 2ex
2. 10< x2 + y2 <30
3. 4a?3b 6cd
4. b2?4ac 5.xy?xy
四、写出下面程序的运行结果(每小题3分,共15分) 1.#include \ main( )
{ int a1,a2,a3;
a1=a2=65; a3=97;
printf(\printf(\ }
2.main( )
{ int i,j,a[3][4]={1,2,3,4,2,3,4,5,3,4,5,6 }; for (i=0;i<3;i++)
{ for (j=0;j<=i;j++) printf(\
4、main( ) { FILE *fp; int i,k=0,n=0;
fp=fopen(\
for(i=1;i<4;i++) fprintf(fp,\
fclose(fp); fp=fopen(\fscanf(fp,\
fclose(fp); } 5.main( ) {int a[ ]={1,2,3,4,5,6},*p; p=a; *(p+3)+=2;
printf(“%d,%d\\n”,*p,*(p+3)); }
五、编程题(任选5题,每题10分)
1、编写程序,计算并输出下面级数中前n(设n=20)项的和。 1*2+2*3+3*4+4*5+……+n*(n+1)+……
2、编写程序,输入一个有m行n列的整数矩阵,求矩阵中每行元素(整数)的和,输出结果。
3、编写程序,求一个正整数各个位上的数字之积。例如:若输入252,则输出20。
4、编写程序,从键盘输入不少于10的个任意数据,去掉其中最大的2个数和最小的2个数,求剩余数据的平均值。
5编写一个判断素数的通用过程(函数或子程序)。调用该过程,计算并输出区间[1050,1150]内所有素数的和。
6、编写程序,将一个字符串中所有下标为奇数位置上的小写字母转成大写字母(若该位置上不是字母,则不转换)
2