在线作业拿答案加微信:1144766066试卷列表
单选?
1.以下叙述正确的是
?分 拿答案加微信值:2
A. C语言中各函数之间既允许直接递归调用也允许间接递归调用
???B. C语言中各函数之间既不允许直接递归调用也不允许间接递归调用
???
C. C语言中各函数之间既允许直接递归调用不允许间接递归调用
???D. C语言中各函数之间既不允许直接递归调用允许间接递归调用
????
2.以下程序的输出结果是
char str[ ]=& uot;ABCD& uot;,*p=str;
printf (& uot;%d & uot;,*(p+4));?分 拿答案加微信值:2
A. 8
???B. 0
???
C. 字符D的地址
???D. 不能确定的值
????
3.以下程序的输出结果是
main( )
{ int a[ ]={1,2,3,4 },i,x=0;
for(i=0; i<4; i++) { sub(a,&x); printf(“%d”, x); }
printf(“ ”);
}
sub( int *s, int *y)
{ static int t=3;
*y=s[t]; t-- ; }?分 拿答案加微信值:2
A. 1 2 3 4???B. 4 3 2 1???
C. 0 0 0 0???D. 4 4 4 4
????
4.以下程序的输出结果是
main( )
{ int k=4, m=1,p;
p=func(k,m);
printf(“%d,”,p);
p=func(k,m);
printf(“%d ”,p);
}
func( int a, int b);
{ static int m, i=2;
i+=m+1;
m=i+a+b;
return(m);
}?分 拿答案加微信值:2
A. 8,11???B. 8,1 ???
C. 8,20???D. 8,8
????
5.以下程序的输出结果是
void fun(int *s)
{ static int j=0;
do
s[j]+=s[j+1];
while(++j<2);
}
main( )
{ int k,a[10]={1,2,3,4,5};
for (k=1; k<3; k++) fun(a);
for (k=0; k<5; k++) printf(“%d”,a[k] );
}?分 拿答案加微信值:2
A. 3415
???B. 23445
???
C. 35145
???D. 12345
????
.以下程序的输出结果是
f(int a)
{ int b=0;
static int c=3;
a=c ++, b ++;
return( a );
}
main( )
{ int a=2,i,k;
for(i=0 ; i<2; i++) k=f(a++);
printf(“%d ”,k);
}?分 拿答案加微信值:2
A. 3
???B.
???
C. 5
???D. 4
????
1.以下程序的输出结果是
int m=13;
int fun2(int x, int y)
{ int m=3;
return(x * y – m);
}
main( )
{ int a=1,b=5;
printf(“%d ”,fun2(a,b)/m ); }?分 拿答案加微信值:2
A. 1???B. 2???
C. 1???D. 10
????
8.C语言中, 形参的缺省的存储类说明是
?分 拿答案加微信值:2
A. auto ( 自动 )
???B. static ( 静态 )
???
C. register ( 寄存器 )
???D. extern ( 外部 )
????
9.以下选项中正确的整型常量是 __________。
?分 拿答案加微信值:2
A. 12.
???B. -20
???
C. 1,000
???D. 4 5
????
10.以下选项中正确的实型常量是 __________。
?分 拿答案加微信值:2
A. 0
???B. 3.1415
???
C. 0.329*102
???D. .811
????
11.以下选项中不正确的实型常量是__________。
?分 拿答案加微信值:2
A. 2. 01E-1???B. 0.8103e 2???
C. -11.11???D. 45 e-2
????
12.以下选项中不合法的用户标识符是_________。
?分 拿答案加微信值:2
A. abc.c???B. file???
C. Main???D. PRINTF
????
13.以下选项中不合法的用户标识符是__________。
?分 拿答案加微信值:2
A. _123???B. printf???
C. A$???D. Dim
????
14.C语言中运算对象必需是整型的运算符是__________。
?分 拿答案加微信值:2
A. %???B. /???
C. !???D. **
????
15.可在C程序中用作用户标识符的一组标识符是_________。
?分 拿答案加微信值:2
A. void define WORD
???B. as_b3 _123 If
???
C. For -abc case
???D. 2c DO SIG
????
1 .若变量已正确定义并赋值,符合C语言语法的表达式是_________。
?分 拿答案加微信值:2
A. a=a+1;
???B. a=1+b+c,a++
???
C. int(12.3%4)
???D. a=a+1=c+b
????
11.以下叙述中正确的是_________。
?分 拿答案加微信值:2
A. a是实型变量,C允许进行以下赋值a=10,因此可以这样说:实型变量允许赋值整型值。
???B. 在赋值表达式中,赋值号左边既可以是变量也可以是任意表达式。
???
C. 执行表达式a=b后,在内存中a 和 b存储单元中的原有值都将被改变,a的值已由原值改变为b 的值, b 的值由原值变为0。
???D. 已有a=3,b=5。当执行了表达式 a=b ,b=a 之后,已使a 中的值为5,b 中的值为3。
????
18.以下叙述中正确的是________。
?分 拿答案加微信值:2
A. 在C程序中雅论整数还是实数,只要在允许的范围内都能准确雅误的表示。
???B. C程序由主函数组成。
???
C. C程序由函数组成。
???D. C程序由函数和过程组成。
????
19.若a、b、c、d、都是int类型变量且初值为0,以下选项中不正确的赋值语句是_________。
?分 拿答案加微信值:2
A. a=b=c=d=100;???B. d++;???
C. c+b;???D. d=(c=22)-(b++);????
20.以下合法的C语言赋值语句是_________。
?分 拿答案加微信值:2
A. a=b=58???B. k=int(a+b);???
C. a=58,b=58???D. --i;
????
21.若变量已正确说明为int类型,要给?分 拿答案加微信值:2
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);????
22.若变量已正确定义,要将a和b中的数进行交换,下面不正确的语句组是_________。
?分 拿答案加微信值:2
A. a=a+b, b=a-b, a=a-b;
???B. t=a, a=b, b=t;
???
C. a=t; t=b; b=a;
???D. t=b; b=a; a=t;
????
23.若有以下程序段,c3中的值是__________。
int c1=1,c2=2,c3;
c3=c1/c2;?分 拿答案加微信值:2
A. 0???B. 1/2???
C. 0.5???D. 1
????
24.若有以下程序段 ,其输出结果是__________。
int a=0,b=0,c=0;
c=(a-=a-5),(a=b,b+3);
printf(“ %d,%d,%d ”,a,b,c);?分 拿答案加微信值:2
A. 0,0,-10???B. 0,0,5???
C. -10,3,-10???D. 3,0,-10
????
25.当运行以下程序时,在键盘上从第一列开始输入981 543210(此处代表Enter),则程序的输出结果是__________。
main( )
{ int a; float b,c;
scanf(“ %2d%3f%4f”,&a,&b,&c);
printf(“ a=%d,b=%f,c=%f ”,a,b,c);} ?分 拿答案加微信值:2
A. a=98,b=1 5,c=4321
???B. a=10,b=432,c=81 5
???
C. a=98,b=1 5.000000,c=4321.000000
???D. a=98,b=1 5.0,c=4321.0
????
2 .若int类型占两个字节,则以下程序段的输出是__________。
int a=-1;
printf(“ %d,%u ”,a,a); ?分 拿答案加微信值:2
A. -1,-1???B. -1,321 1???
C. -1,321 8???D. -1, 5535
????
21.以下程序段的输出是__________。
float a=3.1415;
Printf(“ |% .0f| ”,a); ?分 拿答案加微信值:2
A. |3.1415|???B. | 3.0|???
C. | 3|???D. | 3.|
????
28.以下程序段的输出是__________。
float a=51. ;
pirntf(“ %010.2f ”,a); ?分 拿答案加微信值:2
A. *0000051. *
???B. * 51. *
???
C. *0000051. 1*
???D. * 51. 1*
????
29.C语言中的简单类型有
?分 拿答案加微信值:2
A. 整型,实型,逻辑型
???B. 整型,实型,字符型
???
C. 整型,字符型,逻辑型
???D. 整型,实型,逻辑型,字符型
????
30.C语言中,字符型(char)数据在微机内存中的存储形式是
?分 拿答案加微信值:2
A. 反码???B. 补码???
C. EBCDIC码???D. ASCII码
????
31.C语言中不合法的字符常量是
?分 拿答案加微信值:2
A. ′\0XFF′???B. ‘\ 5′???
C. ′&′???D. ′\028′
????
32.C语言中不合法的字符串常量是
?分 拿答案加微信值:2
A. & uot;121& uot;???B. ′Y=′???
C. & uot; & uot;???D. & uot;ABCD\X d& uot;
????
33.判断char型变量C是否为大写字母的最简单且正确的表达式是
?分 拿答案加微信值:2
A. ‘A ’<=C=‘Z’
???B. (C>=′A′)&(C<=′Z′)
???
C. (′A′<=C)AND(′Z′>=C)
???D. (C>=′A′)&&(C<=′Z′)
????
34.以下程序的输出结果是
main( )
{ char c1=′a′,c2=′y′;
printf(& uot;%d,%d & uot;,c1,c2);
}?分 拿答案加微信值:2
A. 因输出格式不合法,雅正确输出
???B. 5,90
???
C. A,Y
???D. 5,89
????
35.以下程序的输出结果是
main( )
{char x=′a′
x=(x>=′A′&& x<=′Z′)?(x+32):x;
printf(& uot;%c & uot;,x);
}?分 拿答案加微信值:2
A. A???B. a???
C. Z???D. z
????
3 .以下各组选项中,均能正确定义二维实型数组a的选项是__________。
?分 拿答案加微信值:2
A. float a[3][4];
float a[][4];
float a[3][]={{1},{0}};
???B. float a(3,4);
float a[3][4];
float a[][]={{0},{0}};
???
C. float a[3][4];
static float a[][4]={{0},{0}};
auto float a[][4]={{0},{0},{0}};
???D. float a[3][4];
float a[3][];
float a[][4];
????
31.以下正确的说法是__________。
?分 拿答案加微信值:2
A. 实参和与其对应的形参占用独立的存储单元
???B. 实参和与其对应的形参共占用一个存储单元
???
C. 只有当实参和与其对应的形参同名时才共占用一个存储单元
???D. 形参是虚拟的,不占用存储单元
????
38.以下说法中正确的是
?分 拿答案加微信值:2
A. C语言程序总是从第一个定义的函数开始执行
???B. 在C语言程序中,要调用的函数必须在main函数中定义
???
C. C语言程序总是从main函数开始执行
???D. C语言程序中的main函数必须放在程序的开始部分 拿答案加微信
????
39.以下函数的类型是
fff(float x){
printf(& uot;%d & uot;,x*x);
}?分 拿答案加微信值:2
A. 与参数x的类型相同???B. void类型???
C. int类型???D. 雅法确定
????
40.以下程序的输出结果是
func(int a,int b)
{ int c
c=a+b;
return c; }
main( )
{ int x= ,y=1,z=8,r;
r=func((x--,y++,x+y),z--);
printf(& uot;%d & uot;,r); }?分 拿答案加微信值:2
A. 11???B. 20???
C. 21???D. 31
????
41.以下程序有错,错误原因是__________。
main()
{int *p,i;char * ,ch;
p=&i;
=&ch;
*p=40;
*p=* ;
…
}
?分 拿答案加微信值:2
A. p和 类型不一致,不能执行*p=* ;语句
???B. *p中存放的是地址值,因此不能执行*p=40;语句
???
C. 没有指向具体的存储单元,所以* 没有实际意义
???D. 虽然指向了具体的存储单元,但该单元中没有确定的值,所以不能执行*p=* ;语句
????
42.以下程序的输出结果是
double f(int n)
{ int i; double s;
s=1.0;
for(i=1; i<=n; i++) s+=1.0/i;
return s;
}
main()
{ int i,m=3; float a=0.0;
for(i=0; i
printf(& uot;%f & uot;,a)L;
} ?分 拿答案加微信值:2
A. 5.500000???B. 3.000000???
C. 4.000000???D. 8.25
????
43.若有定义: int x,*pb;则在以下正确的赋值表达式是
?分 拿答案加微信值:2
A. pb=&x???B. pb=x???
C. *pb=&x???D. *pb=*x????
44.以下程序的输出结果是
#include & uot;stdio.h& uot;
main()
{ printf(& uot;%d & uot;,NULL); }?分 拿答案加微信值:2
A. 因变量雅定义输出不定值
???B. 0
???
C. -1
???D. 1
????
45.有如下语句int a=10,b=20;*p1=&a,*p2=&b;如果让两个指针变量均指向b,正确的赋值方式是__________。
?分 拿答案加微信值:2
A. *p1=*p2;???B. p1=p2;???
C. p1=*p2;???D. *p1=*p2;
????
4 .已知指针P的指向如图所示,则表达式*P++的值是
a[0] a[1] a[2] a[3] a[4]
10 ??20 ??30 ??40 ??50
??????P?分 拿答案加微信值:2
A. 20???B. 30???
C. 21???D. 31
????
41.已知指针P的指向如图所示,则表达式* ++ P的值是
a[0] a[1] a[2] a[3] a[4]
10 ??20 ??30 ??40 ??50
??????P?分 拿答案加微信值:2
A. 20???B. 30???
C. 21???D. 31
????
48.已知指针P的指向如图所示,则表达式++*P的值
a[0] a[1] a[2] a[3] a[4]
10 ??20 ??30 ??40 ??50
??????P?分 拿答案加微信值:2
A. 20???B. 30???
C. 21???D. 31
????
49.以下能正确进行字符串赋值、赋初值的语句组是
?分 拿答案加微信值:2
A. char s[5]={′a′,′e′,′i′,′o′,′u′};
???B. char *s; s=& uot;good!& uot;;
???
C. char s[5]=& uot;good!& uot;;
???D. char s[5]; s=& uot;good& uot;;
????
50.若有以下说明和定义,则对fun函数的正确调用语句是
?分 拿答案加微信值:2
A. a=fun; a(w);
???B. a=fun; (*a)(&c);
???
C. b=fun; *b(w);???D. fun(b);
main( )
{
int (*a)(int*),*b( ),w[10],c;
:
:
}
fun(int *c) {...} |