吉大《C语言程序设计》在线作业二
共25道题 总分:100分
一、单选题(共10题,40分)
1、阅读以下程序及对程序功能的描述,其中正确的描述是 #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、程序完成将两个磁盘文件合并并在屏幕上输出
2、有如下程序 int a[10]={1,2,3,4,5,6,7,8,9,10}; int *p=&a[3],b;b=p[5]; 则b的值是
A、5
B、6
C、9
D、8
3、设有以下说明语句 struct ex { int x ; float y; char z ;} example; 则下面的叙述中不正确的是
A、struct结构体类型的关键字
B、example是结构体类型名
C、x,y,z都是结构体成员名
D、struct ex是结构体类型名
4、下列程序的输出结果是 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
5、函数 rewind 的作用是
A、使文件位置指针重新返回文件的开始位置
B、将文件位置指针指向文件中所要求的特定位置
C、使文件位置指针指向文件的末尾
D、使文件位置指针自动移至下一个字符位置
6、执行以下程序后,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); }
A、-1,5
B、1,6
C、0,7
D、4,10
7、若已定义: int a[]={0,1,2,3,4,5,6,7,8,9}, *p=a,i; 其中 0≤i≤9, 则对a数组元素不正确的引用是
A、a[p-a]
B、*(&a[i])
C、p[i]
D、a[10]
8、假定以下程序经编译和连接后生成可执行文件PROG、EXE,如果在此可执行文件所在目录的DOS提示符下键入: PROG ABCDEFGH IJKL<回车>,则输出结果为 main( int argc, char *argv[]) { while(–argc>0) printf(”%s”,argv[argc]); printf(”\n”); }
A、ABCDEFG
B、IJHL
C、ABCDEFGHIJKL
D、IJKLABCDEFGH
9、以下不正确的定义语句是
A、double x[5]={2、0,4、0,6、0,8、0,10、0};
B、int y[5]={0,1,3,5,7,9};吉大答案请进:opzy.net或请联系微信:1095258436
C、char c1[]={′1′,′2′,′3′,′4′,′5′};
D、char c2[]={′\x10′,′\xa′,′\x8′};
10、设有数组定义: char array[]=”China”; 则数组 array所占的空间为
A、4个字节
B、5个字节
C、6个字节
D、7个字节
二、多选题(共5题,20分)
1、若定义:int a[2][3]{0,2,4,6,8,10};以下描述正确的有
A、A、*(a+1)为元素6的地址
B、B、*(a[1]+1)的值为2
C、C、**(a+1)+2的值为8
D、D、a[0]与a相同
2、内存中供用户使用的存储空间可分为:______。
A、程序区
B、静态存储区
C、动态存储区
D、数据存储区
3、已知:int x,a,b;下列选项中正确的if语句是______。
A、if(a=b) x++;
B、if(a=<b) x++;
C、if(a-b) x++;
D、if(x) x++;
4、已知:int x;,则下面的说明指针变量pb的语句______不是正确的。
A、int pb=&x;
B、int *pb=x;
C、int *pb=&x;
D、*pb=*x
5、下列描述正确的是
A、由main 函数及其参数argc和* argv[]可以实现命令行方式
B、使用fclose关闭文件时,先释放文件指针,再写缓冲区数据到文件中
C、字符数组并不要求它的最后一个字符是‘\0’
D、‘A’和“A”都是字符串常量
三、判断题(共10题,40分)
1、使用printf和scanf函数时,必须添加#include <stdio、h>命令。( )
A、错误
B、正确
2、‘ a’和“a”在内存中所占字节数相同。( )
A、错误
B、正确
3、语句int pt中的*pt是指针变量名。
A、错误
B、正确
4、C语言编译系统在给出逻辑运算结果时,以数值1代表真,以0代表假,但在判断一个量是否为“真”时,以0代表假,以非0代表真。( )
A、错误
B、正确
5、switch语句中,多个case可以共用一组执行语句。( )
A、错误
B、正确
6、函数必须有返回值,否则不能使用函数
A、错误
B、正确
7、若打开文件的方式为“w”而该文件已经存在,则文件中原有数据被清除。
A、错误
B、正确
8、switch语句中,各个case和default的出现次序不影响执行结果。( )
A、错误
B、正确
9、调用函数只可得到一个返回值,而用宏可以设法得到几个结果。
A、错误
B、正确
10、C语言中,整常数有三种表示形式:十进制整数,八进制整数,十六进制整数。( )
A、错误
B、正确