homework 发表于 2017-5-6 14:11:04

北交17春《C语言程序设计(专)》在线作业一二答案

北交17春《C语言程序设计(专)》在线作业一

一、单选题:
1.设有以下语句:  char x=3,y=6,z;  z=x^y<<2;  则z的二进制值是          (满分:4)
    A. 00010100
    B. 00011011
    C. 00011100
    D. 00011000
2.以下程序有错,错误原因是  main(    )  { int *p,i;char *q,ch;  p=&i;  q=&ch;  *p=40;  *p=*q;  ......  }          (满分:4)
    A. p和q的类型不一致,不能执行*p=*q;语句
    B. *p中存放的是地址值,因此不能执行*p=40;语句
    C. q没有指向具体的存储单元,所以*q没有实际意义
    D. q虽然指向了具体的存储单元,但该单元中没有确定的值,所以执行*p=*q;没有意义,可能会影响后面语句的执行结果
3.下面能正确进行字符串赋值操作的是          (满分:4)
    A. char s[5]={&quot;ABCDE&quot;};
    B. char s[5]={ &prime;A&prime;, &prime;B&prime;, &prime;C&prime;, &prime;D&prime;, &prime;E&prime;};
    C. char *s;s=&quot;ABCDE&quot;;
    D. char *s;char a; scanf(&quot;%s&quot;,&s);
4.以下不正确的定义语句是          (满分:4)
    A. double x[5]={2.0,4.0,6.0,8.0,10.0};
    B. int y[5]={0,1,3,5,7,9};
    C. char c1[]={′1′,′2′,′3′,′4′,′5′};
    D. char c2[]={′\x10′,′\xa′,′\x8′};
5.在16位IBM-PC机上使用C语言,若有如下定义  struct data  { int i;  char ch;  double f;  } b;  则结构变量b占用内存的字节数是          (满分:4)
    A. 1
    B. 2
    C. 7
    D. 11
6.设有数组定义: char array[]=&quot;China&quot;; 则数组 array所占的空间为          (满分:4)
    A. 4个字节
    B. 5个字节
    C. 6个字节
    D. 7个字节
7.若有以下程序  #include     int a[]={2,4,6,8};  main(    )  { int i;  int *p=a;  for(i=0;i<4;i++)a[i]=*p;  printf(&quot;%d\n&quot;,a[2]);  }  上面程序输出结果是          (满分:4)
    A. 6
    B. 8
    C. 4
    D. 2
8.以下程序有语法错误,有关错误原因的正确说法是  main(    )  { int G=5,k;  void prtchar(    );  ...  k=prtchar(G);  ...  }          (满分:4)
    A. 语句 void prtchar(    );有错,它是函数调用语句,不能用void说明
    B. 变量名不能使用大写字母
    C. 函数说明和函数调用语句之间有矛盾
    D. 函数名不能使用下划线
9.请选出以下语句的输出结果  printf(&quot;%d\n&quot;,strlen(&quot;\t\&quot;\065\xff\n&quot;));          (满分:4)
    A. 5
    B. 14
    C. 8
    D. 输出项不合法,无正常输出
10.假定以下程序经编译和连接后生成可执行文件PROG.EXE,如果在此可执行文件所在目录的DOS提示符下键入:  PROG ABCDEFGH IJKL,则输出结果为  main( int argc, char *argv[])  { while(--argc>0)  printf(&quot;%s&quot;,argv[argc]);  printf(&quot;\n&quot;);  }          (满分:4)
    A. ABCDEFG
    B. IJHL
    C. ABCDEFGHIJKL
    D. IJKLABCDEFGH
二、多选题:
1.在C语言中,正确的int类型的常数是:(    )。          (满分:4)
    A. 0
    B. 32768
    C. 037
    D. 0xaf
2.关于静态局部变量的说明正确的是(    )。          (满分:4)
    A. 静态局部变量存储在静态存储区
    B. 静态局部变量是在编译时赋初值的,即只赋一次值,在程序运行时它已有初值
    C. 若在定义局部变量时不赋初值,则编译时自动赋初值为0或空字符
    D. 虽然静态局部变量在函数调用结束后仍然存在,但其他函数是不能引用它的
