上海大学2009-2010年C语言程序设计秋季学期试卷

上传人:20****03 文档编号:171738956 上传时间:2021-03-06 格式:DOC 页数:16 大小:177.50KB
返回 下载 相关 举报
上海大学2009-2010年C语言程序设计秋季学期试卷_第1页
第1页 / 共16页
上海大学2009-2010年C语言程序设计秋季学期试卷_第2页
第2页 / 共16页
上海大学2009-2010年C语言程序设计秋季学期试卷_第3页
第3页 / 共16页
上海大学2009-2010年C语言程序设计秋季学期试卷_第4页
第4页 / 共16页
上海大学2009-2010年C语言程序设计秋季学期试卷_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《上海大学2009-2010年C语言程序设计秋季学期试卷》由会员分享,可在线阅读,更多相关《上海大学2009-2010年C语言程序设计秋季学期试卷(16页珍藏版)》请在金锄头文库上搜索。

1、 (091)上海大学2009-2010年秋季学期试卷 2009.11课程名:程序设计基础(C语言)课程号:学分:5应试人声明:我保证遵守上海大学学生手册中的上海大学考场规则,如有考试违纪、作弊行为,愿意接受上海大学学生考试违纪、作弊行为界定及处分规定的纪律处分。学号: 姓名: 学院/教师: 题号一二三四卷面上机总分题分151027187030100得分考生须知:1. 试卷和答题纸上的”学号、姓名、学院、教师”都要填上;2. 所有答题内容都写在答卷纸上,交卷时将试卷和答卷纸一起交上;3. 不遵守上述要求者考试成绩将为零分。4. 本卷考试的得分为卷面分,电脑上机考试(另行安排)的得分为上机分,考试

2、成绩为卷面分与上机分之和。一、单项选择题(15分,每小题1分)1. 以下对C程序的描述中正确的是(_)A) C程序总是从第一个定义的函数开始执行。B) C程序总是从最后一个定义的函数开始执行。C) C程序总是从main()函数开始执行。D) C程序中的main()函数必须放在程序的开始部分。2. 以下四项中哪个是不合法的常量(_)A) xab B) x1fC) 0x1234D) 2.1e33. 以下四项中哪个是不合法的用户标识符(_)A) temp B) my_programC) year2009 D) int4. 在C语言中,表示结束当前循环的语句是(_)A) return语句B) brea

3、k语句C) continue语句 D) end语句5. 以下4个变量定义中,定义p为指针数组的是(_)A) int *p10; B) int (*p)( );C) int *p; D) int (*p)10;6. 以下四项中哪个是合法的函数说明语句(_)A) double func( int a, int b);B) double func( int a, b );C) double func( a, int b );D) double func( a, b );7. 设有定义char c;且c表示一个小写字母,结果为对应大写字母的表达式是(_)A) c - a + A B) c - a +

4、AC) c - A + a D) c - A + a8. 设有定义int a;判断a是一个偶数的表达式是(_)A) a=2*nB) a/2=0C) a%2 D) a%2=09. 设有定义 int a; char c; 执行输入语句scanf(%d%c,&a,&c); 若要求a和c得到的值为10和Y,正确的输入方式是(_)A) 10,Y B) 10YC) 10.Y D) 10:Y10. 在位运算中,操作数每右移一位,其结果相当于(_)A) 操作数乘以2 B) 操作数乘以4C) 操作数除以2 D) 操作数除以411. 设有定义:int a10=6,7,8,9,10;正确解释是(_)A) 将5个初值

5、依次赋给a1至a5 B) 将5个初值依次赋给a0至a4C) 将5个初值依次赋给a6至a10D) 将5个初值依次赋给a5至a912. 设有定义:int i, a10; 以下能正确输入a数组各元的语句是(_)A) i=10; scanf(%d, &ai);B) for(i=0; i=9; i+) scanf(%d, a+i);C) for(i=0; i10; i+) scanf(%d, ai);D) for(i=0; i10; i+) scanf(%d, &a);13. 设整数n的值为十进制5, 以16位二进制存贮该数时,其编码是(_)A) 0000 0000 0000 0101 B) 1000

