吉大17秋学期《C语言程序设计》在线作业12资料
吉大17秋学期《C语言程序设计》在线作业一一、单选题:【10道,总分:40分】
1.一个C语言程序是由 (满分:4)
A. 一个主程序和若干子程序组成
B. 函数组成 C. 若干过程组成 D. 若干子程序组成
2.下列程序的输出结果是 int b=2; int func(int *a) { b += *a; return(b);} main( ) { int a=2, res=2; res += func(&a); printf("%d\n",res); } (满分:4)
A. 4
B. 6
C. 8
D. 10
3.下面程序的输出结果是 main( ) { int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; printf("%d\n",*(p+2));} (满分:4)
A. 3
B. 4
C. 1
D. 2
4.下列程序的输出结果是 main( ) { double d=3.2; int x,y; x=1.2; y=(x+3.8)/5.0; printf("%d\n", d*y); } (满分:4)
A. 3
B. 3.2
C. 0
D. 3.07
5.设有数组定义: char array[]="China"; 则数组 array所占的空间为 (满分:4)
A. 4个字节
B. 5个字节
C. 6个字节
D. 7个字节
6.若x,i,j和k都是int型变量,则计算表达式x=(i=4,j=16,k=32)后,x的值为 (满分:4)
A. 4
B. 16
C. 32
D. 52
7.以下叙述中不正确的是 (满分:4)
A. 在不同的函数中可以使用相同的名字的变量
B. 函数中的形式参数是局部变量
C. 在一个函数内定义的变量只在本函数范围内有效
D. 在一个函数内的复合语句中定义的变量在本函数范围内有效
8.sizeof(float)是 (满分:4)
A. 一个双精度型表达式
B. 一个整型表达式
C. 一种函数调用
D. 一个不合法的表达式
9.请选出以下语句的输出结果 printf("%d\n",strlen("\t\"\065\xff\n")); (满分:4)
A. 5
B. 14
C. 8
D. 输出项不合法,无正常输出
10.下面程序的运行结果是 #include main( ) { int a=1,b=10; do {b-=a;a++;}while(b--<0); printf("a=%d,b=%d\n",a,b); } (满分:4)
A. a=3,b=11
B. a=2,b=8
C. a=1,b=-1
D. a=4,b=9
二、多选题:【5道,总分:20分】
1.对静态变量的正确描述 (满分:4)
A. 静态局部变量在静态存储区内分配单元
B. 静态外部变量可以赋初值,也可以不赋初值
C. 静态外部变量的作用与外部变量相同
D. 静态局部变量在函数调用结束时,仍保存其值,不会随着消失。
2.C语言中函数返回值的类型与下列哪项无关? (满分:4)
A. 定义函数时所指定的函数类型
B. 调用函数时临时
C. 调用该函数的主函数类型
D. return语句中的表达式类型
3.以下( )是正确的转义字符。( ) (满分:4)
A. ‘\\'
B. ‘\’
C. ‘\81'
D. ‘\0'
4.下列说法中错误的是( )。 (满分:4)
A. C程序总是从第一个定义的函数开始执行
B. C程序总是从main函数开始执行
C. C函数必须有返回值,否则不能使用函数
D. C程序中有调用关系的所有函数必须放在同一个程序文件中
5.带参宏定义与函数的区别是:( )。 (满分:4)
A. 函数调用时,先求出实参表达式的值,然后代入形参,带参的宏只是进行简单的字符替换
B. 函数调用是在程序运行时为形参分配临时的存储单元,而宏展开是在编译前进行的
C. 宏不存在类型问题,宏名和参数都不存在类型问题
D. 调用函数只能得到一个返回值,而使用宏可设法得到几个结果
三、判断题:【10道,总分:40分】
1.C程序的执行总是从第一个定义的函数开始 (满分:4)
A. 错误
B. 正确
2.静态外部变量既可以在文本文件中引用,也可以在其它文件引用 (满分:4)
A. 错误
B. 正确
3.主函数和其它函数可以相互调用 (满分:4)
A. 错误
B. 正确
4.一个int型与一个double型数据进行混合运算时,其结果是double型。 (满分:4)
A. 错误
B. 正确
5.使用符号常量的好处是:一,含义清楚,二,在需要改变一个常量时能做到“一改全改”( ) (满分:4)
A. 错误
B. 正确
6.C程序中各函数之间既允许直接递归调用也允许间接递归调 (满分:4)
A. 错误
B. 正确
7.C语言规定标识符可由字母、数字、下划线三种字符组成,第一个字符可以为数字或字母。( ) (满分:4)
A. 错误
B. 正确
8.函数必须有返回值,否则不能使用函数 (满分:4)
A. 错误
B. 正确
9.宏定义就是用宏名代替一个字符串,也就是简单的置换,不作正确性检查。 (满分:4)
A. 错误
B. 正确
10.调用函数只可得到一个返回值,而用宏可以设法得到几个结果。 (满分:4)
A. 错误
B. 正确
吉大17秋学期《C语言程序设计》在线作业二
一、单选题:【10道,总分:40分】
1.执行以下程序后,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
2.以下不正确的定义语句是 (满分: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′};
3.设有以下说明语句 struct ex { int x ; float y; char z ;} example; 则下面的叙述中不正确的是 (满分:4)
A. struct结构体类型的关键字
B. example是结构体类型名
C. x,y,z都是结构体成员名
D. struct ex是结构体类型名
4.以下程序有错,错误原因是 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;没有意义,可能会影响后面语句的执行结果
5.下面能正确进行字符串赋值操作的是 (满分:4)
A. char s[5]={"ABCDE"};
B. char s[5]={ ′A′, ′B′, ′C′, ′D′, ′E′};
C. char *s;s="ABCDE";
D. char *s;char a; scanf("%s",&s);
6.有以下程序: #include union pw { int i; char ch[2];}a; main( ) {a.ch[0]=13;a.ch[1]=0;printf("%d\n",a.i);} 程序的输出结果是 (满分:4)
A. 13
B. 14
C. 208
D. 209
7.有如下程序 int a[10]={1,2,3,4,5,6,7,8,9,10}; int *p=&a[3],b;b=p[5]; 则b的值是 (满分:4)
A. 5
B. 6
C. 9
D. 8
8.若已定义: int a[]={0,1,2,3,4,5,6,7,8,9}, *p=a,i; 其中 0≤i≤9, 则对a数组元素不正确的引用是 (满分:4)
A. a[p-a]
B. *(&a[i])
C. p[i]
D. a[10]
9.函数 rewind 的作用是 (满分:4)
A. 使文件位置指针重新返回文件的开始位置
B. 将文件位置指针指向文件中所要求的特定位置
C. 使文件位置指针指向文件的末尾
D. 使文件位置指针自动移至下一个字符位置
10.以下程序有语法错误,有关错误原因的正确说法是 main( ) { int G=5,k; void prtchar( ); ... k=prtchar(G); ... } (满分:4)
A. 语句 void prtchar( );有错,它是函数调用语句,不能用void说明
B. 变量名不能使用大写字母
C. 函数说明和函数调用语句之间有矛盾
D. 函数名不能使用下划线
二、多选题:【5道,总分:20分】
1.在文件操作中,用于检测和设置文件状态的函数有( )。 (满分:4)
A. 文件结束检测函数feof( )
B. 读写文件出错检测函数ferror( )
C. 文件出错和结束标志文件函数才clearerr( )
D. 文件关闭函数fclose( )
2.关于文件的打开方式描述正确的是:( )。 (满分:4)
A. r:打开只读文件
B. a+:打开或建立用于更新数据的文件,数据追加到文件尾
C. a:打开或建立一个把数据追加到文件尾的文件
D. r+:打开用于更新数据的文件
3.以下不正确的叙述是( )。 (满分:4)
A. C语言的主函数是无参函数
B. C语言的主函数最多允许有1个参数
C. C语言的主函数最多允许有2个参数
D. C语言的主函数可以有2个以上参数
4.已知:int x;,则下面的说明指针变量pb的语句( )不是正确的。 (满分:4)
A. int pb=&x;
B. int *pb=x;
C. int *pb=&x;
D. *pb=*x
5.设有如下定义:int(*ptr)( );则以下叙述中不正确的是( )。 (满分:4)
A. ptr是指向一维数组的指针变量
B. ptr是指向int型数据的指针变量
C. ptr是指向函数的指针,该函数返回一个int型数据
D. ptr是一个函数名,该函数的返回值是指向int型数据的指针
三、判断题:【10道,总分:40分】
1.语句int pt中的*pt是指针变量名。 (满分:4)
A. 错误
B. 正确
2.对于double类型数组,不可以直接用数组名对数组进行整体输入或输出。 (满分:4)
A. 错误
B. 正确
3.若打开文件的方式为“w”而该文件已经存在,则文件中原有数据被清除。 (满分:4)
A. 错误
B. 正确
4.puts和gets函数只能输入或输出一个字符串 (满分:4)
A. 错误
B. 正确
5.switch语句中,各个case和default的出现次序不影响执行结果。( ) (满分:4)
A. 错误
B. 正确
6.数据结构指的是数据的组织形式,数组就是一种数据结构( ) (满分:4)
A. 错误
B. 正确
7.for(;;)语句相当于while(1)语句 (满分:4)
A. 错误
B. 正确
8.switch语句中,多个case可以共用一组执行语句。( ) (满分:4)
A. 错误
B. 正确
9.共用体所占的内存空间大小取决于占空间最多的那个成员变量。 (满分:4)
A. 错误
B. 正确
10.模运算符要求两侧均应为整型数据。( ) (满分:4)
A. 错误
B. 正确
页:
[1]