收藏 分销(赏)

上海工程技术大学0809(2)C语言考试试卷A答案.doc

上传人:快乐****生活 文档编号:11183666 上传时间:2025-07-04 格式:DOC 页数:4 大小:63.01KB 下载积分:5 金币
下载 相关 举报
上海工程技术大学0809(2)C语言考试试卷A答案.doc_第1页
第1页 / 共4页
上海工程技术大学0809(2)C语言考试试卷A答案.doc_第2页
第2页 / 共4页


点击查看更多>>
资源描述
一、选择题(本题共15小题,每小题2分,共30分) 1. C程序的基本组成单位是 B 。 A)程序 B)函数 C)子程序 D)文件 2. C语言中的整数变量在内存中占 C 个字节。 A) 0 B) 1 C) 2 D)4 3. 设int i=3;与函数f(i, ++i)等价的调用语句为 D 。 A) f(3,3) B) f(3,4) C) f(4,3) D) f(4,4) 4. 在循环语句的循环体中执行continue语句,其作用是 C 。 A) 跳出该循环体,提前结束循环 B) 继续执行该语句之后的循环体各语句 C) 结束本次循环,进行下次循环 D) 终止程序运行 5.下列标识符中不合法的变量名是 D 。 A)class3 B)length C)_2abc D)long 6.C语言的一个源文件中定义的全局变量的作用域为 D 。 A)本文件的全部范围 B)本程序的全部范围 C)本函数的全部范围 D)从定义该变量的位置开始至本文件结束 7. 设a、b、c、d、m、n均为int型变量,且a=3、b=6、c=7、d=8、m=2、n=5,则逻辑表达式(m=a>b)&&(n=c>d)运算后,n的值为 A 。 A) 0 B) 1 C) 5 D) 7 8. 下列 A 描述的全是C语言中的基本数据类型。 A) 字符型、整型 B) 字符型、数组 C)整型、结构体 D) 浮点型、共用体 9.下面定义了共用体类型的变量x,则sizeof(x)的值为 D 。 union { char c[10]; int b; float e; } x; A) 16 B) 4 C) 2 D) 10 10.已知a,b为整型变量,a=2,b=1,则表达式(a=b+2,a+b)的值是 D 。 A) 2 B) 6 C) 3 D) 4 11.当调用函数时,实参和形参是数组名,则向被调用函数传送的是 B 。 A) 数组的长度 B) 数组首元素的地址 C) 数组的值 D) 数组每个元素中的值 12. 能正确表示逻辑关系:“x≤10或x≥20”的C语言表达式是 ( B ) A) x<=10 or x>=20 B) x>=20||x<=10 C) x>=10 && x<=20 D) x£10 and x³20 13.设有以下说明语句,则下面正确的引用是 C 。 struct student { int num; char name[10]; float score;} s1; A) struct.score B) student.score C) s1.name D) s1[2].name 14. 设p是指向字符型数据的指针变量,与p++等价的语句是 A 。 A)p=p+1; B)p=p+2; C)p=p+3; D)p=p+4; 15. 若己定义:int a[ ]={0,1,2,3,4,5,6,7,8,9},*p=a, i; 其中 0≤i≤9, 则对 a中数组元素不正确的引用是 C 。 A) *p B) *(a+i) C) a+i D) p[i] 二、读程序,严格按照程序写出输出结果(本题共5小题,每小题4分,共20分) 1. #include <stdio.h> void main( ) { int i,s=0; for(i=1;i<10;i+=3) s+=i; printf("%d\n",s); } 程序执行后的输出结果是 12 2. #include <stdio.h> void main( ) { int i,j,s=0; int a[ ][3]={{1,2,3},{4,5,6},{7,8,9}}; for(i=0;i<3;i++) for(j=0;j<3;j++) if(i!=j) s=s+a[i][j]; printf("s=%d\n",s); } 程序输出结果: s=30 3. #include <stdio.h> void main( ) { char *p,s[ ]="you are a student"; int n=0; p=s; while(*p++!= '\0' ) n++; printf(“n=%d\n”,n); } 程序输出结果: n=17 4. #include <stdio.h> void main( ) { int i,t=1,s=0; for(i=1;i<=3;i++) { t=t*i; s=s+t; } printf(“s=%d\n”,s); } 程序输出结果: s=9 5. struct stu{ char name[10]; int num; int score; }; void main( ) { struct stu s[5]={{“yangsan”,2041,703},{“licuan”,2042,580}, {“zhangyue”,2043,680},{“sunyue”,2044,550}, {“pengli”,2045,537}},*p[5],*t; int i,j; for(i=0;i<5;i++) p[i]=&s[i]; for(i=0;i<4;i++) for(j=i+1;j<5;j++) if(p[i]->score>p[j]->score) { t=p[i]; p[i]=p[j]; p[j]=t; } printf(“%d,%d”,s[1].score,p[1]->score); } 则程序输出结果为: 580,550 三、程序填空题(本题共4小题,每空3分,共30分) 1. 用以下程序计算0+5+10+15+……+100的累加和。请填空。 #include <stdio.h> void main( ) { int i,sum; sum=0 ; for( i=0; i<=100; i=i+5 ) sum+=i; printf(″sum=%d\n″,sum); } 2. 找出一维数组a[10]中的最大值,返回最大值的下标。 #include <stdio.h> void fun( int a[10]) { int i,j,max; j=0; for(max=a[0],i=1;i<10;i++) if( a[i]>max ) { max=a[i]; j=i ; } return( j ); } 3. 函数count( )统计链表中结点的个数,head为头指针。 #include <stdio.h> struct student { char name[10]; struct student *next; }; int count(struct student *head) { int n=0; struct student *p; p=head; while( p!=NULL ) { n++; p=p->next ; } return(n); } 4. 用0到9之间不同的3个数构成一个3位数,统计共可以得到多少个数。 void main( ) { int i,j,k,count; count=0; for(i=1;i<10;i++) for(j=0;j<10;j++) if( i==j ) continue; else for(k=0;k<10;k++) if( k!=i&&k!=j ) count++; printf(“count=%d\n”,count); } 四、编程题(本题共3个小题,第1、2小题6分,第3小题8分,共20分) 1. 输入一个无符号整数,求出它的位数以及各位数之和并输出。(例如若输入123,则各位之和为6) # include <stdio.h> void main( ) { unsigned m,ws=0,p=0; scanf(“%u”,&m); do { ws++; p=p+(m%10); } while(m/=10); printf(“%d\t%u\n”,ws,p); } 2. 有一个3×4的矩阵,要求编写一个函数求出其中值最小的数组元素,以及所在的行号和列号,并输出。数组的初值为a[3][4] ={{1,2,3,4},{9,8,7,6}, {–10,10, –5, 2}}。 #include <stdio.h> void main ( ) { int i,j, row=0, colum=0, min; int a[3][4]={{1,2,3,4},{9,8,7,6}, {–10,10, –5, 2}}; min=a[0][0]; for (i=0;i<=2; i++) for (j=0; j<=3; j++) if (a[i][j]<min) { min=a[i][j]; row=i; colum=j; } printf( "min=%d,row=%d, colum=%d\n ", min, row, colum); } 3.设有5个学生的相关数据,每个学生的数据为一个结构体,包括学号、姓名、两门功课的成绩及平均成绩。编写一个函数,要求输入每个学生的所有数据,并计算各个学生的平均成绩,然后依次输出各个学生的数据(学号、姓名、各门课程成绩及平均成绩)。要求学号为整型、姓名为长度为8的字符数组、成绩为浮点数。 void main( ) { struct student { int no; char name[8]; float score[2]; float ave; } stu[5]; int i,j; float temp; for(i=0;i<5;i++) scanf(“%d%s%f%f”,&stu[i].no,stu[i].name,&stu[i].score[0],&stu[i].score[1]); for(i=0;i<5;i++) { temp=0; for(j=0;j<2;j++) temp=+stu[i].score[j]; stu[i].ave=temp; } for(i=0;i<5;i++) { printf(“no=%d,name=%s,score1=%f,score2=%f,average=%f”,stu[i].no,stu[i].name,stu[i].score[0],stu[i].score[1],stu[i].ave); } } 4 / 4
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服