您好,欢迎访问三七文档
当前位置:首页 > 金融/证券 > 金融资料 > C语言单元测验一(1-4章)答案
1C语言单元测试一(1-4章)一、选择题:(每题2分,共66分)1.若有定义语句intb=2;则表达式(b2)/(3||b)的值是A)4B)8C)0D)22.有以下程序#includestdio.hmain(){chara='H';a=(a='A'&&a='Z')?(a-'A'+'a'):a;printf(%c\n,a);}程序运行后的输出结果是A)AB)aC)HD)h3.若以下选项中的变量全部为整型变量,且已正确定义并赋值,则语法正确的switch语句是4.在C语言中,字符型数据在内存中以()形式存放。A)原码B)ASCII码C)反码D)BCD码5.下列关系表达式中,结果为“假”的是A)(3+4)6B)(3!=4)2C)3=4||3D)(34)==16.C语言中char类型数据占字节数为A)3B)4C)1D)27.若有定义和语句:inta,b;scanf(%d,%d,&a,&b);以下选项中的输入数据,不能把值3赋给变量a、5赋给变量b的是(说明:符号□表示空格)A)3,5,B)3,5,4C)3□,5D)3,58.在C语言中,要求运算数必须是整型的运算符是A)/B)++C)!=D)%9.已知各变量的类型说明如下:inti=8,k,a,b;unsignedlongw=5;doublex=1.42,y=5.2;则以下正确的表达式是A)a+=a-=(b=4)*(a=3)B)a=a*3=2C)x%(-3)D)y=float(i)10.以下叙述中错误的是A)非零的数值型常量有正值和负值的区分B)常量是在程序运行过程中值不能被改变的量C)定义符号常量必须用类型名来设定常量的类型D)用符号名表示的常量叫符号常量11.以下选项中表示一个合法的常量是(说明:符号□表示空格)A)9□9□9B)0XabC)123E0.2D)2.7e12.变量a中的数据用二进制表示的形式是01011101,变量b中的数据用二进制表示的形式是11110000。若要求将a的高4位取反,低4位不变,所要执行的运算是A)a^bB)a|bC)a&bD)a413.当变量c的值不为2、4、6时,值也为“真”的表达式是A)(c==2)||(c==4)||(c==6)B)(c=2&&c=6)||(c!=3)||(c!=5)C)(c=2&&c=6)&&!(c%2)D)(c=2&&c=6)&&(c%2!=1)14.有以下程序段charch;intk;ch='a';k=12;printf(%c,%d,,ch,ch,k);printf(k=%d\n,k);已知字符a的ASCII码值为97,则执行上述程序段后输出结果是A)因变量类型与格式描述符的类型不匹配输出无定值B)输出项与格式描述符个数不符,输出为零值或不定值C)a,97,12k=12D)a,97,k=1215.inta=123,b=12345;printf(“%4d,%4d”,a,b);的输出结果为(说明:符号□表示空格)A)□123,1234B)123,12345C)□123,12345D)123□,123416.以下程序的运行结果是voidmain(){intm=5;if(m++5)printf(%d\n,m);elseprintf(%d\n,m--);}A)4B)5C)6D)717.设以下变量均为int类型,则值不等于7的表达式是A)(x=y=6,x+y,x+1)B)(x=y=6,x+y,y+1)C)(x=6,x+1,y=6,x+y)D)(y=6,y+l,x=y,x+1)18.以下关于运算符优先顺序的描述中正确的是A)关系运算符算术运算符赋值运算符逻辑与运算符B)逻辑运算符关系运算符算术运算符赋值运算符C)赋值运算符逻辑与运算符关系运算符算术运算符D)算术运算符关系运算符赋值运算符逻辑与运算符19.以下选项中可作为C语言合法常量的是A)-80B)-080C)-8e1.0D)-80.0e20.下列可用于C语言用户标识符的一组是A)void,define,WORDB)a3_3,_123,CarC)For,-abc,IFCaseD)2a,DO,sizeof21.有以下程序#includestdio.hmain(){inta=24,b;b=a2;printf(%d\n,b);}程序运行后的输出结果是A)2B)4C)6D)8D)switch(a*a+b*b){default:break;case3:y=a+b;break;case2:y=a-b;break;}C)switch(a+b){case1:case3:y=a+b;break;case0:case4:y=a-b;}B)switcha*b{case10:x=a+b;Default:y=a-b;}A)switch(a+9){casec1:y=a-b;casec2:y=a+b;}222.以下不能输出字符A的语句是(注:字符A的ASCII码值为65,字符a的ASCII码值为97)A)printf(%c\n,'a'-32);B)printf(%d\n,'A');C)printf(%c\n,65);D)printf(%c\n,'B'-1);23.下列条件语句中,输出结果与其他语句不同的是A)if(a)printf(%d\n,x);elseprintf(%d\n,y);B)if(a==0)printf(%d\n,y);elseprintf(%d\n,x);C)if(a!=0)printf(%d\n,x);elseprintf(%d\n,y);D)if(a==0)printf(%d\n,x);elseprintf(%d\n,y);24.有以下程序#includestdio.hmain(){inta=1,b=0;if(--a)b++;elseif(a==0)b+=2;elseb+=3;printf(%d\n,b);}程序运行后的输出结果是A)0B)1C)2D)325.若有定义语句:intk1=10,k2=20;,执行表达式(k1=k1k2)&&(k2=k2k1)后,k1和k2的值分别为A)0和1B)0和20C)10和1D)10和2026.若有定义语句:intx=12,y=8,z;,在其后执行语句z=0.9+x/y;,则z的值为A)1.9B)1C)2D)2.427.若有定义语句:inta=10;doubleb=3.14;,则表达式'A'+a+b值的类型是A)charB)intC)doubleD)float28.有以下程序#includestdio.hmain(){unsignedchara=8,c;c=a3;printf(%d\n,c);}程序运行后的输出结果是A)32B)16C)1D)029.有以下定义:inta;longb;doublex,y;,则以下选项中正确的表达式是A)a%(int)(x-y)B)a=x!=y;C)(a*y)%bD)y=x+y=x30.若有定义语句:inta=3,b=2,c=1;,以下选项中错误的赋值表达式是A)a=(b=4)=3B)a=b=c+1C)a=(b=4)+cD)a=1+(b=c=4)31.有以下程序#includestdio.hmain(){intx=011;printf(%d\n,++x);}程序运行后的输出结果是A)12B)11C)10D)932.能正确表示“当x的取值在[1,10]和[200,210]范围内为真,否则为假”的表达式是A)(x=1)&&(x=10)&&(x=200)&&(x=210)B)(x=1)||(x=10)||(x=200)||(x=210)C)(x=1)&&(x=10)||(x=200)&&(x=210)D)(x=1)||(x=10)&&(x=200)||(x=210)33.以下叙述中错误的是A)C程序在运行过程中所有计算都以二进制方式进行B)C程序在运行过程中所有计算都以十进制方式进行C)所有C程序都需要编译链接无误后才能运行D)C程序中整型变量只能存放整数,实型变量只能存放浮点数二、填空题(每空2分,共20分)1.有以下程序:main(){intk=0;charc1=’a’,c2=’b’;scanf(%d%c%c,&k,&c1,&c2);printf(%d,%c,%c\n,k,c1,c2);}若运行时从键盘输入:55AB回车,则输出结果是______________。2.若运行以下程序时输入:1605回车,则程序的运行结果是______________。main(){intt,h,m;scanf(%d,&t);h=(t/100)%12;if(h==0)h=12;printf(%d:,h);m=t%100;if(m10)printf(0);printf(%d,m);if(t1200||t==2400)printf(AM);elseprintf(PM);}3.有以下程序#includestdio.hmain(){intn1=0,n2=0,n3=0;charch;ch=getchar();switch(ch){case'1':case'3':n1++;break;case'2':case'4':n2++;break;default:n3++;break;}printf(%d%d%d\n,n1,n2,n3);}若程序运行时输入3412回车,则输出结果是__________。4.阅读下面语句,则程序的执行结果是______________。#includestdio.hmain(){inta=-1,b=1,k;if((++a0)&&!(b--=0))printf(%d,%d\n,a,b);elseprintf(%d,%d\n,b,a);}5.请写出与!(a=b)等价的C语言表达式______________。36.以下程序运行时从键盘输入:1.02.0,输出结果是:1.0000002.000000,请填空。#includestdio.hmain(){doublea;floatb;scanf(__________,&a,&b);printf(%f%f\n,a,b);}7.以下程序的运行结果是______________。main(){intx,y,z;x=2;y=1;z=0;x=x||y&&z;printf(%d,%d,x,x&&!y||z);}8.有以下程序#includestdio.hmain(){intx;scanf(%d,&x);if(x15)printf(%d,x-5);if(x10)printf(%d,x);if(x5)printf(%d\n,x+5);}若程序运行时从键盘输入12回车,则输出结果为__________。9.有以下程序#includestdio.hmain(){intx,y;scanf(%2d%3d,&x,&y);printf(%d\n,x+y);}程序运行时输入:1234567程序的运行结果是______________。10.若程序中已给整型变量a和b赋值10和20,请写出按以下格式输出a,b值的语句______________。****a=10,b=20****三、编程题(每题7分,共14分)1、编写程序,实现功能:输入整数a和b,若a2+b2100,则输出a2+b2之和的百位以上数字,否则直接输出a2+b2的和。2.编写程序实现功能:根据下表中的函数关系,对输入的x值,计算出相应的y值。xyx≤000x≤10x10x≤201020x40-0.5x+20答题纸班级:学号:姓名:成绩:一、选择题1234567891011BDDBBCCDACB1213141516171819202122ABDCCCCABCB2324252627282930313233DCBBCCAACCB二、填空题123455,,A4:05PM1001,05678ab%lf%f1,01217910357printf(****a=%d,b=%d****
本文标题:C语言单元测验一(1-4章)答案
链接地址:https://www.777doc.com/doc-2908836 .html