C语言第二次作业

C语言第二次作业
C语言第二次作业

C语言第二次作业

请于本周五之前将第一次作业发至各班指定邮箱:

通信一、二班发给助教刘晨勇710968584@https://www.360docs.net/doc/9e8815201.html,

通信三、四班发给助教蔡泽平caizeping2009@https://www.360docs.net/doc/9e8815201.html, 第二次作业请于11月11日(星期天)之前上交。

C语言实训作业1

《C语言通识教育》实训指导书 (第一次) (2学时) 何天成 2016年月日

前言 C 语言是现代最流行的通用程序设计语言之一,它既具有高级程序设计语言的优点,又具有低级程序设计语言的特点,既可以用来编写系统程序,又可以用来编写应用程序。因此,C 语言正在被迅速地推广和普及。上机实验是该课程教学的一个重要环节,因此要求学生做一定数量的上机实验。本指导书可增强同学上机实验的针对性。整个教学和实验中,采用VC++6.0 作为实验环境,强调学生切实培养动手实践能力,掌握调试程序的方法,通过调试理解C语言程序运行的过程以及C 语言的语法规则,为后续的课程设计,计算机等级考试及其他应用做好充分的准备。 本实验指导书通过大量的实例,循序渐进地引导学生做好各章的实验。共计约14次实训课,其中每一讲内容分1、2两次上课。每个实验内容结构如下: (1)实验学时 (2)实验目的 (2)预习要求 (4)实验内容 (5)实验注意事项 (6)思考题 其中思考题属于扩展应用部分,学生可以根据自己的学习情况选择完成。 在实验之前,要求学生对实验作好预习工作。在实验中,学生根据实验指导中的内容进行验证与总结,然后再去完成实验内容中安排的任务。一般要求准备好相关代码,实验课中最好以调试和讨论为主。 实验结束后,应及时先以电子版的形式填写实验报告,然后再以A4纸打印。第3次实训课上交前2次实训报告,要求源程序要以标准格式打印实验报告上都必须粘贴上每个程序的运行结果截图,并在每个程序的输出截图中添加上自己的姓名/学号/专业等信息,以表示程序执行结果确是自己调试,而不是copy 别人的运行结果。通报告具体内容可根据实验内容和实验要求进行增删。实验报告一般要求包含:(1)实验题目 (2)设计思路或算法分析 (3)流程图 (4)程序源代码 (5)程序运行结果及分析

交通大学C语言第二次作业

题目1 正确 满分1.00 标记题目 题干 对于传值调用(By Value)的描述,哪一个正确?() 选择一项: a. 实际参数和形式参数共占相同的内存位置 b. 实际参数会把内存地址传递给形式参数 c. 实际参数和形式参数可以使用不同的数据类型 d. 实际参数会将变量内容复制后,把副本传给形式参数 题目2 正确 满分1.00 标记题目 题干 关于多态,下列说法错误的是() 选择一项: a. 编译时多态是在程序运行时才能确定要调用成员方法的哪个版本, 而运行时多态在编译时就能确定要调用成员方法的哪个版本 b. 多态和重载是两个完全不同的概念,前者是通过定义虚方法和重写 虚方法来实现,后者是通过对同一个函数名编写多个不同的实现代码来 完成。 c. 多态可以分为编译时多态和运行时多态。前者的特点是在编译时就能 确定要调用成员方法的哪个版本,后者则是在程序运行时才能确定要调 用成员方法的哪个版本 d. 多态实际上就是重载,它们本质上是一样的 题目3 正确 满分1.00

标记题目 题干 关于静态成员,下列说法正确的是() 选择一项: a. 在类实例化后静态成员也被实例化,因此不同的对象有不同的静态 成员 b. 在类定义时静态成员属于类,在类实例化后静态成员属于对象 c. 同一个类中的静态成员,类实例化后,在不同的对象中形成不同的静 态成员 d. 在类实例化后,同类型的对象都共享类的静态成员,静态成员只有 一个版本 题目4 正确 满分1.00 标记题目 题干 假设有类C继承类B,类B继承类A,则下面说法正确的是() 选择一项: a. C仅继承类A的所有成员,不继承类B的成员 b. 类C仅继承类B的所有成员,不继承类A的成员 c. 类C不仅继承类B的所有成员,也继承类A的所有成员 d. 类C继承类A的部分成员,同时继承类B的所有成员 题目5 正确 满分1.00 标记题目 题干 下列对于对象的描述,哪一个正确?() 选择一项: a. 使用private将对象实例化

