资源描述
湖北师范学院“专升本”招生考试
《C语言程序设计》试题
题号
一
二
三
四
五
六
七
八
总分
题分
40
10
30
20
得分
评卷人
一、选取题(本题共20小题,每题2分,共40分)
得 分
1.如下不合法顾客标记符是( )。A)S2_KEY B)Int C) 4s D)_char
2.设有 int x=11;则表达式 (++x)%3 值是( )。A)0 B)1 C)2 D)3
3.C语言源程序名后缀是( )。
A).exe B).cp C).obj D).c
4.若在定义语句:int a,b,c,*p=&c;之后,接着执行如下选项中语句,则能对的执行语句是( )。
A)scanf("%d",a,b,c); B)scanf("%d%d%d",a,b,c);
C)scanf("%d",p); D)scanf("%d",&p);
5.C语言中运算对象必要是整型运算符是 ( )。
A) %= B)/ C) = D) 〈=
6.若有定义语句:int a[3][6];,按在内存中存储顺序,a数组第10个元素是( )。
A)a[0][4] B)a[0][3] C)a[1][4] D)a[1][3]
7.若规定定义具备10个int型元素一维数组a,则如下定义语句中错误是
A)#define N 10 Int a[N] B)#define n 5 Int a[2*n] C)int a[5+5] D)int n=10,a[n]
8.语句printf("a\bre\'hi\'y\\\bou\n");输出成果是( )。(阐明:'\b'是退格符)
A)re'hi'you B)abre'hi'y\bou C)a\bre\'hi\'y\bou D)a\bre\'hi\'y\\\bou
9.下列程序执行后输出成果是( )。
A)A B) B C) F D) G
void main()
{ int x='f';printf("%c \n",'A'+(x-'a'+1));}
10.若变量已正拟定义,有如下程序段
i=0;
do
{printf("%d,",i);}while(i++);
printf("%d\n",i)
其输出成果是( )。
A)0,0 B)0,1 C)1,1 D)程序进入无限循环
11. 有如下程序
#include <stdio.h>
void main()
{ int i,j,m=55;
for(i=1;i<=3;i++)
for(j=3;j<=i;j++) m=m%j;
printf("%d\n",m);
}
程序运营成果是( )。
A)0 B)1 C)2 D)3
12. 已定义如下函数
fun(int *p)
{ return *p;}
该函数返回值是( )。
A)不拟定值 B)形参p所指存储单元中值
C)形参p中存储值 D)形参p地址值
13. 执行下面程序段后,变量k中值为( )。
A)10 B) 3 C) 不定值 D) 0
int k=3,s[2];
s[0]=k;k=s[1]*10;
14. 有如下函数
int aaa(char *s)
{ char *t=s;
while(*t++);
t--;
return(t-s);
}
如下关于aaa函数功能论述对的是( )。
A)求字符串s长度 B)比较两个串大小
C)将串s复制到串t D)求字符串s所占字节数
15. 有如下程序
void main()
{ char s[ ]={ "aeiou"},*ps;
ps=s;printf("%c\n",(*ps)+4);
}
程序运营后输出成果是________。
A)a B)o C)u D)e
16. 有如下程序
#include
#define F(X,Y) X*Y
main()
{ int a=3,b=4;
printf("%d\n",F(a+b,a-b));
}
程序运营后输出成果是( )。
A)12 B)7 C)-7 D)11
17. 有如下程序
main()
{ int m[][3]={1,4,7,2,5,8,3,6,9};
int i,j,k=2;
for(i=0;i<3;i++)
{ printf("%d",m[k][i]);}
}
执行后输出成果是( )。
A) 2 5 8 B) 3 6 9 C) 4 5 6 D) 7 8 9
18. 如下关于typedef论述错误是
A)用typedef可觉得各种类型阐明一种新名,但不能用来为变量阐明一种新名
B)用typedef为类型阐明一种新名,普通可以增长程序可读性
C)typedef只是将已存在类型用一种新名字来代表
D)用typedef可以增长新类型
19. 有如下程序
#include <stdio.h>
void main()
{ FILE *fp;int i;
char ch[]=”abcd”,t;
fp=fopen(“abc.dat”,”wb+”);
for(i=0;i<4;i++)
fwrite(&ch[i],1,1,fp);
fseek(fp,-2L,SEEK_END);// 阐明:SEEK_END为文献尾
fread(&t,1,1,fp);
fclose(fp);
printf(“%c\n”,t);
}
程序执行后输出成果是________。
A)c B)d C)a D)b
20.已知指针p指向如下图所示,则执行语句 *--p;后*p值是( )。
A) 20 B)30 C) 19 D) 29
a[0] a[1] a[2] a[3] a[4]
10
20
30
40
50
P
评卷人
二、填空题(本题共10小题,每题1分,共10分)
得 分
1.已知大写字母AASCII码是65,小写字母aASCII码是97,将变量c中大写字母转换为相应小写字母语句是 _____ 。
2.C语言中用于构造化程序设计三种基本构造是顺序构造、选取构造、__________ 。
3.设有数组定义:char array [ ]="Student.";则数组 array所占空间为________ 。
4.若输入字符串:abcde<回车>,则如下while循环体将执行______次。 while((ch=getchar())==’b’) printf(“*”);
5.若有定义:int *p[4];请阐明它含义:定义了一种________。
6.表达“整数x绝对值不不不大于10”C语言表达式是 _________。
7.已知字符AACSII码值为65,如下语句输出成果是_________。
char ch=’B’;printf(“%c%d\n”,ch,ch);
8.若指针s指向存储单元a[8],p指向存储单元a[0],表达式s-p值是 _________。
9.用如下语句调用库函数malloc,使字符指针st指向具备11个字节动态存储空间,请填空。st=(char*) __________ ;
10. 设 int b=2;表达式(b<<1)&5值是__________。
评卷人
三、程序阅读题(本题共6小题,每小题5分,共30分)
得 分
1.有下列程序
void main()
{
int n=0,m=1,x=0;
if (!n) x=1;
if (m) x=2;
if (x) x=3;
printf(“%d\n”,x);
}
执行后成果是________。
2. 有如下程序
void main()
{ int i;
for(i=1;i<=40;i++)
{ if(i++%5=0)
if (++i%8=0) printf("%d",i)
}
printf("\n")
}
执行后成果是________。
3. 如下程序
void main()
{ char s[]="6789";
s[1]=‘\0';
printf("%s\n",s);
}
执行后成果是________。
4. 有如下程序
void main()
{ int a=4,b=3,c=2,t=0;
if(b>a&&a<c) t=a;a=c;c=t;
printf("%d ",c);
}执行后成果是________。
5. 有如下程序
void main()
{ char s[ ]= "abcde";
s+=2;
printf("%d\n",s[0]);
}
执行后成果是________。
6. 有如下程序
void main()
{ int a=1,b=3,c=5;
int *p1=&a,*p2=&b,*p=&c;
*p=*p1*(*p2);
printf("%d\n",c);
}
执行后成果是________。
评卷人
四、编程题(本题共3小题,共20分)
得 分
1.求1+2+3+…+100和。(6分)
2.求100—200间所有素数。(6分)
3.有一3行4列矩阵,编程求其中最大元素值以及所在行号和列号。(8分)
答案
一、单选题(本题共20小题,每题2分,共40分)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
C
A
D
B
A
D
D
A
D
B
B
B
C
A
D
D
A
D
A
A
二、填空题(本题共10小题,每题1分,共10分)
1
2
3
4
5
6
7
8
9
10
c+=32
循环构造
9
0
指针数组
x>=-10||x<=10
B66
8
(int *)malloc
(sizeof(int)*11)
1
三、程序阅读题(本题共6小题,每题5分,共30分)
1
2
3
4
5
6
3
32
6
9
99
3
四、编程题(本题共3小题,共20分)
依照程序设计规范编写程序完毕题中相应功能。
1.求1+2+3+…+100和。(6分)
#include <stdio.h>
void main()
{
int i=1,s=0;
do
{s+=i;}while(i<=100);
printf(“s=%d\n”,s);
}
2.求100—200间所有素数。(6分)
#include <stdio.h>
#include <math.h>
void main()
{
int m,k,i,n=0;
for(m=101;m<=200;m+=2)
{
k=sqrt(m);
for(i=2;i<=k;i++)
if(m%i==0)break;
if(i>=k+1)
{printf(“%d”,m);
n++;}
}
}
3.有一3行4列矩阵,编程求其中最大元素值以及所在行号和列号。(8分)
#include <stdio.h>
void main()
{
int i,j,row=0;colum=0,max;
int a[3][4]={{1,2,3,4},{9,8,7,6},{12,13,10,11}};
max=a[0][0];
for(i=0;i<3;i++)
for(j=0;j<4;j++)
if(a[i][j]>max)
{ max=a[i][j];
row=a[i][j];
colum=j;
}
printf(“max=%d,row=%d,colum=%d\n”,max,row,colum);
}
展开阅读全文