ImageVerifierCode 换一换
格式:DOCX , 页数:20 ,大小:36.19KB ,
资源ID:3171706      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3171706.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(上海市C语言二级考试模拟题.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

上海市C语言二级考试模拟题.docx

1、上海市C语言二级考试模拟题一1,表达式 sizeof(“C2009”) 的值是_2,在C语言中,标识符只能由字母、数字和下划线字符组成,并且第一个字符不能是_ 字符。3, 定义 int b=7; float a=5.2, c=6.9; 则表达式 b*(int)(a+c)/2 的值为_4,设x、y均为整型变量,完成以下语句,以实现不借助任何其它变量将x、y的值进行交换:x = x + y; y = x - _ ; x = x - _ ;5,设有如下定义,并且结构体数组student中的元素都已有值,若要将这些元素写到 fp 指向的文件中,请将函数调用语句 fwrite( student, siz

2、eof(struct st), 50, _ ); 补充完整。struct st char name8; int num; float s3; student50; 6,写出下列程序的输出结果_ #include long fac( int n ) if ( n=1 ) return 1; return n*fac(n-1);main() printf( 5!=%ldn, fac(5) );7,假定建立了以下链表结构,如图所示。指针p及q指向2个不同的结点,t为及data同类型的数据变量,则交换2结点数据的语句为:t=p-data; _;和_;1)以下程序按每行5个数的格式输出1至n范围内能被7

3、或17 整除的整数,并求出其和。如输入:50则输出:7 14 17 21 2834 35 42 49Sum=247源程序:#include void main() int i, n, ct=0, sum=0; scanf( %d, &n ); for ( i=1; i=n; i+ ) if ( _(1)_ ) printf( %dt, i ); _(2)_; ct+; if ( _(3)_ ) printf( n ); printf( nSum=%dn, sum );_2)以下程序输入10个整数到a数组,找到并输出其中最大的整数及其下标。如输入:80 290 150 520 330 -160

4、-99 0 200 9则输出:a3=520源程序:#include #define N 10int get_max_index( int a, int n ) int i, k=0; for ( i=1; in; i+ ) if ( _(1)_ ) k = i; return _(2)_;void main() int i, k, aN; for ( i=0; iN; i+ ) scanf( %d, &ai ); k = _(3)_; printf( a%d=%dn, k, ak );_3)以下程序从文件“student.txt”读取学生的学号、姓名、平时成绩和考试成绩,从键盘上输入平时成绩在

5、总成绩中所占比重,计算每个学生的总成绩(四舍五入为整数)后输出到屏幕上。文件的最后一行为0表示学生数据结束。设文件student.txt的内容为101 Zhao 95 58103 Qian 75 81105 Sun 99 91107 Li 80 670运行时键盘输入:0.1则屏幕输出:101 Zhao 95 58 62103 Qian 75 81 80105 Sun 99 91 92107 Li 80 67 68源程序:#include void calc( FILE *fp, float x ) int num, score1, score2; float score3; char name

6、20; while ( !feof(fp) ) /* 文件还有未读数据时 */ num = 0; fscanf( fp, %d%s%d%d, &num, name, &score1, &score2 ); if ( num 0 ) /* 学生数据有效时 */ score3 = score1 * x + score2 * (1-x); /* 计算总成绩 */ printf( %3d %-7s %3d %3d %3dn, num, name, score1, score2, _(1)_ ); /* 总成绩四舍五入为整数 */ void main() FILE *fp; float x; fp =

7、fopen( student.txt, r ); if ( _(2)_ ) /* 如果文件打开失败 */ printf( Error!n ); return; scanf( %f, &x ); calc( _(3)_ ); /* 调用calc函数 */ fclose( _(4)_ ); /* 关闭文件 */ 四、程序调试题(本大题2小题,第1题4分,第2题6分,共10分)1. 程序调试题1(B_3_1.C)调试要求:下列程序不能得到正确的结果,请按题中的功能要求,调试并修改该程序(在所修改语句后加/*/字样的注释),使其运行能得到正确的结果。将结果(包括B_3_1.c文件和B_3_1.exe文

8、件)保存到目录C:KS中。功能说明:程序计算并输出1! + 2! + + n!(1至n阶乘的累加和),其中函数fact(n)计算n!的值,返回类型为double。如输入:10则输出:1!+2!+10! = 4037913原程序(见C:KSB_3_1.C):#include double fact( int n ) int i; double result = 1; for ( i=1; in; i+ ) result = result * i; return result;void main() int i, n; double sum = 0; scanf( %d, &n ); for (

9、i=1 ; i=n; i+ ) sum += fact(int i); printf( 1!+2!+.+%d! = %.0lfn, n, sum );2. 程序调试题2(B_3_2.C)调试要求:下列程序有3处错误,请按题中的功能要求,在不改变程序结构(不增加、删除语句,不调整语句顺序)的情况下调试并修改该程序(在所修改语句后加/*/字样的注释),使其运行能得到正确的结果。将结果(包括B_3_2.c文件和B_3_2.exe文件)保存到目录C:KS中。功能说明:程序输入任意一行字符串(设字符数不大于20),提取该字符串中的数字字符并组成一个整数,输出该整数及其两倍的值。如输入:abc12e3fg

10、h4i则输出:1234 2468原程序(见C:KSB_3_2.C):#include void main() int i, n=0; char str80; gets(str80); for ( i=0; stri!=0; i+ ) if ( stri=0 & stri=9 ) n = n*10 + stri; printf(%d %dn, n, 2*n);五、编程题(本大题2小题,每题18分,共36分)1编程题1(B_5_1.C)编程要求:请按题中的功能要求,编写程序并能得到正确的结果。将结果(包括B_5_1.C文件和B_5_1.exe文件)保存到目录C:KS中。功能说明:输入5个整数,输出

11、其中正整数的累加和及正整数的平均值,输入输出格式如以下示例。如输入:10 0 20 -5 31则输出:Sum=61, Average=20.32编程题2(B_5_2.C)编程要求:请按题中的功能要求,编写程序并能得到正确的结果。将结果(包括B_5_2.C文件和B_5_2.exe文件)保存到目录C:KS中。功能说明:输入正整数m和n(设100mn999),输出m到n之间满足下列条件的三位数:它的个位数的立方加十位数的平方再加上百位数等于该数的本身(例如13513*35*5*5)。如输入:135 555则输出:135 175 518 二1,表达式strlen (“C2009”) 的值是_2,设in

12、t a=3,b=4,c=5; 则a*a+b*b=c*c的结果为_3,设a=2,b=3,x=3.5,y=2.5,表达式(float)(a+b)/2+(int)x%2/4 的值为_4,设a,b,c为整型变量,写出表达式:当a比b、c都大时结果为真_5, 及下列语句等价的条件表达式语句是_switch ( x!=0 ) case 0: y=1; break; case 1: y=-1;6,设有下述描述学生信息的结构定义及变量说明,则使学生变量s 的出生年份为1990的赋值语句是_struct date int year; /* 年 */ int month; /* 月 */ int day; /*

13、日 */;struct student int no; /* 学号 */ char *name; /* 姓名 */ char sex; /* 性别 */ struct date birth;/* 出生年月日 */ s,7,假定建立了下图所示的链表结构,指针p、q分别指向如图所示的结点,则将q所指结点从链表中删除的C语句是_ 1),下面程序实现的功能是打印n以内的水仙花数,水仙花数是指其本身的值等于每一位数字的立方和,例如: 153是一个水仙花数, 153=1*1*1+5*5*5+3*3*3.如输入:400则输出:1 153 370 371#include void main() int n, digit, k, m, s; scanf( %d, &n ); for ( k=1; _(1)_; k+ ) s = 0; m = k; while ( m != 0 ) digit = _(2)_; s = s + digit*digit*digit; m

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1