c语言作业

提交作业规范: (1)你的每次作业的cpp文件放在文件夹中,文件夹命名:学号+姓名+(第几次),(例如:“2014218899张三(第二次)“) (2)上传到文件夹:偶春生\班级。千万别传错。 注意: (1)每做完一题,请用“file”下的“close workspace”关闭工作区,再重新开始做下一题。(2)如果不能联网,请改网关地址:252或253 (3)开机进入“basis” 第一次上机题目: (1)从键盘上输入四个整数,计算并输出四个数的平均值。 (2)输入球的半径,计算并输出球的体积和表面积。 (3)输入一个三位正整数,分别输出该数的个位、十位和百位。(提示:用%运算符提取数字,如123%10=3,用/运算符移除已提取的数字,如123/10 = 12) (4)请测试++、--、关系和逻辑运算符。 第二次上机题目: (1)平面上有一园C:(x-3)2+(y-4)2= 25;输入点P(x,y)的坐标值,判断P点在园C内(包括园上)还是园C外。 (2)输入一英文字符,如果是大写字符,请输出:“您输入的是大写字符。”,如果是小写字符,请输出:“您输入的是小写字符。”, (3)某人某天开始“三天打鱼,两天晒网”,问该人在以后的第n天是打鱼还是晒网?(4)输入火车的出发时间和到站时间,计算火车的运行时间。(出发时间和到站时间用四位整数表示,如1230表示12点30分,假设火车不跨天运行。) (5)从键盘上输入三个整数,分别存放在变量num1, num2, num3中,编写程序对这三个数进行排序,使得num1 <=num2<=num3。 第三次上机题目: (1)输入十个数,分别计算出其中正数、负数的和。 (2)输出1—100内能被3整除或个位数是3的数。 (3)打印出大写英文字母,每行最多输出十个。 (4)输入十个数,求出其中的最小值。 (5)求出e的值,e = 1+1+1/2!+1/3!+…+1/n! (n取10) 第四次上机题目: (1)输出100—1000之间的质数。 (2)任意输入一个数,输出这个数的所有因子。(如输入12,输出1,2,3,4,6,12) (3)输出1-100间的同构数,所谓同构数是指一个数出现在这个数平方的右侧(如6和25均为同构数)。 (4)求x2+y2=2009的整数解。(提示,x,y的范围在[1,45]之间,用双重循环枚举求解)(5)用嵌套循环打印如下图形:

交通大学C语言第二次作业教案资料

交通大学C语言第二 次作业

题目1 正确 满分1.00 标记题目 题干 对于传值调用(By Value)的描述,哪一个正确?() 选择一项: a. 实际参数和形式参数共占相同的内存位置 b. 实际参数会把内存地址传递给形式参数 c. 实际参数和形式参数可以使用不同的数据类型 d. 实际参数会将变量内容复制后,把副本传给形式参数 题目2 正确 满分1.00 标记题目 题干 关于多态,下列说法错误的是() 选择一项: a. 编译时多态是在程序运行时才能确定要调用成员方法的哪个版本, 而运行时多态在编译时就能确定要调用成员方法的哪个版本 b. 多态和重载是两个完全不同的概念,前者是通过定义虚方法和重写 虚方法来实现,后者是通过对同一个函数名编写多个不同的实现代码来 完成。 c. 多态可以分为编译时多态和运行时多态。前者的特点是在编译时就 能确定要调用成员方法的哪个版本,后者则是在程序运行时才能确定要 调用成员方法的哪个版本 d. 多态实际上就是重载,它们本质上是一样的 题目3 正确 满分1.00

标记题目 题干 关于静态成员,下列说法正确的是() 选择一项: a. 在类实例化后静态成员也被实例化,因此不同的对象有不同的静态 成员 b. 在类定义时静态成员属于类,在类实例化后静态成员属于对象 c. 同一个类中的静态成员,类实例化后,在不同的对象中形成不同的 静态成员 d. 在类实例化后,同类型的对象都共享类的静态成员,静态成员只有 一个版本 题目4 正确 满分1.00 标记题目 题干 假设有类C继承类B,类B继承类A,则下面说法正确的是() 选择一项: a. C仅继承类A的所有成员,不继承类B的成员 b. 类C仅继承类B的所有成员,不继承类A的成员 c. 类C不仅继承类B的所有成员,也继承类A的所有成员 d. 类C继承类A的部分成员,同时继承类B的所有成员 题目5 正确 满分1.00 标记题目 题干 下列对于对象的描述,哪一个正确?() 选择一项: a. 使用private将对象实例化

