中国刑事警察学院历年C语言程序设计
本试卷为中国刑事警察学院历年C语言程序设计,题目包括:单项选择题。
覆盖的内容包括:理论题,基础知识,控制结构,循环结构,指针,数组/指针数组,字符串/字符串指针,函数/函数指针,程序题,结构体,文件。
本卷包括如下题型:
C语言程序设计
一、单项选择题 (共50题,每题2分,共计100分)
( C )
1、以下叙述中正确的是________。
( D )
2、有以下程序
void fun(int*a,int n)/*fun函数的功能是将a所指数组元素从大到小排序*/
{
int t,i,j;
for(i=0;i<n一1;j++) for(j=i+1;j<n;j++) if(a[i]
}
main()
{
int c[10]={1,2,3,4,5.6,7,8,9,0 },i;
fun(c+4.6): for(i=0;i<10;i++)printf("%d,",c[i]);
printf("n"):
}
}
程序运行的结果是________。
( B )
3、以下选项中,合法的一组c语言数值常量是________。
( C )
4、以下正确的函数定义形式是________.
( B )
5、设有定义:float a=2,b=4,h=3; ,以下c语言表达式与代数式 计算结果不相符的是________。
( C )
6、有以下程序
main( )
{
char k;
int i;
for(i=1;i<3;i++)
{
scanf("%c",&k);
switch(k)
{
case ‘0’: printf("another\n");
case ‘1’: printf("number\n");
}
}
}
程序运行时,从键盘输入:01<回车>,程序执行后的输出结果是________。
( C )
7、有以下函数定义:
void fun(int n, double x)
{
……
}
若以下选项中的变量都已正确定义并赋值,则对函数fun的正确调用语句是________。
( D )
8、以下函数findmax拟实现在数组中查找最大值并作为函数值返回, 但程序中有错导致不能实现预定功能
#define MIN -2147463647
int findmax(int x[],int n)
{
int i,max;
for(i=0;i<n;i++)
{
max=MIN;
if(max<x[i]) max=x[i];
}
return max;
}
造成错误的原因是________。
( A )
9、有以下程序
#include <stdio.h>
main()
{
int a1,a2;
char c1,c2;
scanf("%d%c%c",&a1,&c1,&a2,&c2);
printf(%d,%c,%d,%c,a1,c1,a2,c2);
}
若想通过键盘输入,使得a1的值为12,a2的值为34,c1的值为字符a,c2的值为字符b,程序输出的结果是:12,a,34,b则正确的输入格式是(以下︿代表空格,<cr>代表回车)
( C )
10、若 a 为整型变量,则以下语句 。 a=-2l; printf("%d\n",a);
( C )
11、以下对 c 语言中共用体类型数据的叙述正确的是______。
( D )
12、以下函数 func() 的功能是:使具有 n 个元素的一维数组 b 的每个元素的值都增加 2 ,划线处应填入 _____.
func(int b[ ],int n)
{
int ;
for(i=0;i<n;i++) __________;
}
( A )
13、按照标识符的要求,下列选项中,( )符号不能组成标识符。
( B )
14、下面各选项中,均是c语言合法标识符的选项组是________。
( A )
15、若有以下类型说明语句: char w; int x; float y,z; 则表达式w*x+z-y的结果为_______类型。
( B )
16、在下列叙述中,错误的一条是________。
( C )
17、在下列各项中,运算级别最低的为________。
( B )
18、设宏定义#define PI 3.1415926,用宏名PI替换的是________。
( A )
19、已知char a; int b; float c; double d; 则表达式a*b+c-d的结果为________。
( D )
20、以下选项中非法的表达式是________。
( B )
21、已知 #int t=0; while(t=1) {...} 则以下叙述正确的是________。
( D )
22、下列不是循环语句的是________。
( B )
23、结构化程序设计的3种结构是________。
( D )
24、要定义整型数组x,使之包括初值为0的三个元素,下列语句中错误的是________。
( C )
25、若定义下列结构体,结构体变量p的出生年份赋值正确的语句是________。
struct st
{
int x;
int y;
int z;
}
struct worker
{
char name[20];
char sex;
struct st birth;
} p;
( D )
26、下列说法正确的是________。
( C )
27、下面程序的输出结果是______。
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);
}
( D )
28、下列选项中不是字符常量的是________。
( A )
29、以下程序的输出结果是 long fun(int n) {
long s;
if(n==1||n==2)s=2;
else s=n-fun(n-1);
return s;
}
main() {
printf("%ld\n",fun(3));
}
( A )
30、以下程序运行后,输出结果是
#define PT 5.5
#define S(x) PT*x*x
#include<stdio.h>
main()
{
int a=1,b=2;
printf("%4.1f\n",s(a+b));
}
( C )
31、下列关于c语言字符数组描述正确的是________。
( D )
32、下列字符常量的写法中,正确的是________。
( C )
33、\、/、mod、*等4个算术运算符中,优先级最低的是________。
( B )
34、c语言中下面哪个不是循环语句?
( B )
35、下列说法中正确的是________。
( C )
36、c语言中下面哪个不是条件语句?
( B )
37、以下程序的输出结果是_______。
main()
{
char h[]="america",*q;
q=h+2;
printf("%c",*q++);
printf("%c",*q++);
}
( C )
38、有以下程序
main()
{
char *s[]={"one","two","three"},*p;
p=s[1];
printf("%c,%s\n",*(p+1),s[0]);
}
执行后输出结果是______。
( D )
39、有以下程序______。
#include <stdio.h>
main()
{
file *fp;
int k,n,a[6]={1,2,3,4,5,6};
fp=fopen("d2.dat","w");
fprintf(fp,"%d%d%d\n",a[0],a[1],a[2]);
fprintf(fp,"%d%d%d\n",a[3],a[4],a[5]);
fclose(fp);
fp=fopen("d2.dat","r");
fscanf(fp,"%d%d",&k,&n);
printf("%d%d\n",k,n);
close(fp);
}
程序运行后的输出结果是______。
( D )
40、对于64位系统,int类型能够表示的数的范围为
( B )
41、判断实数 x 属于闭区间 [a, b ] 的表达式为 ▁▁▁▁▁设a为整型变量,不能正确表达数学关系10<a<15的c语言表达是________。
( B )
42、c语言中,运算符>=属于
( D )
43、若有以下定义和语句: int a[10]={1,2,3,4,5,6,7,8,9,10}
, *p=a;
不能表示a数组元素的表达式是________。
( A )
44、若有 int a[10], *p=a; ,且 a 数组已赋值,则与 a[4]不等价的表达式为________。
( D )
45、以下叙述正确的是________。
( B )
46、有以下程序
struct stu
{
char num[10];
float score[3];
};
main( )
{
struct stu s[3]={{"20021",90,95,85},{"20022",95,80,75},{"20023",100,95,90}},*p;
int i;
float sum=0;
p=s;
for(i=0;i<3;i++)sum=sum+p->score[i];
printf("%.2f\n",sum);
}
程序运行后的输出结果是________。
( C )
47、c语言规定,在一个源程序中,main函数的位置________。
( C )
48、判断 i 和 j 至少有一个值为非0的表达式是____。
( C )
49、下面程序的运行结果是________。
#include<stdio.h>
main()
{
int a[6],i;
for(i=1;i<6;i++)
{
a[i]=9*(i-2+4*(i>3))%5;
printf("%2d",a[i]);
}
}
( D )
50、若d 为double 型变量,则表达式d=1,d+5,d++ 的值是________.
相关标签:
- C语言
- 中国刑事警察学院