如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
C语言复习题一、选择题1.设x、y、z和k都是int型变量,则执行表达式:x=(y=4,z=16,k=32)后,x的值为A)4B)16C)32D)522.设有如下的变量定义:inti=8,k,a,b;unsingedlongw=5;doublex=1,42,y=5.2;则以下符合C语言语法的表达式是A)a+=a-=(b=4)*(a=3)B)x%(-3);C)a=a*3=2D)y=float(i)3.假定有以下变量定义:intk=7,x=12;则能使值为3的表达式是A)x%=(k%=5)B)x%=(k-k%5)C)x%=k-k%5D)(x%=k)-(k%=5)4.以下叙述中正确的是A)输入项可以是一个实型常量,如scanf(“%f”,3.5);B)只有格式控制,没有输入项也能正确输入数据到内存,例如:scanf(“a=%d,b=%d”);C)当输入一个实型数据时,格式控制部分可以规定小数位数,例如:scanf(“%4.2f”,&f);D)当输入数据时,必须指明变量地址,例如:canf(“%f”,&f);5.设x和y均为int型变量,则以下语句:x+=y;y=x-y;x-=y;的功能是A)把x和y按从大到小排列B)把x和y按从小到大排列C)无确定结果D)交换x和y中的值7.以下程序的输出结果是A)1010B)1212C)1110D)1113voidmain(){inta=12,b=12;printf(“%d%d\n”,--a,++b);}8.以下程序运行后,输出结果是A)cdeB)字符c的ASCII码值C)字符c的地址D)出错voidmain(){char*s=“abcde”;s+=2;printf(“%ld\n”,s);}9.以下程序输出结果是A)7B)6C)5D)4voidmain(){intm=5;if(m++>5)printf(“%d\n”,m);elseprintf(“%d\n”,m--);}10.有以下程序voidmain(){intx[8]={8,7,6,5,4,9,10,3},*s;s=x+3;printf("%d\n",s[2]);}执行后输出结果是A)随机值B)3C)9D)611.下面能正确进行字符串赋值操作的语句是A)chars[5]={“ABCDE”};B)chars[5]={‘A’、’B’、’C’、’D’、’E’};C)char*s;s=“ABCDEF”;D)char*s;scanf(“%s”,s);12.当执行以下程序段时x=-1;do{x=x*x;}while(!x);A)循环体将执行一次B)循环体将执行两次C)循环体将执行无限次D)系统将提示有语法错误13.执行以下程序后,输出的结果是voidmain(){inty=10;do{y--;}while(--y);printf(“%d\n”,y--);}A)-1B)1C)8D)014.执行语句:for(i=1;i++<4;);后变量i的值是A)3B)4C)5D)不定15.以下程序运行后,如果从键盘上输入ABCDE<回车>,则输出结果为A)8B)7C)6D)5#include“stdio.h”#include“string.h”func(charstr[]){intnum=0;while(*(str+num!=’\0’)num++;return(num);}voidmain(){charstr[10],*p=str;gets(p);printf(“%d\n”,func(p));}16.若变量已正确定义并赋值,下面符合C语言语法的表达式是A)a:=b+1B)a=b=c+2C)int18.5%3D)a=a+7=c+b17.C语言中运算对象必须是整型的运算符是A)%=B)/C)=D)〈=18.若已定义x和y为double类型,则表达式x=1,y=x+3/2的值是A)1B)2C)2.0D)2.519.若变量a、i已正确定义,且i已正确赋值,合法的语句是A)a==1B)++i;C)a=a++=5;D)a=int(i);20.若有以下程序段,intc1=1,c2=2,c3;c3=1/c2*c1;则执行后,c3中的值是A)0B)0.5C)1D)221.有如下程序voidmain(){inty=3,x=3,z=1;printf(“%d%d\n”,(++x,y++),z+2);}运行该程序的输出结果是A)34B)42C)43D)3322.能正确表示逻辑关系:“a≥10或a≤0”的C语言表达式是A)a>=10ora<=0