武汉大学c语言2学分期末试卷及答案,武汉大学2012-2013年上学期3学分《C语言程序设计》期末试卷.docx...

武汉大学2012-2013年上学期3学分《C语言程序设计》期末试卷

一、选择题(每小题2分,共34分)1. 以下不合法的用户标识符是__C____。A、j2_KEY B、Double C、4d D、_8_ 复习要点:标识符的定义:首字符必须是字母或下划线;后续字符可以是字母、数字或下画线。 C、4d 中用了‘4’做首字符,所以不合法2.以下叙述中正确的是__A____。A、C程序中注释部分可以出现在程序中任意合适的地方B、花括号“{”和“}”只能作为函数体的定界符C、构成C程序的基本单位是函数,所有函数名都可以由用户命名(库函数)D、分号是C语言之间的分隔符,不是语句的一部分复习要点:A、C程序中注释部分可以出现在程序中任意合适的地方。对,注释由/* */包含 B、花括号“{”和“}”只能作为函数体的定界符,不对。还可以用做复合语句的定界符,也可以做结构体的定界符 C、构成C程序的基本单位是函数,所有函数名都可以由用户命名(库函数),不对。库函数声明和主函数声明已经给定,只可以调用D、分号是C语言之间的分隔符,不是语句的一部分,不对。分号是语句的结束,是语句的组成部分3.设int a=12,则执行完语句a+=a-=a*a后,a的值是__D____。A、0 B、264 C、144 D、-264 原因:赋值运算赋”=”和符合赋值运算赋都是右结合性,所以,先执行a=12然后执行a-=a*a,即a=a-a*a, a的值为-132。最后执行a+=a,即a=a+a. 4.假定x和y为double型,表达式x=2,y=x+3/2的值是__D____。A、3.500000 B、3 C、2.000000 D、3.000000 复习要点:各种类型数据运算后的数据类型在算术运算时,数据运算时的类型按照数据类型自动转换的原则进行。就这道体来说,3/2是整数和整数相除,计算结果还是整数,且没有4舍5入的概念。所以3/2的结果为1。则x+1是double类型和int类型的和,结果的类型应该为double类型。即2.0+1的最后结果3.000000 5.语句:printf("%d",(a=2)&&(b=-2));的输出结果是___B___。A、2 B、1 C、-4 D、-2 复习要点:逻辑运算符” &&”是”与”运算,即只有两个操作数为真,结果才为真。在判断两个操作a和b数的值时,都是非0,即a和b为真。运算结果为真用1表示,故B 对,6.若变量c为char类型,能正确判断出c为小写字母的表达式是___D___。A、′a′<=c<=′z′B、(c>=′a′)||(c<=′z′) C、(′a′<=c)and(′z′>=c) D、(c>=′a′)&&(c<=′z′) 原因: A)错,不可能用两个运算符“<=”或两个运算符“>=”表达一个数值的范围,学生常常犯这个错误 B)错,逻辑运算符”||”是”或”运算,即只要有一个操作数为真,结果为真,这里显然要两个操作数都为真,所以不可以用 C)错,and 不是一个C语言运算符复习要点:逻辑运算符” &&”是”与”运算,即只有两个操作数为真,结果才为真。7.在嵌套使用if语句时,C语言规定else总是___C___。A、和之前与其具有相同缩进位置的if配对B、和之前与其最近的if配对C、和之前与其最近的且不带else的if配对D、和之前的第一个if配对这道题出得不太好,正确回答应该是:在语法允许的情况下,和之前与其最近的且不带else的if配对。例如:if(a) { if(b} a=1; } else b=2; 这里else 只能和if(a) 配对。不可以和if(b},因为在语法上, { if(b} a=1; }是一条复合语句,语法上不可能和复合语句外的语句配对8.以下循环体的执行次数是__C____。main(){ inti,j; for (i=0,j=1; i<=j+1;i+=2,j--) printf("%d \n",i); } A、3 B、2 C、1 D、0 原因:循环控制表达式i<=j+1为假时,循环结束第一次判断:i=0, j=1:i<=j+1为真。执行1次第二次判断:i=2, j=0:i<=j+1为假,退出9.int a[2][3]={{1},{2,3}};,则a[0][1]的值是_D_____。 A.1 B. 2 C. 3 D. 0 复习要点:数组的初始化,给部分数组元素赋值时,没有赋值的数组元素的值为0 10. 以下对二维数组a的正确说明是_

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值