1一、判断题1.C语言中,为了区别一般的变量,符号常量必须用大写字母表示。错2.C语言中,强制类型转换后,原变量的值和数据类型不变。对3.switch⋯case结构中条件表达式和常量表达式值可以为float类型。错4.C语言中,do-while语句构成的循环只能用break语句退出。错5.C语言中,数组元素的下标是从1开始的,下标不能越界。错6.一个数组中的所有元素可以具有不相同的数据类型。错7.C语言中,实参的个数、类型和位置必须与形参的定义一一对应。对8.所有的函数调用前都必须进行函数原型说明。错9.C语言通过文件指针对它所指向的文件进行操作。对10.在程序运行过程中,可通过赋值语句改变常量的值。错11.在一个循环体中,break和continue只能出现一次。错12.C语言中,字符串以字符数组形式存放,且规定了用’0’作为结束标记。对13.常量、表达式可以做为函数的形参。错14.C语言程序是函数体程序,main()是主函数。对15.在程序运行过程中,可通过重定义改变变量的类型。错16.在if语句中使用break,可退出选择结构。错17.函数的递归调用同样适用于主函数main()。对18.指针变量存放的是地址信息,所以对指针变量进行加、减等算术运算是没有意义的。错19.C语言数据文件由二进制数据序列组成,C语言中能读写二进制文件。对20.C语言中的文本文件以ASCII码形式存储数据。对二、单项选择题1.下面各选项中,均是C语言合法标识符的选项组是(B)。A.33weautoB._23me_3ewC._433e_elseD.ER-DF322.若在定义语句:inta,b,c,*p=&c;之后,接着执行以下选项中的语句,则能正确执行的语句是(C)。A.scanf("%d",&p);B.scanf("%d%d%d",a,b,c);C.scanf("%d",p);D.scanf("%d",a,b,c);3.表达式:(int)((double)9/2)-(9)%2的值是(B)。A.0B.3C.4D.54.以下程序段的描述,正确的是(C)。x=-1;do{x=x*x;}while(!x);A.是死循环B.循环执行两次C.循环执行一次D.有语法错误5.在下述程序中,判断i>j共执行的次数是(D)。main(){inti=0,j=10,k=2,s=0;for(;;){i+=k;if(i>j){printf("%d",s);break;2}s+=i;}}A.4B.7C.5D.66.有以下结构体说明、变量定义和赋值语句(D)。structSTD{charname[10];intage;charsex;}s[5],*ps;ps=&s[0];则以下scanf函数调用语句中错误引用结构体变量成员的是(D)。A.scanf(“%s”,s[0].name);B.scanf(“%d”,&s[0].age);C.scanf(“%c”,&(ps->sex));D.scanf(“%d”,ps->age);7.下列关系表达式中,结果为“假”的是(D)A.(3+4)>6B.(3!=4)>2C.3<=4||3D.(3<4)==18.下列关于开关语句中的描述中,错误的是(D)。A.开关语句中,case子句的个数是不受限制的。B.开关语句中,default子句的语句可以省略。C.开关语句中,右花括号具有退出开关语句的功能。D.开关语句中,case子句的语句序列中一定要有break语句。9.语句int*p=&k;定义了指针变量p,与这个语句等效的语句是(C)。A.int*p;p=k;B.int*p;*p=&kC.int*p;p=&k;D.intp;*p=k10.设有定义:intx[2][3];则以下关于二维数组x的叙述错误的是(D)。A.x[0]可看作是由3个整型元素组成的一维数组B.x[0]和x[1]是数组名,分别代表不同的地址常量C.数组x包含6个元素D.可以用语句x[0]=0;为数组所有元素赋初值011.下列关于编译预处理的描述,错误的是(B)。A.预处理在编译前执行B.预处理指令需要分号结束C.每条预处理指令要单独占一行D.预处理指令可以出现在程序的任何地方12.设有定义:inta=1,b=2,c=3;,以下语句中执行效果与其它三个不同的是(C)。A.if(a>b)c=a,a=b,b=c;B.if(a>b){c=a,a=b,b=c;}C.if(a>b)c=a;a=b;b=c;D.if(a>b){c=a;a=b;b=c;}13.有以下定义语句,编译时会出现编译错误的是(C)。A.chara=’a’B.chara=’n’;C.chara=’aa’;D.chara=’x2d’;14.若有定义语句:inta[4][10],*p,*q[4];且0≤i<4,则错误的赋值是(A)。A.p=aB.q[i]=a[i]C.p=a[i]D.p=&a[2][1]15.下面是有关C语言字符数组的描述,其中错误的是(D)。3A.不可以用赋值语句给字符数组名赋字符串B.可以用输入语句把字符串整体输入给字符数组C.字符数组中的内容不一定是字符串D.字符数组只能存放字符串16.下列程序的运行结果为(A)。#include