6、0000 0000 0101C) 1111 1111 1111 1010 D) 1111 1111 1111 101114. 设有定义char *p=Shanghai,Beijing,Honkong;则结果为j字符的表达式是(_)A) p31 B) *(p1+3)C) *(p3+1) D) *p1+315. 以下文件函数中,用于将数据写到文件的函数是(_)A) fread B) fgetsC) fwriteD) fscanf二、基础填空题(10分,每小题2分) 1. 设有定义:int n=123; float x=95.123; 写出语句 printf(%d,%05d,%4.1f,%1.2f,

7、n,n,x,x);的运行结果。2. 设有定义:float x=91.19; 写出表达式 (int)x 和 (int)(10*x+0.5)/10.0 的运算结果。3. 设n为正整数,写出得到n的十进制个位数和十位数的表达式。4. 设有命题:b介于a,c之间且a,b,c互不相等,写出对应的逻辑表达式。5. 设已建立链表如下图所示,p指针指向链表中的某个结点,写出取得该结点data分量的表达式。三、阅读程序(27分,每小题3分)仔细阅读下列程序,将各程序的运行结果写在答卷纸上。(1)程序,表示空格#include main()int i,j;for ( i=1; i=3; i+ )for ( j=0

8、; j3-i; j+ )putchar( );for ( j=0; ji; j+ )printf( %-2d, i );printf( n );输出:?(2)程序#include main()char cmd;do cmd = getchar();switch ( cmd )case A: puts( Add Student ); break;case D: puts( Del Student ); break;case Q: puts( Quit ); while ( cmd!=Q );输入:ADQ输出:?(3)程序#include main()int m,n,s=0,i;scanf( %d

9、%d, &m, &n );for ( i=m; i=n; i+ )if ( in )printf( %d+, i );elseprintf( %d=, i );s += i;printf( %dn, s );输入:7 10输出:? (4)程序#include char grade( float score )if ( score = 90 ) return A;else if ( score=80 ) return B;else if ( score=70 ) return C;else if ( score=60 ) return D;else return E;main()float sc

10、;char gr;int i;for ( i=0; i6; i+ )scanf( %f, &sc );gr = grade( sc );putchar( gr );输入:50 60 70 80 90 100输出:?(5)程序#include #define N 10main()int aN, i;float ave=0,pass=0,fine=0;for ( i=0; iN; i+ )scanf( %d, &ai );for ( i=0; i= 60 )pass+;if ( ai = 90 )fine+;ave /= N;pass = pass/N*100;fine = fine/N*100;

11、printf( Ave=%4.1fnPass=%2.0f%nFine=%2.0f%n,ave,pass,fine );输入:55 60 65 70 75 80 85 90 95 100输出:?(6)程序#include void shift( int a, int n, int s, int b )int i;for ( i=0; in; i+ )bi = a(i+s)%n;main()int a6, b6, i;for ( i=0; i6; i+ )scanf( %d, &ai );shift( a, 6, 3, b );for ( i=0; i6; i+ )printf( %d , bi

12、);输入:11 22 33 44 55 66 输出:?(7)程序#include int max( int a, int n )int x, i;x = a0;for ( i=1; in; i+ )if ( x ai )x = ai;return x;main()int m65, i, j, x;for ( i=0; i6; i+ )for ( j=0; j5; j+ )scanf( %d, &mij );for ( i=0; i6; i+ )x = max( mi, 5 );printf( %d , x );输入:11 19 18 15 1628 20 21 22 2431 33 35 37 3660 60 66 66 6055 54 53 52 5140 41 42 43 44输出:?(8)程序#include void getupper( char *p, char *q )for ( ; *p!=0; p+ )if ( *p=A & *p=Z )*(q+) = *p;*q = 0;int issym( char *p )char *q;for ( q=p; *q!=0; q+ ) ;for ( q-; pq; p+,q- )if ( *p != *q )return 0;return 1;main()char a80, b80;gets( a );

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 事务文书

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号