C语言题库试题
1、有以下程序
#include
void f(int a[],int i,int j) { int t; if(i<j)
{ t=a[i]; a[i]=a[j];a[j]=t; f(a,i+1,j-1); } }
void main( )
{ int i,aa[5]={1,2,3,4,5}; f(aa,0,4);
for(i=0;i<5;i++) printf(\}
执行后输出结果是
A)5,4,3,2,1, B)5,2,3,4,1 C)1,2,3,4,5, D)1,2,3,4,5
2、下面程序的输出是 A) 3 B) 4 C) 6 D) 9 #include
return(a); }
void main()
{ int k=2, m=1, n; n=fun3(k); n=fun3(m);
printf(\ }
3、若定义如下函数:
sub(int x) { float y; y=3*x-4; return y; } 则该函数的数据类型是________ 。 A.int B.不确定 C.void D.float
4、以下选项中合法的实型常数是______。
A) 5E2.0 B) E-3 C) .2E0 D) 1.3E
5、下面不正确的赋值语句是_____________。
A.a=a+1 B.a==b C.a+=b D.a=1
6、执行下面程序段,给x、y赋值时,不能作为数据分隔符的是 。
int x,y;
scanf(\﹠x,﹠y);
A) 空格 B) Tab键 C) 回车 D) 逗号
7、当运行以下程序时,在键盘上从第一列开始输入9876543210\此处\代表Enter),则程序的输出结果是
A)a=98,b=765,c=4321 B)a=10,b=432,c=8765
C)a=98,b=765.000000,c=4321.000000 D)a=98,b=765.0,c=4321.0 8、main()
{ int a; float b,c;
scanf(“ -?O”,﹠a,﹠b,﹠c); printf(“ \\na=%d,b=%f,c=%f\\n”,a,b,c); }
如这程序所示,如果运行时,输入 18,18 ,那么 b的值为多少? void main() {
int a,b;
scanf(\﹠a,﹠b); b+=a;
printf(\ }
A. 36 B. 34 C. 输入错误,b的值不确定 D. 19
9、与 y=(x〉0?1:x〈0?-1:0);的功能相同的if语句是 A) if (x〉0) y=1; B) if(x)
else if(x〈0) y=-1; if(x〉0)y=1;
else y=0; else if(x〈0) y=-1; else y=0; C) y=-1 D) y=0;
if(x) if(x〉=0)
if(x〉0) y=1; if(x〉0) y=1; else if(x==0) y=0; else y=-1; else y=-1;
10、若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为 A) a〈〉0 B) !a C) a=0 D) a!=0
11、两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是 main( ) { int x;
scanf(\﹠x);
if(x + + 〉5) printf(\
else printf(\A) 7和5 B) 6和3 C) 7和4 D) 6和4
12、已知int k;float m=-3;执行语句k=m%2;后,变量k的值是 A. -1 B. 0 C. 1
D. 语句有错误
13、设以下变量均为int类型,则值等于7的表达式是 A. (x=y=6,x+1,x+y) B. (x=y=6,y+1,x+y)
C. (y=6,y+1,x=y,x+1) D. (x=6,x+1,y=6,x+y)
14、下列选项中不是结构化程序基本结构的是 A. 顺序结构 B. 跳转分支结构 C. 选择结构 D. 循环结构
15、int x=0,y=5,z=3;
while(z-->0&&++x<5) y=y-1; printf(“%d,%d,%d\\n”,x,y,z);
以上程序段的输出结果是_________
A)3,2,0 B)3,2,-1 C)4,3,-1 D)5,-2,-5
16、下面程序段的输出结果是_________ int a=1,b=10; do
{ b-=a;a++;}while(b--<0); printf(\\n\);
A)a=3,b=11 B)a=2,b=8 C)a=1,b=-1 D)a=4,b=9
17、C语言语句一行写不下时,可以 。
A) 用逗号换行 B) 用分号换行 C) 用回车换行 D) 在任意一空格处换行
18、下列关于C语言用户标识符的叙述中正确的是______。 A. 用户标识符中可以出现下划线和中划线(减号)
B. 用户标识符中不可以出现中划线,但可以出现下划线
C. 用户标识符中可以出现下划线,但不可以放在用户标识符的开头
D. 用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头
19、以下叙述不正确的是
A. 一个C源程序可由一个或多个函数组成 B. 一个C源程序必须包含一个main函数 C. C程序的基本组成单位是函数
D. 在C程序中,注释说明只能位于一条语句的后面
20、若有说明:int a[10];则对a数组元素的正确引用是 A. a[10] B. a[3,5] C. a(5) D. a[10-10]
21、对以下说明语句的正确理解是_________。 int a[10]={3,4,5,6,7};
A)将5个初值依次赋给a[1]至a[5] B)将5个初值依次赋给a[0]至a[4] C)将5个初值依次赋给a[6]至a[10]
D)因为数组长度与初值的个数不相同,所以此语句不正确
22、以下关于数组的描述正确的是__________。
A) 数组的大小是固定的,但可以有不同的类型的数组元素。 B) 数组的大小是可变的,但所有数组元素的类型必须相同。 C) 数组的大小是固定的,所有数组元素的类型必须相同。 D) 数组的大小是可变的,可以有不同的类型的数组元素。
23、语言中,二维数组元素在内存中的存放顺序是按_____顺序存放。
24、下面程序段的执行结果是_________ int i=1; while(i<=5) if(++i%3!=2) continue; else
printf(\
25、分析如下程序,若此程序运行输出结果是: #include
printf(\}
void main() {
int a=25;

