|
【奥鹏】-[北京理工大学]北理工《C语言程序设计》在线作业
试卷总分:100 得分:100
第1题,在以下对C语言的描述中,正确的是( )。
A、在C语言中调用函数时,只能将实参数的值传递给形参,形参的值不能传递给实参
B、C语言函数既可以嵌套定义又可以递归调用
C、函数必须有返回值,否则不能使用函数
D、C语言程序中有定义关系的所有函数都必须放在同一源文件中
正确答案:A
第2题,若在键盘上输入:283.1900,想使单精度实型变量c的值为283.19,则正确的输入语句是( )。
A、scanf("%f",&c);
B、scanf("8.4f",&c);
C、scanf("%6.2f",&c);
D、scanf("8f",&c);
正确答案:A
第3题,以下( )不是C语言的特点。
A、语言的表达能力
B、语言定义严格
C、数据结构系统化
D、控制流程结构化
正确答案:B
第4题,C编译系统提供了对C程序的编辑、编译、连接和运行环境,以下可以不在该环境下进行的环节是( )。
A、编辑和编译
B、编译和连接
C、连接和运行
D、编辑和运行
正确答案
第5题,以下程序的输出是( )。main(){char a[2][5]={“6937”,”8254”};int i,j,s=0;for(i=0;i2;i++)for(j=0;a[j]'0'&&a[j]='9';j+=2)s=10*s+a[j]-‘0’;printf(“s=%d
”,s);}
A、6385
B、69825
C、63825
D、693825
正确答案:A
第6题,已知: struct{int i; char c; float a; }test; 则sizeof(test)的值是( )。
A、4
B、5
C、6
D、7
正确答案
第7题,已知“int a=4,b=5,c;”,则执行表达式“c=a=ab”后变量a的值为( )。
A、1
B、0
C、4
D、5
正确答案:B
第8题,为了显示一个文本文件的内容,在打开文件时,文件的打开方式应当时( )。
A、"r+"
B、"w+"
C、"wb+"
D、"ab+"
正确答案:A
第9题,说明语句"int (*p)(); "的含义是( )。
A、p是一个指向一维数组的指针变量
B、p是一个指针变量,指向一个整型数据
C、p是一个指向函数的指针,该函数的返回值是一个整型
D、以上都不对
正确答案:C
第10题,执行以下程序段后,a,b,c的值分别是( )。int a,b=100,c,x=10,y=9;a=(--x= =y++)?—x:++y; if(x9) b=x++;c=y;
A、9,9,9
B、8,8,10
C、9,10,9
D、1,11,10
正确答案:B
第11题,以下对C语言中联合类型数据的正确叙述是( )。
A、一旦定义了一个联合变量后,即可引用该变量或该变量中的任意成员
B、一个联合变量中可以同时存放其所有成员
C、一个联合变量中不能同时存放其所有成员
D、联合类型数据可以出现在结构类体型定义中,但结构体类型数据不能出现在联合类型定义中
正确答案:C
第12题,以下正确的数组定义语句是( )。
A、int y[1][4]={1,2,3,4,5};
B、float x[3][ ]={{1},{2},{3}};
C、long s[2][3]={{1},{1,2},{1,2,3}};
D、double t[ ][3]={0};
正确答案
第13题,已知:char s[10],*p=s,则在下列语句中,错误的语句是( )。
A、p=s+5;
B、s=p+s;
C、s[2]=p[4];
D、*p=s[0];
正确答案:B
第14题,下面程序的输出结果是( )。main(){int i,j;float s;for(i=6;i4;i--){s=0.0; for(j=i;j3;j--)s=s+i*j; }printf(“%f
”,s);}
A、135.000000
B、90.000000
C、45.000000
D、60.000000
正确答案:C
第15题,若有char a[80],b[80];则正确的是( )。
A、puts(a,b);
B、printf(“%s,%s”a[ ],b[ ]);
C、putchar(a,b);
D、puts(a);puts(b);
正确答案
第16题,下面描述中,不正确的是( )。
A、递归法的关键是必须有一个递归终止的条件。
B、递归算法要求语言具有反复自我调用子程序的能力。
C、对于同一个问题,递推算法比递归算法的执行时间要长。
D、递推算法总可以转换为一个递归算法。
正确答案:C
第17题,下列程序执行的结果是( )。A=1;b=2;c=3;While(bac){t=a;a=b;b=t;c--;}printf(“%d,%d,%d”,a,b,c);
A、1,2,0
B、2,1,0
C、1,2,1
D、2,1,1
正确答案:B
第18题,C语言规定,调用一个函数时,实参变量和形参变量之间的数据传递方式是( )。
A、地址传递
B、值传递
C、由实参传给形参,并由形参传回给实参
D、由用户指定传递方式
正确答案:B
第19题,在C语言的函数定义过程中,如果函数finA调用了函数funB,函数funB又调用了函数funA,则( )。
A、称为函数的直接递归
B、称为函数的间接递归
C、称为函数的递归定义
D、C语言中不允许这样的递归形式
正确答案:B
第20题,以下程序的输出结果是( )。main(){int i,k,a[10],p[3];k=5;for(i=0;i10;i++)a=i;for(i=0;i3;i++)p=a[i*(i+1)];for(i=0;i3;i++)k+=p*2;printf(“%d”,k); }
A、20
B、21
C、22
D、23
正确答案:B
第21题,已知:struct sk{int a;float b; }data,*p;若有p=&data, 则对data中的成员a的正确引用是( )。
A、(*p).data.a
B、(*p).a
C、p-data.a
D、p.data.a
正确答案:B
第22题,不能正确为字符数组输入数据的是( )。
A、char s[5];scanf(“%s”,&s);
B、char s[5];scanf(“%s”,s);
C、char s[5];scanf(“%s”,&s[0]);
D、char s[5];gets(s);
正确答案:A
第23题,if语句的控制条件( )。
A、只能用关系表达式
B、只能用关系表达式或逻辑表达式
C、只能用逻辑表达式
D、可以是任何表达式
正确答案
第24题,执行下面的语句后x的值为( )。int a=14,b=15,x;char c='A';x=((a&b)&&(c'a'));
A、TRUE
B、FLASE
C、0
D、1
正确答案
第25题,要判断char型变量m是否是数字字符,可以使用下列表达式( )。
A、0=m&&m=9
B、'0'=m&&m='9'
C、“0”=m&&m=“9”
D、前3个答案都是错误的
正确答案
第26题,利用fseek函数可以( )。
A、改变文件的位置指针
B、实现文件的顺序读写
C、实现文件的随机读写
D、以上答案均正确
正确答案
第27题,下面个选项组中,均属于C语言关键字的一组是( )。
A、auto,enum,include
B、switch,typedef,continue
C、signed,union,scanf
D、if,struct,type
正确答案:B
第28题,以下程序的输出结果是( )。main(){int i,x[3][3]={1,2,3,4,5,6,7,8,9}; for(i=0;i3;i++)printf(“%d,”x[2-i]);}
A、1,5,9
B、1,4,7
C、3,5,7
D、3,6,9
正确答案:C
第29题,已知:int x=1,y=2,z;则执行z=xy?++x:++y;则z的值为( )。
A、1
B、2
C、3
D、4
正确答案:C
第30题,若int a,b,c;则为它们输入数据的正确的语句是( )。
A、read(a,b,c);
B、scanf("%d%d%d",a,b,c);
C、scanf("%D%D%D",&a,&b,&c);
D、scanf("%d%d%d",&a,&b,&c);
正确答案
第31题,若有以下定义和语句:struct student{int num,age;};struct student stu[3]={{1001,20},{1001,19},{1003,21}};struct student *p=stu;则以下错误的引用是( )。
A、(p++)-num
B、p++
C、(*p).num
D、p=&stu.age
正确答案
第32题,下列对字符串的定义中错误的是( )。
A、char str[7]="FORTRAN"
B、char str[ ]=" FORTRAN"
C、char *str="FORTRAN"
D、char str[ ]={'F','O','R','T','R','A','N','
正确答案:A
第33题,C语言结构类型变量在程序执行期间( )。
A、所有成员一直驻留在内存中
B、只有一个成员驻留在内存中
C、部分成员驻留在内存中
D、没有成员驻留在内存中
正确答案:A
第34题,指出程序结束时,j、i、k的值分别是( )。main(){int a=10,b=5,c=5,d=5,i=0,j=0,k=0;for(;ab;++b)i++;while(a ++c)j++;do k++;while(ad++);}
A、j=5,i=4,k=6;
B、i=5,j=4,k=6;
C、j=6,i=5,k=7
D、j=6,i=6,k=6;
正确答案:B
第35题,main(argc,argv)中形式参数argv的正确说明形式应当为( )。
A、char *argv[ ]
B、char argv[ ][ ]
C、char argv[ ]
D、char *argv
正确答案:A
第36题,执行下列程序段后,x、y和z的值分别是( )。int x=10,y=20,z=30;if(xy)z=x; x=y; y=z;
A、10,20,30
B、20,30,30
C、20,30,10
D、20,30,20
正确答案:B
第37题,执行以下程序段后,c3的值是()。int c1=1,c2=2,c3; c3=c1/c2;
A、0
B、1/2
C、0.5
D、1
正确答案
第38题,下列说法中正确的是( )。
A、break用在switch语句中,而continue用在循环语句中。
B、break用在循环语句中,而continue用在switch语句中。
C、break能结束循环,而continue只能结束本次循环。
D、continue能结束循环,而break只能结束本次循环。
正确答案:C
第39题,已知:int a,*p=&a; 则下列函数调用中错误的是( )
A、scanf("%d",&a);
B、scanf("%d",p);
C、printf("%d",a);
D、printf("%d",p);
正确答案
第40题,若int x;则执行下列程序段后输出是( )。for(x=10;x3;x--){if(x%3)x--;--x;--x;printf(“%d”,x); }
A、63
B、62
C、74
D、73
正确答案:C
第41题,若函数的返回值与return表达式类型不一致时,以return 表达式类型为准。
A、错误
B、正确
正确答案:
第42题,在标准C语言中,在定义带参数的宏时也要定义参的类型。
A、错误
B、正确
正确答案:
第43题,设有变量定义char s[]=”hello”,则数组中有6个元素。
A、错误
B、正确
正确答案:√
第44题,在标准C语言中,可以用typedef定义类型,所以用typedef可以增加C语言的数据类型。
A、错误
B、正确
正确答案:
第45题,"A"是一个字符常串量。
A、错误
B、正确
正确答案:√
第46题,在标准C语言中,所有函数在调用之前都要进行声明。
A、错误
B、正确
正确答案:
第47题,在C语言中,函数中只能有一个return 语句。
A、错误
B、正确
正确答案:
第48题,“%”运算两侧的数据可以是任意类型的数据。
A、错误
B、正确
正确答案:
第49题,在C语言中,参与运算的数据类型必须完全一致,不一致时要先将较低的数据类型转换为较高的数据类型。
A、错误
B、正确
正确答案:√
第50题,在C语言中,以“r”方式不能打开并不存在的文件。
A、错误
B、正确
正确答案:√
|
|