|
C程序设计16秋在线作业2
一、单选题:
1.设i和k都是int类型,则有关for循环语句for(i=0,k=-1;k=1;i++,k++) printf("****\n");的说明正确的是( ) (满分:3)
A. 循环结束的条件不合法
B. 循环体一次也不执行
C. 循环体只执行一次
D. 是无限循环
2.执行下面程序后:main( ) {int a; printf("%d\n",(a=3*5,a*4,a+5));}a的值是( ) (满分:3)
A. 65
B. 20
C. 15
D. 10
3.若有以下调用语句, main( ) { … int a[50],n; … fun(n, &a[9]); }则不正确的fun函数的首部是( ) (满分:3)
A. void fun(int m
int x[])
B. void fun(int s
int h[41])
C. void fun(int p
int *s)
D. void fun(int n
int a)
4.以下程序 main( ) { int i=010,j=10,*pi,*pj; pi=&i; pj=&j; printf("%d,%d\n",*pi,*pj); }的输出结果为( ) (满分:3)
A. 10
10
B. 8
10
C. 010
10
D. 8
8
5.有如下函数调用语句: func(rec1,rec2+rec3,(rec4,rec5)); 该函数调用语句中,含有的实参个数是( ) (满分:3)
A. 3
B. 4
C. 5
D. 有语法错
6.下列程序把数组元素中的最大值放入a[0]中, main( ){ int a[10]={6,8,3,1,5,9,4,2,7,0}; for(i=0;i<10;i++,p++) if( ) *a=*p; printf(“%d\n”,*a);} 则在if语句中的条件表达式应该是( ) (满分:3)
A. p>a
B. *p>a[0]
C. *p>*a[0]
D. *p[0]>*a[0]
7.以下程序: ? char str[15]=”hello!”;printf(“%d\n”,strlen(str)); 的输出结果是( ) (满分:3)
A. 15
B. 14
C. 7
D. 6
8.已有定义:int x=3,y=4,z=5;,则表达式!(x+y)+z-1 && y+z/2的值是( ) (满分:3)
A. 6
B. 0
C. 2
D. 1
9.以下叙述正确的是( ) (满分:3)
A. 任何存贮类型变量在未赋初值时,其值都是不确定的
B. 将局部变量说明为static存贮类型,其生存期将得到延长
C. 将全局变量说明为static时,其作用域将被扩大
D. 形参可以使用的存贮类型说明符与局部变量相同
10.已定义c为字符型变量,则下列语句中正确的是 ( ) (满分:3)
A. c=‘97’;
B. c="97";
C. c=97;
D.
E. c="a";
11.以下4个选项中,不能看作一条语句的是( ) (满分:3)
A. {;}
B. a=0
b=0
c=0;
C. if(a>0);
D. if(b==0) m=1;n=2;
12.以下程序:main( ) { char c;int i;for(i=65;i<68;i++){ c=i+32;switch(c){ case ‘a’:printf("%c,",c);break; case ‘b’:case ‘e’:printf("ok,");default: printf("end");} }}的输出结果为( ) (满分:3)
A. a
ok
end
B. a
ok
endend
C. a
ok
end
end
D. a
ok
ok
13.若有以下说明: int a[12]={1,2,3,4,5,6,7,8,9,10,11,12}; char c='a',d,g; 则数值为4的表达式是( ) (满分:3)
A. a[g-c]
B. a[4]
C. a['d'-'c']
D. a['d'-c]
14.设有如下定义: char *aa[2]={"abcd","ABCD"}; 则以下说法中正确的是( ) (满分:3)
A. aa数组成元素的值分别是"abcd"和ABCD"
B. aa是指针变量
它指向含有两个数组元素的字符型一维数组
C. aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址
D. aa数组的两个元素中各自存放了字符'a'和'A'的地址
15.在C语言中,if语句后的一对圆括号中,用以决定分支流程的表达式为( ) (满分:3)
A. 只能是逻辑表达式
B. 只能是关系表达式
C. 只能是逻辑表达式或关系表达式
D. 可以是任意表达式
16.若已定义:int a[9], *p=a;并在以后的语句中未改变p的值,不能表示a[1]地址的表达式为( ) (满分:3)
A. p+1
B.
C. a+1
D. a++
E. ++p
17.有以下程序fun(int a, int b) { if(a>b) return(a); else return(b); } main( ) { int x=3, y=8, z=6, r; r=fun(fun(x,y), 2*z); printf("%d\n", r); } 程序运行后的输出结果是( ) (满分:3)
A. 3
B. 6
C. 8
D. 12
18.设整型变量a为5,使b不为2的表达式是( ) (满分:3)
A. b=a/2
B. b=6-(--a)
C. b=a%2
D. b=a>3?2
19.以下能正确定义一维数组的选项是( ) (满分:3)
1
20.以下不能正确定义二维数组的语句是( ) (满分:3)
A. int num [];
B. #define N 100 int num [N];
C. int num[0..100];
D. int N=100; int num[N];
三、判断题:
1.在一个由优先级相同的运算符组成的表达式中,计算顺序将是自左至右进行。 (满分:2)
A. int a[2][2]={{1}
{2}};
B. int a[][2]={1
2
3
4};
C. int a[2][2]={{1}
2
3};
D. int a[2][]={{1
2}
{3
4}};
2.C语言的所有循环语句都要求至少要执行一次循环体。 (满分:2)
A. 错误
B. 正确
3.C语言是一种低级语言。 (满分:2)
A. 错误
B. 正确
4.getchar( )函数的功能是从键盘上输入一个字符串。 (满分:2)
A. 错误
B. 正确
5.在程序中定义了一个结构体类型后,可以多次用它来定义具有该类型的变量。 (满分:2)
A. 错误
B. 正确
6.从变量的作用域分,变量分为静态变量和动态变量。 (满分:2)
A. 错误
B. 正确
7.在Turbo C中,整型数据在内存中占2个字节。 (满分:2)
A. 错误
B. 正确
8.在使用函数fgetc( )时,文件可以“w”的方式打开。 (满分:2)
A. 错误
B. 正确
9.C++源程序文件编译而成的目标代码文件的缺省扩展名为.exe。 (满分:2)
A. 错误
B. 正确
10.一个函数中只允许有一条return语句。 (满分:2)
A. 错误
B. 正确
11.如果形参与实参的类型不一致,则以实参类型为准。 (满分:2)
A. 错误
B. 正确
12.当#include后面的文件名用双引号""括起,仅搜索当前目录。 (满分:2)
A. 错误
B. 正确
13.函数若无返回值,则它一定无形参。 (满分:2)
A. 错误
B. 正确
14.表示X的值大于等于50或者小于等于20的C语言表达式为:X≥50( )X≤20。 (满分:2)
A. 错误
B. 正确
15.当循环体至少能执行一次时,while循环和do-while循环是等价的。 (满分:2)
A. 错误
B. 正确
16.任何数组在使用前必须先定义。 (满分:2)
A. 错误
B. 正确
17.若str1,str2是两个字符串,则if(str1==str2)可以比较两个字符串是否相等。 (满分:2)
A. 错误
B. 正确
18.数组的元素在内存中连续存贮。 (满分:2)
A. 错误
B. 正确
19.选择结构if语句和循环结构都可以使用嵌套形式。 (满分:2)
A. 错误
B. 正确
20.C程序总是从main( ) 函数的第一条语句开始执行的。 (满分:2)
A. 错误
B. 正确
|
|