3.若有以下定义和语句:double r=99,*p=&r; *p=r;则以下不正确的叙述是:(    )          (满分:4)
    A. 以上两处的*p含义相同,都说明给指针变量p赋值
    B. 语句“*p=r;”把变量r的地址值赋给指针变量p
    C. 语句“*p=r;”取变量r的值放回r中
    D. 在“double r=99,*p=&r;”中,把r的地址赋值给了p所指的存储单元
4.函数调用可以(    )。          (满分:4)
    A. 出现在一个表达式中
    B. 出现在执行语句中
    C. 作为一个函数的实参
    D. 作为一个函数的形参
5.关于宏定义的说法正确的是:          (满分:4)
    A. 宏名一般习惯用大写字母表示,以便与变量名相区别
    B. 使用宏名代替一个字符串,可以减少程序中重复书写某些字符串的工作量
    C. 宏定义是用宏名代替一个字符串,也就是简单的置换,不作正确性检查
    D. 宏定义不是C语句,不必在行末加分号
6.已知:int x,a,b;下列选项中正确的if语句是(    )。          (满分:4)
    A. if(a=b) x++;
    B. if(a=<b) x++;
    C. if(a-b) x++;
    D. if(x) x++;
7.C提供的预处理功能主要有(    )。          (满分:4)
    A. 宏定义
    B. 文件包含
    C. 条件编译
    D. 异常终止
8.以下(    )是正确的转义字符。(    )          (满分:4)
    A. ‘\\'
    B. ‘\’
    C. ‘\81'
    D. ‘\0'
9.关于实参和形参的说法正确的是(    )。          (满分:4)
    A. 在定义函数中指定的形参,在未出现函数调用时,它们并不占内存中的存储单元
    B. 实参可以是变量、常量或表达式
    C. 实参与形参的类型应相同或赋值兼容
    D. 实参变量对形参变量的数据传递是“值传递”
10.对静态变量的正确描述          (满分:4)
    A. 静态局部变量在静态存储区内分配单元
    B. 静态外部变量可以赋初值,也可以不赋初值
    C. 静态外部变量的作用与外部变量相同
    D. 静态局部变量在函数调用结束时,仍保存其值,不会随着消失。
三、判断题:
1.C程序的执行总是从第一个定义的函数开始          (满分:4)
    A. 错误
    B. 正确
2.使用符号常量的好处是:一,含义清楚,二,在需要改变一个常量时能做到“一改全改”(    )          (满分:4)
    A. 错误
    B. 正确
3.共用体所占的内存空间大小取决于占空间最多的那个成员变量。          (满分:4)
    A. 错误
    B. 正确
4.主函数和其它函数可以相互调用          (满分:4)
    A. 错误
    B. 正确
5.C语言中,整常数有三种表示形式:十进制整数,八进制整数,十六进制整数。(    )          (满分:4)
    A. 错误
    B. 正确北交《C语言程序设计(专)》在线作业二

一、单选题:
1.C语言允许函数类型缺省定义,此时函数值隐含的类型是          (满分:4)
    A. float
    B. int
    C. long
    D. double
2.请选出可用作C语言用户标识符的是          (满分:4)
    A. void,define,WORD
    B. a3b3,123,IF
    C. FOR,--abc,Case
    D. 2a,Do,Sizeof
3.下面程序的输出结果是  main(    )  { int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;  printf(&quot;%d\n&quot;,*(p+2));}          (满分:4)
    A. 3
    B. 4
    C. 1
    D. 2
4.在16位C编译系统上,若定义long a;,则能给a赋40000的正确语句是          (满分:4)
    A. a=20000+20000;
    B. a=4000*10;
    C. a=30000+10000;
    D. a=4000L*10L
5.C语言中,能识别处理的文件为          (满分:4)
    A. 文本文件和数据块文件
    B. 文本文件和二进制文件
    C. 流文件和文本文件
    D. 数据文件和二进制文件