C语言上机作业试题5套含答案

第一次上机作业(2014): 要求: ?独立完成,上机调试通过后上交 ?作业提交邮箱: ?邮件主题命名:班级学号姓名(第1次作业), 例如:电1301班2王鹏(第1次作业) ?以附件形式将每次作业的所有程序源程序压缩打包后提交,压缩文件命名格式同上。 ?程序必须采用缩进格式 1.大写字母转换成小写字母 从键盘输入一个大写英文字母,输出相应的小写字母。 例:输入G 输出g 2.求平方根 输入一个实数x,计算并输出其平方根(保留1 位小数)。 例:输入17 输出The square root of 17.0 is 4.1 3.温度转换 设计一个程序将华氏温度转换成摄氏温度c = 5/9(f-32) a)输入华氏温度(实型) b)输出的摄氏温度结果保留两位小数 例:Please input Fahrenheit temperature: 76.8 The corresponding Celsius temperature is 24.89 4. 计算旅途时间 输入二个整数time1 和time2,表示火车的出发时间和到达时间,计算并输出旅途时间。 (输入的有效的时间范围是0000 到2359,不需要考虑出发时间晚于到达时间的情况。) 例:输入712 1411 (出发时间是7:12,到达时间是14:11) 输出The train journey time is 6 hours 59 minutes. 5. 数字加密 输入一个四位数,将其加密后输出。方法是将该数每一位上的数字加9,然后除以10 取余,做为该位上的新数字,最后将第1 位和第3 位上的数字互换,第2 位和第4 位上的数字互换,组成加密后的新数。 例:输入1257 输出The encrypted number is 4601 思考题:你能否编程找出谁做的好事? 有四位同学中的一位做了好事,不留名,表扬信来了之后,校长问这四位是谁做的好事。 ?A说:不是我。 ?B说:是C。 ?C说:是D。 ?D说:他胡说。 已知三个人说的是真话,一个人说的是假话。现在要根据这些信息,找出做了好事的人。 第二次上机作业(2014): 要求: ?独立完成,程序必须采用缩进格式,上机调试通过后上交

C语言2016下半年第二次作业

第2次作业 一、单项选择题 1.若有以下定义:int a[]={3, 4, 5, 6, 7, 8, 9, 10, 11}, *p=a; 则值为5的表达式是( B )。 A)p+=5, *(p+1) B)p+=1, * ++p C)p+=4, *p++ D)p+=1, ++ *p 2.下面函数调用语句含有实参的个数为( B ) fun( ( a, b, c, d ), ( m, n ), (f, g ) ); A)1 B)3 C)4 D)2 3.函数形式正确的是( D )。 A) double myfun( int x, int y) B) int myfun( int x, y) { m=x+y; return m; } { int m; } C) int myfun( int x, int y) D) int myfun( int x, int y) { int x, y; double m; { int m; m=x+y; return m; } m=x+y; return m; } 4.不正确的字符串赋值或赋初值方式是( C )。 A)char *str; str=”string”; B)char str[7]={…s?, …t?, …r?, …i?, …n?, …g?} C) char str[10]; str=”string”; D)char str[]=”string”; str2[]=”12345678”; strcpy(str2, str1); 5.以下程序的输出结果是( B )。 #include main() { char str[]="SSSWLIA", c; int k; for (k=2; (c=str[k])!='\0'; k++) { switch (c) { case 'I': ++k; break; case 'L': continue; default: putchar(c); continue; } } putchar('*'); } A)SSW* B)SW* C)SW*A D)SW 6.以下程序的输出结果是( B )。 #include int w=3; fun( int k) { if ( k==0) return w; return ( fun(k -1 )*k); }

C语言作业2

期待的输出时间限制内存限制#include main() { int a,b,c,q,e,f,g,h,i,j,k,m,n,p,x,y,z; scanf("%1d",&a); scanf("%1d%1d%1d%1d%1d",&b,&c,&q,&e,&f); scanf("%1d%1d%1d%1d%1d",&g,&h,&i,&j,&k); x=a+c+e+g+i+k; y=b+q+f+h+j;

