系 专业 班 学号 姓名
┉┉┉┉┉┉┉┉┉┉┉密┉┉┉┉┉┉┉┉┉┉封┉┉┉┉┉┉┉┉┉┉线┉┉┉┉┉┉┉┉┉┉
试卷类型: A
苏州科技学院 程序设计及C语言试卷
使用专业年级 计算机07级民办 考试方式:开卷( )闭卷( ) 共 10 页
题号
合计
得分
一、选择题(每题2分,共20分)
1. 给出定义: char x[ ]="abcde"; char y[ ]={'a','b','c','d','e'}; 正确的叙述为: C 。
A) 数组X和数组Y等价.
B) 数组x和数组Y的长度相同.
C) 数组X的长度大于数组Y的长度.
D) 数组X的长度小于数组Y的长度.
2. 以下说法中,正确的是: D 。
A)函数可直接引用其它函数中的static类别的局部变量.
B)在函数体中至少需要一个return语句。
C)在函数体中可以定义另一个函数。
D)在函数体中可以调用函数自身。
3. 能正确表示逻辑关系:“a≥10或a≤0”的C语言表达式是____D____ A) a>=10 or a<=0 B) a>=0 | a<=10 C) a>=10 && a<=0 D) a>=10‖a<=0
4. 在C程序中,若对函数类型未加说明,则函数的隐含类型为: ____int____。
A) int B) double C) void D) char
5. 表达式 strlen(“hello””) 的值是 B 。
A、 4 B、 5 C、 6 D、 7
6.若有语句 int a[9]; 则下述对a的描述正确的是_____A____。
A)定义了一个名称为a的一维整型数组,共有9个元素
B)定义了一个数组a,数组a共有10个元素
C)说明数组a的第9个元素为整型变量
D)以上说法都不对
7. 在 C 程序中,用来返回逻辑值“真”的是:____A______。
A) 1 B) 非 0 的数 C) 非 1 的数 D) 大于 0 的数
8. 设字符变量ch 的取值是小写的英文字母,将它转换为相应的大写英文字母的表达式是___ B 。
A) ch+32 B) ch-32 C)ch+26 D)ch-26
9. 以下程序运行后的输出结果是_____A___main(){
int i,n[]={0,0,0,0,0};for(i=1;i<=4;i++){
n[i]=n[i-1]*2+1; printf("%d ",n[i]);
}}A) 1 3 7 15 B) 1 3 5 7 C) 1 5 9 13 D) 不确定的值
10. 已知字符A的ASCII码为十进制的65,下面程序的输出是__C___
main()
{
char ch1,ch2;
ch1='A'+'5'-'3';
ch2='A'+'6'-'3';
printf("%d,%c
",ch1,ch2);
}
A)C,D B) B,C C) 67(C),D D) 不确定的值
┉┉┉┉┉┉┉┉┉┉┉密┉┉┉┉┉┉┉┉┉┉封┉┉┉┉┉┉┉┉┉┉线┉┉┉┉┉┉┉┉┉┉
二、阅读程序题。仔细阅读程序,写出程序的运行结果。(每小题4分,共32分)
1.
#include
int a=4,b=5 ;(全局变量)
int fun(int x, int y)
{ int a=2,b=3,c ;
c=a>b?a:b ;
return c+x+y
}
main()
{
printf(“%d”,fun(a,b)) ;
}
结果:12
2.
#include
main()
{ char a[]=”book”, t ;
int i , k=0 ;
for(i=1;i<=3 ;i++)
if(a[k]
main()
{ int w[10]={1,2,3,4,5,6,7,8,9,10},i,t;
for(i=0;i<10 ;i++)
{ t=w[i] ;
w[i]=w[i]*w[i]%10 ;
if(w[i]= =t) break ;
}
printf("%d",w[5]) ;
}
结果:6
4.
#include
main()
{ int x[8]={37,43,56,28,90,13,55,79},i,j,t ;
i=0, j=7 ;
while(i
main()
{ char w[5]={'a','b','c','d','e'} ;
int i ;
for(i=0;i<2;i++) w[i]=w[i+2]-32 ;
w[i]=w[i]-30 ; w[i+1]=w[i+1]-30 ;
for(i=0;i<5;i++) printf("%c",w[i]) ;
}
结果:CDEFe
┉┉┉┉┉┉┉┉┉┉┉密┉┉┉┉┉┉┉┉┉┉封┉┉┉┉┉┉┉┉┉┉线┉┉┉┉┉┉┉┉┉┉
6.
#include
main()
{ int i,j;
for(i=0;i<5;i++)
{ j=i*10+6;
if( j%3!=0) continue;
printf("%d
",j);
}
}
结果:6
36
7.
#include
void fun( int *a,int *b)
{ int *t ;
t=a ; a=b ; b=t ;
(*a)++ ; (*b)+=2 ;
}
main()
{ int a=1 ,b=10 ;
fun(&a,&b) ;
printf(“%d,%d
”,a,b) ;
}
结果:3 11
8.
#include
void fun( int *p)
{ int *a , i=0 ;
for(a=p ;a”, a[3]) ;
}
结果:16
三、填空题(每空3分,共9分)
1.下列程序输出数组中的最大值,由s指针指向该元素,请填空在if语句中的判断表达式.
#include
main()
{
int a[10]={6,7,2,9,1,10,5,8,4,3},*p,*s;
for(p=a,s=a;p-a<10;p++)
if( *s<*p