吉大17秋学期《C语言程序设计》在线作业一-0005
有以下程序: #include union pw { int i; char ch[2];}a; main() {a.ch[0]=13;a.ch[1]=0;printf("%d\n",a.i);} 程序的输出结果是
A:13
B:14
C:208
D:209
设有以下语句: char x=3,y=6,z; z=x^y<<2; 则z的二进制值是
A:00010100
B:00011011
C:00011100
D:00011000
下列程序的输出结果是 main() { double d=3.2; int x,y; x=1.2; y=(x+3.8)/5.0; printf("%d\n", d*y); }
A:3
B:3.2
C:0
D:3.07
以下叙述中不正确的是
A:在不同的函数中可以使用相同的名字的变量
B:函数中的形式参数是局部变量
C:在一个函数内定义的变量只在本函数范围内有效
D:在一个函数内的复合语句中定义的变量在本函数范围内有效
下面程序的功能是把316表示为两个加数的和,使两个加数分别能被13和11整除,请选择填空。 <font face=”Arial”>#include "stdio.h" main(){ int i=0,j,k;do{i++;k=316-13*i;}while(k%11);j=k/11;printf("316=13*%d+11*%d",i,j);}</font>
A:k%11
B:k
C:k/11==0
D:k==0
在16位IBM-PC机上使用C语言,若有如下定义 struct data { int i; char ch; double f; } b; 则结构变量b占用内存的字节数是
A:1
B:2
C:7
D:11
<p>以下程序的输出结果是 </p><p><font face=”Arial”>#include "stdio.h"<br />void reverse(int a[],int n)<br />{<br /> int i,t;<br /> for(i=0;i<n/2;i++){<br /> t=a;<br /> a=a[n-1-i];<br /> a[n-1-i]=t;<br /> }<br />}<br />main(){<br /> int b[10]={1,2,3,4,5,6,7,8,9,10};<br /> int i,s=0;<br /> reverse(b,8);<br /> for(i=6;i<10;i++) s+=b;<br /> printf("%d\n",s);<br />}</font></p>
A:22
B:10
C:34
D:30
以下程序有错,错误原因是 main() { int *p,i;char *q,ch; p=&i; q=&ch; *p=40; *p=*q; …… }
A:p和q的类型不一致,不能执行*p=*q;语句
B:*p中存放的是地址值,因此不能执行*p=40;语句
C:q没有指向具体的存储单元,所以*q没有实际意义
D:q虽然指向了具体的存储单元,但该单元中没有确定的值,所以执行*p=*q;没有意义,可能会影响后面语句的执行结果
函数 rewind 的作用是
A:使文件位置指针重新返回文件的开始位置
B:将文件位置指针指向文件中所要求的特定位置
C:使文件位置指针指向文件的末尾
D:使文件位置指针自动移至下一个字符位置
阅读以下程序及对程序功能的描述,其中正确的描述是 #include main() { FILE *in,*out; char ch,infile[10],outfile[10]; printf(”Enter the infile name:\n”); scanf(”%s”,infile); printf(”Enter the outfile name:\n”); scanf(”%s”,outfile); if((in=fopen(infile,”r”))==NUL
A:程序完成将磁盘文件的信息在屏幕上显示的功能
B:程序完成将两个磁盘文件合二为一的功能
C:程序完成将一个磁盘文件复制到另一个磁盘文件中
D:程序完成将两个磁盘文件合并并在屏幕上输出
C提供的预处理功能主要有______。
A:宏定义
B:文件包含
C:条件编译
D:异常终止
已知:int x,a,b;下列选项中正确的if语句是______。
A:if(a=b) x++;
B:if(a=<b) x++;
C:if(a-b) x++;
D:if(x) x++;
以下说法不正确的是______。
A:定义函数时,形参的类型说明可以放在函数体内
B:return后边的值不能为表达式
C:如果函数值的类型与返回值表达式的类型不一致,以函数值类型为准
D:如果形参与实参的类型不一致,以实参类型为准
以下叙述中正确的是______。
A:对于double类型数组,不可以直接用数组名对数组进行整体输入或输出
B:当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出“下标越界”的出错信息
C:可以通过赋初值的方式确定数组元素的个数
D:数组名代表的是数组所占存储区的首地址,其值不可改变
下列关于#include命令的叙述中,正确的是______。
A:一个#include命令中只能指定一个被包含文件
B:一个#include命令中可以指定多个被包含文件
C:一个被包含文件中又可以包含另一个被包含文件
D:#include命令中,文件名可以用双引号或尖括号括起来
puts和gets函数只能输入或输出一个字符串
A:错误
B:正确
主函数和其它函数可以相互调用
A:错误
B:正确
使用printf和scanf函数时,必须添加#include <stdio.h>命令。( )
A:错误
B:正确
switch语句中,多个case可以共用一组执行语句。( )
A:错误
B:正确
调用函数只可得到一个返回值,而用宏可以设法得到几个结果。
A:错误
B:正确
数据结构指的是数据的组织形式,数组就是一种数据结构( )
A:错误
B:正确
C程序中各函数之间既允许直接递归调用也允许间接递归调
A:错误
B:正确
静态外部变量既可以在文本文件中引用,也可以在其它文件引用
A:错误
B:正确
C程序的执行总是从第一个定义的函数开始
A:错误
B:正确
若打开文件的方式为“w”而该文件已经存在,则文件中原有数据被清除。
A:错误
B:正确