21. 若有以下程序段:int a[]={4,0,2,3,1},i,j,t; for(i=1;i<5;i++) {t=a[i];j=i-1; while(j>=0&&t>a[j]) {

21. 若有以下程序段:int a[]={4,0,2,3,1},i,j,t; for(i=1;i<5;i++) {t=a[i];j=i-1; while(j>=0&&t>a[j]) {a[j+1]=a[j];j- -;} a[j+1]=t;} ...... 则该程序段的功能是( )
A. 对数组a进行插入排序(升序)
B. 对数组a进行插入排序(降序)
C. 对数组a进行选择排序(升序)
D. 对数组a进行选择排序(降序)
满分:2 分
22. 在一个C源程序文件中,若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使用的存储类别是( )
A. extern
B. register
C. auto
D. static
满分:2 分
23. 以下正确的描述是( )
A. C语言的预处理功能是指完成宏替换和包含文件的调用
B. 预处理指令只能位于C源程序文件的首部
C. 凡是C源程序中行首以"#"标识的控制行都是预处理指令
D. C语言的编译预处理就是对源程序进行初步的语法检查
满分:2 分
24. sizeof(float)是( )
A. 一个整型表达式
B. 一种函数调用
C. 一个不合法的表达式
D. 一个不合法的表达式
满分:2 分
25. 有定义:int a[5][4], (*p)[4]=a;,数组a的首地址为100,*(p+2)+3等于( )
A. 116
B. 118
C. 120
D. 122
满分:2 分
26. 以下不正确的语句为( )
A. if(x>y);
B. if (x= y) &&(x! = 0) x+= y;
C. if(x!= y)scanf("%d",&x); else scanf("%d",&y);
D. if(x< y){x++ ;y++;}
满分:2 分
27. 有字符数组a[80]和b[80],则正确的输出形式是( )
A. puts(a,b);
B. printf("%s,%s",a[],b[]);
C. putchar(a,b);
D. puts(a),puts(b);
满分:2 分
28. 设变量a b c d 和y都已经正确定义并赋值,若有以下if 语句: if(a<b) if(c==d) y=0; else y=1; 给语句所表示的含义是( )
A. y=0 a<b且c=d; y=1 a>=b
B. y=0 a<b且c=d; y=1 a>=b 且 c!=d
C. y=0 a<b且c=d; y=1 a<b 且 c!=d
D. y=0 a<b且c=d; y=1 c!=d
满分:2 分
29. 当把以下四个表达式用做if语句的控制表达式时,有一个选项与其它三个选项含义不同,这个选项是( )
A. K%2
B. K%2==1
C. (K%2)!=0
D. !K%2==1
满分:2 分
30. 以下正确的叙述是( )
A. C语言允许main函数带形参,且形参个数和形参名均可由用户指定
B. C语言允许main函数带形参,形参名只能是argc和argv
C. 当main函数带有形参时,传给形参的值只能从命令行中得到
D. 若有说明:main(int argc,char *argv),则形参argc的值必须大于1

21.B
22.D
23.C
24.A
25.D
26.B
27.D
28.B
29.D
30.main()函数可以有形参,由于C语言的灵活性高,个数和形参名都可以由用户指定,但是一般情况下只有最多三个形参,第一个用于统计命令行传入的参数的个数,第二个用于传入命令行参数,第三个用于传入系统环境变量和用户变量。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-12-20
BDCACBDBD
30.main()函数可以有形参,由于C语言的灵活性高,个数和形参名都可以由用户指定,但是一般情况下只有最多三个形参,第一个用于统计命令行传入的参数的个数,第二个用于传入命令行参数,第三个用于传入系统环境变量和用户变量。本回答被提问者采纳
第2个回答  2010-12-20
编程不会只为拿分
相似回答