工业大学C语言期末考试试卷_第1页
工业大学C语言期末考试试卷_第2页
工业大学C语言期末考试试卷_第3页
工业大学C语言期末考试试卷_第4页
工业大学C语言期末考试试卷_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第1页(共10页)班级:学号:姓名:PAGE16班号姓名工业大学2006年秋季学期C语言试卷题号一二三四五卷面总分分数说明:本试卷卷面满分为100分。总成绩将按平时实验成绩、机考成绩和卷面笔试成绩各自所占比例折合后累加计算。一、单项选择题:(10分,每题2分)1.在下面的语句中:只有一个在功能上与其他三个语句不等价(其中s1和s2表示某个C语句),这个不等价的语句是。A)if(a)s1;elses2;B)if(!a)s2;elses1;C)if(a!=0)s1;elses2;D)if(a==0)s1;elses2;2.以下正确的描述是。 对共用体初始化时,只能对第一个成员进行初始化,每一瞬时起作用的成员是最后一次为其赋值的成员结构体可以比较,但不能将结构体类型作为函数返回值类型函数定义可以嵌套关键字typedef用于定义一种新的数据类型3.下列的定义中,正确使用字符串初始化的是。A)charstr[7]="FORTRAN";B)charstr[]={F,O,R,T,R,A,N,0};C)char*str="FORTRAN";D)charstr[]={'F','O','R','T','R','A','N'};4.要使下面程序的输出语句在屏幕上显示1,2,34则从键盘上输入的正确数据格式为:。main(){ chara,b; intc; scanf("%c%c%d",&a,&b,&c);printf("%c,%c,%d\n",a,b,c);}A)1234 B)1,2,34C)'1''2'34 D)12345.若有二维数组定义语句:inta[3][4];则下面对元素a[i][j]不正确的引用方式是:。A)*(&a[i][j])B)*(a+4*i+j)C)*(a[i]+j)D)*(*(a+i)+j)二、写出下列程序的运行结果。(10分,每题2分)1.#include<stdio.h>main(){ intk=4,n=0; for(;n<k;) { n++; if(n%2==0)break; k--; } printf("k=%d,n=%d\n",k,n);}程序运行结果为2.#include<stdio.h>main(){ intn; staticchar*mName[]={"Illegalmonth","January","February","March","April","May","June","July","August","September","October","November","December"};printf("\nPleaseenterainteger:");scanf("%d",&n); printf("%s\n",(n<1||n>12)?mName[0]:mName[n]);}当程序输入9时,完整的(包括输入)程序运行结果是:当程序输入13时,完整的(包括输入)程序运行结果是:3.#include<stdio.h>typedefstructdate{intyear;intmonth;intday;}DATE;voidfunc(DATE*p){p->year=2000;p->month=5;p->day=22;}main(){DATEd;d.year=1999;d.month=4;d.day=23;printf(“%d,%d,%d\n”,d.year,d.month,d.day);func(&d);printf(“%d,%d,%d\n”,d.year,d.month,d.day);}运行结果是:4.#include<stdio.h>main(){intm=7;printf("%d\n",m/2+1); printf("%d\n",m/2.0+1);printf("%f\n",(float)(m/2+1));printf("%f\n",(float)m/2+1);printf("m=%d\n",m);}运行结果是:5.#include<stdio.h>intFun(intx){ staticinty=1; y+=x; returny;} main(){ intk; for(k=0;k<3;k++){ printf("%d\n",Fun(k));}}运行结果是:三、阅读程序,在标有下划线的空白处填入适当的表达式或语句,使程序完整并符合题目要求。(8分,每空2分)1.假设有40个学生被邀请来给自助餐厅的食品和服务质量打分,分数划分为1~10这10个等级(1表示最低分,10表示最高分),试统计调查结果,并用*打印出如下形式的统计结果直方图。Grade Histogram1 *****2 **********3 ******* ...#include<stdio.h>main(){ inti,j,grade; intscore[40],count[11]={0}; printf("Pleaseentertheresponsescore:\n"); for(i=0;i<40;i++) { scanf(); } for(i=0;i<40;i++) { ; } printf("Grade\tCount\tHistogram\n"); for(grade=1;;grade++) { printf("%5d\t",grade); for(j=0;;j++) { printf("%c",'*'); } printf("\n"); }}2.不用函数strcat(),编程实现字符串连接函数strcat()的功能,将字符串srcStr连接到字符串dstStr的尾部。四、在下面4个程序中,共有16处错误(包括语法错误和逻辑错误),只要找出其中的15处错误并改正之即可,多找不多加分。(30分,每找对1个错误,加1分,每修改正确1个错误,再加1分。)1.下面程序用于打印所有的水仙花数。所谓“水仙花数”,是指一个三位数,其各位数字的立方和等于该数本身。例如,153是“水仙花数”,因为153=13+33+53。2.利用泰勒级数sin(x)≈计算sin(x)的值。要求最后一项的绝对值小于10-5,并统计出此时累加了多少项。#include<math.h>#include<stdio.h>main(){ intn=1,count=1; floatx; doublesum,term; printf("Inputx:"); scanf("%d",&x); sum=x; term=x; do { term=-term*x*x/(n+1)*(n+2); sum=sum+term; n++; count++; }while(fabs(term)<=1e-5); printf("sin(x)=%f,count=%d\n",sum,count);}3.下面程序的功能是从键盘输入一行字符,统计其中有多少单词。假设单词之间以空格分开。已知:判断是否有新单词出现的方法——当前被检验字符不是空格,而前一被检验字符是空格,则表示有新单词出现。#include<stdio.h>main(){ charstr[20]; inti,num; scanf("%s",str); if(str[0]!='') { num=1; } else { num=0; } for(i=1;i<20;i++) { if(str[i]!=''||str[i-1]=='') { num++; } } printf("num=%d\n",num);}4.下面程序用于计算两个正整数的最小公倍数。#include<stdio.h>intMinCommonMultiple(inta,intb)main(){ inta,b,x; printf("Inputa,b:"); scanf("%d,%d",&a,&b); x=MinCommonMultiple(inta,intb); printf("MinCommonMultiple=%d\n",x);}intMinCommonMultiple(inta,intb);{ inti; for(i=1;i<b;i++) { if((i*a)%b=0) returni*a; }return0; }五、编程(42分)1.编程计算的值,要求n由用户从键盘输入。(14分)2.编程打印如下形式的杨辉三角形,打印的杨辉三角形的行数n(不超过10行)要求由用户从键盘输入。要求按照如下函数原型进行编程,不能使用全局变量。(14分)voidYHTriangle(inta[][SIZE],intn);voidPrintYHTriangle(inta[][SIZE],intn); 1 11 121 1331 14641 151010513.从键盘输

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论