资源描述:
《C语言程序设计习题3.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、习题3一、单项选择题1。 若a为二维数组,则a[1][3]等价于( )。 A.*((a+1)+3) B.*(a[1]+3)C.(*(a+1)+3) D.&a[1]+32.以下程序( )。 A. 有语法错误不能通过编译 B。可以通过编译但不能通过连接C.输出*** D.输出$$$void main()ﻫ{ﻫint a=5,b=0,c=0;if(a=b+c) printf("***");elseprintf(”$$$");}3。 在一个源文件中定义的全局变量的作用
2、域为( ). A.本文件的全部范围 B.本程序的全部范围C.本函数的全部范围 D。从定义该变量的位置开始至本文件结束二、 填空题1. 执行下列语句后,b的十进制值是_______.intx=240,y=15,b; charz=’A’; b=(( x&& y) && (z<'a'));2.执行下列语句的结果是_______。a=3;printf("%d,",++a);printf(”%d”,a++);3.静态变量和外部变量的初始化是在_______阶段完成的,而自动变量的赋值是在
3、_______时进行的。4.在C语言中,格式输入操作是由库函数在C语言中,格式输入操作是由库函数_______完成的,格式输出操作是由库函数_______完成的。5.int x=2,y=3,z=4; 则表达式!(x+y)〉z的值为_______。6。在C语言中的实型变量分为两种类型,它们是_______型和_______型。三、判断题1.for语句可以完全取代while语句。( )2.函数的递归调用不过是一个函数直接地调用它自身。()3.定义在main函数后的任何函数都需在main中进行函数声明.
4、( )四、简答题1. 下面的程序如输入的数据与输出的类型不一致,虽然编译能够通过,但结果将不正确。试修改。main(){ int a;printf("input a number”); scanf("%d",&a); printf("%ld",a);}2. 解释迭代的概念。3。简述指针变量形式调用函数的步骤。4.某商场打折促销商品。购买某种商品根据购买数量(x)给予不同的折扣,根据用户输入的购买商品的数量及该商品的单价,输出用户应付的金额。折扣信息如下:x<5,不打折;5<=x〈10, 1%折扣
5、;10〈=x<20,2%折扣;20<=x〈30, 4%折扣;30<=x, 6%折扣. 习题3答案 一、单项选择题题号123答案BDD二、填空题题号答案1124,43编译,函数调用4scanf,printf506float,double三、判断题题号123答案TFF四、简答题1. 由于输入数据类型为整型,而输出语句的格式串中说明为长整型,因此输出结果和输入数据不符。如改动程序如下:main(){ longa;printf("inputa long integer\n");scanf("%ld",&a
6、);printf(”%ld",a);}2.答:迭代算法是用计算机解决问题的一种基本方法。他利用计算机运算速度快,适合做重复性操作的特点,让计算机重复执行一组指令,在每次执行这组指令时候,都从变量的原值推出它的一个新值。3。 函数指针变量形式调用函数的步骤如下:1) 先定义函数指针变量,如后一程序中第9行 int(*pmax)();定义pmax为函数指针变量。2)把被调函数的入口地址(函数名)赋予该函数指针变量,如程序中第11行 pmax=max;3)用函数指针变量形式调用函数,如程序第14行 z=(
7、*pmax)(x,y);4) 调用函数的一般形式为:(*指针变量名)(实参表)4。答:#include〈stdio.h〉void main(){ﻫint num;double money,dcount,result; ﻫprintf(" 请输入购买数量:”);scanf(”%d”,&num);ﻫprintf("\n 请输入该商品的价格:");ﻫscanf("%lf",&money);ﻫif(num>5)ﻫdcount=0; ﻫelse if((num>=5)&&(num<10))dcount=0
8、。01;else if((num>=10)&&(num〈20))ﻫdcount=0.02;else if((num>=20)&&(num<30))ﻫdcount=0。04;ﻫelseﻫdcount=0.06;result=money*num-money*num*dcount;ﻫprintf("应付金额为:%7。2f”,result);}