C语言习题及答案.doc
文本预览下载声明
C语言
一、选择题:(20题,每小题2分,共40分)
1、能将目标程序转换成可执行程序的是______。
A. 编辑程序 B. 编译程序 C. 解释程序 D. 链接程序
2、下面标识符中,正确的用户标识符为______。
A.day B.3AB C.long D.num-1
3、下列形式的常数中,C程序不允许出现的是______。
A.45. B.4e-3 C.12e6. D..45
4、若定义int x; float y; 且执行 scanf(%3d%f,x,y); 语句时,从第一列开始输入数据12345 67回车,则x和y的值分别为______。
A.12345 不确定 B.123 45.000000
C.45 67.000000 D.345 12.000000
5、以下程序的运行结果是______。
#include stdio.h
void main()
{ double f=3.14159;
int n;
n = (int)(f+10)%3;
printf(%d\n,n);
}
A.1 B.0 C.2 D.3
6、已知x=3、y=2,则表达式x*=y+8的值为______。
A.3 B.2 C.30 D.10
7、执行下列语句的结果是______。
i=3;
printf(%d,,++i);
printf(%d,i++);
A.3,3 B.3,4 C.4,3 D.4,4
8、若已有定义:int a=5,b=6,c=7; 则表达式!(a+b)a+b+c/3的值是______。
A.1 B.0 C.2 D.5
9、字母 a 的ASCII码为97,则下列语句的运行结果是______。
char a=a;
a--;
printf(%d,%c\n,a+2-0,a+3-0)
A.b,c B.a--运算不合法,故有语法错误
C.98,c D.格式描述和输出项不匹配,输出无定值
10、能正确表示a和b 同时为正或同时为负的逻辑表达式是______。
A.(a=0 || b=0) (a0 || b0)
B.(a=0 b=0) || (a0 b0)
C.(a+b0) (a+b=0)
D.a*b0
11、以下程序的输出结果是______。
#include stdio.h
void main()
{ int a=2,b=-1,c=2;
if(ab)
if(b0) c=0;
else c+=1;
printf(%d\n,c);
}
A.0 B.1 C.2 D.3
12、执行语句:for(i=1; i4; i++);后,变量i的值是______。
A.3 B.4 C.5 D.不确定
13、语句 while(!e);中的!e条件等价于
A.e!=1 B.e==0 C.e!=0 D.e0
14、以下程序的执行结果是_____。
main()
{ int i,sum
for(i=1; i=3; sum++) sum+=i;
printf(%d\n,sum);
}
A.6 B.3 C.死循环 D.0
15、以下程序的输出结果是______。
main()
{ int n=9;
while(n6)
{ n--;
printf(%d,n);
}
}
A.987 B.876 C.8765 D.9876
16. 以下对一维数组a的正确说明是:
char a(10); B. int a[];
C. int k=5,a[k]; D. char a[]={‘a’,‘b’,‘c’};
17.函数返回值的类型是由
A. return决定 B.调用函数决定
C. 定义函数时指定 D.main函数决定
18.设有数组定义char array [ ]=China; 则数组 array所占的空间为void main(void )
{ int m[3][3]={ {1}, {2}, {3} };
int n[3][3]={ 1, 2, 3 };
printf(%d, m[1][0]+n[0][0] );
printf(%d, m[0][1]+n[1][0] );
}
A. 30 B. 31 C. 56 D. 11
二、阅读程序,写出下面程序的运行结果(4小题,每小题5分,共20)
1、以下程序的运行结果是______。
#include stdio.h
void main
显示全部