6.以下程序的输出结果是  void reverse(int a[],int n)  { int i,t;  for(i=0;i  { t=a[i]; a[i]=a[n-1-i];a[n-1-i]=t;}  }  main(    )  { int b[10]={1,2,3,4,5,6,7,8,9,10}; int i,s=0;  reverse(b,8);  for(i=6;i<10;i++)s+=b[i];  printf(&quot; %d\n &quot;,s);          (满分:4)
    A. 22
    B. 10
    C. 34
    D. 30
7.设有以下语句:  char x=3,y=6,z;  z=x^y<<2;  则z的二进制值是          (满分:4)
    A. 00010100
    B. 00011011
    C. 00011100
    D. 00011000
8.以下程序有语法错误,有关错误原因的正确说法是  main(    )  { int G=5,k;  void prtchar(    );  ...  k=prtchar(G);  ...  }          (满分:4)
    A. 语句 void prtchar(    );有错,它是函数调用语句,不能用void说明
    B. 变量名不能使用大写字母
    C. 函数说明和函数调用语句之间有矛盾
    D. 函数名不能使用下划线
9.执行以下程序后,a,b的值分别为   main(    )   { int a,b,k=4,m=6,*p1=&k,*p2=&m;   a=p1==&m;   b=(*p1)/(*p2)+7;   printf("a=%d\n",a);   printf("b=%d\n",b);   }          (满分:4)
    A. -1,5
    B. 1,6
    C. 0,7
    D. 4,10
10.一个C语言程序是由          (满分:4)
    A. 一个主程序和若干子程序组成
    B. 函数组成
    C. 若干过程组成
    D. 若干子程序组成
二、多选题:
1.内存中供用户使用的存储空间可分为:(    )。          (满分:4)
    A. 程序区
    B. 静态存储区
    C. 动态存储区
    D. 数据存储区
2.下列描述正确的是          (满分:4)
    A. 由main 函数及其参数argc和* argv[]可以实现命令行方式
    B. 使用fclose关闭文件时,先释放文件指针,再写缓冲区数据到文件中
    C. 字符数组并不要求它的最后一个字符是&lsquo;\0'
    D. &lsquo;A'和“A”都是字符串常量
3.C语言中函数返回值的类型与下列哪项无关?          (满分:4)
    A. 定义函数时所指定的函数类型
    B. 调用函数时临时
    C. 调用该函数的主函数类型
    D. return语句中的表达式类型
4.以下(    )是正确的转义字符。(    )          (满分:4)
    A. ‘\\'
    B. ‘\’
    C. ‘\81'
    D. ‘\0'
5.以下对一维数组a进行初始化,错误的语句是(    )。          (满分:4)
    A. int a=(0,0,0,0,0);
    B. int a={};
    C. int a={0};
    D. int a={10,9,8}
6.以下正确的C语言标识符是(    )。          (满分:4)
    A. ABC
    B. abc
    C. abc
    D. ab.c
7.以下不正确的描述是(    )。          (满分:4)
    A. 函数的定义可以嵌套,函数的调用不可以嵌套
    B. 函数的定义不可以嵌套,函数的调用可以嵌套
    C. 函数的定义和函数的调用均可以嵌套
    D. 函数的定义和函数的调用均不可以嵌套
8.以下说法不正确的是(    )。          (满分:4)
    A. 定义函数时,形参的类型说明可以放在函数体内
    B. return后边的值不能为表达式
    C. 如果函数值的类型与返回值表达式的类型不一致,以函数值类型为准
    D. 如果形参与实参的类型不一致,以实参类型为准
9.关于文件的打开方式描述正确的是:(    )。          (满分:4)
    A. r:打开只读文件
    B. a+:打开或建立用于更新数据的文件,数据追加到文件尾
    C. a:打开或建立一个把数据追加到文件尾的文件
    D. r+:打开用于更新数据的文件
10.关于宏定义的说法正确的是:          (满分:4)
    A. 宏名一般习惯用大写字母表示,以便与变量名相区别
    B. 使用宏名代替一个字符串,可以减少程序中重复书写某些字符串的工作量
    C. 宏定义是用宏名代替一个字符串,也就是简单的置换,不作正确性检查
    D. 宏定义不是C语句,不必在行末加分号
三、判断题:
1.若打开文件的方式为“w”而该文件已经存在,则文件中原有数据被清除。          (满分:4)
    A. 错误
    B. 正确
2.模运算符要求两侧均应为整型数据。(    )          (满分:4)
    A. 错误
    B. 正确
3.for(;;)语句相当于while(1)语句          (满分:4)
    A. 错误
    B. 正确
4.C程序中各函数之间既允许直接递归调用也允许间接递归调          (满分:4)
    A. 错误
    B. 正确
5.语句int *pt中的*pt是指针变量名。          (满分:4)
    A. 错误
    B. 正确

xll546848076 发表于 2017-5-9 12:35:40

无忧网不错,哈哈
页: [1]
查看完整版本: 北交17春《C语言程序设计(专)》在线作业一二答案