北语 20春《程序设计引论》作业1234.docx
- 文档编号:16657234
- 上传时间:2023-07-16
- 格式:DOCX
- 页数:25
- 大小:24.07KB
北语 20春《程序设计引论》作业1234.docx
《北语 20春《程序设计引论》作业1234.docx》由会员分享,可在线阅读,更多相关《北语 20春《程序设计引论》作业1234.docx(25页珍藏版)》请在冰点文库上搜索。
北语20春《程序设计引论》作业1234
20春《程序设计引论》作业_1
一、单选题(每题4分,共15道小题,总分值60分)
1.假定w、x、y、z、m均为int型变量,有如下程序段:
w=1;x=2;y=3;z=4;
m=(w<x)?
w:
x;m=(m<y)?
m:
y;m=(m<z)?
m:
z;
则该程序段执行后,m的值是______。
()
A.4
B.3
C.2
D.1
答:
D131→9666→2906
2.以下定义语句中正确的是
A.charA=65+1,b='b'';
B.inta=b=0;
C.floata=1*b=&a*c=&b;
D.double*a,b=&a;
答:
A
3.以下叙述正确的是______。
()
A.C语言程序是由过程和函数组成的
B.C语言函数可以嵌套调用,例如:
fun(fun(x))
C.C语言函数不可以单独编译
D.C语言中除了main函数,其他函数不可作为单独文件形式存在
答:
B
4.请选出以下程序的输出结果______。
#include
sub(x,y,z)
intx,y,*z;
{*z=y-x;}
main(){
inta,b,c;
sub(10,5,&a);sub(7,a,&b);sub(a,b,&c);
printf("%d,%d,%d\n",a,b,c);
}
A.5,2,3
B.-5,-12,-7
C.-5,-12,-17
D.5,-2,-7
答:
B
5.若有定义:
inta[9],*p=a;不能表示a[1]地址的是()
A.p+1
B.a+1
C.*a+1
D.&a[1]
答:
C
6.有以下程序
#include
voidfun(int*s,intn1,intn2)
{inti,j,t;
i=n1;j=n2;
while(i } main() {inta[10]={1,2,3,4,5,6,7,8,9,0},k; fun(a,0,3);fun(a,4,9);fun(a,0,9); for(k=0;k<10;k++)printf("%d",a[k]);printf(""); } 程序的运行结果是______。 () A.0987654321 B.4321098765 C.5678901234 D.0987651234 答: C 7.若想对文本文件进行只读操作,打开此文件的方式为()。 A.rb B."w" C."ab" D."r" 答: D 8.下面的函数调用语句中func函数的实参个数是______。 () func(f2(v1,v2),(v3,v4,v5),(v6,max(v7,v8))); A.3 B.4 C.5 D.8 答: A 9.一个C语言程序是由()组成的。 A.主程序 B.子程序 C.函数 D.过程 答: C 10.以下函数的功能是: 通过键盘输入数据,为数组中的所有元素赋值。 #include #defineN10 voidfun(intx[N]) {inti=0; while(i<N)scanf("%d",______); } 在程序中下划线处应填入的是______。 () A.x+i B.&x[i+1] C.x+(i++) D.&x[++i] 答: C 11.inta[4]={5,3,8,9};其中a[3]的值为()。 A.5 B.3 C.8 D.9 答: D 12.有如下程序 main() {floatx=2.0,y; if(x<0.0)y=0.0; elseif(x<10.0)y=1.0/x; elsey=1.0; printf("%f\n",y); } 该程序输出结果是______。 () A.0.000000 B.0.250000 C.0.500000 D.1.000000 答: C 13.若a、b、c1、c2、x、y均是整型变量,正确的switch语句是______。 () ① switch(a+b); {case1: y=a+b;break; case0: y=a-b;break; } ② switch(a*a+b*b) {case3: case1: y=a+b;break; case3: y=b-a;break; } ③ switcha {casec1: y=a-b;break; casec2: x=a*b;break; default: x=a+b; } ④ switch(a-b) {default: y=a*b;break; case3: case4: x=a+b;break; case10: case11: y=a-b;break; } A.① B.② C.③ D.④ 14.C语言的赋值表达式中,赋值号的左侧必须是()。 A.常量 B.变量 C.表达式 D.函数 15.以下叙述中错误的是______。 () A.用户定义的函数中可以没有return语句 B.用户定义的函数中可以有多个return语句,以便可以调用一次返回多个函数值 C.用户定义的函数中若没有return语句,则应当定义函数为void类型 D.函数的return语句中可以没有表达式 二、多选题(每题4分,共5道小题,总分值20分) 1.标准库函数fgets(S,n,file)的功能不包括() A.从文件file中读取长度为n的字符串存入字符数组s中 B.从文件file中读取长度不超过n-1个字符的字符串放到字符数组S中 C.从文件file中读到n个字符串存入字符数组s中 D.从文件file中读取长度为n-1个字符的字符串存人字符数组s中 2.以下说法错误的是() A.参数可以是常量、变量或表达式 B.参数类型不必同形参类型一致 C.形参可以是常量、变量或表达式 D.实参顺序与形参顺序无关 3.设有以下定义 inta=0; doubleb=1.25; charc='A'; #defined2 则下面语句中正确的是() A.a++; B.b++; C.c++; D.d++; 4.关于C语言的主函数描述错误的是() A.C程序可以有多个main函数 B.C程序有且只有一个main函数 C.C程序可以没有main函数 D.C程序不一定从main函数开始执行 5.以下正确的if语句形式是() 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<y){x++;y++;} 三、判断题(每题4分,共5道小题,总分值20分) 1.switch…case结构中条件表达式和常量表达式值可以为float类型 2.若有定义inta=12;则表达式a+=a-=a*=a的值是-144。 3.已知inta=6;则执行a+=2;语句后,a的值为8。 4.for的循环体包含多条语句时必须使用花括号括起来。 5.两个字符串中的字符个数相同时才能进行字符串大小的比较 20春《程序设计引论》作业_2 一、单选题(每题4分,共15道小题,总分值60分) 1.C程序编译、连接后最终产生(即计算机执行)的文件的扩展名为() A..exe B..c C..obj D..cpp 2.数组定义为inta[3][2]={1,2,3,4,5,6},值为6的数组元素是() A.a[3][2] B.a[2][1] C.a[1][2] D.a[2][3] 3.若有定义: inta=5,*b=&a;,则printf("%d ",*b);语句的输出结果为()。 A.随机值 B.a的地址 C.6 D.5 4.()下面有关程序设计技术的说法中,错误的是 A.机器语言和汇编语言编程通常采用面向计算机的程序设计方式 B.面向过程的程序设计方法通常采用结构化和模块化设计方法 C.面向对象的程序设计方法采用客观世界的描述方式 D.C语言是一种兼顾面向过程和面向对象的高级程序设计语言 5.在数组中,数组名表示() A.数组第1个元素的首地址 B.数组第2个元素的首地址 C.数组所有元素的首地址 D.数组最后1个元素的首地址 6.若有定义: inta=10,*p=&a;执行赋值语句a=*p+1;则a的值是()。 A.10 B.11 C.12 D.编译出错 7.自增、自减运算符能用于()。 A.整型常量 B.表达式 C.整型变量 D.浮点型常量 8.计算机程序用哪种语言编写机器可以直接运行() A.高级语言 B.汇编语言 C.机器语言 D.低级语言 9. 有以下程序 #include voidfun(inta,intb) {intt; t=a;a=b;b=t; } main() {intc[10]={1,2,3,4,5,6,7,8,9,0},i; for(i=0;i<10;i+=2)fun(c[i],c[i+1]); for(i=0;i<10;i++)printf("%d,",c[i]); printf("\n"); } 程序的运行结果是______。 () A.1,2,3,4,5,6,7,8,9,0, B.2,1,4,3,6,5,8,7,0,9, C.0,9,8,7,6,5,4,3,2,1, D.0,1,2,3,4,5,6,7,8,9, 10.C语言源程序的扩展名为() A..exe B..c C..obj D..cpp 11.在C语言中,二维数组在内存中存放顺序是()环节 A.按行存放 B.按列存放 C.可以任意存放 D.由用户自己决定 12.计算机内一切数据的存取、传输和处理都是以()形式进行的。 A.十进制 B.二进制 C.八进制 D.十六进制 13.合法的数组定义是() A.chara[]="string"; B.inta[5]={0,1,2,3,4,5}; C.chara="string"; D.chara[]={0,1,2,3,4,5}; 14.对于用流程图描述算法,以下说法错误的是()。 A.直观形象 B.易于修改 C.易于理解 D.对流程线的使用没有严格限制 15.一个C语言程序总是从()开始执行。 A.主程序 B.子程序 C.主函数 D.函数 二、多选题(每题4分,共5道小题,总分值20分) 1.下列关于函数的描述正确的是() A.C程序是由函数组成的 B.C程序中的函数是各自独立的 C.main函数可以调用其他的函数 D.在main函数中可以嵌套定义别的函数 2.以下对switch语句和break语句中描述错误的有() A.在switch语句中必须使用break语句 B.break语句只能用于switch语句 C.在switch语句中,可以根据需要使用或不使用break语句 D.break语句是switch语句的一部分 3.下面描述正确的是() A.C程序中,函数可以直接或间接地调用自己 B.函数调用时,函数名必须与所调用的函数名字完全一致 C.函数声明语句中的类型必须与函数返回值的类型一致 D.实参数可以与形参个数不一致 4.以下关于数组描述错误的是() A.数组的大小是固定的,但可以有不同的类型的数组元素 B.数组的大小是可变的,但所有数组元素的类型必须相同 C.数组的大小是固定的,所有数组元素的类型必须相同 D.数组的大小是可变的,可以有不同的类型的数组元素 5.若程序中有宏定义行: #defineN100,则以下叙述中错误的是() A.宏定义行中定义了标识符N的值为整数100 B.在编译程序对C源程序进行预处理时用100替换标识符N C.对C源程序进行编译时用100替换标识符N D.在运行时用100替换标识符N 三、判断题(每题4分,共5道小题,总分值20分) 1.若有定义“inta=5,b=7;”,则表达式a%=(b%2)运算后,a的值为1 2.二维及多维数组在定义的同时给数组赋初值时,可以省略数组的各维长度。 3.函数的实参传递到形参有两种方式值传递和地址传递 4.函数[seek(pf,OI,SEEK_END)中的SEEK_END代表的起始点是文件末尾 5.函数调用strcat(strcpy(str1,str2),str3)的功能是将串str2复制到串str1中后再将串str3连接到串str1之后。 20春《程序设计引论》作业_3 一、单选题(每题4分,共15道小题,总分值60分) 1.有以下程序段 charch;intk; ch='a';k=12; printf("%c,%d,",ch,ch,k);printf("k=%d\n",k); 已知字符a的ASCII十进制代码为97,则执行上述程序段后输出结果是______。 () A.变量类型与格式描述符的类型不匹配输出无定值 B.a,97,k=12 C.输出项与格式描述符个数不符,输出为零值或不定值 D.a,97,12k=12 2.C语言是一种() A.机器语言 B.汇编语言 C.高级语言 D.以上都不是 3.设有以下语句 charch1,ch2;scanf("%c%c",&ch1,&ch2); 若要为变量ch1和ch2分别输入字符A和B,正确的输入形式应该是______。 () A.A和B之间用逗号间隔 B.A和B之间不能有任何间隔符 C.A和B之间可以用回车间隔 D.A和B之间用空格间隔 4.若变量x,y已正确定义并赋值,以下符合C语言语法的表达式是 A.++x,y=x-- B.x+1=y C.x=x+10=x+y D.double(x)/10 5.以下叙述中正确的是______。 A.C程序的基本组成单位是语句 B.C程序中的每一行只能写一条语句 C.简单C语句必须以分号结束 D.C语句必须在一行内写完 6.以下对一维数组进行正确的定义初始化的语句是()。 A.inta[5]=0 B.inta[5]={0}*5 C.inta[5]={0,0,0,0,0,0} D.inta[5]={0} 7.若有定义: Inta[4];则元素a[2]地址表示正确的是() A.*(a+2) B.&a[2] C.*a+2 D.a[2] 8.顺利执行文件关闭操作时,fclose函数的返回值是() A.1 B.-1 C.0 D.非0值 9.变量的指针,其含义是指该变量的() A.值 B.地址 C.名字 D.一个标志 10. 有以下程序 voidfun1(char*p) {char*q; q=p; while(*q! ='\0') {(*q)++;q++;} } main() {chara[]={"Program"},*p; p=&a[3];fun1(p);printf("%s\n",a);} 程序执行后的输出结果是______。 () A.Prohsbn B.Prphsbn C.Progsbn D.Program 11.下列哪组标识符是正确的()。 A.a3,7d B._x1,temp C.for,max D.f(x),b2 12.以下不合法的用户标识符是______。 () A.j2_KEY B.Double C.4d D._8_ 13. 有以下程序 #include main() {chara[30],b[30]; scanf("%s",a); gets(b); printf("%s\n%s\n",a,b); } 程序运行时若输入: howareyou? Iamfine<回车> 则输出结果是______。 () A.howareyou? Iamfine. B.howareyou? Iamfine. C.howareyou? Iamfine D.howareyou? 14.以下合法的字符型常量是______。 () A.'\x13' B.'\081' C.'65' D."\n" 15.以下叙述中错误的是______。 () A.C语言源程序经编译后生成后缀为.obj的目标程序 B.C程序经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件 C.用C语言编写的程序称为源程序,它以ASCII代码形式存放在一个文本文件中 D.C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令 二、多选题(共5道小题,总分值24分) 1.以下关于文件的描述正确的是() A.用fopen函数时一般会判断打开文件操作是否出错 B.在C程序中直接使用文件名来访问文件 C.文本文件和二进制文件的数据存储方式是不同的 D.C语言把文件看成是一个字节的序列 2.以下对局部变量描述错误的是()(5分) A.在函数内部定义的变量 B.在main函数中定义的变量是局部变量 C.形式参数也是局部变量 D.局部变量在程序的全部执行过程中一直占用存储单元 3.以下关于局部变量和全局变量的叙述正确的是()(5分) A.main函数中定义的变量是局部变量 B.局部变量可以与全局变量重名 C.在所有函数外定义的变量是全局变量 D.形式参数不是局部变量 4.下面关于删除结点函数的描述为错误的是()(5分) A.删除结点函数不需要返回值 B.删除结点函数返回值为结点类型 C.删除结点函数返回值为结点类型的指针 D.删除结点函数的返回值为空指针 5.在下列有关宏替换的叙述中,错误的是()(5分) A.宏替换占用运行时间 B.宏替换只是字符替换 C.带参数的宏替换和函数等价 D.宏名有类型 三、判断题(每题4分,共4道小题,总分值16分) 1. 整数在存储时不会产生误差,实数在存储时也不会产生误差。 2.在C语言中,%是只能用于整数运算的运算符。 3.在C语言字符数组中可以在赋值语句中通过赋值运算符=对字符数组整体赋值。 4.从语法角度看,for(表达式1;表达式2;表达式3)语句中的3个表达式均可省略。 20春《程序设计引论》作业_4 一、单选题(每题4分,共15道小题,总分值60分) 1.若有定义语句: inta[4][10],*p,*q[4];且0≤i<4,则错误的赋值是______。 () A.p=a B.q[i]=a[i] C.p=a[i] D.p=&a[2][1] 2.C语言源程序名的后缀是______。 () A..obj B..c C..exe D..cp 3.文件操作的一般步骤是() A.打开文件-读/写文件-关闭文件 B.读/写文件-修改文件-关闭文件 C.读/写文件-打开文件-关闭文件 D.读文件-写文件-关闭文件 4.有以下程序 #include voidfun(char*a,char*b) {while(*a=='*')a++; while(*b=*a){b++;a++;} } main() {char*s="*****a*b****",t[80]; fun(s,t);puts(t); } 程序的运行结果是______。 () A.a*b B.a*b**** C.*****a*b D.ab 5.设ch是char型变量,其值为A,且有下面的表达式 ch=(ch>='A'&&ch<='Z')? (ch+32): ch 上面表达式的值是______。 () A.A B.a C.Z D.z 6.若有以下程序 #include main() {inta=0,b=0,c=0,d; c=(a+=b,,b+=a);/*第4行*/ d=c;/*第5行*/ ;/*第6行*/ printf(“%d%d%d\n”,a,b,c);/*第7行*/ } 编译时出现错误,你认为出错的是() A.第4行 B.第5行 C.第6行 D.第7行 7.以下程序中的函数reverse的功能是将a所指数组中的内容进行逆置。 voidreverse(inta[],intn) {inti,t; for(i=0;i {t=a[i];a[i]=a[n-1-i];a[n-1-i]=t;} } main() {intb[10]={1,2,3,4,5,6,7,8,9,10};inti,s=0; reverse(b,8); for(i=6;i<10;i++)s+=b[i]; printf("%d",s); } 程序运行后的输出结果是______。 () A.22 B.10 C.34 D.30 8.下列变量名定义错误的是()。 A.a4 B.sum C._ch D.f(x) 9. 有以下程序 #include main() {charp[20]={'a','b','c','d'},q[]="abc",r[]="abcde"; strcat(p,r);strcpy(p+strlen(q),q); printf("%d\n",strlen(p)); } 程序运行后的输出结果是______。 () A.9 B.6 C.11 D.7 10.下面4个选项中,均是合法的标识符是()。 A.abc,A_4d,_student,xyz_abc B.auto,12-a,a_b,ab5,x C.A_4d,_student,xyz_abc
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序设计引论 北语 20春程序设计引论作业1234 20 程序设计 引论 作业 1234