奥特曼 发表于 2018-10-27 19:21:04

江大18年秋《C语言程序设计》第三次离线作业

江南大学现代远程教育第三阶段练习题
考试科目:《C语言程序设计》第10章至第13章(总分100分)
            学习中心(教学点) 批次:            层次:                  
专业:                   学号:                  身份证号:               
姓名:                                                得分:                  

一、单项选择题(本题共20小题,每小题2分,共40分。)
1、设有定义:int a,*pA=&a;以下scanf语句中能正确为变量a读入数据的是(      )。
A、scanf(“%d”,pA) ;         B、scanf(“%d”,A) ;
C、scanf(“%d”,&pA) ;                D、 scanf(“%d”,*pA);
2、若有语句int *point,a=4;和point=&a;下面均代表地址的一组选项是(      )。
A、a,point,*&a                                        B、&*a,&a,*point                       
C、*&point,*point,&a                                D、&a,&*point,piont
3、有以下程序
main( )
{ char *p={“abc”,”aabdfg”,”dcdbe”,”abbd”,”cd”};
printf(“%d\n”,strlen(p));
}
执行后输出结果是(      )。
A、2                       B、3                        C、4                       D、5
4、C语言结构体类型变量在程序执行期间(      )。
A、所有成员一直驻留在内存中                  B、只有一个成员驻留在内存中
C、部分成员驻留在内存中                      D、没有成员驻留在内存中
5、以下对C语言中共用体类型数据的叙述(      )的叙述是正确的。。
A、可以对共有变量名直接赋值
B、一个共用体变量中可以同时存放其所有成员
C、一个共有体变量中不能同时存放其所有成员
D、共用体类型定义中不能出现结构体类型的成员
6、有以下程序
main()
{          char        str[]="xyz",*ps=str;
while(*ps)ps++;
for(ps--;ps-str>=0;ps--)        puts(ps);
}
执行后的输出结果是(      )。
A、yz                        B、z                        C、z                        D、x
xyz                           yz                           yz                          xy
xyz                           xyz
7、设有如下定义
structss
{        char        name;
          int                age;
        char        sex;
}std,*p=std;
下面各输入语句中错误的是(      )。
A、 scanf("%d",&(*p).age);                        B、scanf("%s",&std.name);
C、 scanf("%c",&std.sex)                        D、scanf("%c",&(p->sex));
8、以下叙述中不正确的是(      )。
A、C语言中的文本文件以ASCⅡ码形式存储数据
B、C语言中对二进制文件的访问速度比文本文件快
C、C语言中,随机读写方式不适用于文本文件
D、C语言中,顺序读写方式不适用于二进制文件
9、如果希望向文本文件末尾添加数据,则应以(      )方式打开文件。
A、"r"                                B、"w"                                C、"a"                                D、"ab"
10.设一整型(int)变量占用2个字节则下述共同体变量x所占用内存字节数为(      )。
union exp
{ int i;
float j;
double k;
}x;
A、14个         B、7个       C、8个       D、随机而定
11、对于基类型相同的指针变量,不能进行(      )运算。
A、+         B、-            C、=         D、==
12、阅读下面程序,并给出结果(      )。
main()
{
union EXAMPLE { struct{
                        int x; int y; }in;
                  int a,b;
                }e;
e.a=1;e.b=2;
e.in.x=e.a*e.b;
e.in.y=e.a+e.b;
printf("%d%d",e.in.x,e.in.y);
}
A、38          B、48          C、47         D、25
13、以下函数的功能是(      )。
fun(char *a,char *b)
{ while((*a!='\0')&&(*b!='\0')&&(*a= =*b))
{ a++;b++;}
return(*a-*b);}
A、计算a和b所指字符串的长度之差                  
B、将b所指字符串连接到a所指字符串中
C、将b所指字符串连接到a所指字符串后面               
D、比较a和b所指字符串的大小
14、运行下列程序后的输出结果是(      )。
main()
{ char s[ ]="Yes\n/No",*ps=s;
puts(ps+4);
*(ps+4)=0;
puts(s);}
A、 n/No                         B、/No                                 C、 n/NO                         D、Yes
        Yes\                    Yes                    /No               Yes
