湖南省对口升学计算机专业综合试卷试题
下期12级对口升学计算机专业综合试卷(C语言)第三次月考试题
一、单选题(每题4分,共120分)
1、有定义语句:char s[10];,若要从终端给s输入5个字符,错误的输入语句是 A)gets(&s[0]); B)scanf(“%s”,s+1); C)gets(s); D)scanf(“%s”,s[1]); 2、有以下程序
#include
void fun (char*c,int d)
{*c=*c+1;d=d+1;
printf(”%c,%c,”,*c,d);
}
main()
{char b=’a’,a=’A’;
fun(&b,a); printf(”%c,%c\n”,b,a);}
程序运行后的输出结果是 A)b,B,b,A B)b,B,B,A C)a,B,B,a D)a,B,a,B
3、若有定义int(*pt)[3];,则下列说法正确的是A)定义了基类型为int的三个指针变量
B)定义了基类型为int的具有三个元素的指针数组pt。
C)定义了一个名为*pt、具有三个元素的整型数组
D)定义了一个名为pt的指针变量,它可以指向每行有三个整数元素的二维数组
设有定义double a[10],*s=a;,一下能够代表数组元素a[3]的是
A)(*s)[3] B)*(s+3) C)*s[3] D)*s+3
有以下程序
#include
main()
{ int a[5]={1,2,3,4,5}, b[5]={0,2,1,3,0},is=0
for(i=0;i<5;i++) s=s+a[b[i]];
printf("%d\n",s);}
程序运行后的输出结果是A) 6 B) 10 C) 11 D)15
6、若有以下定义和语句char sl[10]= "abcd!", *s2="n123\\";
printf("%d %d\n", strlen(s1),strlen(s2));
则输出结果是
A) 5 5 B)10 5 C)10 7 D)5 8
7、有以下程序
#include
#define N 8
void fun(int *x,int i)
{*x=*(x+i);}
main()
{ int a[N]={1,2,3,4,5,6,7,8},i;
fun(a,2);
for(i=0; i
{ printf("%d",a[i]);}
printf("\n");}
程序运行后的输出结果是
A)1 3 1 3 B) 2 2 3 4 C) 3 2 3 4 D)1 2 3 4
8、有以下程序
#include
int f(int t [ ],int n);
main()
{int a[4]={1,2,3,4},s;
s=f{a,4}; printf(”%d\n”,s);
}
int f(int t[], int n)
{ if (n>0) return t[n-1]+f(t,n-1);
else return 0;
}
程序运行后的输出结果是A)4 B)10 C)14 D)6
有以下程序
#include
int fun()
{static int x=1;
x*=2; return x;}
main()
{int I,s=1;
for (i=1;i<=2;i++) s=fun();
printf(”%d\n”,s);}
程序运行后的输出结果是A)0 B)1 C) 4 D)8
#include
main()
{ char p[20]={‘a’,’b’,’c’,’d’}, q[]=”abc”, r[]=”abcde”;
strcat(p,r); strcpy(p+strlen(q),q);
printf(“%d\n”,strlen(p));}
程序运行后的输出结果是
A)9 B) 6 C) 11 D) 7
20、执行下面程序段后,ab的值为( )。
int *var,ab; ab=100;var=&ab; ab=*var+10;
A)120 B)110 C)100 D)90
21、若有定义:int x,*pb;则正确的赋值表达式是( )。
A)pb=&x B)pb=x C)*pb=&x D)*pb=*x
22、下面程序运行结果是( )。
void fun(int x)
{ printf("%d\n"