精华内容
下载资源
问答
  • C语言程序设计进阶-浙江大学-翁恺 视频 C语言程序设计进阶-浙江大学-翁恺 视频 C语言程序设计进阶-浙江大学-翁恺 视频
  • C语言程序设计进阶 (ACM实践) 主 编 林新辉 副主编 杨凌云 胡 坚 主 审 张 红 东 软 电 子 出 版 社 大 连 ( )/ : , 语言程序设计进阶 实践 林新辉主编 大连 东软电子出版社 C ACM .- 2013.9 ISBN978-7-89436-236-0 ...
  • C语言程序设计进阶

    2018-12-23 21:18:37
    #include<stdio.h> void minmax(int a[],int len,int *max,int *min); int main(){ int a[]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,21,23,25}; ... minmax(a,sizeof(a)/sizeof(a[0]),...
    #include<stdio.h>
    void minmax(int a[],int len,int *max,int *min);
    int main(){
     int a[]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,21,23,25};
     int min;
     int max;
     minmax(a,sizeof(a)/sizeof(a[0]),&max,&min);
     printf("%d %d",min,max);
     return 0;
    }
    void minmax(int a[],int len,int *max,int *min){
     int i;
     *min=*max=a[0];
     for(i=1;i<len;i++){
      if(a[i]>*max){
       *max=a[i];
      }
      if(a[i]<*min){
       *min=a[i];
      }
     }
    }
    #include<stdio.h>
    int divide(int a,int b,int *result);
    int main(){
     int a=5,b=0;
     int c;
     if(divide(a,b,&c)){
      printf("%d/%d=%d",a,b,c);
     }
     return 0;
    }
    int divide(int a,int b,int *result){
     int ret=1;
     if(b==0){
      ret=0;
     }else{
      *result=a/b;
     }
     return ret;
    }
    展开全文
  • C语言程序设计进阶选修课答案 问霍兰德代码实用型R(Realistic)典型职业是4.0分 答园艺师 木匠 工程师 军官 外科医生 问电池名称一定要把的材料名写在前面 答负极 问甲骨文的特点 答比较成熟的文字体系 图画特征明显 ...
  • C语言程序设计进阶与实践选修课答案 问盗梦空间运用什么样的叙事手法进行叙事 答六层时空交替的梦境再现 问中华民族如果按大量饮用的历史远近作为判断依据以下哪几种酒应当称为国酒 答黄酒 葡萄酒 白酒或称烧酒 问...
  • C语言程序设计进阶 翁恺 期末考试

    万次阅读 2018-08-02 21:43:54
    C语言程序设计进阶 申请认证证书 翁恺 评价课程 公告 评分标准 课件 测验与作业 考试 讨论区 课程分享 微信提醒课程进度 扫码下载APP 帮助中心 期末试卷 返回 本次得分为:68.00/80.00, 本次...

    课程

    名校

    学校云

    2019考研

    学 · 问 

    客户端

    搜索感兴趣的课程

    个人中心

    58442162

    浙江大学

    C语言程序设计进阶

    申请认证证书

    翁恺

    评价课程

    C语言程序设计进阶

    课程分享

    微信提醒课程进度

    扫码下载APP

    帮助中心

    期末试卷

    返回

    本次得分为:68.00/80.00, 本次测试的提交时间为:2018-07-14

    1

    单选(3分)

    关于函数指针,以下说法错误的是:

    得分/总分

    • A.

      通过函数指针调用函数的时候不能传递参数

      3.00/3.00

    • B.

      函数指针可以作为参数传给一个函数

    • C.

      通过函数指针可以调用一个函数

    • D.

      函数的名字就是函数的指针值,可以赋给函数指针变量

    正确答案:A你选对了

    2

    单选(3分)

    若定义

    1. char s[2][3]={“ab”, “cd”}, *p=(char *)s;

    那么下列表达式语法正确,并且其值与 s[1][1]相等的表达式(并非一定与其等价)是得分/总分

    • A.

       

      1. *(p+3)

       

    • B.

       

      1. *(p+4)

       

      3.00/3.00

    • C.

       

      1. *s+2

       

    • D.

       

      1. p[1][1]

       

    正确答案:B你选对了

    3

    单选(3分)

    要求函数的功能是交换x和y中的值,且通过正确调用返回交换结果。能正确实现此功能的函数是

    得分/总分

    • A.

       

      1. void funa(int *x , int *y)
      2. {
      3.     int t = *x;
      4.     *x = *y;
      5.     *y = t;
      6. }

       

    • B.

      1. void funa(int x , int y)
      2. {
      3.     int t;
      4.     t=x;x=y;y=t;
      5. }

       

    • C.

      1. void funa(int *x , int *y)
      2. {
      3.     int *p;
      4.     *p=*x;*x=*y;*y=*p;
      5. }

       

      0.00/3.00

    • D.

      1. int funa(int *x , int *y)
      2. {
      3.     *x=*y;*y=*x;
      4. }

       

    正确答案:A你错选为C

    4

    单选(3分)

    对于如下定义:

     

    1. int k,a[10],*p=a;

    哪个表达式是不正确的

     

    得分/总分

    • A.

      p++

    • B.

      p[0]=k

    • C.

      a++

      3.00/3.00

    • D.

      *p++=2

    正确答案:C你选对了

    5

    单选(3分)

    下列描述不正确的是

    得分/总分

    • A.

      全局变量定义在函数外部

    • B.

      静态本地变量分配在全局变量所在的地方

      0.00/3.00

    • C.

      全局变量定义在函数内部

    • D.

      本地变量定义在函数内部

    正确答案:C你错选为B

    6

    单选(3分)

    有如下定义:

    1. int  x[]={1,2,3},*p=x,y;

    1. y=*p++;

    相当于_____得分/总分

    • A.

      y=x[0], p++

    • B.

      y=2, p=x+1

    • C.

      y=*(p+1), p=p+1

      0.00/3.00

    • D.

      y=2, p=&x[1]

    正确答案:A你错选为C

    7

    单选(3分)

    若声明函数

    int* func(void);

    则函数fun的返回值为:

     

    得分/总分

    • A.

      一个整数

    • B.

      一个整型函数的入口地址

    • C.

      一个指向整型变量的指针

      3.00/3.00

    • D.

      一个指向整型函数的指针

    正确答案:C你选对了

    8

    单选(3分)

    关于#include,以下说法正确的是

    得分/总分

    • A.

      #include <xx>是错误的,因为没有了.h后缀

    • B.

      #include <stdio.h>就把stdio库引入到了程序中

      0.00/3.00

    • C.

      #include "xx.h"只在当前目录搜索xx.h

    • D.

      #include <xx.h>只在编译器被指定的目录中搜索xx.h

    正确答案:D你错选为B

    9

    单选(3分)

    1. while( *s++ = *t++ );

    等价的程序段是得分/总分

    • A.

       

      1. while ( *t ) 
      2.    *s++ = *t++;

       

    • B.

       

      1. do { 
      2.     *s++ = *t++;  
      3. } while ( *t  );

       

    • C.

       

      1. do { 
      2.     *s = *t++;  
      3. } while ( *s++ );

       

      3.00/3.00

    • D.

      1. while ( *s ) 
      2.     *s++ = *t++;

       

    正确答案:C你选对了

    10

    单选(3分)

    有以下结构体说明和变量定义,指针p、q、r依次指向一个链表中的三个连续结点。

    1. struct   node
    2.     int  data
    3.     struct   node   *next ;
    4. } *p,  *q,   *r;

    现要将q和r所指结点的先后位置交换,同时要保持链表的连续,以下错误的程序段是

     

    得分/总分

    • A.

       

      1. q->next=r->next;  r->next=q;  p->next=r;

       

    • B.

       

      1. r->next=q;  q->next=r->next;  p->next=r;

       

      3.00/3.00

    • C.

       

      1. p->next=r;  q->next=r->next;  r->next=q;

       

    • D.

       

      1. q->next=r->next;  p->next=r;  r->next=q;

       

    正确答案:B你选对了

    11

    单选(3分)

    有以下程序

    1. void WriteStr(char *fn,char *str)
    2. {
    3.     FILE *fp;
    4.     fp=fopen(fn,"w");
    5.     fprintf(fp, "%s", str);
    6.     fclose(fp);
    7. }
    8. int main()
    9. {
    10.     WriteStr("t1.dat","start");
    11.     WriteStr("t1.dat","end");
    12.     return 0;
    13. }

    程序运行后,文件t1.dat中的内容是

     

    得分/总分

    • A.

      end

      3.00/3.00

    • B.

      startend

    • C.

      endrt

    • D.

      start

    正确答案:A你选对了

    12

    单选(3分)

    在一个链表中,要把s所指的一个结点插入到p所指的一个结点后面去,正确的语句是:

     

    得分/总分

    • A.

       

      1. s->next=p¬->next;  p=s;

       

    • B.

       

      1. s->next=p->next;  p->next=s;

       

      3.00/3.00

    • C.

       

      1. s->next=p;  p->next=s;

       

    • D.

       

      1. p->next=s;  s->next=p;

       

    正确答案:B你选对了

    13

    单选(3分)

    以下哪个函数是不正确的(与能否被编译无关)?

    得分/总分

    • A.

       

      1. int* f(int *p) 
      2.     int i; 
      3.     return &i; 
      4. }

       

      3.00/3.00

    • B.

       

      1. int* f(int *p) 
      2.     return NULL; 
      3. }

       

    • C.

       

      1. int* f(int *p) 
      2.     return  (int*)malloc(sizeof(int)); 
      3. }

       

    • D.

       

      1. int* f(int *p) 
      2.     return p; 
      3. }

       

    正确答案:A你选对了

    14

    单选(3分)

    执行下列代码后变量t的值是_____.

    1. #define fun(a) 4*a;
    2. int t;
    3. t=fun(1+2);

     

    得分/总分

    • A.

      12

    • B.

      6

      3.00/3.00

    • C.

      8

    • D.

      10

    正确答案:B你选对了

    15

    单选(3分)

    给定函数原型如下:

     

    1. int* f(int *p);

    而变量定义如下:

     

    1. int i;

    得分/总分

    • A.

       

      1. *f(&i) = 6;

       

    • B.

       

      1. f(&i);

       

    • C.

       

      1. f(&(i+6));

       

      3.00/3.00

    • D.

       

      1. int* p = f(&i);

       

    正确答案:C你选对了

    16

    单选(3分)

    有以下代码片段:

    1. struct {
    2.     union {
    3.         char a,b;
    4.         int c;
    5.     } d;
    6.     int e[5];
    7. } f, *p = &f;

    那么,下列语句哪个是能被编译的:

     

    得分/总分

    • A.

       

      1. p.d.a = '*';

       

    • B.

       

      1. p->d->c = 20;

       

    • C.

       

      1. p->e[3] = 10;

       

      3.00/3.00

    • D.

       

      1. p->b = ' ';

       

    正确答案:C你选对了

    17

    单选(3分)

    有函数原型为

    1. void f(int, int *);

    ,主函数中有变量定义:

    1. int a=2, *p=&a;

    则下列函数调用正确的是得分/总分

    • A.

       

      1. f(p,a);

       

    • B.

       

      1. f(a, &p);

       

    • C.

       

      1. f(a, *p);

       

    • D.

       

      1. f(a, p);

       

      3.00/3.00

    正确答案:D你选对了

    18

    单选(3分)

    若定义

    1. int k, a[10], *p=a;

    那么下面表达式不能被编译的是_______.

     

     

    得分/总分

    • A.

       

      1. p[0] = k;

       

    • B.

       

      1. a[0] = k;

       

    • C.

       

      1. p++;

       

    • D.

       

      1. a++;

       

      3.00/3.00

    正确答案:D你选对了

    19

    单选(3分)

    用typedef来定义一个函数指针类型PunPtr,它表示的是指向形如void func(int x)的函数,以下正确的表达是: 

     

    得分/总分

    • A.

      typedef FunPtr fun(int x);

    • B.

      typedef void (*FunPtr)( );

    • C.

      typedef void FunPtr(int x);

    • D.

      typedef void (*FunPtr)(int);

      3.00/3.00

    正确答案:D你选对了

    20

    单选(3分)

    在课程的图形库中,关于printf的问题,以下说法正确的是: 

     

    得分/总分

    • A.

      如果调用了InitConsole()函数,printf会显示在专门的终端窗口上,否则不会输出任何东西。

      3.00/3.00

    • B.

      printf会自动打开一个文本窗口显示内容

    • C.

      printf会在图形窗口的当前位置显示内容

    • D.

      printf不会输出任何东西

    正确答案:A你选对了

    21

    填空(2分)

    表达式

    1. !!”2010-01-27”

    的值为(以1表示真,0表示假)得分/总分

     

     2.00/2.00

    正确答案:1

    22

    填空(2分)

    下列程序段的输出是_______。

    1. #define DF(a,b)  (a+2*b) 
    2. int s=5;
    3. int k= DF(s+1,s-3);
    4. printf("%d",k);

     

    得分/总分

     

     2.00/2.00

    正确答案:13

    23

    填空(2分)

    以下代码段的输出是:

    1. int x, y, z, w;
    2. void p(int *y, int x)
    3. {
    4.     static int w;
    5.     *y++; x++; w = x+*--y;
    6.     printf("%d#%d#%d#%d#",x,*y,z,w);
    7. }
    8. int main(void)
    9. {
    10.     int x, y, z, w;
    11.     x=y=z=w=1;
    12.     do{
    13.         static int x;
    14.         p(&x, y);
    15.         printf("%d#%d#%d#%d#",x,y,z,w);
    16.     } while(0);
    17.     return 0;
    18. }

     

    得分/总分

     

     2.00/2.00

    正确答案:2#0#0#2#0#1#1#1#

    24

    填空(2分)

    假设sizeof(int)的值为4,对数组定义:

    1. int a[3][6];

    则sizeof( a[0] )的值为______。

     

     

    得分/总分

     

     2.00/2.00

    正确答案:24

    25

    填空(2分)

    写出表示“当 x 的取值在 [-10, 0]  的范围内,结果为真,否则为假”的C语言表达式,注意不要任何空格

    得分/总分

     

     2.00/2.00

    正确答案:x>=-10&&x<=0 或 x<=0&&x>=-10 或 !(x<-10||x>0)

    26

    填空(2分)

    1.  int a = 6, b = 0, c = 3

    ,则表达式

    1. a && b || b - c

    的结果是(以1表示真,0表示假)得分/总分

     

     2.00/2.00

    正确答案:1

    27

    填空(2分)

    以下代码段的输出是:

    1. char a[20]="cehiknqtw";
    2. char *s="fbla",*p;
    3. int i, j;
    4. for(p=s; *p; p++) {
    5.    j=0;
    6.    while (*p>=a[j] && a[j]!='\0') j++;
    7.    for(i=strlen(a); i>=j; i--) a[i+1] = a[i];
    8.    a[j]=*p;
    9. }
    10. printf("%s", a);

     

    得分/总分

     

     2.00/2.00

    正确答案:abcefhiklnqtw

    28

    填空(2分)

    根据下面的定义,F0(3+4)的输出结果是_______(注意没有空格)

    1. #define  F1(var)  printf("var=%d", var)
    2. #define  F0(var)  F1(var * var)

     

    得分/总分

     

     2.00/2.00

    正确答案:var=19

    29

    填空(2分)

    程序T1的代码如下,则运行T1  abc  bcd  cde  aed的输出结果是_______.

    1. int main(int argc, char** argv)
    2. {
    3.     while(**argv++!='a');
    4.     printf("%s", *argv);
    5.     return 0;
    6. }

     

    得分/总分

     

     2.00/2.00

    正确答案:bcd

    30

    填空(2分)

    以下代码的输出是 :

    1. void swap( int *pa, int *pb ) 
    2. {
    3.     int pt;
    4.     pt = *pa, *pa = *pb, *pb = *pa;
    5. }
    6. int main(void)
    7. {    
    8.     int x=1, y=2;
    9.     f(&x, &y);
    10.     printf("%d%d", x, y);
    11. }

     

    得分/总分

     

     2.00/2.00

    正确答案:22

    展开全文
  • 2.6.1 绘制调用栈I本文讲的是C语言程序设计进阶教程一2.6.1 绘制调用栈I在调用f1之前:完成第4行后:在f1的栈帧出栈之后: 原文标题:C语言程序设计进阶教程一2.6.1 绘制调用栈I ...

    2.6.1 绘制调用栈I
    本文讲的是C语言程序设计进阶教程一2.6.1 绘制调用栈I
    在调用f1之前:
    screenshot
    完成第4行后:
    screenshot
    在f1的栈帧出栈之后:
    screenshot

    原文标题:C语言程序设计进阶教程一2.6.1 绘制调用栈I

    展开全文
  • 2.5 习题本文讲的是C语言程序设计进阶教程一2.5 习题,本书有两种类型的作业:习题和编程作业。习题是不需要编写程序的问题——它们是“在纸上写”的问题。编程作业,显然是需要在电脑上完成的。理解栈内存对于...

    2.5 习题
    本文讲的是C语言程序设计进阶教程一2.5 习题,本书有两种类型的作业:习题和编程作业。习题是不需要编写程序的问题——它们是“在纸上写”的问题。编程作业,显然是需要在电脑上完成的。
    理解栈内存对于程序员而言是最必需的技能之一。如果你想要理解C程序(和许多其他编程语言),那么对栈内存的扎实理解是必要的。

    原文标题:C语言程序设计进阶教程一2.5 习题

    展开全文
  • 本文讲的是C语言程序设计进阶教程一2.5.1 绘制调用栈I,绘制调用栈:在f1被调用之前。当程序完成了第4行。当程序完成了f1,且最顶部的栈帧出栈。 原文标题:C语言程序设计进阶教程一2.5.1 绘制调用栈I ...
  • 本文讲的是C语言程序设计进阶教程一2.6.2 绘制调用栈II完成第4行之后:完成第6行之后:k和m的值被交换了。f1的栈帧出栈a和c的值没有变化。2.6.3 地址程序员不能控制变量的地址。如果相同的程序运行多次,相同变量...
  • C语言程序设计进阶第一周编程题 题目内容: 题目说起来很简单,你会读到两个字符串,每个字符串占据一行,每个字符串的长度均小于10000字符,而且第一个字符串的长度小于第二个字符串的。你的程序要找出第一个字符串...
  • C语言程序设计进阶教程》读后感 我买了无数C语言教程,我现在是只要是好的计算机书,来者不拒。但要找本好书,真是难。 有回,在亚马逊上,看到这本书,就买了。当时也没如何看,后来,对递归实在有些迷惑。处在似...
  • 为什么要写这本书本文讲的是C语言程序设计进阶教程一导读,市面上有成百上千种关于编程的书籍,其中有很多都是关于C语言编程的,那么为什么我还要写这本书呢?为什么建议你花时间读它呢?这本书跟其他书有什么不同呢...
  • 程序 多个.c件 main)的代码太了适合分成个函数 个源代码件太了适合分成个件 两个独的源代码件不能编译形成可执的程序 编译单元 个.c件是个编译单元 编译器每次编译只处理个编译单元 项 在Dev C++中新建个项然后把个...
  • 本文讲的是C语言程序设计进阶教程一1.1 编译,本章讲述怎样在Linux下编写、编译和执行程序。我们使用Linux终端并解释你需要键入的命令。为什么要学习怎样使用终端呢?首先,此终端对于使用计算机工作而言是一个灵活...
  • 2.2 栈本文讲的是C语言程序设计进阶教程一2.2 栈,现代计算机通常把易失内存编组为三种类型:栈内存堆内存程序内存前两个用来存储数据,最后一个存储计算机程序的机器码。本章主要关注栈内存。堆内存将会在后面的...
  • C语言程序设计进阶 翁恺 第7周编程题 编译器:Dev-C++ V5.10 依照学术诚信条款,我保证此作业是本人独立完成的。 温馨提示: 1.本次作业属于Online Judge题目,提交后由系统即时判分。 2.学生可以在...
  • 枚举 常量符号化 符号不是具体的数字来表程序中的数字 枚举 枚举不是定义独的const int变量 枚举 枚举是种户定义的数据类型它关键字enum 以如下语 法来声明 enum 枚举类型名字 {名字0, , 名字n} ; 枚举类型名字通常...
  • Linked-List Basic Idea node -- 结点 data structure typedef struct _node { int value; struct _node* next; } Node; basic operation insert head traversal/search append tail remove clear all insert head 1
  • typedef 定义数据类型 (typedef) C语提供了个叫做typedef 的功能来声明个已有的数据类型的 新名字如 typedef int Length; 使得Length 成为int 类型的别名 这样Length 这个名字就可以代替int出现在变量定义和参数声明...
  • 9.1-1 取地址运算 运算符 & scanf%d, &i;的& 获得变量的地址它的操作数必须是变量 int i; printf%x&i; 地址的是否与int相同取决于编译器 int i; printf%p&i; &不能取的地址 &不能对没有地址的东取地址 (a+b?...
  • 格式化输输出 格式化的输输出 printf %[ags][width][.prec][hlL]type scanf %[ag]type %[ags][width][.prec][hlL]type Flag 含义 - 左对 + 在前放 + 或 - (space) 正数留空 0 0填充 %[ags][width][.prec][hlL]type ...
  • 本文讲的是C语言程序设计进阶教程一3.1.3 编程后,在你认为已经完成编程之后,读一读你的程序。检查有没有下面说的那些常见的错误。不要依赖测试:测试只会告诉你程序没有正常工作,它不会告诉你程序真的在正常运行...
  • 本文讲的是C语言程序设计进阶教程一1.2 重定向输出,printf函数可能是人们写C程序时最先了解的几个函数之一。著名的“Hello World!”程序经常被用作给初学者的例子。在这个计算机程序中,文本被打印至终端。然而在...
  • 本文讲的是C语言程序设计进阶教程一3.2 常见错误,这里是一系列我所见过我的学生编写程序中的常见错误(有时甚至是我自己也会犯的)。很多学生向我保证他们再也不会犯这些错误。事实上是人们还是会犯这些错误,而且...
  • 本文讲的是C语言程序设计进阶教程一2.3.5 数组,下面的例子创建了一个5元素的数组。每个元素包含一个整型且其未被初始化。如果一个数组有5个元素,那有效的下标是0、1、2、3和4。第一个下标是0而不是1,最后一个是4...
  • 本文讲的是C语言程序设计进阶教程一2.3.6 获取地址,可以通过在一个变量前面加上&来获取它的地址。这个地址可以在printf函数中使用“%p”格式符来打印出来。下面的例子会打印出a和c的地址。下面是这个程序的一个...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 574
精华内容 229
关键字:

c语言程序设计进阶

c语言 订阅