15、下面正确调用形式是(      )。 A、fscanf(文件指针,格式字符串,输出表列);
B、fscanf(格式字符串,文件指针,输出表列);
C、fscanf(格式字符串,输出表列,文件指针);
D、fscanf(文件指针,格式字符串,输入表列);
16、若fp是指向某文件的指针,且已读到此文件末尾,则库函数feof(fp)的返回值是(      )。
A、EOF                                B、0                                C、非零值                                D、NULL
17、若有定义:int a;则对该数组的i行j列元素值的正确引用为(      )。
A、*(*(a+i)+j)      B、(a+i)         C、*(a+i+j)      D、*(a+i)+j
18、.对于基类型相同的指针变量,不能进行(      )运算。
A、+      B、-          C、=         D、==
19、函数
AAA(s,t)
   char *s,*t;
   { while(*t++);
       t--;
       while(*t++=*s++);
   }
的功能是(      )。
A、求串的长度                     B、 比较两个串的大小
C、将串s复制到串t中             D、将串s连接到串t中
20、写出下列语句执行结果(      )。
int a,b,c,d=4,m=6,n=8;
int *p1=&d,*p2=&m,*p3;
a=p1==&d;
b=3*(-*p1)/(*p2)+7;
c=*(p3=&n)=*p1*(*p2);
printf("%d,%d,%d",a,b,c);
A、1,5,24                  B、4,5,23
C、1,2,22                  D、5,5,14
二、填空题(本题共6小题,每空2分,共30分)
1、若有定义语句“static char str = {“thank” , “you” , “very” , “much!” };” 则 str数组中存储 ‘\0’ 的数组元素有          个。
2、设有如下说明语句:enumweek{sun,mon,tue=100,wed,thu,fri,sat};则元素sun对应的实际值为          、wed对应的实际值为          。   
3、下面的程序将D盘上的文件abc.txt的内容显示在屏幕上,请填空。
#include"stdio.h"
main()
{        FILE *fp; char c;
        if((          )==NULL)
        {        printf("cannot open file!\n");
                exit(0);
        }
        while((            )!=EOF)        putchar(c);
                       ;}4、运行下列程序后,第一行输出内容         ,第二行输出内容          。
main()
{ chara={"fghi", "name" };   
      char *p, *s; int j;
      p=a; s=a;
      while(*p) p++;
      while(*s) *p++=*s++;
for(j=0;j<2;j++)printf("%s\n",a);}   
5、输入一个不包含空格的字符串,判断输入的字符串是否为回文,回文是相对中心左右对称的字符串,如:“abcba”和“abddba”是回文,而字符串“abcAa”不是回文。
#include”stdio.h”
int f(char*p)
{
char *p1, *p2;    p1=p2=p;
while( *p2++);
               ;
while(             ){
   if(             ) return(0);
   p1++;       p2 --;   }
return 1;}
main()
{
char s;
printf(“输入一个字符串:”);
scanf(“%s”,s );
if(                )printf(“字符串:%s是回文!\n”,s);
else printf(“字符串:%s不是回文!\n”,s);
}
6、运行程序后输出的第一行内容是          、第二行内容是          、最后一行内容是          。
fun (int n,int *s)
{ int f1,f2;
if ( n= =1||n= =2)*s = 1;
else
{ fun(n-1,&f1);fun(n-2,&f2);
    *s =2*f1+f2+1;printf(“ \n%d,%d “,f1,f2);}   }
main( )
        { int x;
           fun (4,&x);printf(“\nx=%d ”,x);}三、编程题(本题共2小题,每小题15分,共30分)
1、某班有10个学生,每个学生包姓名和3门课的成绩,编写一个程序,从键盘上输入每个学生的姓名和各门课的成绩,同时输出平均成绩在85分以上的学生的姓名、全部成绩和平均成绩
2、(设有一数列,包含10个数,要求:a.编写函数,采用冒泡排序法对之按照升序进行排列;b.编写函数,能够将从指定位置n开始的m个数按逆序重新排列并输出新的完整数列。(例如:原数列为2,4,6,8,10,12,14,16,18,20,若要求把从第2个数开始的5个数按逆序重新排列,则得到新数列为2,12,10,8,6,4,14,16,18,20。)关于答案可以联系QQ 1647861640

页: [1]
查看完整版本: 江大18年秋《C语言程序设计》第三次离线作业