沈阳理工大学2022年C语言程序设计专升本考题
本试卷为沈阳理工大学2022年C语言程序设计专升本考题,题目包括:单项选择题,判断题,填空题,程序分析题,编程题。
覆盖的内容包括:理论题,基础知识,控制结构,循环结构,指针,数组/指针数组,字符串/字符串指针,函数/函数指针,程序题,结构体,文件。
C语言程序设计专升本考题
一、单项选择题 (共20题,每题2分,共计40分)
( B )
1、若有定义:"int*p,x=0,*p,p=&x;",则语句"printf("%d\n",*p);"的输出结果是________。
( C )
2、以下不能将s所指字符串正确复制到t所指存储空间的是________。
( C )
3、下列程序执行后的输出结果是________。
main()
{
char x=0xffff;
printf("%d\n",x--);
}
( D )
4、以下程序的输出结果是
main( )
{
int a,b;
for(a=1,b=1;a<=100;a++)
{
if (b>=10) break;
if (b%5==1)
{
b+=5;
continue;
}
}
printf("%d\n",a);
}
( B )
5、以下数组定义中错误的是________。
( A )
6、有定义语句:int x, y; 若要通过scanf("%d,%d",&x,&y); 语句使变量x得到数值11,变量y得到数值12,下面四组输入形式中,错误的是________。
( A )
7、若有下面的说明和定义:
struct test
{
int ml;
char m2;
float m3;
union uu
{
char ul[5];
int u2[2];
}
ua;
}
myaa;
则sizeof(struct test )的值是________。
( D )
8、以下对一维数组a的正确说明是________。
( D )
9、以下函数返回a所指数组中最小的值所在的下标值:
fun(int *a,int n)
{
int i,j=0,p;
p=j;
for(i=j;i<n;i++)
if(a[i]<a[p]) ______,
return(p);
}
在横线处应填入的是______。
( A )
10、设函数中有整型变量a,为保证其在未赋初值的情况下初值为0,应选择的存储类别是________。
( B )
11、将十进制257转换成十六进制数是______。
( A )
12、下列描述中,符合结构化程序设计风格的是________。
( C )
13、以下4个选项中,不能看作一条语句的是________。
( B )
14、有以下结构体说明和变量的定义,且指针p指向变量a,指针q指向变量b。则不能把结点b连接到结点a之后的语句是 struct node char data; struct node*next; a,b,*p=&a,*q=&b;
( B )
15、x,y,z被定义为int型变量,若从键盘给x,y,z输入数据,正确的输入语句是________。
( C )
16、能正确表示"当x的取值在[l,10]或[200,210]范围内为真,否则为假的表达式是________。
( A )
17、下列对字符串的定义中,错误的是________。
( B )
18、判断式5>4>3 的结果为
( D )
19、整型变量x和y的值相等、且为非0值,则以下选项中,结果为零的 表达式是________。
( A )
20、c 语言中逻辑表达式的值为________。
二、判断题 (共10题,每题2分,共计20分)
( T )
1、c程序是由函数构成的,其中有且只有一个主函数main( )。
( T )
2、c语言中的main()函数是程序的入口。
( T )
3、c语言中switch语句可以用if语句完全代替.( )
( T )
4、宏定义用宏名代替一个字符串,在替换时,只是作简单的替换,不作语法检查。
( F )
5、c语言中非标准输入输出设备指的是键盘和显示器。
( F )
6、函数若无返回值, 则它一定无形参。
( T )
7、静态外部变量只在本文件内可用.
( T )
8、表达式!( x>0||y>0 )等价于!(x>0)&&!(y>0) .()
( T )
9、数组 int a55; 共定义了 25 个数组元素。( )
( F )
10、while 语句构成的循环至少执行一次
三、填空题 (共5题,每题4分,共计20分)
1、表达式a=3*5,a*4的值是________。
2、c语言中基本的数据类型有:整型、________、________ 。
3、在c语言的循环语句for,while,do-while语句中,用于直接中断最内层循环的语句是________。 我的答案: break
4、将arr传参到子函数,接受处()内函数定义该怎么写?
5、一个c语言源程序由若干函数组成,其中至少应含有一个 ()
四、程序分析题 (共4题,每题5分,共计20分)
1、以下程序段的定义语句中,x[1]的初值是 ________,程序运行后输出的内容是 ________。
#include<stdio.h>
main()
{
int x[]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16},*p[4],i;
for(i=0;i<4;i++)
{
p[i]=&x[2*i+1];
printf("%d ",p[i][0]);
}
printf("\n");
}
2、下面程序的功能是统计正整数的各位数字中零的个数,并求各位数字中的最大者。请分析程序填空。
#include<stdio.h>
main()
{
int n,count,max,t;
count=max=0;
scanf("%d",&n);
do
{
t= 【1】________;
if(t==0) ++count;
else if(max<t) 【2】________;
n/=10;
}
while(n);
printf("count=%d,max=%d",count,max);
}
3、下面函数func 的功能是________。
#include<math.h>
long func(long num)
{
long k=1;
num=labs(num);
do
{
k*=num%10;
num/=10;
}
while(num);
return k;
}
main()
{
long n;
printf("\nplease enter a number:");
scanf("%ld",&n);
printf("\nthe product of its digits is %ld.",func(n));
}
4、下面的程序是用do while 语句求1 至1000 之间满足―用3 除余2;
用5 除余3;
用7 除余2" 的数,且一行只打印五个数。请分析程序填空。
#include<stdio.h>
main()
{
int i=1,j=0;
do
{
if( 【1】________)
{
printf("%4d",i);
j=j+1;
if( 【2】________) printf("\n");
}
i=i+1;
}
while(i<1000);
}
五、编程题 (共3题,每题0分,共计50分)
1、编写程序:利用递归函数调用方式,将所输入的5个字符,以相反顺序打印出来。
2、定义一个结构体变量(包括年、月、日)。编写一个函数days,计算该日期在本年中是第几天(注意闰年问题)。由主函数将年月日传递给days函数,计算之后,将结果传回到主函数输出。
3、输入3个学生4门课的成绩{(60,70,65,75),(75,80,75,90),(95,75,90,65)},计算每个学生的总分和平均成绩并输出,结果保留一位小数。
相关标签:
- C语言
- 沈阳理工大学
- 专升本考题