吉首大学往年C语言程序设计专升本冲刺卷
本试卷为吉首大学往年C语言程序设计专升本冲刺卷,题目包括:单项选择题,判断题,填空题,程序分析题,编程题。
覆盖的内容包括:理论题,基础知识,控制结构,循环结构,指针,数组/指针数组,字符串/字符串指针,函数/函数指针,程序题,结构体,文件。
C语言程序设计专升本冲刺卷
一、单项选择题 (共20题,每题2分,共计40分)
( D )
1、设有定义:int x=2; ,以下表达式中,值不为6的是________。
( A )
2、以下程序段给数组所有元素输入数据:
main()
{
int a[10],i=0;
while(i<10)scanf("%d",);
}
应在下划线处填入的是________。
( B )
3、语句 for(k=0;k<5;++k)
{
if(k== 3) continue;
printf("%d",k);
}
的输出结果为______
( A )
4、下列c语言用户标识符中合法的是________。
( C )
5、c 语言的程序一行写不下时,可以 。
( A )
6、程序中有下面的说明和定义
struct abc
{
int x ;
char y ;
}
struct abc s1 , s2 ;
则会发生的情况是______。
( C )
7、设有如下定义: struck sk
{
int a;
float b;
} data;
int *p;
若要使 p 指向 data 中的 a 域,正确的赋值语句是______。
( D )
8、以下叙述中不正确的是________。
( B )
9、有如下定义语句:int a[]= {1,2,3,4,5 },则对语句int * p=a; 正确的描述是________。
( A )
10、表示关系x<=y<=z的c语言表达式为______。
( B )
11、下列赋值语句错误的是________。
( D )
12、请阅读程序:
#include<math.h>
#include<stdio.h>
main()
{
float a,b,c;
scanf("%f%f",&a,&b);
c=a/b;
while(1) {
if(fabs(c)>1.6) {
a=b;
b=c;
c=a/b;
}
else break;
}
printf("%f\n",b);
}
若运行时从键盘上输入3.6 2.4<回车>,则输出结果是______。
( B )
13、下面关于主程序的说法,错误的是________。
( A )
14、选择出合法的if语句(设int x,a,b,c;)________。
( A )
15、下列程序段的输出结果是______。
void fun(int *x,int *y)
{
printf("%d %d",*x,*y);
*x=3;
*y=4;
}
main()
{
int x=1,y=2;
fun(&y,&x);
printf(" %d %d",x,y);
}
( C )
16、若有定义语句:int m[ ]= {5,4,3,2,1},i=4; 则下面对m数组元素的引用中错误的是______。
( A )
17、设有循环语句"for(i=1;i>0;i++) i++; ",其循环执行的次数是________。
( A )
18、下面不能正确进行字符串赋值操作的语句是________。
( A )
19、下面程序段的运行结果是________。char c[]="\t\v\\\0will\n";
printf("%d",strlen(c));
( B )
20、若有下列定义和语句,则对 a 数组元素的非法引用是()。 int a[2][3], (*pt)[3]; pt=a;
二、判断题 (共10题,每题2分,共计20分)
( T )
1、用strcat(字符串1,字符串2)连接两个字符串函数时,字符串1的存储空间必须足够大。
( T )
2、用while语句和用do-while语句处理同一问题时,若二者的循环体部分一样,但在while后面的表达式一开始就为假(0值)时,两种循环的结果是不同的。
( T )
3、c 语言允许用字符串的方式对数组作初始化赋值。
( T )
4、当调用函数时,实参是一个数组名,则向函数传送的是数组的首地址。
( T )
5、在同一源文件中,使用extern可将全局变量的作用域向上扩展。
( F )
6、一元运算符"*"和"&"的运算优先级低于自增自减预算。
( T )
7、在switch 语句中, case 后可不加" {}"。
( T )
8、在c程序中,用整数0 表示逻辑"假"。
( F )
9、main函数必须写在一个c程序的最前面。( )
( T )
10、fseek函数一般用于二进制文件。
三、填空题 (共5题,每题4分,共计20分)
1、c语言本身不提供输入输出语句,输入和输出操作是由________来实现的。
2、c语言三个循环语句分别while语句、________语句和________语句。
3、若有语句double x=17; int y; ,当执行y=(int)(x/5)%2;之后y的值是 ________。
4、如果一个变量要在一个程序中的所有函数都能共享,则应该定义成为________。
5、若a 是int 型变量, 则表达式( a=4*5,a*2 ),a+6 的值为【】。
四、程序分析题 (共4题,每题5分,共计20分)
1、从键盘上输入10个数,求其平均值,填空_______。
main()
{
int i;
float f,sum;
for(i=1,sum=0.0;i<11;i++)
{
________ ;
________ ;
}
printf("average=%f\n",sum/10);
}
2、若从键盘输入58,则以下程序输出的结果是 ________ 。
main()
{
int a;
scanf("%d",&a);
if(a>50) printf("%d",a);
if(a>40) printf("%d",a);
if(a>30) printf("%d",a);
}
3、以下程序运行后的输出结果是 ________ int a=5;
fun(int b)
{
static int a=10;
a+=b++;
printf("%d ",a);
}
main()
{
int c=20;
fun(c);
a+=c++;
printf("%d\n",a);
}
4、请阅读并分析以下程序,该程序的输出结果是:
#include <stdio.h>
main( )
{
int n[3][3], i, j;
for(i=0;i<3;i++ )
for(j=0;j<3;j++ )n[i][j]=i+j;
for(i=0;i<2;i++ )
for(j=0;j<2;j++ )n[i+1][j+1]+=n[i][j];
printf("%d\n", n[i][j]);
}
五、编程题 (共3题,每题0分,共计50分)
1、编写程序:利用指针方法, 输入3个数a,b,c,按大小顺序输出。
2、计算n名学⽣成绩的平均分并通过函数返回。要求:
结构体代码如下:
struct StudentScore{
double score;
};
3、任意输入两行字符串,把第二行字符串连接到第一行字符串末尾(不用strcat函数)。
相关标签:
- C语言
- 吉首大学
- 专升本冲刺卷