套题1C语言程序设计答案.pdf_第1页
套题1C语言程序设计答案.pdf_第2页
套题1C语言程序设计答案.pdf_第3页
套题1C语言程序设计答案.pdf_第4页
套题1C语言程序设计答案.pdf_第5页
已阅读5页,还剩3页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

第 1 页(共 6 页) 试试 题题 一一 参 考 答 案 与 评 分 标 准 一、单项选择题: (10 分,每题 2 分) 1对于一个正常运行和正常退出的 C 程序,以下叙述正确的 是。 A)程序是从 main 函数第一条可执行语句开始执行, 在 main 函 数结束 B)程序的执行总是从程序的第一个函数开始,在 main 函数结 束 C)程序的执行总是从 main 函数开始,在最后一个函数中结束 D)从程序的第一个函数开始,在程序的最后一个函数中结束 2在 turbo C2.0 编程环境下有如下程序片段: #include main( ) inta = 5, b = 4, x, y; x = 2 * a+; printf(“a=%d, x=%dn“, a, x); y = -b * 2; printf(“b=%d, y=%dn“, b, y); 则正确的执行结果是。 A)a=6,x=10 b=3,y=8 B)a=6,x=10 b=3,y=6 C)a=6,x=12 b=3,y=6 D)以上均不对 3在 turbo C2.0 编程环境下有以下程序片断: typedef struct 班级:学号:姓名: 2 int b; int p; TYPEA; void f(TYPEA c) c.b += 1; c.p += 2; main() TYPEA a =1, 2; f(a); printf(“%d,%dn“, a.b, a.p); 则程序运行后的输出结果是。 A) 2,3B)2,4C)1,4D)1,2 4对于以下程序片段,描述正确的是。 int x= -1; do x=x*x; while(!x); A)是死循环B)循环执行两次 C)循环执行一次D)有语法错误 5.一个指针数组的定义为。 A) int (*ptr)5;B) int *ptr5; C) int *(ptr5);D) int ptr5; 二、 1、2008 2、 a=2, b=1 a=3, b=2 3、9 4、123456 78910 班级:学号:姓名: 3 13579 5、The Result is : 9 三、阅读程序,在标有下划线的空白处填入适当的表达式或语句,使程序完 整并符合题目要求。 (8 分,评分标准:每空 1 分,正确得 1 分,错误扣 1 分) 1.以下程序将输入的十进制数以十六进制的形式输出。 #include main() char b17= “0123456789ABCDEF“; int c64,d, i=0, base = 16; long number; printf(“请输入一个十进制数请输入一个十进制数n“); scanf(“%ld“, do ci = number % base; number = number / base; i+; while (number != 0); printf(“对应的十六进制数为对应的十六进制数为: n“); for(-i; i=0; -i) d = ci; printf(“%c“, bd); printf(“n“); 2用户从键盘任意输入一个数字表示月份值 n,程序显示该月份 对应的英文表示, 若 n 不在 112 之间, 则输出 “Illegal month” 。 #include main() 班级:学号:姓名: 4 int n; static char monthName20= “Illegal month“, “January“,“February“,“March“, “April“, “May“, “June“, “July“, “August“, “September“, “October“, “November“, “December“ ; printf(“Input month number:“); scanf(“%d“, if (n = 1) printf(“month %d is %sn“, n, monthNamen); else printf(“%sn“, monthName0); 四、在下面给出的 4 个程序中,有 15 处错误(包括语法错误和逻辑错误) , 请找出其中的错误,并改正之。 (30 分,评分标准:实际错误有 16 个,只 要找对 15 个即可,多找不加分。每找对 1 个错误,加 1 分,每修改正确 1 个错误,再加 1 分。 ) 1. 折半查找。 #include main( ) intup=9, low=0, mid,found=0, find; inta10=1, 5, 6, 9, 11, 17, 25, 34, 38, 41; scanf(“%d“, printf(“n“); while (up=low if(amid=find) found=1; break; elseif(amidfind) up=mid-1; 班级:学号:姓名: 5 else low=mid+1; if(found) printf(“found number is %dth“,mid); elseprintf(“nofound“); 2下面程序模拟了骰子的 6000 次投掷,用 rand 函数产生 16 之间的随机数 face,然后统计 16 每一面出现的次数存放到数组 frequency 中。 #include #include #include main() intface, roll, frequency7 = 0; srand(time(NULL); for (roll=1; roll void main(void) int i, sum=0; float avg; int sc10, *p=sc; for (i=0; i #include void Inverse(char rstr); main() charstr80; printf(“Input a string:n“); gets(str); Inverse(str); printf(“The inversed string is:n“); puts(str); void Inverse(char rstr) int i,n; char temp; for(i=0, n=(strlen(rstr)-1); i #include /1分 main() int i1, i2, i3, i4, k, n=10000; /1分,为避免输入非数值类型数据,将n初始化成不在1000和 9999之间的数 /1分,变量类型定义正确 printf(“Input a decimal between 1000 and 9999:“); scanf(“%d“, /1分 k = fabs(n);/*取绝对值*/1分 if(k9999)/2分 有效数 据判断 printf(“Input error!n“); return; i1 = k / 1000;/*分离出千位*/ /1分 i2 = (k - i1 * 1000) / 100;/*分离出百位*/1分 i3 = (k - i1 * 1000 - i2 * 100) / 10;/*十位*/1 分 i4 = k % 10;/*分离出个位*/ /1分 printf(“The sum of the total bit is %dn“, i1+i2+i3+i4); /1分 2. 输入 20 个学生的成绩,求出其中大于平均成绩学生的人数,并对 20 名学生成绩按从高到低进行排序。 / 缩进、空格、空行、标识符命名等编程规范 2分 #include main() int p=20,i,k=0,j; /2分 类型错扣1分,没初始化扣1 分 float ave,a20,t,sum=0; printf(“Please input the score of the students:n“); for(i=0;iave) k+; for(i=0;i main() doubleterm,result=1;/ 2分 类型和初始 化

温馨提示

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

评论

0/150

提交评论