电子科大10秋学期《C语言》在线作业答案一二三.docx
- 文档编号:16046589
- 上传时间:2023-07-10
- 格式:DOCX
- 页数:41
- 大小:31.61KB
电子科大10秋学期《C语言》在线作业答案一二三.docx
《电子科大10秋学期《C语言》在线作业答案一二三.docx》由会员分享,可在线阅读,更多相关《电子科大10秋学期《C语言》在线作业答案一二三.docx(41页珍藏版)》请在冰点文库上搜索。
电子科大10秋学期《C语言》在线作业答案一二三
电子科大10秋学期《C语言》在线作业一
试卷总分:
100测试时间:
--
一、单选题(共35道试题,共70分。
)
V
1.C语言中用于循环结构程序设计的三种常用控制语句是(C)
A.if、for、continue
B.if、switch、break
C.for、while、do-while
D.顺序结构、选择结构、循环结构
满分:
2分
2.设有语句inta[4][10],*p=*a;则下面表达式中属于地址表达式的是(A)
A.a[1][2]
B.a[1]
C.*(p+1*10+2)
D.*(a[1]+2)
满分:
2分
3.若有以下定义,则对a数组元素的正确引用是(C)inta[5],*p=a;
A.*&a[5]
B.a+2
C.*(p+5)
D.*(a+2)
满分:
2分
4.判断字符串a和b是否相等,应当使用(A)
A.if(a==b)
B.if(a=b)
C.if(strcpy(a,b))
D.if(!
strcmp(a,b))
满分:
2分
5.若有定义:
inta[2][3],则对a数组的第i行j列元素地址的正确引用为(A)
A.*(a[i]+j)
B.(a+i)
C.*(a+j)
D.a[i]+j
满分:
2分
6.以下不正确的if语句形式是(C)
A.if(x>y&&x!
=y);
B.if(x==y)x+=y;
C.if(x!
=y)scanf("%d",&x)elsescanf("%d",&y);
D.if(x 满分: 2分 7.以下对一维整型数组a的正确说明是(D) A.inta(10) B.intn=10,a[n]; C.intn;scanf("%d",&n);inta[n]; D.#defineSIZE10 满分: 2分 8.下述关于条件语句的描述中错误的是(C) A.if语句中只有一个else子句 B.if语句中可以有多个elseif子句 C.if语句中if体内不能有switch语句 D.if语句的if体中可以是循环语句 满分: 2分 9.语句while(! E)中的表达式! E等价于(A) A.E==0 B.E! =1 C.E! =0 D.E==1 满分: 2分 10.下面程序的运行结果是(D) #include"stdio.h" main(){inti; for(i=1;i<=5;i++) { if(i%2)printf("#"); elsecontinue; printf("*"); } printf("$"); } A.*#*#$ B.#*#*#*$ C.*#*#$ D.#*#*$ 满分: 2分 11.对宏命令的处理是(B) A.在程序执行时进行 B.在程序对其它语句进行编译前进行 C.在程序连接时进行 D.与程序中其它语句同时进行编译 满分: 2分 12.一个C程序的执行是从(A) A.本程序的main函数开始,到main函数结束 B.本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C.本程序的main函数开始,到本程序文件的最后一个函数结束 D.本程序文件的第一个函数开始,到本程序main函数结束 满分: 2分 13.若有以下说明和语句: structstudent{intage;intnum;}std,*p;p=&std; 则以下对结构体变量std中成员age的引用方式不正确的是(D) A.std.age B.p->age C.(*p).age D.*p.age 满分: 2分 14.以下叙述中不正确的是(D) A.在不同的函数中可以使用相同的名字的变量 B.函数中的形式参数是局部变量 C.在一个函数内定义的变量只在本函数范围内有效 D.在一个函数内的复合语句中定义的变量在本函数范围内有效 满分: 2分 15.以下不正确的说法是(C) A.register变量可以提高变量使用的执行效率 B.register变量由于使用的是CPU的寄存器,其数目是有限制的 C.extern变量定义的存储空间按变量类型分配 D.全局变量使得函数之间的“耦合性”更加紧密,不利于模块化的要求 满分: 2分 16.putchar函数可以向终端输出一个(D) A.整型变量表达式值 B.实型变量值 C.字符串 D.字符或字符型变量值 满分: 2分 17.在C语言中(以16位PC机为例),5种基本数据类型的存储空间长度的排列顺序为(C) A.char B.char=int<1ongint<=float C.char D.char=int=1ongint<=float 满分: 2分 18.下面程序段的循环次数是(B) intk=2; while(k==0)printf(″%d″,k); k--; printf(″\n″); A.0次 B.1次 C.2次 D.无限次 满分: 2分 19.若有以下说明: inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则数值为6的表达式是(C) A.*p+6 B.*(p+6) C.*(p+5) D.p+5 满分: 2分 20.以下程序段 x=-1; do{x=x*x;} while(! x); 则(C) A.是死循环 B.循环执行二次 C.循环执行一次 D.有语法错误 满分: 2分 21.结构化程序设计所规定的三种基本结构是(C) A.主程序、子程序、函数 B.树形、网形、环形 C.顺序、选择、循环 D.输入、处理、输出 满分: 2分 22.C语言结构体类型变量在程序执行期间(A) A.所有成员一直驻留在内存中 B.只有一个成员驻留在内存中 C.部分成员驻留在内存中 D.没有成员驻留在内存中 满分: 2分 23.若调用一个函数,且此函数中没有return语句,则正确的说法是(D) A.该函数没有返回值 B.该函数返回若干个系统默认值 C.能返回一个用户所希望的函数值 D.返回一个不确定的值 满分: 2分 24.设有程序段 intk=10; while(k=0)k=k-1; 则下面描述中正确的是(C) A.while循环执行10次 B.循环是无限循环 C.循环体语句一次也不执行 D.循环体语句执行一次 满分: 2分 25.当说明一个结构体变量时系统分配给它的内存是(A) A.各成员所需内存量的总和 B.结构中第一个成员所需内存量 C.成员中占内存量最大者所需的容量 D.结构中最后一个成员所需内存量 满分: 2分 26.已知各变量的类型说明如下: inti=8,k,a,b; unsignedlongw=5; doublex=1.42,y=5.2; 则以下符合C语言语法的表达式是(A) A.a+=a-=(b=4)*(a=3) B.a=a*3=2 C.x%(-3) D.y=f1oat(i) 满分: 2分 27.下面四个选项中,均是不合法的浮点数的选项是() A.1600.12e3 B.1232e4.2.e5 C.-.18123e40.0 D.-e3.2341e3 满分: 2分 28.在访问一个结构元素前你必须定义(C) A.结构体 B.结构体变量 C.定义结构指针 D.A和B 满分: 2分 29.以下对二维数组a的正确说明是(C) A.inta[3][]; B.floata(3,4); C.doublea[1][4]; D.floata(3)(4) 满分: 2分 30.enum color{red,green,yellow=5,white,black}定义了一枚举类型。 编译程序为值表中各标识符分配的枚举值依次为(C) A.1、2、3、4、5 B.0、1、5、2、3 C.0、1、5、6、7 D.3、4、5、6、7 满分: 2分 31.有以下程序,其中函数f的功能是将多个字符串按字典顺序排序 #include voidf(char*p[],intn) { char*t; inti,j; for(i=0;i for(j=i+1;j if(strcmp(p[i],p[j])>0) { t=p[i]; p[i]=p[j]; p[j]=t; } } main() {char*p[5]={“abc”,“aabdfg”,“abbd”,“dcdbe”,“cd”} f(p,5); printf(“%d\n”,strlen(p[1])); } 程序运行后的输出结果是(D) A.2 B.3 C.6 D.4 满分: 2分 32.x,i,j和k都是int型变量,则执行下面表达式后x的值为(C)x=(i=4,j=16,k=32) A.4 B.16 C.32 D.52 满分: 2分 33.下面程序段的运行结果是(C) charc[5]={'a','b','\0','c','\0'}; printf("%s",c); A.’a’’b’ B.ab C.abc D.ab□(其中□表示空格) 满分: 2分 34.以下不正确的定义语句是(B) A.doublex[5]={2.0,4.0,6.0,8.0,10.0}; B.inty[5]={0,1,3,5,7,9}; C.charc1[]={’1’,’2’,’3’,’4’,’5’}; D.charc2[]=}{'\x10','\xa','\x8'}; 满分: 2分 35.以下正确的描述是(B) A.continue语句的作用是结束整个循环的执行 B.只能在循环体内和switch语句体内使用break语句 C.在循环体内使用break语句或continue语句的作用相同 D.从多层循环嵌套中退出时,只能使用goto语句 满分: 2分 二、多选题(共5道试题,共10分。 ) V 1.以下关于C源程序文件的说法中正确的是(BD) A.是一种二进制文件 B.是一种文本(ASCII码)文件 C.可以用DOS的type命令显示其内容 D.文件扩展名一般为c 满分: 2分 2.以下数据类型在内存中占用4个字节的是(BC) A.int B.unsignedlong C.float D.unsignedchar 满分: 2分 3.定义chars[81];后,能正确输入一个字符串到数组s的语句是(ACD) A.gets(s); B.scanf(”%c”,s); C.scanf(”%s”,&s[0]); D.gets(&s[0]); 满分: 2分 4.以下程序正确计算p=n! (n>=0)的是(AB) A.for(p=1.0,k=1;k<=n;)p*=k++; B.p=1.0;k=0;while(k C.p=1.0;k=1;do{++k;p*=k;}while(k<=n); D.p=1.0;for(k=n;k>=1;k--)p*=k--; 满分: 2分 5.下面关于C语言的说法错误的是(ABC) A.C函数必须有形式参数 B.任何复合语句体的{}中允许定义局部变量 C.局部变量都存储在动态存贮区 D.C程序的执行起点只能是main函数 满分: 2分 三、判断题(共10道试题,共20分。 ) V 1.已知inta[4],*p;则语句p=&a;是正确的。 B A.错误 B.正确 满分: 2分 2.条件运算符“? : ”的优先级高于赋值运算符。 B A.错误 B.正确 满分: 2分 3.宏替换就是字符替换,不能进行任何计算。 B A.错误 B.正确 满分: 2分 4.C程序是由函数构成的,每一个函数完成相对独立的功能。 B A.错误 B.正确 满分: 2分 5.结构体类型的数据是由不同类型的数据组合而成的。 B A.错误 B.正确 满分: 2分 6.用C语言可直接进行位运算和取地址等运算,因此C语言是一种低级语言。 A A.错误 B.正确 满分: 2分 7.以数组名作函数参数时,实参数组与形参数组都不必定义长度,因此实参与形参的结合方式是地址结合,与数组长度无关。 A A.错误 B.正确 满分: 2分 8.下面的程序段构成死循环。 a=5;while (1){a--;if(a<0)break;}A A.错误 B.正确 满分: 2分 9.在内存中存储结构体类型的变量要占连续一段的存储单元。 B A.错误 B.正确 满分: 2分 10.以数组名作函数参数时,数据传递的方向是“双向的”,因此我们可以说,在此情况下,函数带回的返回值可能不止一个。 A A.错误 B.正确 满分: 2分 电子科大10秋学期《C语言》在线作业二 试卷总分: 100测试时间: -- 一、单选题(共35道试题,共70分。 ) V 1.已有函数max(a,b)为了让函数指针变量p指向函数max正是确的赋值方法是(A) A.p=max; B.*p=max; C.p=max(a,b); D.*p=max(a,b); 满分: 2分 2.以下不正确的说法是(D) A.全局变量,静态变量的初值是在编译时指定的 B.静态变量如果没有指定初值,则其初值为0 C.动态变量如果没有指定初值,则其初值不确定 D.函数中的静态变量在函数每次调用时,都会重新设置初值 满分: 2分 3.以下叙述正确的是(C) A.在C程序中,main函数必须位于程序的最前面 B.C程序的每行中只能写一条语句 C.C语言本身没有输入输出语句 D.在对一个C程序进行编译的过程中,可发现注释中的拼写错误 满分: 2分 4.以下程序有语法错误,有关错误原因的正确说法是(C) main() { intG=5,k; voidprt_char(); ... k=prt_char(G); ... } A.语句voidprt_char();有错,它是函数调用语句,不能用void说明 B.变量名不能使用大写字母 C.函数说明和函数调用语句之间有矛盾 D.函数名不能使用下划线 满分: 2分 5.若有以下的定义、说明和语句,则值为101的表达式是(C) struct cw{ int a; int *b;}*p; int x0[]={11,12},x1[]={31,32}; static struct cw x[2]={100,x0,300,x1}; p=x; A.*p->b B.p->a C.++(p->a) D.(p++)->a 满分: 2分 6.下面程序的输出是(D) main() { charx=040; printf("%d\n",x=x<<1); } A.100 B.160 C.120 D.64 满分: 2分 7.若使用一维数组名作函数实参,则以下正确的说法是(A) A.必须在主调函数中说明此数组的大小 B.实参数组类型与形参数组类型可以不匹配 C.在被调函数中,不需要考虑形参数组的大小 D.实参数组名与形参数组名必须一致 满分: 2分 8.以下关于枚举的叙述不正确的是(C) A.枚举变量只能取对应枚举类型的枚举元素表中元素 B.可以在定义枚举类型时对枚举元素进行初始化 C.枚举元素表中的元素有先后次序,可以进行比较 D.枚举元素的值可以是整数或字符串 满分: 2分 9.已知一个函数的定义如下: doublefun(intx,doubley){……}则该函数正确的函数原型声明为(C) A.doublefun(intx,doubley) B.fun(intx,doubley) C.doublefun(int,double); D.fun(x,y); 满分: 2分 10.下面程序的运行结果是(D) #include main() { intx,i; for(i=1;i<=100;i++) {x=i;if(++x%2==0)if(++x%3==0)if(++x%7==0)printf("%d",x);} } A.3981 B.4284 C.2668 D.2870 满分: 2分 11.下面四个选项中、均是正确的数值常量或字符常量的选项是(D) A.0.00f8.9e'&' B."a"3.9E-2.5lel'\''' C.'3'0110xFFOO0a D.+0010xabcd2e250. 满分: 2分 12.以下程序的输出结果是(C) main() {inta=100,x=10,y=20,okl=5,ok2=0;if(x =10)if(! okl)a=1;elseif(ok2)a=10;a=-1;printf("%d\n",a);} A.1 B.0 C.-1 D.值不确定 满分: 2分 13.若有说明: char*language[]={"F0RTRAN","BASIC","PASCAL","JAVA","C"};则language[2]的值是(A) A.一个字符 B.一个地址 C.一个字符串 D.一个不定值 满分: 2分 14.以下正确的说法是(C) A.用户若需调用标准库函数,调用前必须重新定义 B.用户可以重新定义标准库函数,若如此,该函数将失去原有含义 C.系统根本不允许用户重新定义标准库函数 D.用户若需调用标准库函数,调用前不必使用预编译命令将该函数所在文件 满分: 2分 15.下面程序的运行结果是(B) #include k++;break;case'B': k--;case'C': k+=2;break;case'D': k=k%2;continue;case'E': k=k*10;break;default: k=k/3;}k++;}while(c<'G') A.k=3 B.k=4 C.k=2 D.k=0 满分: 2分 16.下面程序的运行结果是(C)main(){inta[6],i;for(i=1;i<6;i++){a[i]=9*(i-2+4*(i>3))%5;printf("%2d",a[i]);}} A.—40404 B.—40403 C.一40443 D.一40440 满分: 2分 17.变量的指针,其含义是指该变量的(B) A.值 B.地址 C.名 D.一个标志 满分: 2分 18.下面程序的输出是(D) typedefunion{longx;inty;charz;}MYTYPE; MYTYPEthem;main(){printf("%d\n",sizeof(them));} A.32 B.16 C.8 D.4 满分: 2分 19.若以下变量均是整型,且num=sum=7;则执行表达式sUM=num++,sUM++,++num后sum的值为(B) A.7 B.8 C.9 D.10 满分: 2分 20.以下正确的叙述是(D) A.在C程序中,每行中只能写一条语句 B.若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数 C.在C程序中,无论是整数还是实数,都能被准确无误地表示 D.在C程序中,%是只能用于整数运算的运算符 满分: 2分 21.若有以下程序段: inta[]={4,0,2,3,1},i,j,t; for(i=1;i<5;i++){t=a[i];j=i-1;while(j>=0&&t>a[j]){a[j+1]=a[j];j--;}a[j+1]=t;}...... 则该程序段的功能是(D) A.对数组a进行插入排序(升序) B.对数组a进行插入排序(降序) C.对数组a进行选择排序(升序) D.对数组a进行选择排序(降序) 满分: 2分 22.在一个C源程序文件中,若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使用的存储类别是(C) A.extern B.register C.auto D.static 满分: 2分 23.以下正确的描述是(C) A.C语言的预处理功能是指完成宏替换和包含文件的调用 B.预处理指令只能位于C源程序文件的首部 C.凡是C源程序中行首以"#"标识的控制行都是预处理指令 D.C语言的编译预处理就是对源程序进行初步的语法检查 满分: 2分 24.sizeof(float)是(B) A.一个整型表达式 B.一种函数调用 C.一个不合法的表达式 D.一个不合法的表达式 满分: 2分 25.有定义: int a[5][4], (*p)[4]=a;,数组a的首地址为100,*(p+2)+3等于(D) A.116 B.118 C.120 D.122 满分: 2分 26.以下不正确的语句为(B) A.if(x>y); B.if(x=y)&&(x! =0)x+=y; C.if(x! =y)scanf("%d",&x);elsescanf("%d",&y); D.if(x 满分: 2分 27.有字符数组a[80]和b[80],则正确的输出形式是(C) A.puts(a,b);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C语言 电子科 10 学期 语言 在线 作业 答案 一二