北京石油化工学院C语言程序设计专升本
本试卷为北京石油化工学院C语言程序设计专升本,题目包括:单项选择题。
覆盖的内容包括:理论题,基础知识,控制结构,循环结构,指针,数组/指针数组,字符串/字符串指针,函数/函数指针,程序题,结构体,文件。
本卷包括如下题型:
C语言程序设计专升本
一、单项选择题 (共50题,每题2分,共计100分)
( C )
1、以下叙述错误的是________。
( D )
2、以下选项中能表示合法常量的是________。
( C )
3、有以下程序:
main()
{
int s=0.n;
for(n=0;n <3;n++)
{
switch(s)
{
case 0;
case1:s+=1;
case 2:s+=2;
break;
case 3:s+=3;
default:s+=4;
}
printf("%d,"s);
}
}
程序运行后的输出结果是________。
( C )
4、以下正确的函数定义形式是________.
( B )
5、下面实现换行功能的格式符为________。
( D )
6、若有定义:int a[10],则对数组a元素的正确引用是________。
( C )
7、若以下选项中的变量已正确定义,则正确的赋值语句是________。
( C )
8、有以下程序
main()
{
int a=1,b=2,m=0,n=0,k;
k=(n=b>a)||(m=a<b);
//短路问题 printf("%d,%d\n",k,m);
}
程序运行后的输出结果是________。
( B )
9、一个 c 语言程序总是从 开始执行。
( D )
10、运行下面程序后 , 输出是 ________.
#include <stdio.h>
void main( )
{
int k=-3;
if (k<=0) printf("****\n");
else printf("####\n")
}
( C )
11、在定义 int a[5][4]; 之后 , 对 a 的引用正确的是__________。
( B )
12、下面程序段的功能是________。
…… int a[]= {4,0,2,3,1},i,j,t;
for(i=0;<5;i++)
{
t=a[i];
j=i;
j--;
}
while(j>=0&&t>a[j])
{
a[j+1]=a[j];
j--;
a[j+1] =t;
}
……
( D )
13、设有语句:"int a=1,b=2,*p1=&a,*p2=&b; ",则使指针p1指向变量b的赋值语句是______。
( A )
14、若定义static int a[2][2]={1,2,3,4 },则a数组的各数组元素分别为______。
( C )
15、设
struct data
{
int a;
float b;
} c,*p=&c;
,引用正确的是________。
( A )
16、与十进制数96等值的二进制是________。
( D )
17、下列说法正确的是________。
( A )
18、以下函数不能用于向文件写入数据的是________。
( D )
19、下面赋值语句中正确的是________。
( C )
20、若所用变量都已正确定义,则在以下选项中,非法的表达式是________。
( A )
21、按照数的进位制概念,下列各个数中正确的八进制数是______。
( D )
22、若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是________。
( D )
23、已知大写字母a的ascii码是65,小写字母a的ascii码是97,以下不能将变量c中的大写字母转换为对应小写字母的语句是______。
( B )
24、有一个数值152,它与十六进制数6a相等,那么该数值是________。
( B )
25、以下选项中与if(a==1)a++; else a=b; 语句功能不同的语句是________。
( B )
26、有以下程序:
main()
{
int num[4][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}},ij;
for(i=0;i<4;i++)
{
for(j=0;j<=i;j++) printf("%4c",’);
for(j=______;j<4;j++) printf("%4d",num[i][j]);
printf("\n");
}
}
若要按以下形式输出数组右上半三角 1 2 3 4 6 7 8 11 12 16 则在程序下划线处应填入的是 ______ 。
( B )
27、有以下程序: fun(int x,int y)
{
static int m=0, i=2;
i+=m+1;
m=i+x+y;
return m;
}
main()
{
int j=1,m=1,k;
k=fun(j,m);
printf("%d,"k);
k=fun(j,m);
printf("%d\n",k);
}
执行后的输出结果是________。
( C )
28、下面程序的输出结果是______。
main()
{
int a[3][4]={1,3,5,7,9,11,13,15,17,19,21,23};
int(*p)[4]=a,i,j,k=0;
for(i=0;i<3;i++) for(j=0;j<2;j++) k=p[i][j];
printf("%d\n",k);
}
( C )
29、运行下面程序时,从键盘输入字母h,则输出结果是
#include<stdio.h>
main()
{
char ch;
ch=getchar();
switch(ch) {
case ’h’: printf("hello!\n");
case ’g’: printf("good morning!\n");
default : printf("bye_bye!\n");
}
}
( C )
30、以下程序段的输出结果是________。 int a=1234; float b=123.456; double c=12345.54321; printf("%2d,%2.1f,%2.1f",a,b,c);
( A )
31、以下选项中,合法的数值型常量是________。
( A )
32、以下选项中,合法的实数是________。
( D )
33、下面程序的输出结果是_______。
m1(int x)
{
int y;
y=x+x;
return(y);
}
m2(int a ,int b)
{
int z;
z=m1(a*b);
return(z);
}
main( )
{
int a=3,b=6,c;
c=m2(a ,b);
printf("%d",c);
}
( A )
34、以下程序的输出结果是 _______ 。
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);
}
( D )
35、可以作为自定义标识符的是________。
( C )
36、定义float a=8.735,那么printf("%7.2f",a); 的输出结果为
( C )
37、printf 函数中用到格式符%5s ,其中数字5 表示输出的字符串占用5 列。如果字符串长度小于5,则输出按方式。
( D )
38、下列while 循环,将执行
int i=4;
while(--i) printf("%d",i);
( B )
39、下面赋值表达式不正确的是__________________.
struct student
{
long num;
char name[20];
} st1, st2={101, "tom"}, *p=&st1;
( A )
40、以下叙述中错误的是________。
( C )
41、如果用数组元素作为函数调用时的实参,则该实参向函数的形参传送的是________。
( D )
42、宏定义是最常用的预处理功能之一,它用于将一个标识符定义为一个______
( A )
43、以下关于 c 语言数据类型使用的叙述中错误的是________。
( D )
44、以下程序段中,变量 c 的二进制值是________ char a=2,b=4,c; c=a+b<<2;
( A )
45、c语言的if语句嵌套时,if与else的配对关系是________。
( B )
46、下面程序的功能是将从键盘输入的一对数,由小到大排序输出。当输入一对相等数时结束循环,请选择填空。
#include <stdio.h>
main()
{
int a, b, t;
scanf("%d%d", &a, &b);
while (_________)
{
if (a > b)
{
t = a;
a = b;
b = t;
}
printf("%d,%d\n", a, b);
scanf("%d%d", &a, &b);
}
}
( D )
47、判断字符串a 和b 是否相等,应当使用。
( C )
48、若有定义: int (*p)[4]; 则标识符p 。
( C )
49、下列说法正确的是________ 。
( C )
50、以下叙述中正确的是()。
相关标签:
- C语言
- 北京石油化工学院
- 专升本