北京林业大学c语言题库上机题一52411133.doc

上传人:文库蛋蛋多 文档编号:2385228 上传时间:2023-02-17 格式:DOC 页数:19 大小:53.50KB
返回 下载 相关 举报
北京林业大学c语言题库上机题一52411133.doc_第1页
第1页 / 共19页
北京林业大学c语言题库上机题一52411133.doc_第2页
第2页 / 共19页
北京林业大学c语言题库上机题一52411133.doc_第3页
第3页 / 共19页
北京林业大学c语言题库上机题一52411133.doc_第4页
第4页 / 共19页
北京林业大学c语言题库上机题一52411133.doc_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《北京林业大学c语言题库上机题一52411133.doc》由会员分享,可在线阅读,更多相关《北京林业大学c语言题库上机题一52411133.doc(19页珍藏版)》请在三一办公上搜索。

1、1.以下正确的叙述是( )。 A 输入项可以为一个实型常量,如scanf(%f, 3.5); B 只有格式控制,没有输入项,也能进行正确输入,如scanf(a=%d, b=%d); C 当输入一个实型数时,格式控制部分应规定小数点后位数,如scanf (%4.2f, &f); D 当从键盘输入数据时, 必须指明变量的地址, 如scanf (%f, &f); 2.已知:int *p,a; 则语句p=&a;中的运算符&的含义是( )。A 位与运算 B 逻辑与运算 C 取指针内容 D 取变量地址 3.对于C语言函数,下列描述中正确的是( )。A C函数既可以嵌套定义又可以嵌套调用 B 函数必须有返回

