北华大学C语言题库精简打印版(全).docx
下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
2.下载的文档,不会出现我们的网址水印。
3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
文档包含非法信息?点此举报后获取现金奖励!
下载文档到电脑,查找使用更方便
20
积分
还剩页未读,继续阅读
关 键 词:大学
语言
题库
精简
打印
资源描述:
北华大学C语言题库精简打印版(全)
一、判断题 - 正确篇
1.字符常量的长度肯定为1.Y
2.在调用函数时,实参把值传送给对应位置上的形参,形参的值不能传给实参.Y
3.在程序中凡是以#号开始的语句行都是预处理命令行Y
4.在程序中定义了一个结构体类型后,可以多次用它来定义具有该类型的变量.Y
5.在程序中,APH和aph是两个不同的变量.Y
6.在Turbo C中,int型数据在内存中占2个字节.Y
7.在C语言中8.9e1.2是不正确的实型常量.Y
8.在C语言中,变量必需先定义后使用.Y
9.在C语言中,5种基本数据类型的存储空间长度的排列顺序为:charj);是正确的.Y
55.int i,*p=&i;是正确的C说明.Y
56.int a[3][4]={{1},{5},{9}}; 它的作用是将数组各行第一列的元素赋初值,其余元素值为0.Y
57.int *p[6];定义了6个下标变量的整型指针.Y
58.fseek()函数一般用于二进制文件.Y
59.for(i=4;i>1;i--)for(j=1;jj) ; j++; else i++;是正确的.N
106.int a[2][3];按照它在内存的排列次序,a数组的所有元素是a[0][0]、a[1][0]、a[0][1]、a[1][1]、a[0][2]、a[1][2].N
107.int a[10]={0,1,2,3,4,5,6,7,8,9},*p=a;则p+5相当于a[5].N
108.if语句后面的控制表达式只能使用关系表达式或逻辑表达式.N
109.if(strcmp(temp,str)>0)中的条件是当字符串temp大于字符串str为真时.N
110.if (j=0) i+ +; else i- -; i的值为11.N
111.for(m=22;m<1000;m++) if(m%3==0&&m%7!=0)break;是当m能被3整除或m不能被7整除时,结束本次循环进入下次循环.N
112.for(i=0,k=-1;k=1;k++,i++)printf("*\n"); 循环体一次也不执行.N
113.C语言中字符型、整型、实型都能用八进制表示.N
114.C语言中的文件类型只有文本文件一种.N
115.C语言中的文件类型只有二进制文件一种.N
116.C语言的if语句嵌套时,if与else的匹配关系是每个else与if的匹配是任意的.N
117.C程序中有调用关系的所有函数必须放在同一个源程序文件中.N
118.continue语句不只用于循环语句中.N
119.char a[10]="abcdefg"; printf("%6s\n",a);只输出前六个字符.N
120.char *s;*s=H;是正确的.N
121.#include "stdio.h" 是每个程序中必须写的.N
二、选择题A篇
1.以下数据中,不正确的数值或字符常量是(A).
(A).c
(B).66
(C).0xaa
(D).50
2.设j和k都是int类型,则for循环语句:
for(j=0,k=0;j<=9&&k!=876;j++)
scanf("%d",&k);(A)
(A).最多执行10次
(B).最多执行9次
(C).是无限循环
(D).循环体一次也不执行
3.char a1[]="abc",a2[80]="1234";将a1串连接到a2串后面的语句是(A).
(A).strcat(a2,a1);
(B).strcpy(a2,a1);
(C).strcat(a1,a2);
(D).strcpy(a1,a2);
4.以下正确的说法是:在C语言中(A).
(A).实参和与其对应的形参各占用独立的存储单元
(B).实参和与其对应的形参共占用一个存储单元
(C).只有当实参和与其对应的形参同名时才共占用存储单元
(D).形参是虚拟的,不占用存储单元
5.下列字符序列中,是C语言保留字的是(A).
(A).sizeof
(B).include
(C).scanf
(D).sqrt
6.以下选项中,与k=n++完全等价的表达式是(A).
(A).k=n,n=n+1
(B).n=n+1,k=n
(C).k=++n
(D).k+=n+1
7.在位运算中,操作数每左移一位,其结果相当于(A).
(A).操作数乘以2
(B).操作数除以2
(C).操作数除以4
(D).操作数乘以4
8.以下程序的运行结果是(A).
main()
{ int n;
for(n=1;n<=10;n++)
{
if(n%3==0) continue;
printf("%d",n);
}
}
(A).12457810
(B).369
(C).12
(D).1234567890
9.int a=1,b=2,c=3;if(a>b)a=b;if(a>c)a=c;则a的值为(A).
(A).1
(B).2
(C).3
(D).不一定
10.下列定义数组的语句中正确的是(A).
(A).#define size 10 char str1[size],str2[size+2];
(B).char str[];
(C).int num[10];
(D).int n=5; int a[n][n+2];
11.C语言中运算对象必须是整型的运算符是(A).
(A).%=
(B)./
(C).=
(D).〈=
12.C语言中 while 和 do-while 循环的主要区别是(A).
(A).do-while 的循环体至少无条件执行一次
(B).while的循环控制条件比 do-while的循环控制条件更严格
(C).do-while 允许从外部转到循环体内
(D).do-while 的循环体不能是复合语句
13.16.在C语言中,形参的缺省存储类别是(A).
(A).auto
(B).register
(C).static
(D).extern
14.从键盘上输入某字符串时,不可使用的函数是(A).
(A).getchar()
(B).gets()
(C).scanf()
(D).fread()
15.以下数据中,不正确的数值或字符常量是(A).
(A).8.9e1.2
(B).10
(C).0xff00
(D).82.5
16.以下不是无限循环的语句为(A).
(A).for(y=0,x=1;x>++y;x=i++) i=x;
(B).for(;;x++=i);
(C).while(1){x++;}
(D).for(i=10;;i--) sum+=i;
17.while(fabs(t)<1e-5)if(!s/10)break;循环结束的条件是(A).
(A).t>=1e-5&&t<=-1e-5
(B).fabs(t)<1e-5&&!s/10
(C).fabs(t)<1e-5
(D).s/10==0
18.以下叙述中正确的是(A).
(A).构成C程序的基本单位是函数
(B).可以在一个函数中定义另一个函数
(C).main()函数必须放在其它函数之前
(D).所有被调用的函数一定要在调用之前进行定义
19.函数 rewind 的作用是(A).
(A).使位置指针重新返回文件的开头
(B).将位置指针指向文件中所要求的特定位置
(C).使位置指针指向文件的末尾
(D).使位置指针自动移至下一个字符位置
20.C语言程序中,当调用函数时(A).
(A).实参和虚参各占一个独立的存储单元
(B).实参和虚参可以共用存储单元
(C).可以由用户指定是否共用存储单元
(D).计算机系统自动确定是否共用存储单元
21.当定义一个结构体变量时,系统分配给它的内存是(A).
(A).各成员所需内存量的总和
(B).结构中第一个成员所需内存量
(C).结构中最后一个成员所需内存量
(D).成员中占内存量最大者所需的容量
22.下列变量定义中合法的是(A).
(A).short _a=1-.1e-1;
(B).double b=1+5e2.5;
(C).long do=0xfdaL;
(D).float 2_and=1-e-3;
23.若有说明语句:char c=\72;则变量c(A).
(A).包含1个字符
(B).包含2个字符
(C).包含3个字符
(D).说明不合法,c的值不确定
24.结构体类型的定义允许嵌套是指(A).
(A).成员是已经或正在定义的结构体型
(B).成员可以重名
(C).结构体型可以派生
(D).定义多个结构体型
25.先用语句定义字符型变量c,然后要将字符a赋给c,则下列语句中正确的是(A).
(A).c=a;
(B).c="a";
(C).c="97";
(D).C=97
26.下列数组说明中,正确的是(A).
(A).static char str[]="China";
(B).static char str[]; str="China";
(C).static char str1[5],str2[]={"China"}; str1=str2;
(D).static char str1[],str2[];str2={"China"}; strcpy(str1,str2);
27.若有int *p=(int *)malloc(sizeof(int));则向内存申请到内存空间存入整数123的语句为(A).
(A).scanf("%d",p);
(B).scanf("%d",&p);
(C).scanf("%d",*p);
(D).scanf("%d",**p);
28.以下叙述中正确的是 (A).
(A).C程序中注释部分可以出现在程序中任意合适的地方
(B).花括号"{"和"}"只能作为函数体的定界符
(C).构成C程序的基本单位是函数,所有函数名都可以由用户命名
(D).分号是C语句之间的分隔符,不是语句的一部分
29.执行下面程序后,输出结果是(A).
main()
{ int a=45,b=27,c=0;
c=max(a,b);
printf("%d\n",c);
}
int max(int x,int y)
{ int z;
if(x>y) z=x;
else z=y;
return(z);
}
(A).45
(B).27
(C).18
(D).72
30.设有以下语句, 若00){--i;}
(D).i=1;m:if(i<=10){i++;goto m;}
32.14以下不能正确进行字符串赋初值的语句是(A).
(A).char str[5]="good!";
(B).char str[]="good!";
(C).char *str="good!";
(D).char str[5]={g,o,o,d};
33.18若有double *p,x[10];int i=5;使指针变量p指向元素x[5]的语句为(A).
(A).p=&x[i];
(B).p=x;
(C).p=x[i];
(D).p=&(x+i)
34.C语言的if语句嵌套时,if与else的配对关系是(A).
(A).每个else总是与它上面的最近的并且尚未与其他else匹配的if配对
(B).每个else总是与最外层的if配对
(C).每个else与if的配对是任意的
(D).每个else总是与它上面的if配对
35.16以下正确的函数定义形式是(A).
(A).double fun(int x,int y)
(B).double fun(int x;int y)
(C).double fun(int x,int y);
(D).double fun(int x,y);
36.18经过下列的语句 int j,a[10],*p;定义后,下列语句中合法的是(A)
(A).p=a+2;
(B).p=a[5];
(C).p=a[2]+2;
(D).p=&(j+2);
37.17enum a {sum=9,mon=-1,tue};2char a[]="This is a program.";输出前5个字符的语句是(A).
(A).printf("%.5s",a);
(B).puts(a);
(C).printf("%s",a);
(D).a[5*2]=0;puts(a);
选择题B篇
38.C语言源程序的基本单位是(B).
(A).过程
(B).函数
(C).子程序
(D).标识符
39.下列程序的输出结果是(B).
main()
{char c1=97,c2=98;
printf("%d %c",c1,c2);
}
(A).97 98
(B).97 b
(C).a 98
(D).a b
40.下列四个选项中,均是C语言关键字的选项是(B).
(A).auto enum include
(B).switch typedef continue
(C).signed union scanf
(D).if struct type
41.以下能对二维数组a进行正确初始化的语句是(B).
(A).int a[2][]={{1,0,1},{5,2,3}};
(B).int a[][3]={{1,2,3},{4,5,6}};
(C).int a[2][4]={{1,2,3},{4,5},{6}};
(D).int a[][3]={{1,0,1}{},{1,1}};
42.以下对枚举类型名的定义中正确的是(B).
(A).enum a={sun,mon,tue};
(B).enum a {sun=9,mon=-1,tue};
(C).enum a={"sun","mon","tue"};
(D).enum a {"sun","mon","tue"};
43.以下选项中合法的用户标识符是(B).
(A).long
(B)._2Test
(C).3Dmax
(D).A.dat
44.以下叙述中正确的是(B).
(A).C语言的源程序不必通过编译就可以直接运行
(B).C语言中的每条可执行语句最终都将被转换成二进制的机器指令
(C).C源程序经编译形成的二进制代码可以直接运行
(D).C语言中的函数不可以单独进行编译
45.以下叙述中不正确的是(B).
(A).一个好的程序应该有详尽的注释
(B).在C程序中,赋值运算符的优先级最低
(C).在C程序中,j++;是一条赋值语句
(D).C程序中的#include和#define均不是C语句
46.若有以下程序段:int a=3,b=4; a=a^b;b=b^a;a=a^b;则执行以上语句后,a和b的值分别是(B).
(A).a=3,b=4
(B).a=4,b=3
(C).a=4,b=4
(D).a=3,b=3
47.9.假定所有变量均已正确定义,下列程序段运行后x的值是(B).
k1=1;
k2=2;
k3=3;
x=15;
if(!k1) x--;
else if(k2) x=4;
else x=3;
(A).14
(B).4
(C).15
(D).3
48.给数组a的所有元素分别赋值为1、2、3、……的语句是(B).
(A).for(i=1;i<11;i++)a[i]=i;
(B).for(i=1;i<11;i++)a[i-1]=i;
(C).for(i=1;i<11;i++)a[i+1]=i;
(D).for(i=1;i<11;i++)a[0]=1;
49.C语言中不可以嵌套的是(B).
(A).函数调用
(B).函数定义
(C).循环语句
(D).选择语句
50.int a[10]={1,2,3,4,5,6,7,8};int *p;p=&a[5];p[-3]的值是(B)
(A).2
(B).3
(C).4
(D).不一定
51.若k为int型变量,则以下程序段的执行结果是(B).
k=-8567; printf("|%06D|\n",k);
(A).格式描述符不合法,输出无定值
(B).输出为|%06D|
(C).输出为|0-8567|
(D).输出为|-8567|
52.fseek函数的正确调用形式是(B).
(A).fseek(文件类型指针,起始点,位移量)
(B).fseek(fp,位移量,起始点)
(C).fseek(位移量,起始点,fp)
(D).fseek(起始点,位移量,文件类型指针)
53.下列表达式中,可作为C合法表达式的是(B).
(A).[3,2,1,0]
(B).(3,2,1,0)
(C).3=2=1=0
(D).3/2/1/0
54.以下程序的输出结果为(B).
main()
{int a=1,b=2,c=3,d=4,e=5;
printf("%d\n",func((a+b,b+c,c+a),(d+e)));
}
int func(int x,int y)
{
return(x+y);
}
(A).15
(B).13
(C).9
(D).函数调用出错
55.以下标识符中,不能作为合法的C用户定义标识符的是(B).
(A).a3_b3
(B).void
(C)._123
(D).IF
56.假设所有变量均为整型,表达式:a=2,b=5,a>b?a++:b++,a+b的值是(B).
(A).7
(B).8
(C).9
(D).2
57.以下程序段的输出结果为(B).
for(i=4;i>1;i--)
for(j=1;jc)b=a;a=c;c=b;则c的值为().B
(A).1
(B).2
(C).3
(D).不一定
80.以下不正确的定义语句是(B).
(A).double x[5]={2.0,4.0,6.0,8.0,10.0};
(B).int y[5]={0,1,3,5,7,9};
(C).char c1[]={1,2,3,4,5};
(D).char c2[]={\x10,\xa,\x8};
81.C语言规定:简单变量做实参时,它和对应形参之间的数据传递方式是(B).
(A).地址传递
(B).单向值传递
(C).由实参传给形参,再由形参传回给实参
(D).由用户指定的传递方式
82.以下程序的输出结果是(B).
main()
{ char s[]="123",*p;
p=s;
printf("%c%c%c\n",*p++,*p++,*p++);
}
(A).123
(B).321
(C).213
(D).312
83.以下语句中,不能实现回车换行的是(B).
(A).printf("\n");
(B).putchar("\n");
(C).fprintf(stdout,"\n");
(D).fwrite("\n",1,1,stdout);
选择题C篇
84.设C语言中,int类型数据占2个字节,则long类型数据占(C).
(A).1个字节
(B).2个字节
(C).4个字节
(D).8个字节
85.以下叙述正确的是(C).
(A).在C程序中,main函数必须位于程序的最前面
(B).C程序的每行中只能写一条语句
(C).C语言本身没有输入输出语句
(D).在对一个C程序进行编译的过程中,可发现注释中的拼写错误
86.以下数值中,不正确的八进制数或十六进制数是(C).
(A).0x16
(B).016
(C).-16
(D).0xaaaa
87.已知x=43,ch=A,y=0;则表达式(x>=y&&chb?a:b;
printf("%d",t);
(A).7
(B).9
(C).63
(D).49
98.下面四个选项中,均是不合法的用户标识符的选项是(C).
(A).A P_0 do
(B).float la0 _A
(C).b-a goto int
(D)._123 temp int
99.在C语言中,调用函数除函数名外,还必须有(C).
(A).函数预说明
(B).实际参数
(C).( )
(D).函数返回值
100.下面判断正确的是(C).
(A).char *a="china";等价于 char *a;*a="china";
(B).char str[10]={"china"};等价于charstr[10];str[]={"china"};
(C).char *s="china";等价于 char *s;s="china";
(D).char c[4]="abc",d[4]="abc";等价于 char c[4]=d[4]="abc";
101.char *s1="hello",*s2;s2=s1;则(C)
(A).s2指向不确定的内存单元
(B).不能访问"hello"
(C).puts(s1);与puts(s2);结果相同
(D).s1不能再指向其它单元
102.若a是float型变量,b是unsigned型变量,以下输入语句中合法的是(C).
(A).scanf("%6.2f%d",&a,&b);
(B).scanf("%f%n",&a,&b);
(C).scanf("%f%3o",&a,&b);
(D).scanf("%f%f",&a,&b);
103.C语言执行程序的开始执行点是(C).
(A).程序中第一条可以执行语言
(B).程序中第一个函数
(C).程序中的main函数
(D).包含文件中的第一个函数
104.fgets(str,n,fp)函数从文件中读入一个字符串,以下正确的叙述是(C).
(A).字符串读入后不会自动加入\0
(B).fp是file类型的指针
(C).fgets函数将从文件中最多读入n-1个字符
(D).fgets函数将从文件中最多读入n个字符
105.若有说明 int a[3][4];则对a数组元素的正确引用是(C).
(A).a[2][4]
(B).a[1,3]
(C).a[1+1][0]
(D).a(2)(1)
106.C程序中的宏展开是在(C).
(A).编译时进行的
(B).程序执行时进行的
(C).编译前预处理时进行的
(D).编辑时进行的
107.设有说明int (*ptr)[M];其中标识符ptr是(C).
(A).M个指向整型变量的指针
(B).指向M个整型变量的函数指针
(C).一个指向具有M个整型元素的一维数组的指针
(D).具有M个指针元素的一维指针数组,每个元素都只能指向整型量
108.若有char a[80],*s=a;不正确的输入语句是(C).
(A).scanf("%s",s);
(B).gets(s);
(C).fscanf(stdin,"%c",s);
(D).fgets(s,80,stdin);
109.以下选项中合法的实型常数是(C).
(A).5E2.0
(B).E-3
(C)..2
(D).1.3E
110.以下常量中,能够代表逻辑"真"值的常量是(C).
(A).\0
(B).0
(C).0
(D).NULL
111.以下标识符中,不能作为合法的C用户定义标识符的是(C).
(A).putchar
(B)._double
(C).123_
(D).INT
112.7经过以下语句定义后,表达式z+=x>y?++x:++y的值为(C).
int x=1,y=2,z=3;
(A).2
(B).3
(C).6
(D).5
113.8以下运算符中优先级最低的是(C).
(A).&&
(B).&
(C).||
(D).|
114.char a[10];不能将字符串"abc"存储在数组中的是(C).
(A).strcpy(a,"abc");
(B).a[0]=0;strcat(a,"abc");
(C).a="abc";
(D).int i;for(i=0;i<3;i++)a[i]=i+97;a[i]=0;
115.在C语言中,引用数组元素时,其数组下标的数据类型允许是(C).
(A).整型常量
(B).整型表达式
(C).整型常量或整型表达式
(D).任何类型的表达式
116.以下各选项企图说明一种新的类型名,其中正确的是(C).
(A).typedef v1 int;
(B).typedef v2=int;
(C).typedef int v3;
(D).typedef v4: int;
117.9执行语句 for(i=1;i++<4;); 后变量 i 的值是(C).
(A).3
(B).4
(C).5
(D).不定
118.1以下程序段的执行结果是(C).
double x;x=218.82631; printf("%-6.2e\n",x);
(A).输出格式描述符的域宽不够,不能输出
(B).输出为21.38e+01
(C).输出为2.2e+02
(D).输出为-2.14e2
119.以下运算符中,优先级最高的运算符是(C).
(A).||
(B).%
(C).!
(D).==
(C).98,c
120.C语言规定,在一个源程序中,main函数的位置(C).
(A).必须在最开始
(B).必须在系统调用的库函数的后面
(C).可以任意
(D).必须在最后
121.当顺利执行了文件关闭操作时,fclose函数的返回值是(C).
(A).-1
(B).True
(C).0
(D).1
122.以下程序段中,不能正确赋字符串(编译时系统会提示错误)的是(C).
(A).char s[10]="abcdefg";
(B).char t[]="abcdefg",*s=t;
(C).char s[10];s="abcdefg";
(D).char s[10];strcpy(s,"abcdefg");
123.在C语言中,函数的隐含存储类别是(C).
(A).auto
(B).static
(C).extern
(D).无存储类别
124.若已定义x为int类型变量,下列语句中说明指针变量p的正确语句是(C).
(A).int p=&x;
(B).int *p=x;
(C).int *p=&x;
(D).*p=*x;
125.切换编辑窗和信息窗的命令键是(C).
(A).F2
(B).F3
(C).F6
(D).F9
126.在以下给出的表达式中,与 do--while(E)语句中的(E)不等价的表达式是(C).
A).(!E==0)
(B).(E>0||E<0)
(C).(E==0)
(D).(E!=0)
127.用下列语句定义a,b,c,然后执行b=a、c=b+b,则b,c的值是(C).
long a=0xffffff;
int b; char c;
(A).0ffffff 和0x61
(B).-1和98
(C).-1和97
(D).指向同一地址
128.以下对二维数组a的正确说明是(C).
A).int a[3][]
(B).float a(3,4)
(C).double a[1][4]
(D).float a(3)(4)
129.在C语言的函数中,下列正确的说法是(C).
(A).必须有形参
(B).形参必须是变量名
(C).可以有也可以没有形参
(D).数组名不能作形参
130.char *s1="hello",*s2;s2=s1;则(C).
(A).s2指向不确定的内存单元
(B).不能访问"hello"
(C).puts(s1);与puts(s2);结果相同
(D).s1不能再指向其它单元
131.以下不正确的if语句形式是(C).
(A).if(x>y&&x!=y);
(B).if(x==y) x+=y;
(C).if(x!=y) scanf("%d",&x) else scanf("%d",&y);
(D).if(x0)puts(s2);
(B).if(strcmp(s2,s1)>0)puts(s2);
(C).if(strcmp(s2,t)>0)puts(s2)
展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:北华大学C语言题库精简打印版(全).docx
链接地址:https://www.renrendoc.com/p-48447726.html