|
吉大14春《C语言程序设计》在线作业一
一、单选题(共 10 道试题,共 40 分。)
V
1. 下列各数据类型不属于构造类型的是
A. 枚举型
B. 共用型
C. 结构型
D. 数组型
满分:4 分
2. 若已定义: 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]
满分:4 分
3. 在16位IBM-PC机上使用C语言,若有如下定义 struct data { int i; char ch; double f; } b; 则结构变量b占用内存的字节数是
A. 1
B. 2
C. 7
D. 11
满分:4 分
4. 下面程序的运行结果是 #include main() { int y=10; do{y--;}while(--y); printf("%d\n",y--); }
A. 1
B. 1
C. 8
D. 0
满分:4 分
5. 下面程序的功能是把316表示为两个加数的和,使两个加数分别能被13和11整除,请选择填空。 #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);}
A. k%11
B. k
C. k/11==0
D. k==0
满分:4 分
6. 请选出可用作C语言用户标识符的是
A. void,define,WORD
B. a3_b3,_123,IF
C. FOR,--abc,Case
D. 2a,Do,Sizeof
满分:4 分
7. sizeof(float)是
A. 一个双精度型表达式
B. 一个整型表达式
C. 一种函数调用
D. 一个不合法的表达式
满分:4 分
8. 下面程序段的运行结果是 char *format="%s,a=%d,b=%d\n"; int a=11,b=10; a+=b; printf(format,"a+=b",a,b);
A. for,"a+=b",ab
B. format,"a+=b"
C. a+=b,a=21,b=10
D. 以上结果都不对
满分:4 分
9. 以下不正确的叙述是
A. 在C程序中,逗号运算符的优先级最低
B. 在C程序中,APH和aph是两个不同的变量
C. 若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变
D. 当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值
满分:4 分
10. 阅读以下程序及对程序功能的描述,其中正确的描述是 #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. 程序完成将两个磁盘文件合并并在屏幕上输出
满分:4 分
二、多选题(共 5 道试题,共 20 分。)
V
1. 对函数的正确使用方法描述
A. 用数组做函数参数时,必须在主调函数和被调函数中分别定义数组
B. 实参数组元素和形参数组元素类型可以不一致
C. 形参数组长度可以不指定
D. 形参数组长度可以大于实参数组长度
满分:4 分
2. 下列说法中错误的是______。
A. C程序总是从第一个定义的函数开始执行
B. C程序总是从main函数开始执行
C. C函数必须有返回值,否则不能使用函数
D. C程序中有调用关系的所有函数必须放在同一个程序文件中
满分:4 分
3. 设有如下定义:int (*ptr)();则以下叙述中不正确的是______。
A. ptr是指向一维数组的指针变量
B. ptr是指向int型数据的指针变量
C. ptr是指向函数的指针,该函数返回一个int型数据
D. ptr是一个函数名,该函数的返回值是指向int型数据的指针
满分:4 分
4. 下列描述正确的是
A. 由main 函数及其参数argc和* argv[]可以实现命令行方式
B. 使用fclose关闭文件时,先释放文件指针,再写缓冲区数据到文件中
C. 字符数组并不要求它的最后一个字符是‘\0’
D. ‘A’和“A”都是字符串常量
满分:4 分
5. 以下叙述中正确的是______。
A. 对于double类型数组,不可以直接用数组名对数组进行整体输入或输出
B. 当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出“下标越界”的出错信息
C. 可以通过赋初值的方式确定数组元素的个数
D. 数组名代表的是数组所占存储区的首地址,其值不可改变
满分:4 分
三、判断题(共 10 道试题,共 40 分。)
V
1. 宏名必须用大写字母表示。
A. 错误
B. 正确
满分:4 分
2. 模运算符要求两侧均应为整型数据。( )
A. 错误
B. 正确
满分:4 分
3. C程序的执行总是从第一个定义的函数开始
A. 错误
B. 正确
满分:4 分
4. for(;;)语句相当于while(1)语句
A. 错误
B. 正确
满分:4 分
5. C语言规定标识符可由字母、数字、下划线三种字符组成,第一个字符可以为数字或字母。( )
A. 错误
B. 正确
满分:4 分
6. 若打开文件的方式为“w”而该文件已经存在,则文件中原有数据被清除。
A. 错误
B. 正确
满分:4 分
7. 使用printf和scanf函数时,必须添加#include <stdio.h>命令。( )
A. 错误
B. 正确
满分:4 分
8. 对于double类型数组,不可以直接用数组名对数组进行整体输入或输出。
A. 错误
B. 正确
满分:4 分
9. 数据结构指的是数据的组织形式,数组就是一种数据结构( )
A. 错误
B. 正确
满分:4 分
10. 使用getchar函数可以不添加#include <stdio.h>命令。( )
A. 错误
B. 正确
满分:4 分
吉大14春《C语言程序设计》在线作业二
一、单选题(共 10 道试题,共 40 分。)
V
1. 下列各数据类型不属于构造类型的是
A. 枚举型
B. 共用型
C. 结构型
D. 数组型
满分:4 分
2. 以下不正确的定义语句是
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′};
满分:4 分
3. 下面程序段的运行结果是 char *format="%s,a=%d,b=%d\n"; int a=11,b=10; a+=b; printf(format,"a+=b",a,b);
A. for,"a+=b",ab
B. format,"a+=b"
C. a+=b,a=21,b=10
D. 以上结果都不对
满分:4 分
4. 以下程序有错,错误原因是 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;没有意义,可能会影响后面语句的执行结果
满分:4 分
5. 下面程序的输出结果是 main() { int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; printf("%d\n",*(p+2));}
A. 3
B. 4
C. 1
D. 2
满分:4 分
6. 下面程序的功能是把316表示为两个加数的和,使两个加数分别能被13和11整除,请选择填空。 #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);}
A. k%11
B. k
C. k/11==0
D. k==0
满分:4 分
7. 在16位IBM-PC机上使用C语言,若有如下定义 struct data { int i; char ch; double f; } b; 则结构变量b占用内存的字节数是
A. 1
B. 2
C. 7
D. 11
满分:4 分
8. 若已定义: 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]
满分:4 分
9. C语言允许函数类型缺省定义,此时函数值隐含的类型是
A. float
B. int
C. long
D. double
满分:4 分
10. 以下程序有语法错误,有关错误原因的正确说法是 main() { int G=5,k; void prt_char(); ... k=prt_char(G); ... }
A. 语句 void prt_char();有错,它是函数调用语句,不能用void说明
B. 变量名不能使用大写字母
C. 函数说明和函数调用语句之间有矛盾
D. 函数名不能使用下划线
满分:4 分
二、多选题(共 5 道试题,共 20 分。)
V
1. 在动态存储区中主要存放以下数据______。
A. 函数形式参数
B. 自动变量
C. 函数调用时的现场保护和返回地址
D. 全局变量
满分:4 分
2. 在缓冲文件系统中用于读写的函数有
A. putchar ()
B. fread()
C. rewind ()
D. purw()
满分:4 分
3. 内存中供用户使用的存储空间可分为:______。
A. 程序区
B. 静态存储区
C. 动态存储区
D. 数据存储区
满分:4 分
4. 若有以下定义和语句:double r=99,*p=&r; *p=r;则以下不正确的叙述是:______
A. 以上两处的*p含义相同,都说明给指针变量p赋值
B. 语句“*p=r;”把变量r的地址值赋给指针变量p
C. 语句“*p=r;”取变量r的值放回r中
D. 在“double r=99,*p=&r;”中,把r的地址赋值给了p所指的存储单元
满分:4 分
5. 以下不正确的描述是______。
A. 函数的定义可以嵌套,函数的调用不可以嵌套
B. 函数的定义不可以嵌套,函数的调用可以嵌套
C. 函数的定义和函数的调用均可以嵌套
D. 函数的定义和函数的调用均不可以嵌套
满分:4 分
三、判断题(共 10 道试题,共 40 分。)
V
1. switch语句中,各个case和default的出现次序不影响执行结果。( )
A. 错误
B. 正确
满分:4 分
2. for(;;)语句相当于while(1)语句
A. 错误
B. 正确
满分:4 分
3. 使用printf和scanf函数时,必须添加#include <stdio.h>命令。( )
A. 错误
B. 正确
满分:4 分
4. 静态外部变量既可以在文本文件中引用,也可以在其它文件引用
A. 错误
B. 正确
满分:4 分
5. 对于double类型数组,不可以直接用数组名对数组进行整体输入或输出。
A. 错误
B. 正确
满分:4 分
6. ‘ a’和“a”在内存中所占字节数相同。( )
A. 错误
B. 正确
满分:4 分
7. 使用getchar函数可以不添加#include <stdio.h>命令。( )
A. 错误
B. 正确
满分:4 分
8. C语言中,整常数有三种表示形式:十进制整数,八进制整数,十六进制整数。( )
A. 错误
B. 正确
满分:4 分
9. putchar()函数可以输出一个字符串
A. 错误
B. 正确
满分:4 分
10. puts和gets函数只能输入或输出一个字符串
A. 错误
B. 正确
满分:4 分
|
|