一、单选题(请将正确答案写在答题纸,120题每题1,2135题每题2分,共50分)
1. 下列关于C语言的说法不正确的是 D )。
A.C语言既具有高级语言的一切功能,也具有低级语言的一些功能
B.注释可以出现在程序中任意合适的地方
C.C语言中的每一条执行语句都必须用分号结束,分号是C语言的一部分
D.定义函数的首行要加分号
2. C语言程序的执行顺序是B )。
A.从第一个函数开始执行        B.从main函数开始执行
C.从任意函数开始执行          D.从第一条语句开始执行
3. 以下关于注释的叙述,正确的是 D )。
A.注释参与编译,影响程序结果
B.注释不参与编译,但影响程序结果
C.注释参与编译,但不影响程序结果
D.注释不参与编译,不影响程序结果
4. 以下叙述正确的是 A )。
A.C语言程序可以在任意C编译器下编译
B.C语言程序只能在TC环境下编译
C.C语言程序只能在VCTC环境下编译
D.C语言程序只能在VC环境下编译
5. C语言中的标识符只能由字母,数字和下划线三种字符组成,且第一个字符 B )。
A.必须为字母
B.必须为下划线或字母
C.必须为下划线
D.可以是字母,数字和下划线中任一字符
6. 下面四个数字常量选项中,书写均正确的是  D )。
A.016  0x8f  018  (零开头的是八进制,不能用8)  B.0312  7ff  -087(8进制没有符号)
C.0xbc  0a7(8进制没有a)  0xa          D.070  0xf1  0x19(16进制以ox开头)
7. 若有说明语句:char c=0x7f;则变量c B )。
A.包含3个字符        B.包含1个字符
C.包含2个字符        D.说明不合法,c的值不确定
8. 设有int x=11;则表达式(++x*1/3)的值是( B )。(11+1再除以3
A.3      B.4        C.11      D.12
9. 阅读下面程序段,输出结果为()。(z-a=25
#include "stdio.h"
void main()
{ char c;
c=('z'-'a')/3+'A';   
putcharc;}
A.H    B.J    C.I      D.K
10. 若有定义和语句:int a=23,b=023; printf(%x,%d \n,a,b);
输出结果是( D )。
A. 17,15    B.17,18    C.18,19    D. 17,19
11. 已有定义语句:int x=3,y=4,z=5;则值为0的表达式是 D )。
A.y%z>=y-z    B.x<=++y    C.x!=y+z>y-z    D.x>y++
求余数4/5余数4      3小于等于5    x                        3>4为假,为0
12. 有如下程序(1.0除以3.0)
#include "stdio.h"
void main()
{float x=3.0,y;
if(x<0.0) y=0.0;
else if(x<10.0) y=1.0/x;
else y=1.0;
printf("%fn",y);}
该程序的输出结果是 A )。
A. 0.333333    B.0.250000    C. 0.000000    D.1.000000
*13. 有以下程序
#include <stdio.h>
void main()
{ int i=5;
do
{ if (i%3==1)
if (i%5==2)
{ printf("*%d", i); break;}
i++;
} while(i!=0);
printf("*%d\n",i);
}
程序的运行结果是 C  )。
A.*2*6    B.*3*5    C.*7    D.*5
14. 以下程序段的变量已正确定义
for(i=0;i<4;i++,i++,i++)
    for(k=1;k<3;k++)printf("#");
程序段的输出结果是      B )。
A.>###      B.####      C.##    D.#
15. 有以下程序(S是数组)
#include <stdio.h>
关于printf函数正确的是
void main()
{  int s[12]={2,2,3,4,4,3,2,1,1,1,2,3},c[5]={0},i;
for(i=0;i<12;i++)c[s[i]]++;
for(i=1;i<5;i++)printf("%d ",c[i]);
printf("\n");}
程序的运行结果是        A )。
A. 3 4 3 2    B.2 3 4 4    C. 1 2 3 4    D.1 1 2 3
16. 有下列程序:
#include <stdio.h>
#include <string.h>
void f(char p[ ][10],int n)
{ char t[10]; int i,j;
for (i=0;i<n-1; i++)
for (j=i+1; j<n; j++)
if(strcmp(p[i], p[j])>0) {strcpy(t, p[i]); strcpy(p[i], p[j]); strcpy(p[j], t); }
}
void main( )
{ char p[5][10]={"1ha", "abbdfg", "aabd", "dcdbe", "cd"};
f(p, 5);
printf("%d\n", strlen(p[0]));}
程序运行后的输出结果是          D )。
A.2    B.4    C.6    D.3
17. 有下列程序:
#include <stdio.h>
#include <string.h>
void main()
{ char p[20]={'a', 'b', 'c', 'd'}, q[]="ab", r[]="abcde";
strcpy(p+strlen(q), r); strcat(p, q);
printf("%d %d\n", sizeof(p), strlen(p));}
程序运行后的输出结果是                  A )。
A.20 9      B.9 9        C.20 11      D.11 11
18. 以下正确的函数定义(函数的功能求两数之和)是              C )。
A.int fun(int x, int y) { z=x+y ; return z ; }        (Z没有定义)
B.fun (int x,int y) { double z ;z=x+y ; return z ; }  (没定义)
C.int fun(int x,y) { int z ; return z ;}            (没运算)
D.int fun (int x, int y) { double z ;return z ; }
19. 以下func函数的调用中实参的个数是 B )。
func((exp1,exp2),(exp3,exp4,exp5));
A.1    B.2    C.5    D.3
20. 有以下程序:
#include <stdio.h>
int fun1(double a){return a*=a;}
int fun2(double x,double y)
{
double a=0,b=0;
a=fun1(x); b=fun1(y); return (int)(a+b);
}
void main()
{double w; w=fun2(2.2,2.0);……}
程序执行后变量w中的值是 D )。
A.8.84    B.5.0    C.8    D.8.0
21. 若有以下程序:
#include<stdio.h>
void f(int  n);
void main()
{ void  f(int  n);
f(5);    }
void  f(int  n)
{printf("%d\n",n);  }
则以下叙述中不正确的是 D )。
A.若只在主函数中对函数f进行说明,则只能在主函数中正确调用函数f
B.函数f无返回值,所以可用void将其类型定义为无值型
C.对于以上程序,编译时系统不会提示出错信息:提示对f函数重复说明
D.若在主函数前对函数f进行说明,则在主函数和其他函数中都可以正确调用函数f
22. 以下叙述不正确的是 A )。
A.在函数内复合语句中定义的变量也可在本函数范围内有效
B.函数中的形式参数是局部变量
C.在函数内定义的变量只在本函数范围内有效
D.在不同的函数中可以使用同名的变量
23. 若有以下定义,则对a数组元素地址的正确引用是 C )。
int a[10],*p=a;
A.p+10    B.*a+1    C.&a[9]    D.&a+1
25. 下面程序段的运行结果是 D )。
char *s="abcde";
s+=3; printf("%d",s);
A.cde    B.字符'c'    C.无确定的输出结果    D.字符'd'的地址
26. 已定义以下函数
funchar *pa, char *pb
{ while((*pb=*pa!='0'{pa++;pb++;}}
函数的功能是 D )。
A.检查papb两个指针所指字符串中是否有'0'
B.pa所指字符串的地址赋给指针pb
C.papb两个指针所指字符串进行比较
D.pa所指字符串复制到pb所指内存空间中
27. 表达式y=(12>13?15:6>7?8:9)的值为 C )。
A.1    B.8    C.9    D.15
28. 下列能正确定义字符串的语句是 B )。

发表评论