6.4 程序设计题
1.编一个名为root的函数,求方程ax*x + bx + c=0的b*b-4ac,并作为函数的返回值。其中的a、b、c作为函数的形式参数。
「解」该函数应设3个形参,分别表示一元二次方程的三个系数。函数按公式求出结果返回即可:
double root(double a,double b,double c)
{
5.编程序,对上一题中名为“CCW.TXT”的磁盘文件中“@”之前的所有字符解密并显示。
「解」要编写的程序完成与上一程序功能相反的工作,将上述程序中的DALTA定义成一10即可。完整程序略。
6.输入100个学生的信息(含学号、姓名、年龄、七门课程成绩、总分),其中学生的总分由程序计算产生。先将学生信息存入
6.根据下面的定义,能打印出字母M的语句是( )
struct person {char name[9]; int age; };
struct person c[1O] = {{“John”,17 },{“Paul”,19 },{“Mary”,18 },{“Adam”,1
9.2 填充题
1.设有定义“# define F(N) 2*N”,则表达式 F(2+)的值是_____.
「解」F(N)被定义成2*N,表达式F(2+3)被替换成2*2+3,其值是7.
2.设有下列程序:
# include
main(int argc,int *argv[])
{ while( ——argc> 0) printf(“%s”,argv[argc]);
pr
7.1 单项选择题
1.设有定义“struct {int x;int y;} d[2]={{1,3},{2, 7}};”,则
printf(“%d\n”, d[0].y/d[0].x*d[l].x);的输出是( )
①O ②l
③3 ④6
「解」结构数组d有两个结构元素,每个结构又由两个整型成分组成,初始化后,d[0].x=1,d[0].y=3,d[1].x=2.所以表达式d[0].y/
9.1 单项选择题
1.在下列代码中,正确的C代码是( )
①# define MYNAME=“ABC”
②# include string.h
③ for(i=0;i<10; i++);
④ struct int stu { int name };
「解」①是关于宏定义的,在宏的定义形式中,宏名与字符列之间至少有一个空白符,并在宏名希望代表的字符序列之
2.阅读下列程序,写出程序的运行结果。
main ()
{ struct student
{ char name[10];
float k1;
float k2;
} a[2]={ {“zhang”, 100,70} ,{“wang”,70,80 } },* 
3
ABC FILE1 FILE2
3.读程序,写功能。
# include
# include
main(int argc, char *argv[])
{ FILE *fl,*f2;
char ch;
if(argc< 3)
{ printf(“Parameters missing! \n”);exit(0); }
if(((f1&
8.3 程序分析题
1.读程序,写功能。
# include
# include
main()
{ FILE *f1,* f2;
int k;
if(( f1= fopen(“c:\\tc \\ pl.c”,“r” )== NULL)
{ printf(“Can not open file! \n”);
exit(
2.编一个程序,输入10个职工的编号、姓名、基本工资、职务工资,求出其中“基本工资十职务工资”最少的职工姓名并输出。
「解」类似上一程序,直接给出程序如下:
# include
# define N 10
struct person {
char no[10];
char name[20];
float base1;
float