1、8、设int a=2,b;则执行b=a&1;语句后,b的结果是 b 。A、0 B、1 C、2 D、39、在C程序中,设一表达式中包含有int,long, unsigned和char类型的变量和数据,则表达式最后的运算结果类型是 d 。A、int B、char C、unsigned D、long10、下面程序段的运行结果是 b 。 main ( ) int a=11,b=10,c=0; a/=b+(b&c);a=a/b printf(%dna);A、0 B、1 C、1.1 D、1111、两次运行下面程序,如果从键盘上分别输入6和4,则程序的输出结果是 C 。 int x; scanf(%d,&x
2、); if(x+5) printf(%d,x); else printf(%dn,x-1);A、7和5 B、6和3 C、7和4 D、6和412、若定义int x10;则Turbo C编译系统为该数组分配 c 个字节存储单元。2*10A、10 B、11 C、20 D、2113、若有如下函数定义: add(float x, float y) 则下列说法正确的是 c 。A.函数返回值类型不确定 B.函数返回值是float型C.函数返回值是int型 D.函数返回值是void型14、对于int *pa5;的描述, d 是正确的。 A、pa是一个指向数组的指针,所指向的数组是5个int 型元素 B、pa是
3、一个指向某数组中第5个元素的指针,该指针是int 型变量 C、pa5表示某个数组的第5个元素的值D、pa是一个具有5个元素的指针数组,每一个元素是一个int 型指针15、 对for(表达式1; ;表达式3)可理解为_b_。A、for(表达式1;0;表达式3;)B、for(表达式1;C、for(表达式1;表达式1;D、for(表达式1;16、若有说明:int a44=0,则下面不正确的是_A_。A、数组a的每个元素都可得到初值0B、二维数组a的第一维大小为1C、因为二维数组a中第二维大小的值除以初值个数的商为1,故数组a的行数为1D、只有元素a00和a01可得到初值0,其余元素均得不到初值017
4、、若有说明:int n=2,*p=&n,*q=p;,则以下非法的赋值语句是 d 。A、p=q; B、*p=*q; C、n=*q; D、p=n;18、若有以下说明和定义typedef int *INTEGER;INTEGER p,*q;以下叙述正确的是 D 。A、P是int型变量 B、程序中可用INTEGER代替int类型名C、q是基类型为int的指针变量 D、p是基类型为int的指针变量19、有以下程序main() char a =a,b,c,d, e, f, g,0; int i,j;i=sizeof(a); j=strlen(a);printf(“%d,%dn”,i,j);程序运行后的输出
5、结果是 b 。A、8,8 B、8,7 C、7,8 D、9,820、在C程序中,可以把整型数以二进制形式存放到文件中的函数是 A 。 A、fprintf函数 B、fread函数 C、fwrite函数 D、fputc函数21 、22、设int a=2,b;23、以下数组定义中不正确的是 d 。A、 int a23;B、 int b3=0,1,2,3;C、 int c100100=0;D、 int d3=1,2,1,2,3,1,2,3,4;24、能正确表示a和b同时为正或同时为负的逻辑表达式是 d 。A、(a=0b=0)&(a0b=0&b0&b0)&(a+b 025、x、y、z被定义为int型变量,
6、若从键盘给x、y、z输入数据,正确的输入语句是 b 。A、INPUT x, y, z; B、scanf(%d%d%d,&x,&y,&z);C、scanf(,x, y, z); D、read(26 、在Turbo 2.0中,若定义 char c;.则变量c在内存中分配的字节数是 a 。 A、1个 B、2个 C、4个 D、8个27、在Turbo 2.0中,若定义 int c;.则变量c在内存中分配的字节数是 b 。28、在Turbo 2.0中,若定义 long c;.则变量c在内存中分配的字节数是 c 。29、以下运算符中优先级最高的是c。A、 B、+、- C、( ) D、%31、以十六进制形式输
7、出整数的格式说明符是c。A、%u B、%ld C、%X D、%o32、以八进制形式输出整数的格式说明符是d。A、%u B、%ld C、%x D、%o33、能正确表示逻辑关系:“a10或 a0”的C语言表达式是 d 。A、a=10 or a=10| a=10 & a=10|a7) printf(*);x-; A、* B、* C、* D、*35 、C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是 b 。A、地址传递 B、单向值传递C、双向值传递。即由实参传给形参,再由形参传回给实参D、由用户指定传递方式36、以下正确的函数形式是 d 。A、double fun1(int x,int
8、y) z=x+y;return z;B、fun1(int x, y) int z;C、int fun1(x,y) int x,y;double z;D、double fun1(int x, int y) 37、C语言允许函数值类型缺省定义,此时该函数值隐含的类型是 b 。A、float型 B、int型 C、long型 D、double型38、一个C语言程序是由 b 。A、一个主程序和若干子程序组成B、若干函数组成C、若干过程组成D、若干子程序组成39、已知:char *s=NameAddress;则s所指的字符串的长度为 c 。A、18 B、16 C、13 D、1440、若有条件表达 (exp
9、)?a+:b-,则以下表达式中能完全等价于表达式(exp)的是 b 。exp :!0 0A、(exp= =0) B、(exp!=0) C、exp= =1 D、(exp!=1)41、以下程序有语法性错误,有关错误原因的正确说法是 c 。void main(void)int k;void prt_char(); k=prt_char(G);A、语句void prt_char();有错,它是函数调用语句,不能用void说明。B、变量名不能使用大写字母。C、函数原型说明和函数调用语句之间有矛盾。D、函数名不能使用下划线。42、若有如下定义,则下面在scanf函数调用语句中对结构体成员的引用不正确是 a
10、 。struct pupilchar name20;int age;int sex;pup5,*p;A、scanf(%d,p-age);B、scanf(%s,pup0.name);pup0.age);D、scanf(pup1.sex);43、若已有定义int(*p)(); 则指针p b 。A、代表函数的返回值B、指向函数的入口地址C、表示函数的类型D、表示函数返回值的类型44、若有语句:int a=4, *p=&a;,下面均代表地址的一组选项是 c 。A、a,p,&*a B、*&a,*p C、&a,p,&*p D、*&p,*p,&a45、已知:unsigned int x=65535;则执行以
11、下语句后的x值为 a 。printf(,x);A、65535 B、1 C、无确定值 D、-146、求字符串长度的函数是 d 。A、strcat B、strcpy C、strcmp D、strlen45. 下述对C语言字符数组的描述中错误的是 b 。A、字符数组可以存放字符串。B、字符数组的字符可以整体输入、输出。C、可以在赋值语句中通过赋值运算符对字符数组整体赋值。D、 可以用关系运算符对字符数组中的字符进行比较。46、以下关于do-while循环的不正确描述是 b 。A、do-while的循环体至少执行一次B、do-while循环由do开始,用while结束,在while(表达式);后面不能写分号C、在do-while循环体中,一定要有能使while后面表达式的值变为零(假)的操作D、do-while的循环体可以是复合语句47、以下选项中,与k=n+完全等价的表达式是 a 。A、k=n