常熟理工学院C语言试题库本三_第1页
常熟理工学院C语言试题库本三_第2页
常熟理工学院C语言试题库本三_第3页
常熟理工学院C语言试题库本三_第4页
常熟理工学院C语言试题库本三_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

-.z.构造化程序设计语言编写的程序由三种构造组成:顺序构造、分支构造和。一个完整的C程序可以有多个函数,其中有且只能有一个名为的函数。数学式所对应的C语言表达式为(m,1/3.0)。在调用函数fopen("d:\\b.dat","r")时,假设d盘根目录下不存在文件b.dat,则函数的返回值是。执行下面程序段中的语句"k=A*A+1;〞后k的值是。#defineB2#defineAB+1k=A*A+1;已有定义"floatm;doublen;inta;longb;charc;〞,则表达式m+n*a/m+b/n+c值的类型为。C语言有效的预处理命令总是以开头。已有定义"inta[10],*p=a+3;〞,则数组a的最后一个元素是p[]。已有定义"intn=12;doublea;〞,则执行语句"a=n/=5;〞后,a的值为。假设要声明一个类型名STR,使得定义语句STRs等价于char*s,则声明语句是。程序设计语言的开展经历了几个阶段:机器语言、汇编语言和。一个C程序总是从函数开场执行的。已有定义"doublea=5,b=10;〞,则计算ab的库函数调用形式是。已有定义"charch='a';〞,则表达式ch=ch-'a'+'A'的值为字符的编码。表示"*≥y≥z〞的C语言表达式是*>=y。C语言有效的预处理命令总是以开头。常量'\n'的数据类型是。已有定义"intb[10],*p=b,*q;q=&b[5];〞,则表达式q-p的值是。在文件中,以符号常量EOF作为文本文件〔字符流文件〕的完毕标记,EOF代表的值是。假设要声明一个类型名STR,使得定义语句STRs等价于char*s,则声明语句是。构造化程序设计语言编写的程序由三种构造组成:顺序构造、和循环构造。C语言中除复合语句外的其它所有语句都以完毕。已有定义"doublea=10,b=5;〞,则计算ab的库函数调用形式是。C语言有效的预处理命令总是以开头。已有定义"chara=1;intb=2;floatc=3;doubled=4;〞,则表达式"c=a+b+c+d〞值的类型为。用typedef定义一个长度为10的整型数组NUM的语句是。执行下面程序段中的语句"k=A*A+1;〞后k的值是。#defineB2#defineAB+1k=A*A+2;已有定义"inta[][4]={1,2,3,4,5,6,7,8,9};〞,则数组a第一维的大小是。程序中已使用预处理命令"#include<stdio.h>〞,为使语句"fp=fopen("asc.t*t","r");〞能正常执行,在该语句之前必须有定义FILE;。执行"printf("%d,%d",a,b,c,d);〞后在屏幕上将输出个整数。以下表达中正确的选项是A〕程序设计的任务就是编写程序代码并上机调试B〕程序设计的任务就是确定所用数据构造C〕程序设计的任务就是确定所用算法D〕以上三种说法都不完整以下选项中,能用作用户标识符的是A〕voidB〕8_8C〕_0_D〕unsigned阅读以下程序#includemain(){intcase;floatprintF;printf("请输入2个数:〞);scanf("%d%f〞,&case,&pjrintF);printf("%d%f\n〞,case,printF);}该程序编译时产生错误,其出错原因是A〕定义语句出错,case是关键字,不能用作用户自定义标识符B〕定义语句出错,printF不能用作用户自定义标识符C〕定义语句无错,scanf不能作为输入函数使用D〕定义语句无错,printf不能输出case的值表达式:(int)((double)9/2)-(9)%2的值是A〕0B〕3C〕4D〕5假设有定义语句:int*=10;,则表达式*-=*+*的值为A〕-20B〕-10C〕0D〕10有以下程序#includemain(){inta=1,b=0;printf("%d,〞,b=a+b);printf("%d\n〞,a=2*b);}程序运行后的输出结果是A〕0,0B〕1,0C〕3,2D〕1,2设有定义:inta=1,b=2,c=3;,以下语句中执行效果与其它三个不同的是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;}有以下程序#includemain(){intc=0,k;for(k=1;k<3;k++)switch(k){default:c+=kcase2:c++;break;case4:c+=2;break;}printf("%d\n〞,c);}程序运行后的输出结果是A〕3B〕5C〕7D〕9以下程序段中,与语句:k=a>b"(b>c"1:0):0;功能一样的是A〕if((a>b)&&(b>c))k=1;elsek=0;B〕if((a>b)||(b>c)k=1;elsek=0;C〕if(a<=b)k=0;elseif(b<=c)k=1;D〕if(a>b)k=1;elseif(b>c)k=1;elsek=0;20〕有以下程序#includemain(){chars[]={"012*y〞};inti,n=0;for(i=0;s[i]!=0;i++)if(s[i]>=’a’&&s[i]<=’z’)n++;printf("%d\n〞,n);}程序运行后的输出结果是A〕0B〕2C〕3D〕5有以下程序#includemain(){intn=2,k=0;while(k++&&n++>2);printf("%d%d\n〞,k,n);}程序运行后的输出结果是A〕02B〕13C〕57D〕12有以下定义语句,编译时会出现编译错误的选项是A〕chara=’a’;B〕chara=’\n’;C〕chara=’aa’;D〕chara=’\*2d’;有以下程序#includemain(){charc1,c2;c1=’A’+’8’-‘4’;c2=’A’+’8’-‘5’;printf("%c,%d\n〞,c1,c2);}字母A的ASCII码为65,程序运行后的输出结果是A〕E,68B〕D,69C〕E,DD〕输出无定值有以下程序#includevoidfun(intp){intd=2;p=d++;printf("%d〞,p);}main(){inta=1;fun(a);printf("%d\n〞,a);}程序运行后的输出结果是A〕32B〕12C〕21D〕22以下函数findma*拟实现在数组中查找最大值并作为函数值返回,但程序中有错导致不能实现预定功能#defineMIN-2147483647intfindma*(int*[],intn){inti,ma*;for(i=0;i<N;I++)<p=""/>{ma*=MIN;if(ma*returnma*;}造成错误的原因是A〕定义语句inti,ma*;中ma*未赋初值B〕赋值语句ma*=MIN;中,不应给ma*赋MIN值C〕语句if(ma*D〕赋值语句ma*=MIN;放错了位置有以下程序#includemain(){intm=1,n=2,*p=&m,*q=&n,*r;r=p;p=q;q=r;printf("%d,%d,%d,%d\n〞,m,n,*p,*q);}程序运行后的输出结果是A〕1,2,1,2B〕1,2,2,1C〕2,1,2,1D〕2,1,1,2假设有定义语句:inta[4][10],*p,*q[4];且0≤i<4,则错误的赋值是A〕p=aB〕q[i]=a[i]C〕p=a[i]D〕p=&a[2][1]有以下程序#include#includemain(){charstr[][20]={"One*World〞,"One*Dream!〞},*p=str[1];printf("%d,〞,strlen(p));printf("%s\n〞,p);}程序运行后的输出结果是A〕9,One*WorldB〕9,One*DreamC〕10,One*DreamD〕10,One*World有以下程序#includemain(){inta[]={2,3,5,4},i;for(i=0;i<4;i++)switch(i%2){case0:switch(a[i]%2){case0:a[i]++;break;case1:a[i]--;}break;case1:a[i[=0;}for(i=0;i<4;i++)printf("%d〞,a[i]);printf("\n〞);}A〕3344B〕2050C〕3040D〕0304有以下程序#include#includemain(){chara[10]=〞abcd〞;printf("%d,%d\n〞,strlen(a),sizeof(a));}程序运行后的输出结果是A〕7,4B〕4,10C〕8,8D〕10,10下面是有关C语言字符数组的描述,其中错误的选项是A〕不可以用赋值语句给字符数组名赋字符串B〕可以用输入语句把字符串整体输入给字符数组C〕字符数组中的内容不一定是字符串D〕字符数组只能存放字符串以下函数的功能是fun(char*a,char*b){while((*b=*a)!=’\0’){a++,b++;}}A〕将a所指字符串赋给b所指空间B〕使指针b指向a所指字符串C〕将a所指字符串和b所指字符串进展比拟D〕检查a和b所指字符串中是否有’\0设有以下函数voidfun(intn,char*s){……}则下面对函数指针的定义和赋值均是正确的选项是A〕void(*pf)();pf=fun;B〕viod*pf();pf=fun;C〕void*pf();*pf=fun;D〕void(*pf)(int,char);pf=&fun;有以下程序#includeintf(intn);main(){inta=3,s;s=f(a);s=s+f(a);printf("%d\n〞,s);}intf(intn){staticinta=1;n+=a++;returnn;}程序运行以后的输出结果是A〕7B〕8C〕9D〕10有以下程序#include#definef(*)*****main(){inta=3,s,t;s=f(a+1);t=f((a+1));printf("%d,%d\n’,s,t);}程序运行后的输出结果是A〕10,64B〕10,10C〕64,10D〕64,64下面构造体的定义语句中,错误的选项是A〕structord{int*;inty;intz;};structorda;B〕structord{int*;inty;intz;}structorda;C〕structord{int*;inty;intz;}a;D〕struct{int*;inty;intz;}a;设有定义:char*c;,以下选项中能够使字符型指针c正确指向一个字符串的是A〕charstr[]=〞string〞;c=str;B〕scanf("%s〞,c);C〕c=getchar();D〕*c=〞string〞;有以下程序#include#includestructA{inta;charb[10];doublec;};structAf(structAt);main(){structAa={1001,〞ZhangDa〞,1098.0};a=f(a);jprintf("%d,%s,%6.1f\n〞,a.a,a.b,a.c);}structAf(structAt)(t.a=1002;strcpy(t.b,〞ChangRong〞);t.c=1202.0;returnt;)程序运行后的输出结果是A〕1001,ZhangDa,1098.0B〕1001,ZhangDa,1202.0C〕1001,ChangRong,1098.0D〕1001,ChangRong,1202.0假设有以下程序段intr=8;printf("%d\n〞,r>>1);输出结果是A〕16B〕8C〕4D〕2以下关于C语言文件的表达中正确的选项是A〕文件由一系列数据依次排列组成,只能构成二进制文件B〕文件由构造序列组成,可以构成二进制文件或文本文件C〕文件由数据序列组成,可以构成二进制文件或文本文件D〕文件由字符序列组成,其类型只能是文本文件下面表示中,不能用作C语言常量的是。A.0UL B.(long)110C.1e0 D.'\*2c'设有定义和声明如下:#defined2inta=3;floatb=3.14;charc='d';下面表达式中有语法错误的选项是。A.a++ B.b++C.c++ D.d++假设有枚举类型定义"enumvari{A1,A2,A3,A4=6,A5,A6};〞,则枚举常量A2和A6代表的值分别是。A.1,6 B.1,8C.2,6 D.2,8下面数组声明语句中正确的选项是。A.intn,a[n]; B.inta[];C.inta[2][3]={{2},{1},{3}}; D.inta[][3]={{2},{1},{3}};下面函数定义中正确的选项是。A.intfun(inta,b){}B.intfun(inta[][]){}C.intfun(void){}D.intfun(staticinta,intb){}在C语言中,数字010是一个。A.十进制数 B.八进制数C.十六进制数 D.非法数假设有说明"inta[3][4]={0};",则下面正确的表达是。A.只有元素a[0][0]可得到初值B.此说明语句不正确C.数组a中各元素都可得到初值,但其值不一定为0D.数组a中每个元素均可得到初值0如果有声明"intm,n=5,*p=&m;〞,与m=n等价的语句是。A.m=*p; B.*p=*&n;C.m=&n; D.m=**p;已有定义"charb[6],*p=b;〞,则正确的赋值表达式语句是。A.b="China"; B.*b="China";C.p="China"; D.*p="China";已有定义"charch[5]={'a','b','c','d'},*p=ch,i;〞,则下面语句中不能正确输出ch数组全部元素值的是。A.for(i=0;i<4;i++)printf("%c",ch[i]);B.for(i=0;i<4;i++)printf("%c",*(ch+i));C.for(i=0;i<4;i++)printf("%c",*p++);D.for(i=0;i<4;i++)printf("%c",*ch++);C语言中可以处理的文件类型有。A.文本文件和二进制文件 B.文本文件和数据文件C.数据文件和二进制文件 D.以上三个都不对假设有定义"inta[5],*b=a,(*c)[3],*d[3];〞,则下面表达式中有语法错误的选项是。A.a[0]=0 B.b[0]=0C.c[0]=0 D.d[0]=0有程序段"charstr[][8]={"first","second"},*p=&str[0][0];printf("%s\n",p+8);〞,则执行printf语句后输出为。A.second B.firstC.ond D.nd下面表达错误的选项是。A.宏替换不占用程序运行时间 B.宏名无类型C.宏名必须用大写字母表示 D.宏替换只是字符替换设有定义和声明语句:typedefstructcc{ inta;structcc*b;}node;staticnodeaa[3]={5,&aa[1],7,&aa[2],9,'\0'},*p=&aa[0];以下选项中,表达式值不为5的是。A.aa[1].b->a-2 B.p->b->a-2C.(p+1)->a-2 D.p->a下面关于共用体类型的表达正确的选项是。A.可以给共用体类型变量直接赋值B.一个共用体类型变量中可以同时存入其所有成员C.一个共用体类型变量中不能同时存入其所有成员D.共用体类型定义中不能同时出现构造体类型的成员表达式sizeof("abc")的值是。A.1B.2C.3D.4下面选项中,不能用作用户标识符的是。A.&a B._00 C.FOR D.print有声明"int*=3,y=4,z;〞,则执行语句"z=1/2*(*+y);〞后,z的值是。A.0 B.3C.3.5 D.4以下运算符中,优先级最低的是。A.*B.!=C.+D.=一元二次方程a*2+b*+c=0有两个相异实根的条件是a≠0且b2-4ac>0,下面选项中正确的表达式是。A.a!=0,b*b-4*a*c>0 B.a!=0||b*b-4*a*c>0C.a&&b*b-4*a*c>0 D.!a&&b*b-4*a*c>0下面定义符号常量p为3.14中正确的选项是。A.#definep3.14; B.#definep(3.14)C.#definep=3.14 D.#definep3.14已有定义"int*=4,y=3,z=5;〞,下面4个程序段中有3个程序段的执行效果是一样的,另一个执行效果不同的是。A.if(*>y)z=*,*=y,y=z; B.if(*>y){z=*,*=y,y=z;}C.if(*>y)z=*;*=y;y=z; D.if(a>y){z=*;*=y;y=z;}下面关于continue和break语句的表达中正确的选项是。A.continue和break语句都可以出现在switch语句中B.continue和break语句都可以出现在循环语句的循环体中C.在循环语句和switch语句之外允许出现continue和break语句D.执行循环语句中的continue和break语句都将立即终止循环在while(e)语句中的e与下面条件表达式等价的是。A.e==0 B.e==1C.e!=1 D.e!=0假设函数调用时的实参为变量,则下面关于函数形参和实参的表达中正确的选项是。A.实参和其对应的形参占用同一存储单元B.形参不占用存储单元C.一样名称的实参和形参占用同一存储单元D.实参和其对应的形参占用不同的存储单元在C程序中,假设对函数类型未加说明,则函数的隐含类型为。A.intB.doubleC.voidD.char下面函数中能正确计算n!(n<13)的是。A.longf(longn) B.longf(longn){ { if(n<=1)return1;returnn*f(n-1); elsereturnn*f(n);} }C.longf(longn) D.longf(longn){ staticlongs,i; { longs=1,i;for(i=1;i<=n;i++)s=s*i; for(i=1;i<=n;i++)s=s*i;returns; returns;} }设n=10,i=4,则赋值运算"n%=i+1”A.0 B.1C.2 D.3已有定义"inta=2;〞,下面表达式中值不等于8的是。A.a+=2,a*2B.a+=a*=aC.(a+7)/2*((a+1)%2+1)D.a*7.2/a+1下面选项中,可以作为用户标识符的是。A.6_6 B.voidC.unsigned D._0_已有定义"intn;floata,b;〞,则执行语句"b=n=a=3.89;〞后,b的值为。A.3 B.3.0C.3.89 D.4.0以下运算符中,优先级最低的是。A.*B.!=C.+D.=表达式!(*>0&&y>0)等价于。A.!(*>0)||!(y>0)B.!*>0||!y>0C.!*>0&&!y>0D.!(*>0)&&!(y>0)下面定义符号常量p为3.14中正确的选项是。A.#definep3.14; B.#definep(3.14)C.#definep=3.14 D.#definep3.14假设变量已正确定义,语句"if(a>b)k=0;elsek=1;〞和等价。A.k=(a>b)"1:0;B.k=a>b;C.k=a<=b;D.a<=b"0:1;下面关于continue和break语句的表达中正确的选项是。A.continue和break语句都可以出现在switch语句中B.continue和break语句都可以出现在循环语句的循环体中C.在循环语句和switch语句之外允许出现continue和break语句D.执行循环语句中的continue和break语句都将立即终止循环在C语言中while和do-while循环的主要区别是。A.do-while的循环体至少无条件执行一次B.do-while允许从外部转到循环体内C.while的循环控制条件比do-while的循环控制条件严格D.do-while的循环体不能是复合语句关于函数返回值,下面表达中正确的选项是。A.函数返回值的类型由函数体内return语句包含的表达式的类型决定B.假设函数体内没有return语句,则函数没有返回值C.假设函数体中有多个return语句,则函数的返回值是排列在最后面的return语句中表达式的值D.函数返回值的类型由函数头部定义的函数类型决定已有函数fun的定义"intfun(inta,intb){if(a<b)return(a,b);elsereturn(b,a);}〞,在main()函数中假设调用函数f(3,4),得到的返回值是。A.3 B.4C.3和4 D.4和3下面关于return语句的表达正确的选项是。A.一个自定义函数中必须有一条return语句B.一个自定义函数中可以根据不同情况设置多条return语句C.定义成void类型的函数中可以有带返回值的return语句D.没有return语句的自定义函数在执行完毕时不能返回到调用处已有定义"inta,b;",执行语句"a=(b=2*3,b*5),b+6;〞后,变量a的值是。A.6 B.12C.30 D.36表达式sizeof("\nsum=13\n")的值是。A.8 B.9C.10 D.11已有定义"inti,a=1;unsignedj;〞,则以下语句执行时会出现无限循环的语句是。A.for(j=15;j>0;j-=2)a++; B.for(j=0;j<15;j+=2)a++;C.for(i=0;i<15;i+=2)a++; D.for(i=15;i>0;i-=2)a++;下面定义中错误的选项是。A.inta=0*FF;B.doublea=1.2e0.5;C.longa=2L;D.chara='\72';设有定义和声明如下:#defined2inta=3;floatb=3.14;charc='d';下面表达式中有语法错误的选项是。A.a++ B.b++C.c++ D.d++下面声明中错误的选项是。A.intb[2] B.intb[]={0,1}C.intb[3]=0 D.intb[3][4]={0}下面函数定义的头部正确的选项是。A.intfun(inta[],b) B.intfun(inta[],inta)C.intfun(inta,intb) D.intfun(chara[][],intb)对两个数组a和b进展如下初始化:chara[]="abcd";charb[]={'a','b','c','d'};则下面表达正确的选项是。A.a与b数组完全一样 B.数组a比数组b长度大C.a与b中存放的都是字符串 D.a与b长度一样假设有说明"inta[3][4]={0};",则下面正确的表达是。A.只有元素a[0][0]可得到初值B.此说明语句不正确C.数组a中各元素都可得到初值,但其值不一定为0D.数组a中每个元素均可得到初值0已有定义"intm=3,c,*a=&m,*b=&c;〞,则以下语句中错误的选项是。A.a=b=0; B.a=&c,b=a;C.&a=&b; D.*b=*a;已有定义"charb[6],*p=b;〞,则正确的赋值表达式语句是。A.b="Chinese"; B.*b="Chinese";C.p="Chinese"; D.*p="Chinese";已有定义"intk,b[10],*p=b;〞,现需要将1~10保存到b[0]~b[9]中,下面程序段中不能实现这一功能的是。A.for(k=1;k<10;k++)b[k]=k+1; B.for(k=0;k<10;k++)p[k]=k+1;C.k=1;while(p<b+10)*p++=k++; D.k=1;while(p<b+10)*b++=k++;对文件进展操作时,写文件的含义是。A.将内存中的信息写入磁盘B.将磁盘中的信息读到内存C.将主机中的信息写入磁盘 D.将磁盘中的信息读到主机已有定义"inta[4][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}};〞,假设需要引用值为15的数组元素,则以下选项中错误的选项是。A.*(a+3)+2 B.*(*(a+3)+2)C.*(a[3]+2) D.a[3][2]假设有定义"inta[3][4]={0},*p1=a[1],(*p2)[4]=a;〞,下面表达式中与"a[1][1]=1;〞不等价的是。A.*(p1+1)=1; B.p1[1][1]=1;C.*(*(p2+1)+1)=1; D.p2[1][1]=1;下面表达错误的选项是。A.宏替换不占用程序运行时间 B.宏名无类型C.宏名必须用大写字母表示 D.宏替换只是字符替换设有定义和声明语句:typedefstructcc{ inta;structcc*b;}node;staticnodeaa[3]={5,&aa[1],7,&aa[2],9,'\0'},*p=&aa[0];以下选项中,表达式值不为5的是。A.aa[1].b->a-2 B.p->b->a-2C.(p+1)->a-2 D.p->a假设有构造类型定义"typedefstruct{int*,y[2];}ABC;〞,则下面声明中正确是。A.ABC*; B.struct*;C.structabc*; D.structABC*;假设有定义和声明typedefenum{green,red,yellow,blue,b1ack}color;colorflower;,则以下语句中正确的选项是。A.green=red; B.flower=red;C.color=red; D.enum=red;在下面各组标识符中,均可以用作变量名的一组是。A.a02,Int B.table_1,a*.0C.0_a,W13 D.for,point有声明"int*=3,y=4,z;〞,则执行语句"z=1/3*(*+y);〞后,z的值是。A.0 B.3 C.3.5 D.4已有定义"inta=4,b=5,c=6;〞,则以下表达式中值为0的是。A.a&&b B.a<=b C.a||b&&c D.!(!c||1)在C程序中,用表示逻辑值"真〞。A.小于0的数B.非0的数C.非1的数D.大于0的数C源程序中的命令#include与#define是在阶段被处理的。A.预处理 B.编译 C.连接 D.执行已有预处理命令"#include<math.h>〞和声明"int*=4,y;〞,下面语句中语法正确的选项是。A.if(*%2=1)y=*; B.if(sqrt(*)%2)y=*;C.if(*==1)y=*; D.if(*==1)y=&*;下面关于continue和break语句的表达中正确的选项是。A.continue和break语句都可以出现在switch语句中B.continue和break语句都可以出现在循环语句的循环体中C.在循环语句和switch语句之外允许出现continue和break语句D.执行循环语句中的continue和break语句都将立即终止循环下面关于循环语句的结论中错误的选项是。A.可以用while语句实现的循环,一定可以用for语句实现B.可以用for语句实现的循环,一定可以用while语句实现C.可以用do-while语句实现的循环,一定可以用while语句实现D.do-while语句与while语句的区别仅是关键字"while〞出现的位置不同C语言中函数返回值的类型是由决定的。A.return语句中的表达式类型B.调用该函数的主函数类型C.定义函数时所指定的函数类型 D.以上都可能已有函数fun的定义"voidfun2(void){printf("That’sgreat!");}〞,则调用fun2函数的正确形式是。A.fun2; B.fun2(); C.fun2(void); D.fun2(1);C语言规定,变量作实参时,它和对应形参之间的数据传递方式是。A.地址传递 B.单向值传递C.由实参传给形参,再由形参传回给实参D.由用户指定传递方式假设有"intk=4;〞,计算表达式(j=k++)后,j和k的值分别为。A.j=3,k=3B.j=3,k=4C.j=4,k=4D.j=4,k=5以下运算符中,优先级最高的是。A.-> B.++C.&& D.=不用第三个变量,将a和b的值进展交换的操作是。A.a+=b;b-=a;a-=b; B.a+=b;b=a-b;a-=b;C.b-=a;a-=b;a-=b ; D.b-=a;a=b-a;a+=b;以下表示中,不可作为C语言常数的是。A.010 B.1ULC.'0*41' D.0*be设有定义和声明如下:#defined3inta=3;floatb=3.14;charc='d';下面表达式中有语法错误的选项是。A.a++ B.b++C.c++ D.d++以下一维数组的声明中正确的选项是。A.inta[];B.intn=5,a[n];C.inta[3+1]={0};D.inta[3]={4,3,2,1};下面函数定义的头部正确的选项是。A.intfun(inta[],b) B.intfun(inta[],inta)C.intfun(inta,intb) D.intfun(chara[][],intb)下面程序段的运行结果是。charch[5]={'a','b','\0','d','\0'};printf("%s",ch);A.'a''b' B.abC.abd D.a,b己有声明"inta=2,*p=&a;",以下正确的语句是。A.a=p+1.0; B.p=2*p+1.0;C.p=1000.0; D.a+=*p;已有定义"charb[6],*p=b;〞,则正确的赋值表达式语句是。A.b="ABC"; B.*b="ABC";C.p="ABC"; D.*p="ABC";已有定义"inta[5]={10,20,3,40,50},*p,i;〞,下面语句中不能正确输出a数组全部元素的值的是。A.for(p=a,i=0;i<5;i++)printf("%d",*(p+i));B.for(p=a;p<a+5;p++)printf("%d",*p);C.for(p=a,i=0;p<a+5;p++,i++)printf("%d",p[i]);D.for(p=a;p<a+5;p++)printf("%d",p[0]);当文件被正常关闭时,fclose()函数的返回值是。A.-1B.trueC.0D.1设有声明语句"intb[3][3]={11,22,33,44,55,66,77,88,99};〞,下面语句中不能输出数组元素b[1][2]的是。A.printf("%d",*(*(b+1)+2))B.printf("%d",*(&b[2][0]-1));C.printf("%d",*(b[1]+2)); D.printf("%d",*(b+1)[2]);假设有定义"inta[4][4],*p=a[0],(*q)[4]=a;〞,则以下表达中错误的选项是。A.a[2][3]与q[2][3]等价 B.a[2][3]与p[2][3]等价C.a[2][3]与*(p+11)等价 D.a[2][3]与p=p+11,*p等价在宏定义语句"#definePI3.1415926”A.一个字符串 B.一个单精度数C.一个常量 D.一个双精度数设有定义和声明语句:typedefstructcc{ inta;structcc*b;}node;staticnodeaa[3]={11,&aa[1],7,&aa[2],9,'\0'},*p=&aa[0];以下选项中,表达式值不为5的是。A.aa[1].b->a-2 B.p->b->a-2C.(p+1)->a-2 D.p->a-6下面关于typedef的表达错误的选项是。A.用typedef可以增加新类型B.用typedef可以为各种类型说明一个新名,但不能为一个变量说明一个新名C.用typedef为类型说明一个新名,通常可增加程序的可读性D.typedef只是将已存在的类型用一个新的名字来代表下面关于共用体类型的表达正确的选项是。A.可以给共用体类型变量直接赋值B.一个共用体类型变量中可以同时存入其所有成员C.一个共用体类型变量中不能同时存入其所有成员D.共用体类型定义中不能同时出现构造体类型的成员假设有定义和声明typedefenum{ green,red,yellow,blue,b1ack}mycolor;mycolorflower;,则以下语句中正确的选项是。A.green=red; B.flower=red;C.mycolor=red; D.enum=red;有以下程序#include<stdio.h>main(){charc1,c2;scanf("&c〞,&c1);while(c1<65||c1>90)scanf("&c〞,&c1);c2=c1+32;printf("&c,&c\n〞,c1,c2);}程序运行输入65回车后,能否输出结果、完毕运行〔请答复能或不能〕【8】。〔9〕以下程序运行后的输出结果是【9】#include<stdio.h>main(){intk=1,s=0;do{if{〔〔k&2〕!=0〕continue;s+=k;k++;}while〔k〕10〕;printf〔"s=&d/n〞,s〕;}(10)以下程序运行时,假设输入labced12df<回车>输出结果为【10】#include<stdio.h>main(){chara=0,ch;while((ch=getchar())!=’\n’){if(a&2!=0&&(ch>’a’&&ch<=’z’))ch=ch-‘a’+’A’;a++;putchar(ch);}printf("\n〞);}(11)有以下程序,程序执行后,输出结果是【11】#include<stdio.h>voidfun(int*a){a[0=a[1];]}main(){inta[10]={10,9,8,7,6,5,4,3,2,1},i;for(i=2;i>=0;i--)fun{&a};for(i=0;i<10;i++)printf("&d〞,a);printf("\n〞);}下面程序运行输出结果是。#include<stdio.h>#include<string.h>intmain(){FILE*fp;char*str1="2008beijing",*str2="Olympic",str3[30]="";fp=fopen("d:\\abc.dat","wb");fwrite(str2,strlen(str2),1,fp);rewind(fp);fwrite(str1,strlen(str1),1,fp);fclose(fp);fp=fopen("d:\\abc.dat","rb");fread(str3,sizeof(str3),1,fp);puts(str3);return0;}下面程序运行时输出的结果是。#include<stdio.h>enumletter{A,B,C=3,D,E};intmain(){ char*colorname[]={ "Black","Yellow","Blue","Green","White"};enumletterc1=D,c2=C;printf("%s",colorname[c1-c2]);return0;}下面程序运行时输出的结果。#include<stdio.h>intmain(){ inti,sum=0;for(i=1;i<6;i++)sum=sum+i;printf("%d",sum);return0;}下面程序运行时输出的结果是。#include<stdio.h>intmain(){ int*=0,y=1,z=10;if(*)if(y)z=20;elsez=30;printf("%d\n",z);return0;}下面程序运行后输出的结果是。#include<stdio.h>intmain(){ int*=9;for(;*>0;*--)if(*%3==0)printf("%d",--*);return0;}下面程序运行时输出结果是。#include<stdio.h>intfun(intm){ staticintn=1;n++;m+=n;returnm;}intmain(){ intd;d=fun(3);printf("%d,%d\n",d,fun(d));return0;}下面程序运行时输出结果是。#include<stdio.h>intmain(){ intt=1,n=235;do{ t*=n%10;n/=10;}while(n);printf("%d\n",t);return0;}以下程序运行时输出的结果是。#include<stdio.h>inty=1;intfunc(int*){ y*=*;returny;}intmain(){ inta=1,i;for(i=2;i<4;i++)a=a+func(i);printf("%d",a);return0;}下面程序运行时输出的结果是。#include<stdio.h>#include<string.h>voidfun(charch[]){ inti,j,len;len=strlen(ch);for(i=0,j=0;ch[i];i++)if((ch[i]>='A'&&ch[i]<='Z')||(ch[i]>='a'&&ch[i]<='z'))ch[j++]=ch[i];ch[j]='\0';}intmain(){ chars[20]="d1o2g3";fun(s);printf("%s\n",s);return0;}下面程序运行时输出结果是。#include<stdio.h>intmain(){ char*p,*q="Thisisabook.";p=q;while(*q)q++;printf("%d\n",q-p);return0;}下面程序运行输出结果是。#include<stdio.h>#include<string.h>intmain(){FILE*fp;char*str1="2008beijing",*str2="Olympic",str3[30]="";fp=fopen("d:\\abc.dat","wb");fwrite(str2,strlen(str2),1,fp);rewind(fp);fwrite(str1,strlen(str1),1,fp);fclose(fp);fp=fopen("d:\\abc.dat","rb");fread(str3,sizeof(str3),1,fp);puts(str3);return0;}下面程序运行时输出的结果是。#include<stdio.h>enum{A,B,C,D}letter;intmain(){chars[]="your";letter=C;putchar(s[letter]);return0;}下面程序运行后输出的结果是。#include<stdio.h>intmain(){ chari;for(i='a'

;i<'f';i++,i++)printf("%c",i);return0;}下面程序运行时输出的结果是。#include<stdio.h>intmain(){ inti,m=0;for(i=0;i<5;i++){ switch(i){ case0:case1:m++;case3:m++;case4:m--;break;}}printf("%d\n",m);return0;}下面程序运行时输出结果是。#include<stdio.h>longfun(intn){ staticlongt;if(n==1)returnt=2;elsereturn++t;}intmain(){ longi,sum=0;for(i=0;i<4;i++)sum+=fun(i);printf("%ld",sum);}下面程序运行时输出结果是。#include<stdio.h>voidf(intb){ inta;a=b;b=3;}intmain(){inta=3,b=5;f(b);printf("%d,%d",a,b);return0;}以下程序运行时输出的结果是。#include<stdio.h>inty=1;intfunc(int*){y*=*;returny;}intmain(){inta=1,i;for(i=2;i<4;i++)a=a+func(i);printf("%d",a);return0;}以下程序段的输出结果是。#include<stdio.h>intmain(){ intk;char*s="aBC";for(k=10;k!=0;k--);printf("%d",k);while(*s++)putchar(*s);}下面程序运行时输出结果的第一行是。#include<stdio.h>#include<

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论