题目答案执行以下程序后,a,b的值分别为main(){inta,b,k=4,m=6,*p1=&k,*p2=&m;a=p1==&m;b=(-*p1)/(*p2)+7;printf(a=%d\n,a);printf(b=%d\n,b);}A)-1,5B)1,6C)0,7D)4,10C已知学生记录描述为structstudent{intno;charname[20];charsex;struct{intyear;intmonth;intday;}birth;};structstudents;设变量s中的“生日”应是“19D当说明一个结构体变量时系统分配给它的内存是A)各成员所需内存量的总和B)结构中第一个成员所需内存量C)成员中占内存量最大者所需的容量D)结构中最后一个成员所需内存量A以下运算符中优先级最低的是A)&&B)&C)||D)|C系统的标准输入文件是指A)键盘B)显示器C)软盘D)硬盘A以下可作为函数fopen中第一个参数的正确格式是A)c:user\text.txtB)c:\user\text.txtC)c:\user\text.txtD)c:\\user\\text.txtDprintf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列,如果字符串长度大于5,则输出按方式A)从左起输出该字符串,右补空格B)按原字符长从左向右全部输出C)右对齐输出该字串,左补空格D)输出错误信息B已有定义inta=-2;和输出语句printf(%8lx,a);以下正确的叙述是A)整型变量的输出形式只有%d一种B)%x是格式符的一种,它可以适用于任何一种类型的数据C)%x是格式符的一种,其变量的值按十六进制输出,但%8lx是错误的D)%8lx不是错误的格式符,其中数字8规定了输出字D以下C程序正确的运行结果是main(){longy=-43456;printf(y=%-8ld\n,y);printf(y=%-08ld\n,y);printf(y=%08ld\n,y);printf(y=%+8ld\n,y);}A)y=-43456(换行)y=-43456(换行)y=-0043456(换行)y=-43456B)y=-43456(换行)y=-43456(换C若有说明:inta[10];则对a数组元素的正确引用是A)a[10]B)a[3,5]C)a(5)D)a[10-10]d在C语言中,一维数组的定义方式为:类型说明符数组名_________A)[常量表达式]B)[整型表达式]C)[整型常量]或[整型表达式]D)[整型常量]D以下能对一维数组a进行正确初始化的语句是A)inta[10]=(0,0,0,0,0)B)inta[10]={};C)inta[]={0};D)inta[10]={10*1};C以下正确的函数定义形式是A)doublefun(intx,inty)B)doublefun(intx;inty)C)doublefun(intx,inty);D)doublefun(intx,y);A以下正确的说法是:在C语言中A)实参和与其对应的形参各占用独立的存储单元B)实参和与其对应的形参共占用一个存储单元C)只有当实参和与其对应的形参同名时才共占用存储单元D)形参是虚拟的,不占用存储单元A若调用一个函数,且此函数中没有return语句,则正确的说法是:该函数A)没有返回值B)返回若干个系统默认值C)能返回一个用户所希望的值D)返回一个不确定的值D请读程序:#defineADD(x)x+xmain(){intm=1,n=2,k=3;intsum=ADD(m+n)*k;printf(sum=%d,sum);}上面程序的运行结果是A)sum=9B)sum=10C)sum=12D)sum=18B以下叙述中正确的是A)在程序的一行上可以出现多个有效的预处理命令行B)使用带参的宏时,参数的类型应与宏定义时的一致C)宏替换不占用运行时间,只占编译时间D)在以下定义中CR是称为“宏名”的标识符#defineCR045C以下程序的运行结果是#defineMIN(x,y)(x)(y)?(x):(y)main(){inti=10,j=15,k;k=10*MIN(i,j);printf(%d\n,k);}A)10B)15C)100D)150B下面程序应能对两个整型变量的值进行交换。以下正确的说法是main(){inta=10,b=20;printf((1)a=%d,b=%d\n,a,b);swap(&a,&b);printf((2)a=%d,b=%d\n,a,b);}swap(intp,intq){intt;t=p;p=q;q=t;}A)该程序完全正确B)该程序有错,只要将语句swap(&a,&b);D以下程序中调用scanf函数给变量a输入数值的方法是错误的,其错误原因是main(){int*p,*q,a,b;p=&a;printf(inputa:);scanf(%d,*p);}A)*p表示的是指针变量p的地址B)*p表示的是变量a的值,而不是变量a的地址C)*p表示的是指针变量p的值D)*p只能用来说明p是B以下程序有错,错误原因是main(){int*p,i;char*q,ch;p=&i;q=&ch;*p=40;*p=*q;......}A)p和q的类型不一致,不能执行*p=*q;语句B)*p中存放的是地址值,因此不能执行*p=40;语句C)q没有指向具体的存储单元,所以*q没有实际意义D)q虽然指向了具体的存储单D设有以下说明语句structstu{inta;floatb;}stutype;则下面的叙述不正确的是A)struct是结构体类型的关键字B)structstu是用户定义的结构体类型C)stutype是用户定义的结构体类型名D)a和b都是结构体成员名CC语言结构体类型变量在程序执行期间A)所有成员一直驻留在内存中B)只有一个成员驻留在内存中C)部分成员驻留在内存中D)没有成员驻留在内存中A在16位IBM-PC机上使用C语言,若有如下定义structdata{inti;charch;doublef;}b;则结构变量b占用内存的字节数是A)1B)2C)8D)11D若执行fopen函数时发生错误,则函数的返回值是A)地址值B)0C)1D)EOFB若要用fopen函数打开一个新的二进制文件,该文件要既能读也能写,则文件方式字符串应是A)ab++B)wb+C)rb+D)abB若以“a+”方式打开一个已存在的文件,则以下叙述正确的是A)文件打开时,原有文件内容不被删除,位置指针移到文件末尾,可作添加和读操作B)文件打开时,原有文件内容不被删除,位置指针移到文件开头,可作重写和读操作C)文件打开时,原有文件内容被删除,只可作写操作A在C语言中(以16位PC机为例),一个char型数据在内存中所占的字节数为_______;一个int型数据在内存中所占的字节数为_______1,2在C语言中(以16位PC机为例),一个float型数据在内存中所占的字节数为_____;一个double型数据在内存中所占的字节数为_________4,8若有以下定义,则计算表达式y+=y-=m*=y后的y值是___________intm=5,y=2;-16当a=3,b=2,c=1时,表达式f=abc的值是_________0当a=5,b=4,c=2时,表达式ab!=c的值是____________1以下程序的运行结果是______________#includestdio.hvoidmain(void){intx=1,y,z;x*=3+2;printf(%d\t,x);x*=y=z=5;printf(%d\t,x);x=y==z;printf(%d\n,x);}5,25,1C语言提供的三种逻辑运算符是_______,_______和_________&&,||,!下面程序段是从键盘输入的字符中统计数字字符的个数,用换行符结束循环。请填空intn=0,c;c=getchar();while(_______){if(______)n++;c=getchar();}c!='\n',c='0'&&c='9'设C语言中,一个int型数据在内存中占2个字节,则int型数据的取值范围为_______-32768至32767在C语言中的实型变量分为两种类型,它们是_______和__________float,double一个C程序的执行是从A)本程序的main函数开始,到main函数结束B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C)本程序的main函数开始,到本程序文件的最后一个函数结束D)本程序文件的第一个函数开始,到本程序main函数结束A以下叙述正确的是A)在C程序中,main函数必须位于程序的最前面B)C程序的每行中只能写一条语句C)C语言本身没有输入输出语句D)在对一个C程序进行编译的过程中,可发现注释中的拼写错误C以下叙述不正确的是A)一个C源程序可由一个或多个函数组成B)一个C源程序必须包含一个main函数C)C程序的基本组成单位是函数D)在C程序中,注释说明只能位于一条语句的后面DC语言规定,在一个源程序中,main函数的位置A)必须在最开始B)必须在系统调用的库函数的后面C)可以任意D)必须在最后C一个C语言程序是由A)一个主程序和若干子程序组成B)函数组成C)若干过程组成D)若干子程序组成BC源程序的基本单位是______________函数一个C源程序中至少应包括一个_____________main函数在一个C源程序中,注释部分两侧的分界符分别为________和________/*,*/在C语言中,输入操作是由库函数________完成的,输出操作是由库函数________完成的scanf,printf在C语言中(以16位PC机为例),5种基本数据类型的存储空间长度的排列顺序为A)charintlongint=floatdoubleB)char=intlongint=floatdoubleC)charintlongint=float=doubleD)char=int=longint=floatdoubleA若x,i,j和k都是int型变量,则计算下面表达式后,x的值为x=(i=4,j=16.k=32)A)4B)16C)32D)52C假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是A)7B)8C)6D)2B下列四组选项中,均不是C语言关键字的选项是A)defineIFtypeB)getccharprintfC)includescanfcaseD)whilegopowA下列四个选项中,均是C语言关键字的选项是A)autoenumincludeB)switchtypedefcontinueC)signedunionscanfD)ifstructtypeB下面四个选项中,均是不合法的用户标识符的选项是A)AP_0doB)floatla0_AC)b-agotointD)_123tempintCC语言中的标识符只能由字母,数字和下划线三种字符组成,且第一个字符A)必须为字母B)必须为下划线C)必须为字母或下划线D)可以是字母,数字和下划线中任一字符C下面四个选项中,均是合法整型常量的选项是A)160-0xffff011B)-0xcdf01a0xeC)-01986,0120668D)-0x48a2e50xA下面四个选项中,均是不合法的整型常量的选项是A)--0f1-0xffff0011B)-0xcdf01712,456C)-0189995e2D)-0x48eg-06803fD下面四个选项中,均是不合法的浮点数的选项是A)160.0.12e3B)1232e4.2.e5C)-.18123e40.0D)-e3.2341e3B下面四个选项中,均是合法的浮点数的选项是A)+1e+15e-9.403e2B)-.6012e-4-8e5C)123e1.2e-.4+2e-1D)-e3.8e-45.e-0