1、 - 试卷代号:6111A卷 ?程序设计语言?期末试卷 〔试卷总分:100分,考试时间:120分钟,答案写在答卷纸上〕 一、单项选择题〔每题2分,共40分〕 1.组成C程序的根本单位是C。 A〕表达式与语句 B〕假设干文件 C〕函数D〕main函数 2.有关以下函数的哪些说法是正确的____B____。 int add( int x;int y) {
2、 z=x+y; return z; } A〕此函数能单独运行 B〕此函数存在语法错误 C〕此函数通过main函数能调用 D〕此函数没有语法错误 3.以下数据中,为字符的是_____D___。 A〕'AB'B〕"A"C〕HowD〕'A'+2 4.以下表达式没有错误的选项是_____C___。 int x,*p; A〕5.0%2 B〕x+1=5C〕&pD〕&〔x+1〕 5.任何复杂的程序,都是由______C__构成的。 A〕分支构造、顺序构造、过程构造 B〕循环构造、分支构造、过程构造 C〕顺序构造、循环构造、分支构造 D〕循环构造、分支构造
3、 6.以下选项中,合法的C语言关键字是__C______。 A〕integer B〕CharC〕short D〕Long 7.假设有说明语句:int y[][4]={0,0,0,0,0,0}; 那么正确的表达是________。 A〕数组y的每个元素都可得到初值0 B〕二维数组y的行数为1 C〕该说明等价于int y[0][4]={0}; D〕有元素y[0][0]至y[0][5]可得到初值,其余元素均得不到初值0 8.假设有以下变量说明和数据的输入方式,那么正确的输入语句为________。 变量说明:float x1,x2; 数据的输入方式:4.52<回车>
4、 3.5<回车> A〕scanf〔“%f,%f〞,&x1,&x2〕;B〕scanf〔“%f%f〞,&x1,&x2〕; C〕scanf〔“%3.2f,%2.1f〞,&x1,&x2〕;D〕scanf〔“%3.2f%2.1f〞,&x1,&x2〕; 9.:int a,*p=&a; 那么为了得到变量a的值,以下错误的表达式为___C_____。 A〕p[0]B〕*pC〕&*a D〕*&a 10.假设有定义:int b[5];那么以下对b 数组元素的正确引用是________。 A〕*&b[5]B〕b+2 C〕*〔*〔b+2〕〕D〕*〔b+2〕 11.设有int x,
5、y; 以下语句判断x和y是否相等,正确的说法是该语句__B______。 if (x=y) printf(" x is equal to y."); A〕语法错 B〕不能判断x和y是否相等 C〕编译出错D〕能判断x和y是否相等 12.以下有关switch语句的正确说法是______B__。 A〕break语句是语句中必须的一局部 B〕在switch 语句中可以根据需要使用或不使用break语句 C〕break语句在switch 语句中不可以使用 D〕在switch 语句中的每一个case都要用break语句 13.假设用数组名作为函数调用时的参数,那么实际上传递给形参的
6、是___D_____。 A〕数组元素的个数 B〕数组的第一个元素值 C〕数组中全部元素的植 D〕数组首地址 14.假设主调用函数为double型,被调用函数定义中没有函数类型说明,而return语句中的表达式为float型,那么被调用函数返回值的类型是____B___。 A〕float 型 B〕int型 C〕double型 D〕类型错误 15.以下表达正确的选项是___D_____。 A〕函数的定义和函数的调用均不可以嵌套 B〕函数的定义和函数的调用均可以嵌套 C〕函数的定义可以嵌套,但函数的调用均不可以嵌套 D〕函数的定义不可以嵌套,但函数的调用均可以嵌套 16.但凡在
7、函数中未指定存储类别的局部变量,其隐含的存储类别是___C_____。 A〕静态〔static〕 B〕外部〔extern〕 C〕自动〔auto〕 D〕存放器〔register〕 17.以下有关宏替换的表达不正确的选项是____A____。 A〕宏名必须用大写字母表示 B〕宏替换不占用运行时间 C〕宏名不具有类型 D〕宏替换只是字符替换 18.以下对字符串的定义中,错误的选项是A。 A〕char str[5]= "abcde" ; B〕char str[ ]= "abcde"; C〕char *str ="abcde"; D〕char str[ ]={ 'a', 'b',
8、 'c', 'd', 'e', '\0'};
19.说明语句“int(*p)( ); 〞的含义是____C___ 。
A〕p是一个指向一维数组的指针变量
B〕p是指针变量,指向一个整型数据
C〕p是一个指向函数的指针,该函数返回一个int型数据
D〕以上都不对
20.C语言中构造体类型变量在程序执行期间____A____。
A〕所有成员一直驻留在存中 B〕只有一个成员驻留在存中
C〕局部成员驻留在存中D〕没有成员驻留在存中
二、程序阅读题〔每题3分,共30分〕
1.写出以下程序的运行结果。
#include
9、um=0;
while (num++<=2);
printf("%d ",num);
}
3
2.写出以下程序的运行结果。
#include
10、
int i,s=0,count=0;
for(i=0; i<10; i++)
if(a[i]>0) s+=a[i],count++;
else continue;
printf ("s= %d , count=%d\n", s ,count);
}
4.阅读以下函数,写出此函数的功能。
void fun(char A[ ],int n)
{
char tmp;
int k;
for (k=0; k 11、
5.阅读以下程序,写出此程序的功能。
#include 12、d\n",c,s,n,other);
}
6.以下程序有2个文件组成,写出运行结果。
/* file 1 */
#include 13、nt x; /* 声明一个外部变量 */
void func_sub()
{ x-=5;}
7.阅读下面的程序,写出它的运行结果。
#include 14、t sub(int a);
void main()
{
int a,e[10],c,i=0;
scanf("%d",&a);
while (a!=0)
{
c=sub(a);
a=a/2;
e[i]=c;
i++;
}
for(;i>0;i--) printf ("%d", e[i-1]);
}
int sub(int a)
{
int c;
c=a%2;
return(c);
}
9.写出下面程序的运行结果。
#include 15、0;
for (i=0;i<3;i++)
for(j=0;j<3;j++)
if(i==j) sum=sum+a[i][j];
return(sum);
}
void main()
{
int a[3][3]={1,3,5,7,9,11,13,15,17},sum;
sum=func(a);
printf("sum=%d\n",sum);
}
10.写出以下函数的功能。
void fun1( char *s1, const char *s2 )
{
while ( *s1 != '\0' )
++s1;
for 16、 ; *s1 = *s2; s1++, s2++ )
;
}
三、程序填空题〔每空2分,共20分〕
1.以下程序对输入的1000以下的整数,求出其相应的个位数、十位数和百位数。
#include 17、2) ;
printf("%d的个位数是%d,十位数是%d,百位数是%d\n",x,c,b,a);
}
2.以下程序完成对键盘输入的正整数求最大值和最小值,输入负数时循环完毕。请填写缺少的语句。
#include 18、 j++)
{
if( (4) ) max=a[j];
if( (5) ) min=a[j];
}
printf("n=%d\tmax=%d\tmin=%d\n",n,max,min);
}
3.以下函数的功能是删除字符串s中的数字字符,请填写缺少的语句。
void delnum(char s[])
{
int i,j;
for( i=0,j=0;s[i]!='\0';i++)
if ( s[i]<'0' (6) s[i]>'9')
{
s[j]=s[i];
19、 (7) ;
}
s[j]= (8) ;
}
4.以下程序用来求数组全部元素的和,请填写缺少的语句。
#include 20、
2.〔5分〕编写程序,输出100以的所有素数〔即只能被1和自身整除的数〕。
试卷代号:6111A卷
?程序设计语言?期末试卷答案
一、单项选择题〔每题2分,共40分〕
1
2
3
4
5
6
7
8
9
10
C
B
D
C
C
C
A
B
C
D
11
12
13
14
15
16
17
18
19
20
B
B
D
B
D
C
A
A
C
A
二、程序阅读题〔每题3分,共30分〕
1
3
6
x=45; y=35
2
16
7
10
3
求数组a中所有正数的和及正数 21、的个数。
8
1111
4
将字符数组按逆序存放。
9
sum=27
5
从键盘输入一行字符,输出字母、数字、空格和其它字符的个数。
10
将字符串s2连接到字符串s1后
三、程序填空题〔每空2分,共20分〕
⑴
x>=1000||x<=-1000
⑹
||
⑵
x-a*100-b*10或x%10
⑺
j++
⑶
break
⑻
‘\0’
⑷
a[j]>max
⑼
a
⑸
a[j] 22、){
int n,s=0;
for(n=1;n<=100;n++)
s=s+n;
printf("s=%d\n",s);
}
2. 〔5分〕参考程序:
#include






