现在的位置: 首页 > 综合 > 正文

C语言

2012年04月30日 ⁄ 综合 ⁄ 共 2372字 ⁄ 字号 评论关闭

班级姓名学号

一、选择题

1. 下面程序把数组元素中的最大值放入a[0]中。则在if 语句中的条件表达式应该是:

A)*p>a[0]   B)p>a    C)p>*a    D)*p>a

main( )
{int a[10]={6
7291105843}*p=ai
for(i=0
i<10i++p++)
if(________) *a=*p

printf("%d"
*a)`
}
2.
下选项中合法的用户标识符是______

A)int  B) _abc   C) 321   D) t.ext

 

7.有以下程序

#include <stdlib.h>

main()

{char *p,*q;

p=(char *)malloc(sizeof(char)*20); q=p;

scanf("%s%s",p,q); printf("%s%s\n",p,q);

}

若从键盘输入:abbc cd<回车>,则输出结果是______

A) bcbc   B) abbc cd   C) abbc cd   D) d d

8.设有如下定义:

struct mm
{int a;
float b;
}data;
int *p;
若要使p指向data中的a成员,正确的赋值语句是______

A) p=&a;   B) p=data.a;   C) p=&data.a;   D) *p=data.a

9.有以下程序
int fa(int x)
{return x*x; }
int fb(int x)
{return x*x*x; }
int f(int (*f1)(),int (*f2)(),int x)
{return f2(x)-f1(x); }
main()
{int i;
i=f(fa,fb,2); printf("%d\n",i);
}
程序运行后的输出结果是______
A) -4
  B) 1   C) 4   D) 8

10. 以下程序的输出结果是
main( )
{ int i

for(i=1
i<6i++)
{ if(i%2){printf("#")
continue}
printf("*")

}

printf("\n")
}A) *#*#*   B)*****   C)#####   D)
#*#*#

11. 程序

main()
{int x=10,y=20,t=0;
if(x==y)t=x;x=y;y=t;
printf("%d,%d\n",x,y);
}
运行后的输出结果是

A) 200B)10, 20C) 10, 0    D) 20,10

12. 以下程序的输出结果是
A) 123456780 B) 123 456 780 C) 12345678 D) 147
main( )
{ char ch[3][4]={"123"
"456""78"} *p[3]

int i
for(i=0
i<3i++) p[i]=ch[i]
for(i=0
i<3i++) printf("%s"p[i])
}
二、填空题(请按要求把内容填入【】中

1、有以下程序

#include <string.h>

main(int argc,char *argv[])

{int i,len=0;

for(i=1;i<argc;i++) len+=strlen(argv[i]);

printf("%d\n",len);

}

程序编译连接后生成的可执行文件是test.exe,若运行时输入带参数的命令行是:

test abcd efg hi<回车>则运行的结果是【】。

 

6.以下函数的功能是删除字符串s中的所有大写字母字符。

viod dele(char *s)
{ int n=0,i;
for(i=0;s[i];i++)
if(
7)s[n++]=s[i];
s[n]=
8;
}
7.
有以下程序
main()
{ char *s[]={"1","12","123"},*p;
p=s[1];
printf("%c,%s\n",*(p+1),s[0]);
}
执行后输出结果是【9.

8.有以下程序
main()
{ int i;
for(i=0;i<5;i++)
switch(i)
{ case 1: printf("%d",i);
case 2: printf("%d",i);
default: printf("%d",i);
}
}
执行后输出的结果是 【10

9.以下程序的运行结果是【11
#include "stdio.h"
main( )
{
int a[ ]={1
23456789101112}
int *p=a+5
*q=NULL
* q=*(p+5)

printf("%d %d \n"
*p*q)
}
10.
语句:printf("%d"(a=5)&&(b= -5));的输出结果是【12.

11.数学表达式a÷(b×c)c语言表达式为【13】。

12.对文件的操作中,若要求文件的位置回到文件的开头,应当调用的函数为:【14】。

13. 下面程序的运行结果是:【15】。
typedef union person
{char name[10];
int xh;
char sex;
float score[6];
}S;
main()
{S a[5];
printf("%d\n",sizeof(a));
}

三、程序设计题

1、编程输出“九九”乘法口诀表(输出格式由考生自定)。

2、写一函数求n!并在主函数中调用求由键盘输入数n的阶乘.

3、编写函数实现取子字符串,即将字符串s1中第m个字符开始的全部字符复制到另一字符串s2中。在主函数中输入字符串s1,输出字符串s2

4、编写并调用函数nlcount统计nn<50)个人中各年龄段的人数并存到result数组中。要求:

①从主函数中输入nn个人的年龄,统计结果在主函数中输出。

②年龄为19的人数存到result[0] ,年龄为1019的人数存到result[1],年龄为2029的人数存到result[2], 年龄为3039的人数存到result[3],年龄为4049的人数存到result[4], 年龄为50岁及以上的人数存到result[5]中。

抱歉!评论已关闭.