这是小编整理的湖北普通专升本c语言模拟题,大家可以多刷多练,可以帮助提高湖北普通专升本的成绩
一、单选(30分)
1、以下叙述中正确的是()
A、C语言函数可以嵌套调用,例如:fun(fun(x))
B、C语言程序是由过程和函数组成的
C、C语言函数不可以单独编译
D、C语言中除了main函数外,其他函数不可作为单独文件形式存在
2、以下不合法的字符常量有()
A、‘’B、’”’C、’18’D、’xcc’
3、若变量均已正确定义并赋值,以下合法的c语言赋值语句是()
A、x==y=5
B、x=n%2.5
C、x+n=i
D、x=5=4+1
4、表达式a+=a-=a=9的值是()
A、18
B、9
C、0
D、-9
5、若a是数值类型,则逻辑表达式(a==1)||(a!=1)的值是()
A、1
B、0
C、2
D、不知道a的值,不能确定
6、有以下程序:
Mian(){
int x=1,y=2,z=3;
if(x>y)if(y<z)<p="">
printf(“%d”,++z);
elseprintf(“%d”,++y);
printf(“%d/n”,x++);
}
程序的运行结果是()
A、1
B、41
C、2
D、331
7、以下数组定义中错误的是()
A、int x[][3]={0};
B、int x[2][3]={{1,2},{3,4},{5,6}};
C、int x[][3]={{1,2,3},{4,5,6}};
D、int x[2][3]={1,2,3,4,5,6};
8、如有定于语句int b=2,则表达式(b<<2)/(3||b)的值是()
A、4
B、8
C、0
D、2
9、若有定义语句int a[2][3],*p[3];则以下语句中正确的是()
A、p=a
B、p[0]=a
C、p[0]=&a[1][2]D、p[1]=&a
10、若有定义,int a=3,*p=&a,**q=&p,则下列叙述中错误的是()
A、q是指针变量,*q就是变量a
B、p是指针变量,p指向变量a
C、q指向变量p,所以*q指向变量a
D、*p与**q都代表变量a
二、填空(30分一题三个空每空一分,一题一个空每空三分)
11、设C语言中,int类型数据占___个字节,则long类型数据占___个字节,unsigned int类型数据占___个字节。
12、合法标识符是由_____,______,_______组成。
13、每个C语言程序且_____main函数。
14、对应scanf("a=%d,b=%d”,&a,&b);语句的输入a为3,b为7的键盘输入格式是____.
15、_____是具有一定功能的一个程序块,是C语言的基本组成单位。
16、函数调用可以做为一个函数的_____
17、若#define PAI 3.14,则PAI称为____
18、三种循环结构分别是_____、______、_______.
19、*p为一级指针,存放_____的地址。
20、**p为二级指针,存放_____的地址。
三、补全程序(一空3分)
21、#include
void main()
{int a[10],x,i;
printf("please input ten numers:n");
for(i=0;i<10;i++){
scanf("%d",&a<i>);
}
printf("please input the number you want to find x:");scanf("%d",___(1)__);
for(i=0;i<10;i++){
If(___(2)__)
Break;
if(__(3)__)
printf(“the postion of x is:%dn,i);
else
printf("not been found x!n");
}}
22、#include"stdio.h"
#include"math.h"
main()
{int a[3][3]={1,3,5,7,9,11,13,15,17},sum=o,i,j;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
if(__(4)__)
sum=sum+__(5)___;
printf("sum=%dn",sum);
return 0;
}
23、#include
void Dec2Bin(int m){
int bin[32],j;
for(j=0;m!=0;j++)
{
bin[j]=_____(
6)_____;
m=m/2;
}
for(;j!=0;j--)
printf("%d",_____(
7)_____);
}
void main()
{
int n;
scanf("%d",&n);
Dec2Bin(n);
}
四、计算题(一题8分)
24、#include
int fun(int x[],int n){
static int sum=0,i;
for(i=0;i
return sum;}void main(){
int a[]={1,2,3,4,5},b[]={6,7,8,9},s=0;
s=fun(a,5)+fun(b,4);
printf("%d",s);}
程序运行结果_____。
25、#include
void fun(double x,double*y,double*z){
*y=*y-1.0;*z=*z+x;}
main(){
double a=2.5,b=b=9.0,*pa,*pb;
pa=&a;pb=&b;
fun(b-a,pa,pb);printf("%fn",a);
}程序结果是______
26、#include
Main(){
int a[3][3]={
{1,3,5},
{7,9,11},
{13,15,17}};
int(*p)[3]=a,i,j,n=0;
for(i=0;i<3;i++)for(j=0;j<2;j++)
n+=*(*(p+i)+j);
printf(“%dn”,n);
}
程序运行的结果______
五、编程题(一题15分)
27、输入一个不多于五位数的正整数,判断它是几位,并逆序输出各位数字。
28、编写一个程序,将将两个字符串连接起来,不能使用strcat函数。
29、一个数如果恰好等于它的因子之和,这个数被称为“完数”。求1000以内的所有完数
以上是小编对湖北普通专升本c语言模拟题的总结,希望大家2023年能考出好成绩。