2、值,否则函数将无法使用 C 在C程序中,调用函数时,只能将实参的值传递给形参,形参的数值不能传递给实参 D 一个C程序中,存在调用关系的所有函数必须放在同一个源程序文件中 4.下面正确的描述是( )。A 两个字符串所包含的字符个数相同时,才能比较字符串 B 字符个数多的字符串比字符个数少的字符串大 C 字符串STOP _ 与STOP 相等 ( 注:_表示空格) D 字符串That小于字符串The 5.设程序中定义了变量x和y,x赋值是-1,y赋值是-2,执行下列语句后,x的值不为0的程序段是( )。A if(!(x+1) x+=1;else x-=1; B if(x=y) y=x+1;else

3、 y+=1; x-=y; C if(x=0) printf(%d,x=y-2); else printf(%d,x=y+2); D if(xy & x=y) x+=1;y+=2; 6.已知教师记录描述为:struct teacher int id; char name10; struct int y; int m; int d; birth; t;将变量t 中的d成员赋值为12的语句是( )。A d = 12; B birth.d = 12; C t.d = 12; D t.birth.d = 12; 7.C语言中的函数( )。A 可以嵌套定义 B 不可以嵌套调用 C 可以嵌套调用,但不能调用

4、自己 D 嵌套调用和调用自己均可 8.假定每一个int类型变量占用4个字节。现在有一个定义数组的语句: int x10=0,2,4;则数组x在内存中所占的字节数是( )。A 40 B 30 C 12 D 10 9.C语言中的常见的简单数据类型有( )。A 整型、实型、逻辑型 B 整型、实型、字符型 C 整型、字符型、逻辑型 D 整型、实型、逻辑型、字符型 10.在下列各标识符组中,合法的标识符是( )。A b-b abc B CCP float C hiy (fr) D _isw INT 11.若要用fopen函数打开一个新的二进制文件,该文件要既能读也能写,则文件方式字符串应是( )。A a

5、+ B wb+ C r D a 12.已知:char str120=abcde,str220=xyz;则执行语句:printf(%d,strlen(strcpy(str1,str2);输出结果是( )。A 9 B 3 C 5 D 8 13.int a,x;下列表达式正确的是( )。A a=(a1+a2)/2; B a*=*a+1 C a=(x=1,x+,x+2); D a=good; 14.C语言对嵌套if语句的规定是:else总是与( )配对。A 第一个if B 缩进位置相同的if C 尚未配对的if D 与之前最近的且尚未配对的if 15.已知ch是字符型变量,下面正确的赋值语句是( )。

6、A ch=123; B ch=xff; C ch=08; D ch=; 16.设有说明语句:char a = 063; ,则( )。A 变量a包含3个字符 B 变量a不是一个合法的转义字符 C 变量a包含1个字符 D 此语句错误 17.以下叙述正确的是( )。A do-while语句构成的循环不能用其它语句构成的循环来代替 B do-while语句构成的循环只能用break语句退出 C 用do-while语句构成的循环,在while(表达式)后不能直接写分号,否则无法执行循环体 D 用do-while语句构成的循环,在while后的表达式为零时结束循环 18.( )是C语言中的一个合法表达式。

7、 A j+e/8+a+ B m*n,+(a+5) C xy?x*z:y D s+2.0e*3 19.若有代数式3ae/(bc),则不正确的C语言表达式是( )。A a/b/c*e*3 B 3*a*e/b/c C 3*a*e/b*c D a*e/c/b*3 20.已知以下程序段,则( )。char a10,b=China;a=b;printf(%s,a);A 编译通过,运行后将输出 China B 编译通过,运行后将输出 C C 编译时出错,会提示b数组未定义长度。 D 编译时出错,会提示赋值语句错误。 21.C语言可以处理的文件类型是( )。A 文本文件和数据文件 B 文本文件和二进制文件 C

8、 数据文件和二进制文件 D 以上答案都不完全 22.下面对一维数组a初始化的正确方式是( )。A int a4=(0,0,0,0); B int a4=(0); C int a2=0; D int a4=1,2,3,4,5; 23.若有说明:int *p1, *p2, m=5, n; 以下均是正确赋值语句的选项是( )。A p1=&m;p2=&p1; B p1=&m;p2=&n;p1=*p2; C p1=&m;p2=p1; D p1=&m;p2=*p1; 24.已知:int x;float y;所用的scanf 调用语句格式为:scanf(x=%d,y=%f,&x,&y);为了将数据10和66

9、.6分别赋给x和y,正确的输入应当是( )。 A x=10,y=66.6 B 10,66.6回车 C 10回车66.6回车 D x=10y=66.6 25.若有以下定义: float x=1.0; int a=1, b=1;则不正确的switch语句是( )。A switch(x) case 1.0: printf(*n); case 2.0: printf(*n); B switch(int)x) case 1: printf(*n); case 2: printf(*n); C switch(a+b) case 1: printf(*n); case 1+2: printf(*n); de

10、fault: printf(*n); D switch(a+b) case 1: printf(*n); case 2: case 3: printf(*n); 26.以下叙述中正确的是( ):A C程序仅由主函数组成。 B C程序由函数组成。 C C程序由函数和过程组成。 D C程序开始执行不是从主函数开始的。 27.下面的程序段执行后的结果是( )。char a =This is a cat., b =Hello!;printf(n %s,strcpy(a,b);A 20 B This is a cat.Hello! C 1 D Hello!28.要说明一个有10个int元素的数组.应当选

11、择语句( )。A int *a10; B int a2,5; C int a10; D int a;29.以下正确的函数定义是( )。 A double sub(int x ,int y) double z; z = x - y; return z; B double sub(int x, y) int z; z = x - y; return z;; C double sub(int x ,int y); double z; z = x - y; return z; D double sub(int x, int y); int z; z = x - y; return z; 30.已知:c

12、har str110=books , str210;则在程序中能够将字符串books赋给数组str2的正确语句是( )。A str2=books; B strcpy(str1,str2); C str2=str1; D strcpy(str2,str1); 31.为了读出文本文件的内容,在打开文件时,文件的打开方式应当是( )。A r B w+ C wb+ D ab+ 32.执行char str10=Beijing;strlen(str)的结果是( )。A 6 B 7 C 8 D 9 33.阅读以下程序,当输入数据的形式为:25,13,10,正确的输出结果为( )。main()int x,y,

13、z; scanf(%d%d%d,&x,&y,&z); printf(x+y+z=%dn,x+y+z);A x+y+z=48 B x+y+z=35 C x+z=35 D 不确定值 34.若有说明:double *p, a; 则能通过scanf()函数正确给输入项读入数据的程序段是( )。A *p=&a;scanf(%lf,p); B p=&a;scanf(%lf,p); C p=&a;scanf(%lf,a); D *p=&a;scanf(%lf,*p); 35.整型变量a、b的值为0,整型变量x的值为1。执行下面的语句后switch(x) case 0: b+; case 1: a+; cas

14、e 2: a += b; b -= a; printf(a=%d, b=%dn,a,b) ; 该程序的输出结果是( )。A a=2,b=1 B a=1,b=0 C a=1,b=1 D a=1,b=-136.设有语句int x; 则下列正确的输入语句为( )。 A scanf(%d,*x); B scanf(%d,&x); C scanf(%d,x); D scanf(%d,x=5); 37.已知:int x; 则下面的说明指针变量pb的语句正确是( )。A int pb=&x; B int *pb=x; C int *pb=&x; D *pb=*x; 38.在语言中对文件操作的一般步骤是( )

15、。A 打开文件操作文件关闭文件 B 操作文件修改文件关闭文件 C 读写文件打开文件关闭文件 D 读文件写文件关闭文件 39.若有以下定义,则下面的叙述中不正确的是( )。struct ex int x ; float y ; char z ; example ;A struct是结构体类型的关键字 B example是用户定义的结构体类型名 C x,y,z都是结构体成员名 D struct ex是用户定义的结构体类型40.以下结构体说明和变量定义中,正确的是( )。A struct abcint n; float m;ABC x,y; B struct abcint n; float m;st

16、ruct abc x,y; C struct abcint n; float m;ABC;ABC x,y; D struct abcint n; float m;struct abc x,y; 41.有输入语句:scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);为使变量a的值为1, b的值为3, c的值为2,从键盘输入数据的正确形式应当是 ( )。 A 132 B 1,3,2 C a=1 b=3 c=2 D a=1,b=3,c=2 42.打开一个已存在的非空文件file用于追加写,正确的语句是( )。A fp=fopen(file,r); B fp=fopen(file,rb)

17、; C fp=fopen(file,a); D fp=fopen(file,w); 43.要判断字符串str1和str2是否相等, 则正确的比较方式是( )。A if(str1=str2) printf(Yes n); B if(str1=str2) printf(Yes n); C if(strcpy(str1,str2)=0) printf(Yes n); D if(strcmp(str1,str2)=0) printf(Yes n);44.若有以下定义, 则说法错误的是( )。int a=100, *p=&a;A 声明变量p,其中*表示p是一个指针变量。 B 变量p只可以指向整型变量。

18、C 变量p经初始化,获取变量a的地址。 D 变量p的值为100。 45.定义整型变量a的初值是1, 整型变量b的初值是0,则执行以下语句后输出为( )。switch(a) case 1: switch(b) case 0: printf(*0*); break; case 1: printf(*1*); break; case 2: printf(*2*); break;A *0* B *0*2* C *0*1*2* D 有语法错误 46.合法的数组说明语句是( )。A int a=0,1,2,3,4,5; B int a5=string; C char a=string; D char a5

19、=0,1,2,3,4,5; 47.函数调用:strcat(strcpy(str1,str2),str3)的功能是( )。A 将串str1复制到串str2中后再连接到串str3之后 B 将串str2复制到串str1中后再将串str3连接到串str2之后 C 将串str2复制到串str1中后再将串str3连接到串str1之后 D 将串str2复制到串str1之后再将串str1复制到串str3之后 48.C语言规定,调用函数时,实参整型变量和形参整型变量之间的数据传递方式是( )。A 地址传递 B 值传递 C 由实参传给形参,并由形参传回来给实参 D 由用户指定传递方式 49.已知:int a,b;

20、用语句scanf(%d%d,&a,&b);输入a、b的值时,不能作为输入数据分离符的是( )。 A , B 空格 C 回车 D ab50.下面关于数组的描述正确的是( )。A 数组的长度是固定的,数组元素的类型必须相同 B 数组的长度是可变的,数组元素的类型必须相同 C 数组的长度是固定的,数组元素的类型可以不同 D 数组的长度是可变的,数组元素的类型可以不同 51.C程序由函数构成,下列说法正确的是( )。A 主函数可以在其它函数之前,函数内可以嵌套定义函数 B 主函数可以在其它函数之后,函数内不可以嵌套定义函数 C 主函数必须在其它函数之前,函数内不可以嵌套定义函数 D 主函数必须在其它函

21、数之后,函数内可以嵌套定义函数 52.语句:printf(%d,(a=2)&(b=-2); 的输出结果是( )。 A 无输出 B 结果不确定 C -1 D 1 53.若要求:如果字符串s1大于字符串s2,则要执行if语句中的程序段,应当使用( )。A if(s1s2) . B if(strcmp(s1,s2)=0) . C if(strcmp(s1,s2)0) . D if(strcmp(s2,s1)0) .54.若有以下定义,则赋值错误的是( )。int a=30, *p, *q; q = &a;A *p=&a; B p=&a; C *q=a+5; D p=q; 55.下面一维字符数组a的定

22、义中正确的描述是( )。A char a(10); B int n=10;char an; C int n;scanf(%d,&n);char an; D #define STRINGSIZE 10char aSTRINGSIZE; 56.返回值为void的函数,其含义是( )。A 调用函数之后,被调函数不返回 B 调用函数之后,被调函数没有返回值 C 调用函数之后,被调函数的返回值为整型 D 调用函数之后,被调函数的返回值为任意类型 57.C语言规定,在一个源程序中,main函数的位置是( )。A 必须在最开始 B 必须在系统调用的库函数的后面 C 可以在任意位置 D 必须在最后58.已知:

23、int p( ); p是( )。A int型变量 B 函数p的调用 C 一个函数名,该函数的返回值是int型的值 D 强制类型转换表达式中的变量 59.有字符数组a80,b80,分别存储着字符串China和Beijing,则能正确的输出两个字符串的语句是( )。A puts(a,b); B printf(%s,%s,a,b); C putchar(a);putchar(b); D puts(a);puts(b); 60.已知教师记录描述为:struct teacher int id; char name10; struct int y; int m; int d; birth; t;将变量t

24、中的d成员赋值为12的语句是( )。A d = 12; B birth.d = 12; C t.d = 12; D t.birth.d = 12; 61.如果整型变量a=5, b=2, c=3,执行如下操作后的输出结果是( )。 if(!(a=b+c) printf(“$ $ $ n”); else printf(“* * * n”);A * * * B $ $ $ C $ $ $* * * D * * *$ $ $62.下列语句段的输出结果是( )。int m= -1;if(!m - 1) printf(+);else printf();A 有语法错误,不能正确执行 B C D 63.put

25、char函数可以向显示器输出一个( )。 A 整型变量表达式值 B 实数 C 字符串 D 字符64.下面不正确的字符串常量是( )。A abc B 12 12 C 0 D 65.x,y,z被定义为int型变量,若从键盘给x,y,z输入数据,正确的输入语句是( )。 A INPUT x,y,z; B scanf(%d%d%d,&x,&y,&z); C scanf(%d%d%d,x,y,z); D read(%d%d%d,&x,&y,&z);66.执行下面的程序段后, ab的值为( )。int *var, ab;ab = 100;var = &ab;ab = *var+10;A 120 B 110

26、 C 100 D 90 67.对于C语言函数,下列描述中正确的是( )。A C函数既可以嵌套定义又可以嵌套调用 B 函数必须有返回值,否则函数将无法使用 C 在C程序中,调用函数时,只能将实参的值传递给形参,形参的数值不能传递给实参 D 一个C程序中,存在调用关系的所有函数必须放在同一个源程序文件中 68.下面一维字符数组a的定义中正确的描述是( )。A char a(10); B int n=10;char an; C int n;scanf(%d,&n);char an; D #define STRINGSIZE 10char aSTRINGSIZE;69.函数的返回值的类型是( )。A

27、函数的类型 B 函数的类型或者return语句中的表达式类型 C return语句中表达式的类型 D 调用函数所赋值的变量的类型 70.以下程序的输出结果是( )。void main( ) printf( n*s1=%15s*, chinabeijing ); printf( n*s2=%-5s* , chi ); A *s1=chinabeijing * *s2=* * chi *(注意这里代表一个空格) B *s1=chinabeijing* *s2= chi*(注意这里代表一个空格) C *s1=*chinabeijing * *s2= chi *(注意这里代表一个空格) D *s1=c

28、hinabeijing * *s2= chi*(注意这里代表一个空格)71.不能正确进行字符串good赋值的语句组是( )。A char s5= g, o, o, d B char *s; s = good; C char s = good; D char s5 s = good; 72.若有说明:int *p,n;以下能通过scanf语句正确读入数据的程序段是( )。 A p=&n;scanf(%d,&p); B p=&n; scanf(%d,*p); C *p=&n; scanf(%d,p); D p=&n; scanf(%d,p); 73.下列关于函数的说法错误的是( )。A 函数是构成

29、C程序的基本元素。 B 主函数是C程序中的不可缺少的函数。 C 程序总是从第一个定义的函数开始执行。 D 在函数调用之前,必须要进行函数定义或者声明。 74.以下结构体说明和变量定义中,正确的是( )。A struct abcint n; float m;ABC x,y; B struct abcint n; float m;struct abc x,y; C struct abcint n; float m;ABC;ABC x,y; D struct abcint n; float m;struct abc x,y;75.函数的实参不能是( )。A 变量 B 常量 C 语句 D 表达式76.

30、设有如下的语句int a,c;char b,d;scanf(%d%c%d%c,&a,&b,&c,&d);则正确的输入格式是( )。 A 96 x77y B 96x77 y C 96x 77y D 96 x 77 y 77.函数在传值调用时,要求( )。A 实参与形参类型任意,个数相等 B 实参与形参类型任意,个数不等 C 实参与形参对应类型一致,个数相等 D 实参与形参对应类型一致,个数不等 78.int a=100, *p = &a;有如上定义, 则*p的值是( )。A 变量p的地址 B 变量a的地址值 C 变量a的值 D 无意义79.返回值为void的函数,其含义是( )。A 调用函数之后

31、,被调函数不返回 B 调用函数之后,被调函数没有返回值 C 调用函数之后,被调函数的返回值为整型 D 调用函数之后,被调函数的返回值为任意类型 80.以下结构体说明和变量定义中,正确的是( )。 A struct abcint n; float m;ABC x,y; B struct abcint n; float m;struct abc x,y; C struct abcint n; float m;ABC;ABC x,y; D struct abcint n; float m;struct abc x,y; ?这题不太清楚!81.语句char a1 =program; 与语句char a

32、2 =p,r,o,g,r,a,m;定义和初始化了两个数组a1和a2, 那么下列说法正确的是( )。A a1和a2代表的数组内容完全相同,所占存储单元的数目相同. B a1和a2代表的数组内容不同,所占存储单元的数目相同. C a1和a2代表的数组内容完全相同,所占存储单元的数目不同. D a1和a2代表的数组内容不同,所占存储单元的数目不同.82.在C语言中,引用数组元素时,其数组下标的数据类型( )。A 只允许是整型常量 B 可以是实型类型 C 可以是整型常量或整型表达式 D 允许是任何类型的表达式 83.当调用函数时,实参是一个数组名,则向函数传送的是( )。A 数组的长度 B 数组的首地

33、址 C 数组的第一个元素的值 D 整个数组的元素中的值 84.已知:int p( ); p是( )。A int型变量 B 函数p的调用 C 一个函数名,该函数的返回值是int型的值 D 强制类型转换表达式中的变量 85.若变量已正确说明为float类型,要通过以下赋值语句给a赋予10.0、b赋予22.0,c赋予33.0,不正确的输入形式是( )。scanf (%f%f%f, &a, &b,&c ) ;A 102233 B 10.0 , 22.0 , 33.0 C 10.0 22.0 33.0 D 10 223386.以下程序段的输出结果为:( )。int k=9270;printf(%2dn,

34、k); A 92 B 70 C 9270 D 提示出错,无结果 87.已知:int x=10,y=20,z=30; 以下语句执行后,x、y、z的值是( )。if(x y) z = x;x = y;y = z; A x=10,y=20,z=30 B x=20,y=30,z=30 C x=20,y=30,z=20 D x=20,y=30,z=1088.假定每一个int类型变量占用4个字节。现在有一个定义数组的语句: int x10=0,2,4;则数组x在内存中所占的字节数是( )。A 40 B 30 C 12 D 10 89.以下结构体说明和变量定义中,正确的是( )。A struct abcin

35、t n; float m;ABC x,y; B struct abcint n; float m;struct abc x,y; C struct abcint n; float m;ABC;ABC x,y; D struct abcint n; float m;struct abc x,y; 90.若有定义:int x, *pb; 则以下正确的赋值表达式是( )。A pb = &x B pb = x C *pb = &x D *pb = *x91.若有语句 int *point, a = 4; 和 point = &a; 下面均代表地址的一组选项是( )。A a,point,*(&a) B

36、&(*a),&a,*point C *point,*(&point),&a D &a,&(*point),point 92.以下对C语言函数的有关描述中,正确的是( )。A 在C语言中,调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参 B 函数必须有返回值,否则不能使用函数 C C程序中有调用关系的所有函数必须放在同一个源程序文件中 D 都不对 答案:1-10 DDCDD DDABD 11-20 BBCDB CDCCD21-30 BCCAA BDCAD 31-40 ABABD BCABD41-50 DCDDB ACBAA 51-60 ADCAD BCCDD 61-70 ACDAB BCDAD71-80 CDCDC CCCBD81-90 DABCB CBADA 91-92 DA

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号