中国海洋大学C语言期末笔试A.docx
- 文档编号:8302220
- 上传时间:2023-01-30
- 格式:DOCX
- 页数:12
- 大小:25.18KB
中国海洋大学C语言期末笔试A.docx
《中国海洋大学C语言期末笔试A.docx》由会员分享,可在线阅读,更多相关《中国海洋大学C语言期末笔试A.docx(12页珍藏版)》请在冰豆网上搜索。
中国海洋大学C语言期末笔试A
中国海洋大学2009-2010学年第二学期期末考试试卷
计算机基础部《C程序设计》课程试题(A卷
专业年级学号姓名授课教师选课班上机课时间周第节
----------------装----------------订----------------线----------------
)共8页第1页
考试说明:
本课程为闭卷考试,可携带书写与修正文具,满分:
100分。
考试结束后请将答题卡与试卷分开上交。
一、单选题(每题2分,共30分)
1.以下叙述正确的是___B_____。
A)C程序的每行只能写一条语句
B)C语言本身没有输入输出语句
C)在C程序中,注释说明只能位于一条语句的后面
D)在对C程序进行编译的过程中可发现注释中的拼写错误
2.下面正确的int型常量表示是__D______。
A)0xag B)16.700C)089D)0XABC
3.以下C语言标识符中错误的是___D_____。
A)_3maxB)s_1_2C)int3D)p&sum
4.以下关于C语言数据类型使用的叙述中错误的是________。
A)若要准确无误差的表示自然数,应使用整数类型
B)若要保存带有多位小数的数据,应使用双精度类型
C)若要处理如“人员信息”等含有不同类型的相关数据,应自定义结构体类型
D)若只处理“真”和“假”两种逻辑值,应使用逻辑类型
5.当执行程序时,按下列方式输入数据(从第1列开始,
回车也是一个字符),则输出结果是____C____。
12
34
voidmain()
{chara,b,c,d;
scanf("%c%c",&a,&b);
c=getchar();d=getchar();
printf("%c%c%c%c\n",a,b,c,d);}
A)1234 B)12 C)12D)12
334
6.设有如下程序段,则描述中正确的是______。
inti=5;
while(i=0)i=i-1;
A)while循环执行5次B)循环是无限循环
C)循环体语句一次也不执行D)循环体语句只执行一次
授课教师命题教师或命题负责人签字
年月日
院系负责人签字
年月日
7.以下不正确的一组语句是________。
A)chara[10]="hello"; B)char*p="hello";
C)chara[10];a="hello";D)char*p;p="hello";
8.若有structcomplex
{intreal,unreal;}data1={1,8},data2;
则以下赋值语句中错误的是________。
A)data2=9; B)data2.real=9;
C)data2.real=data1.real; D)data2.real=data1.unreal;
9.若有定义:
doublea=22;inti=0,k=18;,则不符合C语言规定的赋值语句是________。
A)a=a++,i++; B)i=(a+k)<=(i+k); C)i=a%11; D)i=!
a;
10.下列对C语言字符数组的描述中错误的是________。
A)字符数组可以存放字符串
B)字符数组中的字符串可以整体输入、输出
C)可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值
D)不可以用关系运算符对字符数组中的字符串进行大小比较
11.以下不正确的if语句形式是______。
A)ifx>y&&x B)if(x==y)x+=y; C)if(x! =y)scanf("%d",&x);elsescanf("%d",&y); D)if(x 12.以下能对二维数组a进行正确初始化的语句是: ________。 A)inta[2][]={{1,0,1},{5,2,3}};B)inta[][3]={{1,2,3},{3,2,1}}; C)inta[2][4]={{1,2,3},{4},{5,6}};D)inta[12]={{1,2},{},{5,2,3}}; 13.设有定义doublea[10],*s=a;,以下能够代表数组元素a[3]的是________。 A)(*s)[3] B)*(s+3) C)*s[3] D)*s+3 14.若有定义int(*p)[3];,则下列说法正确的是________。 A)定义了类型为int的三个指针变量 B)定义了类型为int的具有三个元素的指针数组p C)定义了一个名为*p、具有三个元素的int型数组 D)定义了一个名为p的指针变量,可用它指向每行有三个int元素的二维数组 15.下面程序运行后的结果是________。 voidmain() {charc[5]={'a','b','\0','c','\0'}; printf("%s",c); } A)'a''b'B)abC)abcD)ab0c0 共8页第2页 中国海洋大学2009-2010学年第二学期期末考试试卷 二、填空题(每空2分,共20分) 1.若有定义unsignedlongx=200;chara[10]="hello";则语句 printf("___【1】___",x,a);将两个数据按x=200,a=hello的形式输出。 2.若a=1,b=3,c=’A’,则表达式! a 3.语句printf("%d",strlen("ab021\n\\\t"));的输出结果是___【3】__ 4.下面程序段的输出是___【4】__ inti,j; for(i=1;i<3;i++) for(j=1;j<3;j++) {if(i==j)continue;printf("i=%d,j=%d\n",i,j);} 5.下面find函数的功能是查找字符串s中是否包含字符c,若有,返回该字符在串中第1次出现的位置;若无,返回空指针。 请完善程序 char*find(char*s,charc) {while(*s! ='\0') {if(*s==c)___【5】___; s++;} returnNULL; } voidmain() {chara[20],key,*p; gets(a);scanf("%c",&key); p=find(a,key); if(p==NULL)printf("nofind.\n"); elseprintf("Thefirstpositionis%d",p-a); } 6.下面程序中main函数调用output函数将二维数组的两个字符串输出,请补充完整函数output形参部分。 #include voidoutput(___【6】___,intn) {inti; for(i=0;i puts(*(p+i)); } voidmain() {chara[2][10]={"china","japan"}; output(a,2);} 计算机基础部《C程序设计》课程试题(A卷 专业年级学号姓名授课教师选课班上课时间周第节 ----------------装----------------订----------------线---------------- )共8页第3页 7.以下程序的功能是输出100-300之间所有的素数。 函数isprime()用于判断形参a是否为素数。 若a是素数,返回1,否则返回0。 请完善程序。 #include intisprime(inta) {inti; for(i=2;i<=sqrt(a);i++) if(a%i==0)【7】; return1;} voidmain() {intm; for(m=101;m<300;m+=2) if(【8】)printf("%d",m); printf("\n");} 8.下面fun函数的功能是: 首先对a所指的N行N列的二维数组,找出各行中的最大的数,再求这N个最大值中的最小的那个数作为函数值返回。 请完善程序。 #include #defineN100 intfun(int(*a)[N]) {introw,col,max,min; for(row=0;row {for(max=a[row][0],col=1;col if(____【9】____)max=a[row][col]; if(row==0)min=max; elseif(____【10】____)min=max; } returnmin; } 三、读程序写结果(每题2分,共20分) 1.#include voidmain() {inta=11,b=22,t=33; if(a>b)t=a;a=b;b=t; printf("a=%d,b=%d\n",a,b); } 2.voidmain() {chara[10]={"12and34"}; inti,s=0; for(i=0;a[i]>='0'&&a[i]<='9';i++) s=10*s+a[i]-'0'; printf("%d\n",s); } 共8页第4页 中国海洋大学2009-2010学年第二学期期末考试试卷 计算机基础部《C程序设计》课程试题(A卷 专业年级学号姓名授课教师选课班上课时间周第节 ----------------装----------------订----------------线---------------- )共8页第5页 3.下面程序运行若输入china ______。 #include voidmain() {charc;inta=0,b=0; while((c=getchar())! ='\n') switch(c) {case'a': case'b': a++;break; default: a++; case'c': b++;} printf("a=%d,b=%d\n",a,b); } 4.#include voidf() {staticinta=1;intb=1; a++;b++; printf("%5d",a+b);} voidmain() {f();f();} 5.#defineSUB(a)(a)-(a) voidmain() {inta=2,b=3,c=5,d; d=SUB(a+b)*c; printf("%d\n",d); } 6.#include voidmain() {charb[]="ABCDEFG"; char*p=&b[3]; while(--p>&b[0]) putchar(*p); } 7.structA{intno;charname[10];intlevel;}; voidmain() {structAa[3]={{1,"tiger",3},{2,"pig",2},{3,"sheep",1}},*p=a; for(;p if(p->level==1) printf("%d,%s\n",p->no,p->name); } 8.#include intswap(int*x,int*y) {int*t; t=x;x=y;y=t;} voidmain() {inta=4,b=3; swap(&a,&b); printf("%d%d\n",a,b);} 9.voidmain() {chara[]="YouAndMe",*p=a; p+=3;puts(p);} 10.voidmain() {chara[20]="open",b[10]="the",*c="window"; strcpy(b,c);strcat(a+4,b); puts(a); } 四、编程题(分值依次为6、7、8、9分,共30分) 1.编写程序实现功能: 运行程序用户输入任意三个整数后,程序求出其中最小值并显示。 2.编写程序,输入一个整数x,按下式输出对应的y值。 3.函数voidmystrcpy(char*s1,char*s2)的功能是: 将s2所指向的数组中的串复制到s1所访问的数组中,请完成函数体的补充。 (禁止使用任何库函数) voidmystrcpy(char*s1,char*s2) {} 4.编写程序,要求用户输入一个分数,然后将其约分为最简分式。 输入输出如下所示: Enterafraction: 6/12 Inlowestterms: 1/2 提示: 为了把分数约分为最简分式,首先计算分子和分母的最大公约数,然后分子和分母分别都除以最大公约数。 答案请答于答题卡上,答题卡上请写清楚考生个人信息与任课教师、选课时间。 任课教师按答题卡评分。 考试结束后请将答题卡与试卷分开上交。 共8页第6页 中国海洋大学2009-2010学年第二学期期末考试试卷 《C程序设计》答题卡A2010.7 考试说明: 本课程为闭卷考试,可携带书写与修正文具,满分为: 100分。 题号 一 二 三 四 总分 得分 一、单选题(每题2分,共30分)(请将所选答案涂黑如ABCD) 1.ABCD2.ABCD3.ABCD4.ABCD 5.ABCD6.ABCD7.ABCD8.ABCD 9.ABCD10.ABCD11.ABCD12.ABCD 13.ABCD14.ABCD15.ABCD 二、填空题(每空2分,共20分)注意题号与空格号不一致,以空格编号为准 【1】____________________【2】___________________【3】__________________ 【4】____________________【5】____________________【6】____________________ 【7】____________________【8】____________________【9】____________________ 【10】____________________ 三、读程序写结果(每题2分,共20分) 1.__________________2.____________________3.________________________ 4._________________5._____________________6.________________________ 7._________________8._____________________9._________________________ 10.__________________________________________ 四、编程题(分值依次为6、7、8、9分,共30分) (写于右侧,与反面。 请写清楚题号) 计算机基础部《C程序设计》课程试题(A卷 专业年级学号姓名授课教师选课班上课时间周第节 ----------------装----------------订----------------线---------------- )共8页第7页 共8页第8页 中国海洋大学2009-2010学年第二学期期末考试答案 计算机基础部《C程序设计》课程试题(A卷 专业年级学号姓名授课教师选课班上机课时间周第节 ----------------装----------------订----------------线---------------- )共2页第1页 《C程序设计》答题卡A2010.7 考试说明: 本课程为闭卷考试,可携带书写与修正文具,满分为: 100分。 题号 一 二 三 四 总分 得分 一、单选题(每题2分,共30分)(请将所选答案涂黑如ABCD) 1.ABCD2.ABCD3.ABCD4.ABCD 5.ABCD6.ABCD7.ABCD8.ABCD 9.ABCD10.ABCD11.ABCD12.ABCD 13.ABCD14.ABCD15.ABCD 二、填空题(每空2分,共20分)注意题号与空格号不一致,以空格编号为准 【1】x=%lu,a=%s【2】1【3】8 【4】i=1,j=2 i=2,j=1 【7】return0【8】isprime(m)==1【9】max 【10】max 三、读程序,写结果(每题2分,共20分) 1._a=22,b=33_2.__12____3.__a=4,b=4____ 4.__45____5.__-20_____6.____CB_____ 7.____3,sheep____8.____43_____9.___AndMe_____ 10.____openwindow____ 四、编程题(分值依次为6、7、8、9分,共30分) 共2页第2页
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 中国海洋 大学 语言 期末 笔试