题目为随机抽题 请用CTRL+F来搜索试题
点击支付下载即可看见答案

形考任务一
1. 在每个C语言程序中都必须包含有这样一个函数,该函数的函数名为(  )。
A. main B. MAIN  C. name  D. function
2. C语言源程序文件的缺省扩展名为(  )。
A. cpp  B.  exe   C. obj   D.  c
3. C语言目标文件连接而成的可执行文件的缺省扩展名为(  )。
A. cpp B. exe  C. obj  D.  c
4. 程序运行中需要从键盘上输入多于一个数据时,各数据之间应使用的分隔符为(  )。
A. 空格或逗号 B. 逗号或回车 C. 逗号或分号 D. 空格或回车
5. 每个C语言程序文件的编译错误被分为(  )。
A. 1 B. 2 C. 3 D. 4
6. 不符合C语言规定的复合语句是(  )。
A. {} B. {;}  C. {x=0;} D. {y=10}
7. C语言程序中的基本功能模块为(  )。
A. 表达式 B. 标识符 C. 语句  D. 函数
8. 在一个函数定义中,函数头包括的3个部分依次为函数类型、函数名和(  )。
A.  表达式 B. 语句 C. 参数表  D. 函数体
9. 在一个程序文件中,若要使用#include命令包含一个用户定义的头文件,则此头文件所使用的起止定界符为一对(  )。
A. 尖括号 B. 双引号  C. 单引号 D. 花括号
10. C语言程序中,多行注释语句使用的开始标记符为(  )。
A. // B. /*   C. */  D. **
11. printf()函数调用的格式字符串中,若使用格式符为“%c”,则对应输出的数据类型为(  )。
A. char B. int C. float D. double
12. printf()函数调用的格式字符串中,若使用格式符为“%5d”,则规定对应输出的数据占用的字符位置个数为(  )。
A. 5 B. 4 C. 3 D. 6
13. 转义字符‘\\’表示的字符是(  )。
A. 单引号 B. 双引号 C. 反斜线 D. 问号
14. 枚举类型中的每个枚举常量的值都是一个(  )。
A. 整数 B.  浮点数 C. 字符   D. 逻辑值
15.  运算符优先级最高的是(  )。
A. = B. *=  C. &&  D. !=
16. xy均为逻辑值,则x && y为真的条件是(  )。
A.  它们均为真 B. 其中一个为真 C. 它们均为假  D. 其中一个为假
17. 设有语句“int a=12; a+=a*a;”,则执行结束后,a的值为(  )。
A. 12 B. 144 C. 156  D.  288
18. x>0 && x<=10的相反表达式为(  )。
A. x<=0 || x>10   B. x<=0 && x>10 C. x<=0 || x<=10  D. x>0 && x>10
19. 字符串“a+b=12\n”的长度为(  )。
A. 6 B. 7 C. 8 D. 9
20. 在下列的符号常量定义中,错误的定义语句格式为(  )。
A. const int M1=10;  B. const int M2=20;  C. const int M3 10;  D. const char mark=’3′;
21. C语言中的每条简单语句以分号作为结束符。
A.  B. 
22. C语言中的每条复合语句以花括号作为结束符。
A.  B. 
23. C语言程序中,在行尾使用注释的开始标记符为一对单斜线字符。
A.  B. 
24. 注释内容的开始所使用的标记符为/*,则注释内容的结束所使用的标记符为*/
A.  B. 
25. 在一个C语言程序文件中,若要包含一个头文件,则使用以百分号开始的预处理命令。
A.  B. 
26. 用于输出表达式值的标准输出函数是printf()
A.  B. 
27. 当不需要函数返回任何值时,则需要使用保留字void作为函数的返回值类型。
A.  B. 
28. 每个C程序文件在编译时可能出现有警告性错误,其对应的标识符为error
A.  B. 
29. 十进制数25表示成符合C语言规则的八进制数为31
A.  B. 
30. 十进制数25表示成符合C语言规则的十六进制数为0x19
A.  B. 
31. C语言中,转义字符‘\n’表示一个换行符。
A.  B. 
32. 执行“printf(“%c”,’F’-2);”语句后得到的输出结果为H
A.  B. 
33. 已知字符‘C’ASCII码为67,当执行“int x=’C’+5;”语句后x的值为72
A.  B. 
34. 假定一个枚举类型的定义为“enum RB{ab,ac=3,ad,ae}x=ad;”,则x的值为2
A.  B. 
35. float的类型长度为8
A.  B. 
36. C语言中,常数283.26具有相同的数据类型。
A.  B. 
37. 若需要定义一个符号常量,并且使C语言能够进行类型检查,则应在定义语句的开始使用保留字const
A.  B. 
38. 使用const语句定义一个符号常量时,不必对它进行初始化。
A.  B. 
39. 表达式45%13的值为3
A.  B. 
40. 假定x=5,则表达式2*x++的值为12
A.  B. 
41. 表达式(float)25/4的值为6
A.  B. 
42. 表达式x=x+1表示成增量表达式为++x
A.  B. 
43. 关系表达式(x!=0)的等价表达式为(x)
A.  B. 
44. 关系表达式x+y>5的相反表达式为x+y<=5
A.  B. 
45. 逻辑表达式(a>b || b==5)的相反表达式为(a>b && b==5)
A.  B. 
46. x=5,y=10,则x>y逻辑值为真。
A.  B. 
47. 假定x=5,则执行“a=(x?10:20);”语句后a的值为10
A.  B. 
48. 带有随机函数的表达式rand()%20的值所在的区间范围是0~19
A.  B. 
49. 假定x=5,则执行“y=x++;”语句后,x的值为5
A.  B. 
50. 假定x=5,则执行“y=++x;”语句后,y的值为6
A.  B. 
形考任务 2
1. 当处理特定问题时的循环次数已知时,通常采用的语句是(    )。
A. for B. while C. do-while D. switch
2. switch语句的每个case块中,假定都是以break语句结束的,则此switch语句容易被改写成的语句是(    )。
A. for B. if C. do D. while
3. for语句能够被改写成的语句是(    )。
A. 复合 B. if C. switch D. while
4. 下面循环语句执行结束后输出的i值为(    )。 for(int i=0; in/2) {cout<
A. n/2 B. n/2+1 C. n/2-1 D. n-1
5. 在下面循环语句中,内层循环体S语句的执行总次数为(    )。 for(int i=0; i
A. n2 B. (n+1)/2 C. n(n-1)/2 D. n(n+1)/2
6. 在下面的do循环语句中,其循环体被执行的次数为(    )。 int i=0; do i++; while(i*i<10);
A. 4 B. 3 C. 5 D. 2
7. 在下面的一维数组定义中,有语法错误的选项是(    )。
A. int a[]={1,2,3}; B. int a[10]={0}; C.int a[]; D. int a[5];
8. 在下面的二维数组定义中,语法正确的选项是(    )。
A. int a[5][]; B. int a[][5]; C. inta[][3]={{1,3,5},{2}}; D. int a[](10);
9. 假定一个二维数组的定义语句为“int a[3][4]={{3,4},{2,8,6}};”,则元素a[1][1]的值为(    )。
A. 2 B. 4 C. 6 D. 8
10. 假定一个二维数组的定义语句为“int a[3][4]={{3,4},{2,8,6}};”,则元素a[2][1]的值为(    )。
A. 0 B. 4 C. 8 D. 6
11. 在执行“typedef int DataType;”语句后,标识符DataType与保留字int具有完全相同的含义和作用。
A.  B. 
12. switch语句中,每个case和冒号之间的表达式只能是常量。
A.  B. 
13. 为了结束本层循环类语句或switch语句的执行过程,在语句体中需要使用break语句。
A.  B. 
14. 在程序中执行到break语句时,将结束所在函数的执行过程,返回到调用该函数的位置。
A.  B. 
15. 在程序执行完成任一个函数调用后,将结束整个程序的执行过程,返回到操作系统或C语言集成开发环境界面窗口。
A.  B. 
16. 假定一维数组的定义为“char* a[8];”,则该数组所含元素的个数大于8
A.  B. 
17. 假定二维数组的定义为“int a[3][5];”,则该数组所占存储空间的字节数为60
A.  B. 
18. 假定二维数组的定义为“char a[M][N];”,则该数组所含元素的个数为M+N
A.  B. 
19. 假定二维数组的定义为“double a[M][N];”,则每个数组元素的行下标取值范围在0~M-1之间。
A.  B. 
20. 假定二维数组的定义为“double a[M][N];”,则每个数组元素的列下标取值范围在0~N之间。
A.  B. 
21. 存储一个空字符串需要占用0个字节的存储空间。
A.  B. 
22. 使用“typedef char BB[10][50];”语句定义标识符BB为含有1050列的二维字符数组类型。
A.  B. 
23. 存储字符‘a’需要占用1个字节的存储空间。
A.  B. 
24. 空字符串的长度为1
A.  B. 
25. 字符串“a:\\xxk\\数据的长度为13
A.  B. 
26. 为了存储一个长度为n的字符串,所使用的字符数组的长度至少为n+1
A.  B. 
27. strcmp函数用于进行两个字符串之间的比较。
A.  B. 
28. strcpy函数用于把一个字符串拷贝到另一个字符数组空间中。
A.  B. 
29. 一个二维字符数组a[10][20]能够最多存储9个字符串。
A.  B. 
30. 一个二维字符数组a[10][20]能够存储的每个字符串的长度不超过20
A.  B. 
三、 填空题: 写出下列每个程序运行后的输出结果(共 40 分, 每小题 4 分)
题目 31
#include<stdio.h>
       voidmain()
       {
          int x=5;
          switch(2*x-3) {
            case 4: printf(“%d “,x);
            case 7: printf(“%d “,2*x+1);
            case 10: printf(“%d “,3*x-1); break;
            default: printf(“%s”,”default\n”);
          }
       }
题目 32
#include<stdio.h>
       voidmain() {
          int i,s=0;
          for(i=1;i<=5;i++) s+=i*i;
          printf(“s=%d\n”,s);
       }
题目 33
#include<stdio.h>
       voidmain() {
          int i, s1=0, s2=0;
          for(i=0;i<10;i++)
              if(i%2) s1+=i; else s2+=i;
          printf(“%d %d\n”,s1,s2);
       }
题目 34
#include<stdio.h>
       voidmain() {
          int n=6,y=1;
          while(n) y*=n–;
          printf(“y=%d\n”,y);
       }
题目 35
#include<stdio.h>
       constint M=20;
       voidmain()
       {
          int i,c2,c3,c5;
          c2=c3=c5=0;
          for(i=1; i<=M; i++) {
              if(i%2==0) c2++;
              if(i%3==0) c3++;
              if(i%5==0) c5++;
          }
          printf(“%d %d %d\n”,c2,c3,c5);
       }
题目 36
#include<stdio.h>
       voidmain()
       {
          int i,s;
          for(i=1,s=0;i<10;i++) {
              if(i%3==0) continue;
              s+=i;
          }
          printf(“%d\n”,s);
       }
题目 37
#include<stdio.h>
       voidmain() {
          int a[8]={12,39,26,41,55,63,72,40};
          int i, i1=0, i2=0;
          for(i=0;i<8;i++)
              if(a%2==1) i1++; else i2++;
          printf(“%d %d\n”,i1,i2);
       }
题目 38
#include<stdio.h>
       inta[10]={4,5,6,15,20,13,12,7,8,9};
       voidmain()
       {
          int i,s[4]=0;
          for(i=0; i<10; i++) {
              switch(a%4) {
                case 0: s[0]+=a;break;
                case 1: s[1]+=a;break;
                case 2: s[2]+=a;break;
                default: s[3]+=a;break;
              }
          }
          for(i=0; i<4; i++) printf(“%d “,s);
       }
题目 39
#include<stdio.h>
       voidmain() {
          char a[]=”abcdbfbgacd”;
          int i1=0, i2=0, i=0;
          while(a) {
              if(a==’a’) i1++;
              if(a==’b’) i2++;
              i++;
          }
          printf(“%d %d %d\n”,i1,i2,i);
       }
题目 40
#include<stdio.h>
       voidmain() {
          int a[3][4]={{1,2,7,8},{5,6,10,6},{9,12,3,4}};
          int m=a[0][0];
          int i,j;
          for(i=0; i<3; i++)
              for(j=0; j<4; j++)
                  if(a[j]>m) m=a[j];
          printf(“%d\n”,m);
       }
题目 41
编写一个函数,函数头格式为“double Mean(double a[M][N],int m,int n)”,要求返回二维数组a[m][n]中所有元素的平均值,假定在计算过程中采用变量v存放平均值。
题目 42
编写一个递归函数“int FF(int a[], int n)”,求出数组a中所有n个元素之积并返回。
题目 43
编写一个主函数,利用while循环,求出并显示满足不等式的最小n值。
题目 44
编写一个主函数,求出满足不等式22+42+…+n2<1000的最大n值,假定分别用is作为取偶数值和累加值的变量,并限定使用do循环编程。
题目 45
编写一个主函数,计算并输出12+22+…+n2值,其中n值由键盘输入。
形考任务三
1.在下面的函数声明语句中,存在着语法错误的是(    )。
A.AA(int a, int b) B. AA(int, int) C. AA(int a; int b) D. AA(int a, int)
2.在下面的保留字中,不能作为函数的返回值类型的是(    )。
A.void B. int C. enum D. long
3.假定p是一个指向float型数据的指针,则p+1所指数据的地址比p所指数据的地址增加的字节数为(   )
A.1 B. 2 C. 4 D. 8
4.假定a为一个数组名,在下面的表达式中,存在语法错误的是(    )
A.a B. *a++ C. *a D. *(a+1)
5.calloc函数创建具有10个整型元素的一维数组的正确语句是(   )。
A.int *p=calloc(10,2); B. int *p=calloc(10); C. int *p=calloc(10,4); D. int*p=malloc(10)
6.假定变量m定义为“int m=7;”,则下面正确的语句为(   )。
A.int p=&m; B. int *p=&m; C. int &p=*m; D. int *p=m;
7.假定k是一个double类型的变量,则定义变量p的正确语句为(   )。
A.double p=&k; B. int *p=&k; C. double &p=*k; D. char *p=”Thank you!”;
8.若有语句为“int a[10], x, *pa=a;”,要把数组a中下标为3的元素值赋给x,则不正确的语句为(    )。
A.x=pa[3]; B. x=*(a+3); C. x=a[3]; D. x=*pa+3;
9.假定有语句为“int b[10]; int *pb;”,则下面不正确的赋值语句为(    )。
A.pb=b; B. pb=&b[0]; C. pb=b+2; D. pb=b[5];
10.已知“int *p=malloc(100);”,要释放p所指向的动态内存,正确的语句为(   )。
A.free(p); B. free p; C. free(*p); D. free[p];
11.在程序的一个文件中定义的函数,若要在另一个文件中调用,则必须在这另一个文件中给出该函数的(    )。
A.原型语句 B. 参数表 C. 函数名 D. 返回类型
12.假定一个函数定义为“static int f1(int x,inty){return x+y;}”,该函数名称为(    )。
A.static B. int C. f1 D. return
13.假定一个函数的原型语句为“int ff(int* x);”,一个整型数组为a[10],则下面函数调用表达式不正确的是(   )。
A.ff(a) B. ff(a[0]) C. ff(a+3) D. ff(&a[0])
14.假定一个函数的数组参数说明为char a[],与之等价的指针参数说明为(    )。1B
A.char a B. char* a C. char& a D. char**a
15.假定一个函数的二维数组参数说明为char w[][N],与之等价的指针参数说明为(    )。
A.char (*w)[N] B. char *w[N] C. char (*w)N D. char**a
16.C语言中,一个函数由函数头和函数体组成。
A. B. 
17.在函数模块之外定义的变量称为全局变量,若没有被初始化则系统隐含对它赋初值0
A. B. 
18.如果一个函数只允许同一程序文件中的函数调用,则不应在该函数定义的开始前加上保留字static
A. B. 
19.如果在一个函数体中又出现对自身函数的调用,此种函数调用被称为递归调用。
A. B. 
20.调用系统函数时,要先使用#include命令包含该系统函数的原型语句所在的系统头文件。
A. B. 
21.函数形参变量不属于局部变量。
A. B. 
22.假定p所指对象的值为25p+1所指对象的值为46,则*p++的值为46
A. B. 
23.假定p所指对象的值为25p+1所指对象的值为46,则*++p的值为25
A. B. 
24.假定p所指对象的值为25p+1所指对象的值为46,则执行*(p++)运算后,p所指对象的值为46
A. B. 
25.假定a是一个指针数组,则a+i所指对象的地址比a地址大4*i字节。
A. B. 
26.若要把一个整型指针p转换为字符指针,则采用的强制转换表达式为(char*)p
A. B. 
27.假定一个数据对象为int*类型,则指向该对象的指针类型仍为int*类型。
A. B. 
28.假定x为一个简单变量,则&x表示x的地址。
A. B. 
29.p指向x,则*px的值不同。
A. B. 
30.NULL是一个符号常量,通常作为空指针值,它代表的值为0
A. B. 
题目31
#include<stdio.h>
      int WF(int x, int y) {
          x=x+y;
          y=x+y;
          return x+y;
      }
      void main() {
          int x=5, y=7;
          int z=WF(x,y);
          printf(“z=%d\n”,z);
      }
题目32
#include<stdio.h>
      #include<string.h>
      void fun(char ss[]);
      void main( ) {
          char s[15]=”0123456789″;
          fun(s);
          printf(“%s\n”,s);
      }
      void fun(char ss[]) {
          int i, n=strlen(ss) ;
          for(i=0; i<n/2; i++) {
              char c=ss;
              ss=ss[n-1-i];
              ss[n-1-i]=c;
          }
      }
题目33
#include<stdio.h>
       int Count(int a[], int n, int x)
       {
           int i,c=0;
           for(i=0;i<n;i++)
               if(a>x) c++;
           return c;
       }
       void main() {
           int a[8]={20,15,32,47,24,36,28,70};
           int b=Count(a,8,30);
           printf(“b=%d\n”,b);
       }
题目34
#include<stdio.h>
      void main() {
          int a[8]={3,5,7,9,2,3,4,8};
          int s=0,*p;
          for(p=a;p<a+8;) s+=*p++;
          printf(“s=%d\n”,s);
      }
题目35
#include<stdio.h>
      int LA(int *a, int n, int x) {
          int i,s=0;
          for(i=0;i<n;i++)
              if(a<x) s+=a;
          return s;
      }
      void main() {
          int a[8]={5,10,15,8,12,3,9,20};
          int b=LA(a,5,10);
          int c=LA(a+2,6,10);
          printf(“%d %d\n”,b,c);
      }
题目36
doubleSF(double x, int n) {  //n为正整数
          double p=1,s=1;
          int i;
          for(i=1;i<=n;i++) {
              p*=x;
              s+=p;
          }
          return s;
      }
题目37
intSG(int x) {           //x为大于等于2的整数
          int i=2;
          while(i*i<=x) {
              if(x%i==0) break;
              i++;
          }
          if(i*i<=x) return 0; else return 1;
      }
题目38
intWB(int a[], int n, int x) {
         for(int i=0;i<n;i++)
             if(a==x) return 1;
         return 0;
      }
题目39
intfun(int m, int n) {
          int c=0;
          static int b=2;
          if(m<b || n<b) return m*n;
          else if(m%b==0 && n%b==0) {c=b; returnc*fun(m/b,n/b);}
          else {b++; return fun(m,n);}
      }
题目40
intLK(double a[], int n) {
          double s=0;
          int i,m=0;
          for(i=0;i<n;i++) s+=a;
          s/=n;
          for(i=0;i<n;i++)
              if(a>=s) m++;
          return m;
      }
形考任务四
1. 假定有“struct BOOK{char title[40]; float price;}; struct BOOK book;”,则不正确的语句为(    )。
A. struct BOOK *x=malloc(book); B. structBOOK x={“C++ Programming”,27.0}; C. struct BOOK*x=malloc(sizeof(struct BOOK)); D. struct BOOK *x=&book;
2. 假定有“struct BOOK{char title[40]; float price;} book;”,则正确的语句为(    )。
A. struct BOOK x= &book; B. struct BOOK*x=&book; C. struct BOOK x=calloc(BOOK); D. struct BOOK *x=BOOK;
3. 在结构类型的定义中,不同数据成员的定义项之间采用的分隔符是(    )。
A. 句点 B. 冒号 C. 分号 D. 逗号
4. 假定一个结构类型的定义为struct A{int a,b;double c;};”,则该类型的长度为(    )。
A. 8 B. 10 C. 12 D. 16
5. 假定一个结构类型的定义为struct D{int a; D*next;};”,则该类型的长度为(    )。
A. 4 B. 8 C. 12 D. 16
6. 假定要访问一个结构指针变量x中的数据成员a,则表示方法为(    )。
A. a B. x->a C. x(a) D.  x{a}
7. 与结构成员访问表达式x.name等价的表达式为(    )。
A. x->name B. &x->name C.(&x)->name D. (*x)->name
8. 假定一个链表中结点的结构类型为“struct AA{int data, struct AA *next;};”,则next数据成员的类型为(    )。
A. struct AA B. struct AA* C. AA D. int
9. 假定一个链表的表头指针为f,结点中包含有datanext域,则向该链表的表头插入一个地址为p的结点时,应执行的操作为(    )。
A. p->next=f B. p->next=ff=p C. f=p->next D. f->next=pf=p
10. 标准输入设备键盘的文件流标识符是(    )。
A. stdin B. stdout C.  stderr D. stdio
11. 表示文件结束符的符号常量为(    )。
A. eof B. Eof C. EOF D. feof
12. C语言中打开一个数据文件的系统函数为(   )。
A. fgetc() B.  fputc() C. fclose() D. fopen()
13. 从一个数据文件中读入以换行符结束的一行字符串的系统函数为(    )。
A. gets() B. fgets() C. getc() D. fgetc()
14. 向一个二进制文件中写入信息的函数fwrite()带有的参数个数为(    )。
A. 1 B. 2 C. 3 D. 4
15. C语言中,为只写操作打开一个文本文件的方式为(    )。
A. “a” B. “r+” C.”r” D. “w”
16. 在结构类型的定义中,其中的数据成员可以是本身类型的直接对象。
A.  B. 
17. 在结构类型的定义中,允许出现结构类型不完整的超前定义。
A.  B. 
18. 定义结构类型的变量时,不能够同时进行初始化。
A.  B. 
19. 使用一个结构类型时,必须一起使用关键字struct和类型标识符。
A.  B. 
20. 假定一个结构类型的定义为struct A{int a,b; A*c;};”,则该类型的长度为12
A.  B. 
21. 假定一个结构类型的定义为struct B{int a[5];char* b;};”,则该类型的长度为20
A.  B. 
22. 执行calloc(n,8)函数调用时,将动态分配得到8*n个字节的存储空间。
A.  B. 
23. 执行malloc(sizeof(struct BB))函数调用时,得到的动态存储空间能够保存具有struct BB结构类型的一个对象。
A.  B. 
24. 假定要访问一个结构对象x中的由a指针成员所指向的对象,则表示方法为x.a
A.  B. 
25. 假定要访问一个结构指针p所指对象中的b指针成员所指的对象,则表示方法为p->b
A.  B. 
26. 与结构成员访问表达式(*fp).score等价的表达式是fp->score
A.  B. 
27. C语言中,对二进制文件的所有不同打开方式共有6种。
A.  B. 
28. C语言中的标准输入和输出设备文件都属于字符文件。
A.  B. 
29. 在一个磁盘数据文件的文件名中,文件主名和扩展名都是必须的,不可省略。
A.  B. 
30. 在数据文件打开方式字符串中,字符rwa具有确定的含义,分别代表读、写和追加方式。
A.  B. 
31. 一个磁盘数据文件的文件名由文件主名和扩展名所组成,其中间用圆点分开。
A.  B. 
32. C语言系统中提供一个用来描述文件属性的类型标识符为FILE
A.  B. 
33. 每次只能向文本文件中写入一个字符,不能一次写入一个字符串。
A.  B. 
34. 对二进制文件进行读和写操作将使用相同的系统函数。
A.  B. 
35. C语言中,系统函数fseek()用来移动数据文件中的文件位置指针。
A.  B. 
题目36
#include<stdio.h>
       structWorker {
          char name[15];  //姓名
          int age;        //年龄
          float pay;      //工资
       };
       voidmain() {
          struct Worker x={“wanghua”,52,4300};
          struct Worker y, *p;
          y=x; p=&x;
          printf(“%s  %d %6.2f\n”,x.name,y.age,p->pay);
       }
题目37
#include<stdio.h>
      #include<string.h>
       structWorker {
          char name[15];  //姓名
          int age;        //年龄
          float pay;      //工资
       };
       voidmain() {
          struct Worker x;
          char *t=”liouting”;
          int d=38; float f=3493;
          strcpy(x.name,t);
          x.age=d; x.pay=f;
          printf(“%s  %d  %6.0f\n”,x.name,x.age,x.pay);
       }
题目38
#include<stdio.h>
       structWorker {char name[15]; int age; float pay;};
       intLess(struct Worker r1, struct Worker r2) {
          if(r1.age<r2.age) return 1; else return 0;
       }
       voidmain() {
          struct Worker a[4]={{“abc”,25,2420},{“def”,58,4638},
                       {“ghi”,49,4260},{“jkl”,36,3750}};
          struct Worker x=a[0];
          int i;
          for(i=1; i<4; i++)
              if(Less(x,a)) x=a;
          printf(“%s  %d  %6.0f\n”,x.name,x.age,x.pay);
       }
题目39
void QA(struct Worker a[], int n) {
          int i;
          for(i=1; i<n; i++)
              scanf(“%s %d %f”,&a.name,&a.age,&a.pay);
       }
    假定结构类型struct Worker 的定义如下:
       structWorker { char name[15]; int age; float pay;};
题目40
int Count(struct IntNode *f)
       {      //f为指向一个单链表的表头指针
           int c=0;
           while(f) {
               c++;
               f=f->next;
           }
           return c;
       }
    假定struct IntNode的类型定义为:
       struct IntNode {int data; IntNode* next;};
题目41
void xw1(char* fname) {
          FILE* fout=fopen(fname,”w”);
          char a[20];
          printf(“每个字符串长度小于20,字符串end作为结束标志\n”);
          while(1) {
              scanf(“%s”,a);
              if(strcmp(a,”end”)==0)break;
              fputs(a,fout);
              fputc(‘\n’,fout);
          }
           fclose(fout);
       }

主题授权提示:请在后台主题设置-主题授权-激活主题的正版授权,授权购买:RiTheme官网

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。