n=m-1; z=n%10; p=9-z; printf("%d\n",p); } H2:数制转换(选作) 成绩: 5 / 折扣: 0.8 我们通常使用的都是十进制的数字,但其实在生活中也经常会使用其它进制。 这个题目会给你两个不同的数字,它们不属于同一进制,要求你计算出当它们分别处于何种进制之中时,两个数字相等。譬如12 和 5 ,在十进制下它们是不等的,但若12 使用 3 进制而5 使用六进制或十进制时,它们的值就是相等的。因此只要选择合适的进制,12 和5 就可以是相等的。 程序的输入是两个数字M 和N( 其十进制的值不超过1000000000) ,它们的进制在2~36 之间。对于十以下的数字,用0~9 表示,而十以上的数字,则使用大写的A~Z 表示。 求出分别在2~36 哪种进制下M 和N 相等。若相等则输出相应的进制,若不等则输出错误信息。当然了,对于多种可能成立的情况,找出符合要求的进制最小的一组就行了。信息的格式见测试用例。 测试输入期待的输出 制 #include"string.h" #include"stdio.h"

{ char a[N],b[N],d[N],e[N],d0[N]; int i,j,o,r,g,h,w,t,l,k,max1,max2; double p[N],q[N]={0},u[N],v[N]={0},c[N],f[N],m,n; for(i=0;i='\x30') c[i]=b[i]-'0'; if(b[i]<='\x5A'&&b[i]>='\x41') c[i]=b[i]-'7'; } for(i=0;i='\x30') f[i]=e[i]-'0'; if(e[i]<='\x5A'&&e[i]>='\x41') f[i]=e[i]-'7'; } max1=c[0]; for(i=1;i

c语言练习卷(超级有用)

LL1007 C语言程序设计 江立 第二次书面作业 这里写名字 这里写学号 ANT

书面作业_7 请按下列要求,编写相应程序: 1、一个10个整数的数组(34,91,83,56,29,93,56,12,88,72),找出最小值和其下标。 2、用rand()函数产生100000个0-9之间的随机整数,分别统计0-9数字出现的次数,并输出对应的百分比。(提示:统计次数用一维数组来存放) 3、将数组中的数按颠倒的顺序重新存放。在操作时,只能借助一个临时存储单元而不得另外开辟数组。 注意:不是要求按颠倒的顺序打印数据,而是要求按逆序重新放置数组中的内容。假定a 数组有8个元素,原始内容如表-1所示: 表-1 数组a 原来的内容 现要求改变成如表-2所示: 表-2 重新排列后的数组 a

请按下列要求,编写相应程序: 1、先分别定义两个元素个数分别为41和21的字符数组str1、str2,然后从键盘上输入两个长度不超过20的字符串分别存放到str1、str2中,再将str2内容连接到str1尾部(不使用strcat()函数),最后输出str1的字符串内容。 2、从键盘上输入一个字符串,假定字符串的长度小于200,试分别统计每一种英文字母(不区分大、小写)的个数并输出。 3、假定电文的译码规律如下:A→Z(a→z),B→Y(b→y),C→X(c→x),…,Z→A(z→a)。要求编写程序,能实现将原文翻译成密码,或将密码翻译成原文的功能。原文或密码内容从键盘输入,其所属类型(指原文或密码)也由键盘输入,0代表原文,1代表密码。

请按下列要求,编写相应程序: 1、定义一个求最大公约数函数intgcd(int x, int y),在主函数输入两个整数,然后调用gcd()输出这两个整数的最大公约数。(编程思路参考第6讲课件例子) 2、定义一个将十进制数转换成十六进制数的函数void dec2hex(int n),该函数的功能是将参数中的十进制数以十六进制方式输出(编程思路参考第6讲课件例子)。在主函数输入一个十进制整数,然后调用dec2hex()输出对应的十六进制数。 3、定义一个递归函数intsum_of_square(int n),计算表达式:12+22+32+…+n2的值。在主函数中输入n值,通过调用sum_of_square() 输出结果。

C语言作业2

H1:计算通用产品代码(UPC)的校验位(选作) 许多年来,货物生产商都会把超市售卖的每件商品上放置一个条码。这种被称为通用产品代码(Universal Product Code,缩写UPC)的条码可以识别生产商和产品。超市可以通过扫描产品上的条码来确定支付此项商品的费用。每一个条码由十二位数字构成,通常这些数字会显示在条码下面。例如,包装为26盎司的Morton牌碘化盐所用条码下的数字是:0 24600 01003 0 第一个数字表示商品的种类(0表示大部分的食品杂货,2表示需要称量的货品,3表示药品或和健康相关的商品,而5表示优惠券)。接下来的一组五位数字用来识别生产商。而第二组五位数字则用来区分产品类型(其中包括包装尺寸)。最后一位数字是“校验位”,它可以帮助鉴别先前数字中的错误。如果条码扫描出现错误,那么前十一位数字和最后一位数字可能会不一致,而超市扫描机也会拒绝整个条码。 下面是一种计算校验位的方法:首先把第一位、第三位、第五位、第七位、第九位和第十一位数字相加。然后把第二位、第四位、第六位、第八位和第十位数字相加。接着把第一次加法结果乘以3后再加上第二次加法的结果。随后,再把上述结果减去1。减法后的结果除以10取余数。最后,用9减去上一步骤中得到的余数。现在以Morton碘盐为例,第一组数字的加法是0+4+0+0+0+3=7,而第二组数字的加法是2+6+0+1+0=9。把第一组加法值乘以3后再加上第二组加法值得到的结果是30。再减去1,结果变为29。再把这个值除以10取余数为9。9在减去余数结果9,最终值为0 输入 每次输入三行数据,第一行是UPC的第一位数字,第二行是UPC的第一组五位数字,第三行是UPC的第二组五位数字。 输出 UPC的校验位 页脚内容1

川大c语言第一次作业

1.运行如下程序,并改正错误。 /*Hello,World!的变形程序*/ #include int main( ) { printf("________________\n| Hello, |\n| World! |\n(\\(\\ /\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\n(^?^)/\no_(\")(\")\n ");\\这里连成一排的 return 0; } 结果如下 2.用printf函数输出如下字符串:"abc\t123\r456\nabc\b123\\45",并分析输出结果。 " 解释: \t代表水平制表,每8个字符为一个输出区,所以首先是abc 123 \r代表将光标放回到行首,打出456将刚才的abc覆盖,现在是456 123 \n是换行 \b是退格,所以打出第二排的abc后退格成ab再打印成ab123, \\即代表\, 所以结果如上图。 3.将2147483648,(short)32768,-1用printf函数输出为十进制、八进制和十六进制形式, 并分析输出结果。 由于2147483648是2^31,所以转换为二进制是100000……0000(31个0),对于32bit的电

脑,ing最大是2^31-1,所以2^31好像是被认为成了最小值了,即-2^31 然后,又二进制转化为8进制,3位3位的变,转16进制则4位4位的变,结果如下 对于(short)32668,还是先转换为二进制111 111 110 011 100,转化为8进制是77634,111 1111 1001 1100转化为16进制是7f9c,结果如下 对于-1,转化为二进制是2^31-1,即为11111……11111(32个1),转化为8进制时,\o代表的是无符号的8进制数,32%3=2,所以第一位是3,后面是7,结果是37777777777, 由于32%4=0,所以是8个f,结果如下图 4.写程序把一个4位整数(比如qbsg)转换成另一个形式(sqgb)。 #include int main(int argc, char *argv[]) { int a,q,b,s,g,px ; printf("请输入一个正的4位数"); scanf("%d",&a); q=a/1000; b=(a-q*1000)/100; s=(a-q*1000-b*100)/10; g=(a-q*1000-b*100-s*10); px=1000*s+100*q+10*g+b; printf("转换结果是:%d",px);

C语言程序设计网上第二次作业答案

C++语言程序设计_0001 试卷总分:100 测试时间:180 单项选择题判断题多项选择题 一、单项选择题(共10 道试题,共40 分。) 1. 由C++目标文件连接而成的可执行文件的缺省扩展名为()。 A. cpp B. exe C. obj D. lik 2. 每一个形式参数就是一个()。 A. 表达式 B. 常量 C. 变量 D. 函数调用 3. 将两个字符串连接起来组成一个字符串时,选用()函数。 A. strlen() B. strcap() C. strcat() D. strcmp() 4. 设“int a=12;”,则执行完语句“a+=a*a;”后,a的值是()。 A. 12 B. 144 C. 156 D. 288 5. 为了提高程序的运行速度,可将不太复杂的功能用函数实现,此函数应选择()。 A. 内联函数

B. 重载函数 C. 递归函数 D. 函数模板 6. 以下标识符中不全是保留字的是()。 A. case for int B. default then while C. bool enum long D. goto return char 7. 程序中主函数的名字为()。 A. main B. MAIN C. Main D. 任意标识符 8. 假定p是具有double类型的指针变量,则表达式++p使p的值(以字节为单位)增加()。 A. 1 B. 4 C. sizeof(double) D. sizeof(p) 9. 循环语句“for(int i=0; i0 || y==5的相反表达式为()。 A. x<=0 || y!=5

福建师范大学C语言第一次作业及答案

编写程序: 1.定义一个Point类来处理三维点points(x,y,z).该类有一默认的constructor,一copy constructor, 一negate()成员函数将point的x,y和z值各乘-1, 一norm()成员函数返回该点到原点(0,0,0)的距离,一个print()成员函数显示x,y,和z的值。 #include #include using namespace std; class Point{ private: double x,y,z; double distance; public: Point(double newX,double newY,double newZ){ x=newX;y=newY;z=newZ; distance=sqrt(x*x+y*y+z*z); } Point(Point &p){ x=p.x;y=p.y;z=p.z; distance=p.distance; } void negate(){ x*=-1;y*=-1;z*=-1; } double norm(){ return distance; } void print(){ cout<<"x="<

大连理工大学C语言第二次上机第二次作业

第二次上机作业(2020)1.求30以内的所有素数之和。 代码: #include #define MAX 30 int main() { int n=1,i,j,k,s=0; for(i=1;i<=30;i++) { k = 0; for(j=2;j

代码: #include #include int JieCheng(int n); int main() { int x,n=1; float e,Xiang; scanf("%d",&x); e = 1 + x; Xiang = pow(x,n)/JieCheng(n); while(Xiang >= 0.000001) { n++; Xiang = pow(x,n)/JieCheng(n); e = e + Xiang; } printf("%.4f",e); return 0; } int JieCheng(int n) { int i; double sum=1; for(i=1;i<=n;i++) sum=sum*i; return sum; } 结果: 3. 计算机自动出0-9之间的四则运算(+ - * /)计算题;由用户输入结果,然后自动批改结果是否正确。(采用生成随机数方式确定) 例:自动生成3+9= 12(用户输入结果后回车), 显示Correct! 代码:

大连理工c语言第一次上机作业参考答案

第一次上机作业参考答案: 1.大写字母转换成小写字母 从键盘输入一个大写英文字母,输出相应的小写字母。 例:输入G 输出g #include void main() { char c; c=getchar(); if(c>='A' && c<='Z') c+=32; putchar(c); } 2.求平方根 输入1 个实数x,计算并输出其平方根(保留1 位小数)。 例:输入17 输出The square root of 17.0 is 4.1 #include #include void main() { float x,root; scanf("%f",&x); if(x>0) root=sqrt(x); else printf("Input Error!\n"); printf("The square root of %.1f is %.1f\n",x,root); } 3.Temperature Conversion Design a program which converts from degrees Fahrenheit temperature to degrees Celsius temperature. c = 5/9(f-32) a)Input Fahrenheit temperature will be type float. b)Display the temperatures with 2 places of precision #include void main() { float f,c; scanf("%f",&f); c = 5.0/9*(f-32); printf("Fahrenheit %.2f is equal to Celsius %.2f\n",f,c); } 4. 计算旅途时间 输入2 个整数time1 和time2,表示火车的出发时间和到达时间,计算并输出旅途时间。 (有效的时间范围是0000 到2359,不需要考虑出发时间晚于到达时间的情况。) 例:输入712 1411 (出发时间是7:12,到达时间是14:11) 输出The train journey time is 6 hrs 59 mins. #include void main( ) { int time1, time2, hours, mins; scanf("%d%d", &time1, &time2);

2013年9月份考试C语言程序设计第二次作业

2013年9月份考试C语言程序设计第二次作业 一、单项选择题(本大题共100分,共 25 小题,每小题 4 分) 1. 下面程序 fun3(int x) { static int a=3; a +=x; return(a); } main() { int k=2, m=1, n; n=fun3(k); m=fun3(m); printf("%d\n",n); } 的输出是(). A. 3 B. 4 C. 5 D. 9 2. 以下叙述中正确的是(). A. 局部变量说明为static存储类,其生存期将得到延长 B. 全局变量说明为static存储类,其作用域将被扩大 C. 任何存储类的变量在未赋初值时,其值都是不确定的 D. 形参可以使用的存储类说明符与局部变量完全相同 3. 若有以下说明和定义 union dt { int a; char b; double c; } data; 以下叙述中错误的是(). A. data的每个成员起始地址都相同 B. 变量data所占的内存字节数与成员c所占字节数相等 C. 程序段:data.a=5;printf("%f\n",data.c);输出结果为5.000000 D. data可以作为函数的实参 4. 以下程序运行后的输出结果是() fun(int a, int b) { if(a>b) return a; else return b; }

main() { int x=3, y=8, z=6, r; r=fun(fun(x,y), 2*z); printf("%d\n", r); } A. 3 B. 6 C. 8 D. 12 5. 有以下程序 #include main() { int a[]={1,2,3,4,5,6,7,8,9,10,11,12,},*p=a+5,*q=NULL; *q=*(p+5); printf("%d %d\n",*p,*q); } 程序运行后的输出结果是(). A. 运行后报错 B. 6 6 C. 6 11 D. 5 10 6. 设有以下语句,其中对数组元素a不正确的引用是:()(其中0≤i<10) int a[10]={0,1,2,3,4,5,6,7,8,9,},*p=a; A. a[p-a] B. *(&a[i]) C. p[i] D. *(*(a+i)) 7. 下面程序 main() { enum team {my,your=4,his,her=his+10}; printf("%d %d %d %d\n",my,your,his,her); } 的输出是(). A. 0 1 2 3 B. 0 4 0 10 C. 0 4 5 15 D. 1 4 5 15 8. 下面程序的输出是()。 void prtv(int *x)

北京交通大学黄宇C语言第二次作业

C语言第二次作业 .要求写出: 一、实验目的: 1.了解C语言表示逻辑量的方法。 2.学会正确使用逻辑运算符和逻辑表达式。 3.熟练掌握if语句的使用。 4.熟练掌握多分支选择语句—switch语句。 5.结合程序掌握一些简单的算法。 6.进一步学习调试程序的方法。 二、实验内容:(程序代码及调试结果) 1.某年如果能被4整除,但不能被100整除,或者能被400整除的年是闰年。判断从键盘输入的年份是否为闰年。 #include int main() {int year; printf("请输入年份:\n"); scanf("%d",&year); if ((year%4==0&&year%100!=0)||(year%400==0)) printf("%d是闰年\n",year); else printf("%d不是闰年\n",year); return 0; }

2、某个自动加油站有‘a’,‘b’,‘c’三种汽油品种,单价分别为

6.92, 7.37,7.64(元/公升),也提供了“自己加”或“协助加” 两个服务等级,这样用户可以得到5%或10%的优惠,请编程序针对用户输入加油量m,汽油品种y和服务类型z(‘f’—自动加,‘m’—自己加,‘e’—协助加),(注:‘f’—自动加无优惠),计算应付款pay。(请用多分支选择switch语句)。 #include int main() {float p,n,d,pay; char y,z; printf("请输入服务方式:\n"); printf("请输入汽油品种:\n"); scanf("%c %c",&z,&y); switch(z) {case 'f': d=1.0;break; case 'm': d=0.95;break; case 'e': d=0.9;break; default: printf("Unknown operator\n");break; } switch(y) {case 'a': p=6.92;break; case 'b': p=7.37;break; case 'c': p=7.64;break; default: printf("Unknown operator\n");break; } printf("请输入加油数量:\n"); scanf("%f",&n); pay=p*n*d; printf("应付金额:%5.2f\n",pay);

C语言程序第一次在线作业

C语言程序第一次在线作业 作业 第1题一个C语言程序总是从()开始执行。 您的答案:B 题目分数:0.5 此题得分:0.5 批注:C程序的main()函数 第2题以下叙述不正确的是:()。 您的答案:C 题目分数:0.5 此题得分:0.5 批注:C语句、数据类型、运算符 第3题以下不正确的C语言标识符是()。 您的答案:D 题目分数:0.5 此题得分:0.5 批注:标识符命名规则 第4题下列字符串是标识符的是:()。 您的答案:A 题目分数:0.5 此题得分:0.5 批注:标识符命名规则 第5题以下说法中正确的是()。 您的答案:C 题目分数:0.5 此题得分:0.5 批注:C程序的main()函数 第6题在C语言中,字符型数据在内存中以()形式存放。 您的答案:D 题目分数:0.5

批注:字符型 第7题若有定义:int a=7; float x=2.5; y=4.7;则表达式 x+a%3*(int)(x+y)%2/4的值是()。 您的答案:A 题目分数:0.5 此题得分:0.5 批注:表达式求值、注意整除运算 第8题设有说明:char w; int x; float y; double z;则表达式w*x+z-y 值的数据类型为()。 您的答案:D 题目分数:0.5 此题得分:0.5 批注:不同类型的数据进行混合运算时的自动类型转换 第9题以下()是不正确的转义字符。 您的答案:C 题目分数:0.5 此题得分:0.5 批注:转义字符、注意八进制数的表示 第10题字符串" \\\" ABC\" \\" 的长度是()。 您的答案:B 题目分数:0.5 此题得分:0.5 批注:转义字符、字符串长度 第11题若x是int型变量,y是float型变量,所用的scanf调用语句格式为:scanf(" x=%d,y=%f" ,& x,& y); 则为了将数据10和66.6分别赋给x和y,正确的输入应是()。 您的答案:A 题目分数:0.5 此题得分:0.5 批注:scanf函数的使用 第12题若有定义double x=1,y;则y=x+3/2; printf(“%f”,y);的结果是()。 您的答案:C

C语言课堂练习作业

第一次上机作业 1.输入两个实数,按代数值由大到小输出。 2.输入三个实数,按代数值由大到小输出。 3.输入某学生的成绩,经处理后给出学生的等级如下: 90分以上(包括90分):A 80至90分(包括80分):B 70至80分(包括70分):C 60至70分(包括60分):D 60分以下: E (1)用if语句实现 (2)用switch语句实现 第二次上机作业 1、利用循环语句编写程序:对一个正整数,将各位数字反序后的数组成一个整数输出。例如:输入12345,输出54321。 #include void main() { long m,n,sum=0; scanf(“%ld”,&m); while(m>0) { n=m%10; m=m/10; sum=sum*10+n; } printf(“%ld”,sum); } 2、从键盘中输入10个数,把这10个数按从小到大的顺序依次输出。 #include void main() { int a[10]; int i,j,t; for(i=0;i<10;i++) scanf(“%d”,&a[i]); for(i=0;i

3、编程求1!+2!+3!+ (20) 4、将一个正整数分解成质因数的乘积。例如:输入90,打印90=2*3*3*5。 #include void main() { int n,i=2; scanf(“%d”,&n); printf(“%d=“,n); while(n>1) { if(n%i==0) { printf(“%d*”,i); n=n/i; } else i++; } printf(“\b “); } 第三次上机作业 1.从键盘输入n个整数,统计所有下标为奇数且数组元素的值为偶数的个数。 #include void main() { int a[100]; int i,j,n,t,num=0; scanf(“%d”,&n); for(i=0;i void main() { int a[10],i; for(i=0;i<10;i++) scanf(“%d”,&a[i]);

c语言第2次上机作业[1]

本次上机作业分为两部分1指针基本概念 2 数组提高体 题目较多,指针基本概念题和数组提高题中的阅读程序题的前5小题(做到红色标号位置即可)必须当堂提交,剩余的题目3月17日前提交即可—如全部当堂提交可获得高分 题目就在原题做即可----请独立完成,严禁抄袭---否则0分 1指针基本概念题: 1.设有定义“int a=3,b,*p=&a;”,则下列语句中不能使b为3的语句是_D________。 A. b=*&a; B. b=*p; C. b=a; D. b=*a; 2.若有说明:int i,j=7,*p=&i; 则与i=j;等价的语句是___B______。 A. i=*p; B. *p=*&j; C. i=&j; D. i=**p; 3.int j,*p=&j; 要实现j的内容加10,错误的是____D_____。 A. *p=*&j+10; B. j=*p+10; C. *p=*p+10; D. *p=&j+10; 4.设指针x指向的整型变量值为25,则printf("%d\n", ++*x);的输出是_D_______。 A. 23 B. 24 C. 25 D. 26 5.设P1和P2是指向同一个int型一维数组的指针变量,k为int型变量,则不能正确执行的语句是__B_______。 A. k=*P1+*P2; B. P2=k; C. P1=P2; D. k=*P1 *(*P2); 6.对基类型相同的指针变量不能进行的运算是____A_____。 A. + B. - C. = D. == 7.若有以下定义,则不能表示a数组元素的表达式是_B________。 int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; A. *p B. a[10] C. *a D. a[p-a] 2、指针基本概念填空题 1.设有char *a="ABCD"; 则printf("%s",a);的输出是_ABCD__________________,而printf("%c",*a);的输出是A___________。 2.只能给指针变量赋___NULL______和______合法空间的地址________________________________值。 3.若int a[10], *p, k=5; p=a+k; 则p的内容为a[5]的地址___________________________,*p的内容为_a[5]的值__________________________。 2数组提高题 2数组提高题:1阅读程序题 1.以下程序的输出结果是__s=1234__________。 #include main() {int a[]={1,2,3,4},i, j, s=0; j=1; for(i=3;i>=0;i--) {s=s+a[i]*j; j=j*10;}

相关文档
最新文档