北京农学院2023年C语言专升本
本试卷为北京农学院2023年C语言专升本,题目包括:单项选择题。
覆盖的内容包括:理论题,基础知识,控制结构,循环结构,指针,数组/指针数组,字符串/字符串指针,函数/函数指针,程序题,结构体,文件。
本卷包括如下题型:
C语言专升本
一、单项选择题 (共50题,每题2分,共计100分)
( C )
1、下列叙述中正确的是________。
( B )
2、交换两个变量的值,不允许用临时变量,应该使用下列( )位运算符。
( B )
3、设有定义:"int a;float b;",执行"scanf("%2d%f",&a,&b);"语句时,若从键盘输入876543.0<回车>,a和b的值分别是________。
( B )
4、若有定义"int b[8],*p=b;",则p+6表示( )。
( C )
5、两次运行下面的程序,如果从键盘上分别输入6和3,则输出结果是________。 if(x++>5) printf("%d",x); else printf("%d\n",x --);
( C )
6、以下有4组用户标识符,其中合法的一组是________。
( A )
7、在c语言中,存储一个字符型、整型、双精度实型变量所需的字节数是________。
( C )
8、以下不能对二维数组a进行正确初始化的语句是________。
( B )
9、c语言对嵌套if语句的规定是:else总是与( ) 。
( C )
10、已定义c为字符型变量,则下列语句中正确的是________。
( B )
11、以下选项中不能正确把cl定义成结构体变量的是________。
( B )
12、下列函数定义中,会出现编译错误的是________。
( C )
13、有以下程序
#include <string.h>
main()
{
char str[][20]={"hello","beijing"},*p=str;
printf("%d\n",strlen(p+20));
}
程序运行后的输出结果是________。
( D )
14、以下正确的字符串常量是________。
( C )
15、程序流程图中指有箭头的线段表示的是________。
( D )
16、c 语言规定,函数返回值的类型是由 。
( B )
17、以下叙述中正确的是______。
( B )
18、当调用函数时,实参是一个数组名,则向函数传送的是 _______ 。
( D )
19、有如下程序段: int*p,a[7]={-5,0,4,2,7,1}; p=a+6; 执行该程序段后,*p的值为________。
( B )
20、若有定义语句:int x=12,y=8,z; 在其后执行语句z=0.9+x/y; 则z的值为___________。
( A )
21、以下叙述中正确的是______。
( D )
22、若有以下定义,则能使值为3的表达式是 int k=7,x=12;
( A )
23、以下for语句中不是死循环的是________。
( A )
24、对以下定义的表述中,正确的是________
struct node
{
int num;
char name[10];
}
stud;
( A )
25、有如下语句: s=int(100*rnd) 执行完毕后,s的值是________。
( D )
26、表达式x+1>x是________。
( D )
27、设a为int型变量,执行下列赋值语句后,a的取值分别为 ( ) a=125.534; a=20.0/3; a=20%3; a=(int)125%521%4; a=5<<2;
( B )
28、下列不属于简单数据类型的是________。
( B )
29、在32位的计算机中,一个char型数据所占的内存长度的字节是________。
( C )
30、关于下面的程序
#include<stdio.h>
main()
{
int x=3,y=0,z=0;
if(x=y+z)printf("****");
else printf("$$$$");
}
说法正确的是______。
( C )
31、有以下程序:
#include <stdio.h>
main()
{
int i, j, m=1;
for(i=1; i<3; i++)
{
for(j=3; j>0; j--)
{
if(i*j>3)break;
m*=i*j;
}
}
printf("m=%d\n", m);
}
程序运行后的输出结果是______。
( A )
32、有以下程序
#include <stdio.h>
main( )
{
file *fp;
int i,a[6]={1,2,3,4,5,6};
fp=fopen("d3.dat","w+b");
fwrite(a,sizeof(int),6,fp);
fseek(fp,sizeof(int)*3,seek_set);
/*该语句使读文件的位置指针从文件头向后移动3个int型数据*/ fread(a,sizeof(int),3,fp);
fclose(fp);
for(i=0;i<6;i++)printf("%d,",a[i]);
}
程序运行后的输出结果是________。
( A )
33、有以下程序:
#include<stdio.h> union pw
{
int i;
char ch[2];
}
a;
main()
{
a.ch[0]=13;
a.ch[1]=0;
printf("%d\n",a.i);
}
程序的输出结果是________。
( D )
34、下列有关格式输入函数scanf的叙述中正确的是________。
( D )
35、下面说明不正确的是________。
( A )
36、下列语句中正确的是________。
( C )
37、下列程序的输出结果是______。
#include<stdio.h>
main()
{
int a=0,b=1,c=2;
if(++a>0 || ++b>0) ++c;
printf("%d,%d,%d",a,b,c);
}
( B )
38、有以下程序: int*f(int*x,int*y)
{
if(*x<*y) return x;
else return y;
}
main()
{
int a=7,b=8,*p,*q,*r;
p=&a;
q=&b;
r=f(p,q);
print("% d,% d,% d\n",*p,*q,*r);
}
执行后的输出结果是 ______。
( D )
39、下面合法的c语言字符常量是__________.
( B )
40、有如下程序段int *p,a=6,b=2; p=&a; a=*p+b; 执行该程序段后,a的值为______。
( A )
41、下面程序的输出结果是_______。
f1(int x)
{
int y;
y=x+x;
return(y);
}
f2(int a ,int b)
{
int z;
z=f1(a*b);
return(z);
}
main( )
{
int a=2,b=5,c;
c=f2(a,b);
printf("%d",c);
}
( A )
42、以下程序的输出结果是 _______ 。
main()
{
int x=1,y=0,a=0,b=0;
switch(x)
{
case 1:switch(y)
{
case 0:a++;
break;
case 1:b++;
break;
}
case 2:a++;
b++;
break;
}
printf("%d,%d\n",a,b);
}
( B )
43、要表达出关系x ≥ y ≥ z,应使用表达式( )
( B )
44、二维数组a有m行n列,则在a[i][j]之前的元素个数为________。
( A )
45、以下正确的说法是:在c语言中________。
( D )
46、若变量已正确定义,执行语句scanf("%d,%d,%d ",&k1,&k2,&k3);
时,___是正确的输入
( A )
47、定义共用体的关键字是________。
( A )
48、对于用"r"方式打开文件下列说法正确的是________。
( A )
49、执行以下循环语句时,下列说法正确的是________。x = -1;
do
{
x = x * x;
}
while (x == 0);
( D )
50、在宏定义#define PI 3.14159中,用宏名代替一个________。
相关标签:
- C语言
- 北京农学院
- 专升本