c语言,04-05春试卷及答案解读

上传人:大米 文档编号:504639537 上传时间:2024-02-20 格式:DOC 页数:15 大小:182.50KB
返回 下载 相关 举报
c语言,04-05春试卷及答案解读_第1页
第1页 / 共15页
c语言,04-05春试卷及答案解读_第2页
第2页 / 共15页
c语言,04-05春试卷及答案解读_第3页
第3页 / 共15页
c语言,04-05春试卷及答案解读_第4页
第4页 / 共15页
c语言,04-05春试卷及答案解读_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《c语言,04-05春试卷及答案解读》由会员分享,可在线阅读,更多相关《c语言,04-05春试卷及答案解读(15页珍藏版)》请在金锄头文库上搜索。

1、(043)上海大学2004-2005年春季学期试卷 2005.6课程名: 程序设计基础(C)学分:_5学号:姓名:学院/教师:题号-一一-二三三四卷面上机总分题分2030812702090得分考生须知:1. 试卷和答题纸上的“学号、姓名、学院、教师”都要填上;2. 所有答题内容都写在答卷纸上,交卷时将试卷和答卷纸一起交上;3. 不遵守上述要求者考试成绩将为零分。4. 本卷考试的得分为卷面分,电脑上机考试(另行安排)的得分为上机分,考试成绩为卷面分与上机分的和。一、基础题(20分,每小题2分)1. 定义int x=42,y=13;写出y+=2*(x+);执行后各变量的值。2. 设a=b=5;分别

2、判断表达式的真假:6a4与b+=63. 分别计算字符串的长度:“Computer”与“ abc123nmop”。4. 分别计算表达式的值:43 & 38与(43 A 38) 0)个学生按下列方法进行分班:每班 k (k0)个 学生,最后一个班若不足k人也单独编成一个班。写出表达式 表示所编班的个数。8. 定义char ch;写出语句:如果ch为小写字母则将ch转换为大写,否则 ch 不变。9定义 int a10; 写出语句片段:输入 a 数组中的 10 个整数。10定义 char *pc= Shanghai, Beijing, Guangzhou ; 写出语 句片段:输出 pc 数组中的所有字

3、符串,每字符串一行。二、阅读程序 (30 分,每小题 3 分)仔细阅读下列程序,将各程序的运行结果写在答卷纸上。(1) 程序#include main()int m,n,k,i;scanf( %d%d, &m, &n );if ( m n )k = 1;elsek = -1;for ( i = m; i != n; i+=k )printf( %d , i );输入: 22 16输出:?(2) 程序#include main()int m, n = 0;for ( m = 1; m = 6; m+ )switch( m )case 4:case 6:case 9:case 11:n = 30;

4、break; case 2: n = 28;break; default:n = 31;break;printf( %d, n );输出:?(3) 程序#include int isprime(int n)int i;for ( i = 2; i n; i+ )if ( n%i = 0 ) return 0;return 1;void testfunc( int n )int i;for ( i = 2; i n; i+ )if ( isprime(i) & isprime(n-i) ) break;printf( %2d = %2d + %2dn, n, i, n-i ); main() i

5、nt n;for ( n = 10; n = 14; n += 2 ) testfunc( n ); 输出:?(4) 程序#include main()char a56;int i, j;for ( i = 0; i 5; i+ ) for ( j = 0; j 5; j+ ) aij = *;for ( i = 0; i 5; i+ ) aii = #; ai4-i = ; ai5 = 0;for ( i = 0; i 5; i+ ) puts( ai ); 输出:?(5) 程序#include main()int a8 = 0, 8, 16, 30, 40, 50, 60, 70 ;int

6、 n = 2, *p = &a1;n += *(p+);printf( %d, , n );n *= +(*p);printf( %d, , n );n -= (*(+p)-;printf( %dn, n );输出:?(6) 程序#include int func( int x )static int dd = 1;dd += x;if ( x = 0 )dd = 0;return dd;main()printf( 1: %dn, func(15) ); func(0);printf( 2: %dn, func(28) );printf( 3: %dn, func(37) ); 输出:?(7)

7、 程序 #include void sort( int a, int n ) int j, t;if ( n = 1 )return;sort( a+1, n-1 );for ( j = 0; j n-1; j+ ) if ( aj aj+1 ) t = aj; aj = aj+1; aj+1 = t;main()int x = 33, 77, 55, 11, 99 ; int i;sort( x, 5 );for ( i = 0; i 5; i+ )printf( %4d, xi );输出:?(8) 程序#include main()char a81, b81, *p, *q=b;gets(

8、 a );for ( p=a; *p!=0; p+ ) if ( *p = A & *p = a & *p = z ) *(q+) = *p - a + A;*(q+) = 0;puts( b );输入: 1i2aM, (w)A-N-G.输出:?(9) 程序#include struct data int x1, x2; ;float aver( struct data a, int n )float sum = 0;int i;for ( i = 0; i n; i+ )sum += ai.x2;return (float)sum / n;struct data *find( struct

9、data a, int n, int d ) int i;for ( i = 0; i x1, p-x2 ); 输出:?(10) 程序 #include main()FILE *fp;int a10 = 10,20,30,40,50,90,80,70,60,50;int i;fp = fopen( test.txt, w );for ( i = 0; i 10; i+ ) fprintf( fp, %d , ai );fclose( fp );fp = fopen( test.txt, r );for ( i = 0; i 4; i+ ) fscanf( fp, %d , &ai+3 );fo

10、r ( i = 0; i 3; i+ )fscanf( fp, %d , &ai+1 );fclose( fp );for ( i = 0; i =0 & *(str+i)=9 )/*7*/ n +;/*8*/ return n;/*9*/ 2)以下程序输入 10 个数,输出其中只出现一次的数。#include main() /* 1*/* 2*/* 3*/* 4*/* 5*/* 6*/* 7*/* 8*/* 9*/*10*/*11*/int a10, i, j, k;for ( i = 0; i 10; i+ ) scanf( %d, &ai );for ( i = 0; i 10; i+ )k = 0;for ( j = i; j 10; j+ )if ( ai = aj )k +;if ( k = 1 )printf( %d , aj );(043 试卷)# / 10四、程序填空(12分,每填空2分)阅读下列问题描述和相应的 C程序,把应填入其中(n) 处的内容写在答卷纸的对应栏内。(1)以下程序输入4个整数,按以下示例的形式输出。如输入:5 6 7 8则输出:(第一行为输入数字,下一行是上一行向右偏移一个数字)5 6 7 88 5 6 77 8 5 66 7 8 5#i nclude #defi ne M 4mai n()int i,j,

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

当前位置:首页 > 办公文档 > 解决方案

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