北京林业大学c语言题库上机题一52411133.doc_第1页
北京林业大学c语言题库上机题一52411133.doc_第2页
北京林业大学c语言题库上机题一52411133.doc_第3页
北京林业大学c语言题库上机题一52411133.doc_第4页
北京林业大学c语言题库上机题一52411133.doc_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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 函数必须有返回值,否则函数将无法使用 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 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 可以嵌套调用,但不能调用自己 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+ 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是字符型变量,下面正确的赋值语句是( )。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语言中的一个合法表达式。 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 数据文件和二进制文件 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.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); default: 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元素的数组.应当选择语句( )。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.已知:char 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,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+; case 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.在语言中对文件操作的一般步骤是( )。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;struct 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); 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只可以指向整型变量。 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=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;用语句scanf(%d%d,&a,&b);输入a、b的值时,不能作为输入数据分离符的是( )。 a , b 空格 c 回车 d ab50.下面关于数组的描述正确的是( )。a 数组的长度是固定的,数组元素的类型必须相同 b 数组的长度是可变的,数组元素的类型必须相同 c 数组的长度是固定的,数组元素的类型可以不同 d 数组的长度是可变的,数组元素的类型可以不同 51.c程序由函数构成,下列说法正确的是( )。a 主函数可以在其它函数之前,函数内可以嵌套定义函数 b 主函数可以在其它函数之后,函数内不可以嵌套定义函数 c 主函数必须在其它函数之前,函数内不可以嵌套定义函数 d 主函数必须在其它函数之后,函数内可以嵌套定义函数 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的定义中正确的描述是( )。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.已知: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 中的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.putchar函数可以向显示器输出一个( )。 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 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 函数的类型 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=chinabeijing * *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 函数是构成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.设有如下的语句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 调用函数之后,被调函数不返回 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 a2 =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 数组的首地址 c 数组的第一个元素的值 d 整个数组的元素中的值 84.已知:int p( ); p是( )。a int型变量 b 函数p的调用 c 一个函数名,该函数的返回值是int型的值 d 强制类型转换表达式中的变量 85.若变量已正确说明为float类型,要通过以下赋值语句给a赋予10.0、b赋予22.0,c赋予33.0,不正确

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论