苏大C语言期末卷09_第1页
苏大C语言期末卷09_第2页
苏大C语言期末卷09_第3页
苏大C语言期末卷09_第4页
苏大C语言期末卷09_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

PAGEPAGE4苏州大学C程序设计课程试卷()卷共6页 考试形式闭卷 年月院系年级专业学号姓名成绩选择题(每题2分,共20分)下列关于C程序的描述中,错误的是【1】。A)C程序是由函数构成的B)一个C程序总是从main函数开始执行C)C程序书写格式自由,一行内可以写几个语句,一个语句也可以分写在多行上D)C语言中是利用输入/输出运算符构成输入/输出语句完成输入/输出操作的以下C语言用户标识符中,不合法的是【2】。A)_1B)AaBcC))a_bD)a—b下面关于字符常量的说法错误的是【3】。A)一个字符常量代表ASCII字符集中的一个字符B)字符常量可以用单引号或双引号括起来C)单引号中的大写字母和小写字母代表不同的字符常量D)字符常量只能包含一个字符以下程序的输出结果是:【4】。voidmain(){ inta; scanf(“%d”,&a); if(a>100) printf("%d\n",a>100); else printf("%d\n",a<=100);}A)100B)0C)1D)不确定现有如下程序段,此程序段编译有错误,则程序段的错误出在【5】。#include<stdio.h>voidmain(){inta=30,b=40,c=50,d;d=a>30?b:c;switch(d){casea:printf("%d,",a);caseb:printf("%d,",b);casec:printf("%d,",c);default:printf("#"); }}A)default:printf("#");这个语句B)d=a>30?b:c;这个语句C)casea:printf("%d,",a);caseb:printf("%d,",b);casec:printf("%d,",c);这三个语句D)switch(d)这个语句下列说法中错误的是【6】。A)只能在循环体内使用break语句B)在循环体内使用break语句可以使流程跳出本层循环体,从而提前结束本层循环C)在while和do-while循环中,continue语句并没有使整个循环终止D)continue的作用是结束本次循环,即跳过本次循环体中余下尚未执行的语句,接着再一次进行循环判断下列语句组中,正确的是【7】。A)char*s;s="Olympic";B)chars[7];s="Olympic";C)char*s;s={"Olympic"};D)chars[7];s={"Olympic"};以下说法中正确的是【8】A)#define和printf都是C语句B)#define是C语句,而printf不是C)printf是C语句,但#define不是D)#define和printf都不是C语句以下程序的运行结果是【9】。#include<stdio.h>structst{intx,y;}data[2]={1,10,2,20};main(){structst*p=data;printf("%d,",p->y);p=p-1printf("%d\n",(++p)->x);}A)10,1B)20,1C)10,2D)20,2有以下程序运行后的输出结果是【10】。#include<stdio.h>voidfun(char*c,intd){ *c=*c+1; d=d+1; printf("%c,%c,",*c,d);}main(){ charb='a',a='A'; fun(&b,a); printf("%c,%c\n",b,a);}A)b,B,b,AB)b,B,B,AC)a,B,B,aD)a,B,a,B填空题(每空2分,共20分)设inta;floatf;doublei;则表达式10+a+i*f值的数据类型是【1】。C语言数组的下标总是从【2】开始,不可以为负数;与数学算式等价的C语言表达式是sqrt(abs(a-b))/(3*(a+b))。逻辑表达式3<2||-1&&4>3-!0的值为1。结构化程序设计中的三种基本结构是顺序、选择、循环。设charstring[]=″This_is_a_book!″;则数组的长度应是__16___。设有以下定义和语句,则*(*(p+2)+1)的值为60。inta[3][2]={10,20,30,40,50,60},(*p)[2];p=a;有以下程序,执行后输出结果是6。main(){intn=0,m=1,x=12;If(!n)x-=1;if非零,x=x-1If(m)x-=2;if非零,x=x-2if(x)x-=3;if非零,x=x-3printf(“%d\n”,x);}下面程序的运行结果是【9】。#include<stdio.h>main(){inta=1,b=10;do{b-=a;a++;}复合语句,两句语句,b=b-a,a=a+1,b=9,a=2while(b--<0);先引用后自减b=9<0为假,不执行循环,b=b-1=8printf("a=%d,b=%d\n",a,b);}以下程序运行后的输出结果是123569#include<stdio.h>main(){inti,j,a[][3]={1,2,3,4,5,6,7,8,9};二维数组for(i=0;i<3;i++) for(j=i;j<3;j++) printf("%d",a[i][j]);printf("\n");}程序阅读(每题10分,共20分)阅读以下程序,给出标注语句的功能。#include<stdio.h>1.包含头文件stdio.h、stdio.h中声明了输出库函数printf,在本程序中需要使用#include<string.h>structA.2定义了结构体{ inta; charb[10]; doublec;};voidf(structAt);3.函数f的声明main(){ structAa={1001,"ZhangDa",1098.0};4.定义结构体变量a并给成员赋初值a.=1001,a.b="ZhangDa",a.c=1098.0 f(a); printf("%d,%s,%6.1f\n",a.a,a.b,a.c);5.输出结构体变量a的成员值,即输出为1001,ZhangDa,1098.0}voidf(structAt){ t.a=1002; strcpy(t.b,"ChangRong"); t.c=1202.0;}程序#1的功能是:【1】程序#3到#8的功能是:【2】程序#9的功能是:【3】程序#12的功能是:【4】__程序#14的功能是:【5】_阅读以下程序,改正程序中出现的错误。以下程序的功能是分别求3×3的矩阵中两个对角线上元素值之乘积。#include<stdio.h>#defineN3voidmain(){ inta[N][N]; inti,j,sum1=0,sum2=0;1.错误行号#6、应改为:inti,j,sum1=1,sum2=1; for(i=0;i<=N;i++) /*使用二重循环给二维数组输入值*/错误行号#7、应改为:for(i=0;i<3;i++)或for(i=0;i<N;i++) for(j=0;j<N;j++) scanf("%d",a[i][j]);错误行号#9、应改为:scanf("%d",&a[i][j]); for(i=0;i<N;i++) for(j=0;j<N;j++) { if(i==j) /*求二维数组左上到右下对角线之和*/ sum1+=a[i][j];错误行号#14、应改为:sum1*=a[i][j]; if(i+j==N) /*求二维数组右上到左下对角线之和*/错误行号#15、应改为:if(i+j==N-1) sum2*=a[i][j]; } printf("左上到右下=%d\n右上到左下=%d\n",sum1,sum2);}程序中错误1的行号及改正方法为:【1】程序中错误2的行号及改正方法为:【2】程序中错误3的行号及改正方法为:【3】程序中错误4的行号及改正方法为:【4】__程序中错误5的行号及改正方法为:【5】_编程题(共40分)编写程序,从键盘输入三个数(10分),输出其中最大的数。(10分)编写程序输入3×4的矩阵中各元素的值(5分),输出矩阵中最大值的行号(5分)和列号(5分)以及其值(5分)。

苏州大学C程序设计课程()卷参考答案共2页 院系专业选择题(每题2分,共20分)1.D2.D3.B4.C5.C6.A7.A8.D9.C10.A填空题(每题2分,共20分)1.double2.03.sqrt(abs(a-b))/(3*(a+b))4.15.循环6.167.608.69.a=2,b=810.123569阅读程序题(每空2分,共20分)1.程序分析1.包含头文件stdio.h、stdio.h中声明了输出库函数printf,在本程序中需要使用2.定义了结构体3.函数f的声明4.定义结构体变量a并给成员赋初值a.=1001,a.b="ZhangDa",a.c=1

温馨提示

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

评论

0/150

提交评论