郑州大学期末c语言复习题 联系客服

发布时间 : 星期一 文章郑州大学期末c语言复习题更新完毕开始阅读f6f863fe04a1b0717fd5dd11

A、2e3.5 B、e3 C、1.5e0 D、3e(2+3) 27、下列程序void main(){ double d=3.2; int x,y; x=1.2; y=(x+3.8)/5.0; printf(\的输出结果是( )。(1分) A、3 B、3.2 C、0 D、3.07 28、下列表达式中,( )是合法的表达式。(1分) A、10.5%3 B、(a+b)++ C、(-a)++ D、5+'a' 29、若变量a、i已正确定义,且i已正确赋值,合法的赋值语句是( )。(1分) A、a==1 B、++i; C、a=a++=5; D、a=int(i); 30、在宏定义#define PI 3.14中,宏名PI是用来代替一个( )。(1分) A、常量 B、单精度数 C、双数度数 D、字符串 31、在一个C程序中,( )。(1分) A、main函数必须出现在所有函数之前 B、main函数可以在任何地方出现 C、main函数必须出现在所有函数之后 D、main函数必须出现在固定位置 32、设变量n为float类型,m为int类型,则以下能实现将n中的数值保留小数点后2位,第3位进行四舍五入运算的表达式是( )。(1分) A、n=(n*100+0.5)/100.0 B、m=n*100+0.5,n=m/100.0 C、n=n*100+0.5/100.0 D、n=(n/100+0.5)*100.0 33、有如下程序段:int a=14,b=15,x;char c='A';x=(a&&b)&&(c<'B');,执行该程序段后,x的值为( )。(1分) A、ture B、false C、0 D、1 34、假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是( )。(1分) A、7 B、8 C、6 D、2 35、若要求在if后一对圆括号中表示count等于0的关系, 则能正确表示这一关系的表达式为( )。(1分) A、count B、!count C、count=0 D、count!=0 36、下列关于逻辑运算符优先级的描述中,正确的是( )。(1分) A、&& > || > ! B、&& > ! > || C、! > || > && D、! > && > || 37、设有说明:char w;int x;float y;double z;,则表达式 w*x+z-y 值的数据类型为( )。(1分) A、float B、char C、int D、double 38、若有以下程序段,int c1=1,c2=2,c3;c3=1.0/c2*c1;,则执行后,c3中的值是( )。(1分) A、0 B、0.5 C、1 D、2 39、下列变量定义中,合法的是( )。(1分) A、short _a=1-.1e-1; B、double b=1+5e2.5; C、long do=0xfdaL; D、float 2_and=1-e-3; 40、设有 int x=11;,则表达式 (x++ * 1 / 3) 的值是( )。(1分) A、3 B、4 C、11 D、12 二、填空题(5道小题,共20分) 1、* 下面程序的运行结果是1 2 3。 #include main() { int num=0; whlie(num<=2) { num++; printf(\ } } (4分) 2、* 按以下规律翻译密码:将每一个字母变成它后面的字母,例如,将A变成B,B变成C,?,Z变成A,非字母字符不变,“!”作为电文结束标志。 #include void main() { char ch; printf(\输入字符串:\\n\ while ((ch=getchar())!=' { if ((ch>='a' && ch<='z')||(ch>='A' && ch<='Z')) if (ch=='z') ch='a'; else if (ch=='Z') ch='A'; else ch=ch+1; printf(\ } printf(\} (4分) \\n') 3、* 输入某年某月某日,判断这一天是这一年的第几天? * 程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊情况,闰年且输入月份大于3时需考虑多加一天。 main() {

int day,month,year,sum,leap;

printf(\ scanf(\ switch(month)/*先计算某月以前月份的总天数*/ {

case 1:sum=0;

break;

case 2:sum=31;break; case 3:sum=59;break; case 4:sum=90;break; case 5:sum=120;break; case 6:sum=151;break; case 7:sum=181;break; case 8:sum=212;break; case 9:sum=243;break; case 10:sum=273;break; case 11:sum=304;break; case 12:sum=334;break; }

sum=sum+day; /*再加上某天的天数*/

if(year@0==0||(year%4==0&&year0!=0))/*判断是不是闰年*/ leap=1; else leap=0;

if(leap==1&&month>2)/*如果是闰年且月份大于2,总天数应该加一天*/ sum++;

printf(\} (4分)

default:printf(\

4、* 输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。 #include main() { char c;

int letters=0,space=0,digit=0,others=0;