第一范文网 - 专业文章范例文档资料分享平台

c程序2007级试卷

来源:用户分享 时间:2025/6/14 0:09:56 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

int df(void) {

int g=10; g++;

return g; }

int * sf(void) {

static int g=20; g++;

return &g; }

void main() {

int a, b, c, *p; gf(); gf(); a=g; b=df(); b=df();

p=sf(); *p=32765; p=sf(); c=*p;

printf(\ }

4. 假定运行以下程序时输入 3+4*5-3/2=

则程序的输出结果是___________________。 #include int calc(void) { int x; char p;

scanf(\ if(p == '=') return x; switch(p) {

case '+': return x + calc(); case '-': return x - calc(); case '*': return x * calc(); case '/': return x / calc(); } }

void main() {

printf(\ }

5. 以下程序的输出结果是___________________。

注意:本题输出结果中的空格请用 标出,一个空格用一个 代替。 #include #define N 4 void main() {

第5 页,共10页

static int a[N+1][N+1]={1}; int i, j;

for(i=1; i<=N; i++) for(j=1; j<=i; j++)

a[i][j] = a[i-1][j-1] + a[i-1][j]; for(i=1; i<=N; i++) {

int space = N-i; while(space--)

putchar(' '); /* 输出空格 */ for(j=1; j<=i; j++)

printf(\左对齐输出 */ printf(\左数字右空格 */ } }

6. 以下程序的输出结果是__________________。 #include #define N 5 void main() {

static int a[N][N], i, j;

int left=0, right=N-1, up=0, down=N-1; int x=1, row=right, col=down, d=1, done; while(x<=N*N) {

a[row][col]=x; x++;

done = 0; do {

switch(d) {

case 1: col--;

if(col

if(row

if(col>right) {col=right; d=4; continue;} else {done=1; break;} case 4: row++;

if(row==down) {

down--; left++; up++; right--; row=down; d=1; continue; } else {done=1; break;} } /* end of switch */ } while(!done);

} /* end of while(x<=N*N) */

第6 页,共10页

for(i=0; i

for(j=0; j

printf(\ printf(\ } }

四、程序填空题(每空2分,共40分)

1. 输入n(2≤n≤5,程序不需要对此范围进行判断),再输入n个整数保存到数组a中,通过循环查找n个数中是否有重复的数,如果有则输出Yes,否则输出No。要求在循环过程中,任何两个数的比较次数不得超过1次(比如对a[0]与a[1]比较后接下去又对a[1]与a[0]比较是不符合要求的),并且要求一旦找到有数重复则立即结束循环。 #include void main() {

int a[5], i, j, n; scanf(\ for(i=0; i

scanf(\ for(i=0; i<=n-2; i++) {

for( (1) ; j<=n-1; j++) {

if(a[i] == a[j]) (2) ; }

if( (3) ) break; }

if( (4) ) puts(\ else

puts(\ }

2. hex()是一个递归函数,该函数的功能是通过递归调用把一个长整数转化成十六进制字符串并返回所得十六进制数的位数。main()输入长整数x,调用hex()对它进行转化(转化结果存放在字符数组a中),最后输出结果。例如:输入13,则返回n=1输出D;输入100,则返回n=2输出64;输入65535,则返回n=4输出FFFF。 #include void main() {

char a[9]; int n;

unsigned long int x; scanf(\

第7 页,共10页

n = hex(x, a); (5) ; puts(a); }

int hex( (6) ) {

char t[]=\ int n; if(x<16) {

a[0] = t[x]; return 1; }

n = hex(x/16, a);

a[n] = (7) ; return (8) ; }

3. 设文件file1.txt中以如下文本格式存放一批学生的姓名及成绩: Tom 80 Jerry 90

姓名与成绩之间用至少一个空格分隔并且每个学生的姓名中不含空格。现通过编程读取file1.txt中的资料,找出其中成绩最高的那位学生(假定最高分唯一),并把该生的资料写入file2.txt中。 #include #include typedef struct student {

char name[10]; int score; } ST;

void main() {

FILE *fp1; FILE *fp2; ST a, max;

fp1 = fopen(\ fp2 = fopen(\ if( (9) ) {

puts(\ exit(0); }

max.score = -1;

while( (10) ) {

(11) ; if(a.score > max.score) {

第8 页,共10页

搜索更多关于: c程序2007级试卷 的文档
c程序2007级试卷.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c7ry5s8qo4h6vudb8cere_2.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top