还剩20页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
《语言程序设计》期末试卷C一.单选题(共题,分)2525(单选题分)
1.,1被称为〃语言之父〃的是以下哪一位?()CA.Martin RichardsB.Ken ThompsonC.Dennis M.Ritchie D.Brain W.Kernighan答案D(单选题,分)
2.1有定义语句若要通过(%)语句使变量得int x,y;,scanf”d,%d”,x,y;x到数值变量得到数值下面四组输入形式中,错误的是:11,y12,()〈回车〉回车〉A.1112B.ll,12c〈回车〈回车〈回车〉C.11,12D.11,12答案A(单选题分)
3.,1若以下选项中的变量已正确定义,则正确的赋值语句是()A.xl=
26.8%3B.l+2=x2C.x3=0xl
2.4=1+2=3D X答案C(单选题分)
4.下列循环语句中有语法错误的是;A.whilex=y5答案B(单选题分)
23.,1下面程序段的运行结果是(char str[]=,,ABC,,,*p=str;printf,,%d\n,,,*p+3;B.0字符的地址字符C.C D.CA.67答案B(单选题分)
24.,1已知有以下程序段,给出程序的输出结果()o#include,,stdio.h,,STDIO.Hint main{inti=8;j=10;m=i++;n=++j;printf,,%d,%d,%d,%d,l,ij,m,n;return0;A.8,10,9,11C.9,11,8,10答案D(单选题分)
25.,1现有如下程序#include,,stdio.hn()int funint x(){printf x=%d\n,++x;}()int main(){fun12+5;return0;}则程序的输出结果是()oA.x=12B.x=13C.x=17D.x=18答案D二.多选题(共题,分)515(多选题分)
26.,3以下叙述中正确的是()o语句必须以分号结束A.C复合语句在语法上被看作一条语句B.空语句出现在任何位置都不会影响程序运行C.赋值表达式末尾加分号就构成赋值语句D.答案ABD(多选题,分)
27.3设有以下说明语句struct ex{int x;float y;char z;}example;则下面的叙述中正确的是()o结构体类型的关键字A.struct是结构体类型名B.example都是结构体成员名C.x,y,z是结构体类型名D.struct ex答案ACD(多选题分)
28.,3以下定义语句中错误的是()A.int a=b=O;B.char A=65+l,b=zbz;C.float a=l,*b=a,*c=bD.double a=0;b=l.l;答案ACD(多选题分)
29.,3下列可用于语言用户标识符的是()CA.D56,r_l_2,name,_st_lB.a3_3,_123,CarC.For,-abc,IF CaseD.void,define,WORD答案AB(多选题分)
30.,3下面有关循环的正确描述是()for循环能用于循环次数已经确定的情况A.for循环是先执行循环循环体语句,后判断表达式B.for在循环中,不能用语句跳出循环体C.for break循环的循环体语句中,可以包含多条语句,但必须用花括号括起D.for来答案AD三.判断题(共题,分)1010(判断题,分)
31.1用程序实现的算法可以没有输入但必须要有输出答案对C(判断题,1分)
32.简单变量做实参时,它和对应形参之间的数据传递方式是单向值传递答案对(判断题分)
33.,1全局变量可以被任何一个函数中的任何一个表达式使用答案错(判断题分)
34.,1表达式)的值是一个负值答案错strcmpCboxTboss(判断题,分)
35.1循环结构中的语句是使整个循环终止执行答案对break(判断题,分)若有说明:则该语句不正确,因
36.1inta
[10]={6,7,8,9,10};为数组长度与初值个数不相同答案错(判断题分)有定义:[卜则数组的长度是
237.char aT;a答案对(判断题,1分)
38.如果成员本身就是一个结构体,只能对最低级的成员进行赋值等引用和运算答案对(判断题分)
39.,1若定义的函数没有参数,则函数名后的圆括号可以省略答案错(判断题分)
40.,1不能将字符串赋给字符变量答案对四.填空题(共题,分)1730(填空题,1分)
41.当执行下列程序时,输入则其中循环体将执行次1234567890,while#include()main{char ch;while((ch=getchar())==,0,)()printf#;)答案⑴0(填空题,1分)
42.在语言中,二维数组在内存中的存放顺序是C答案()按行存储1(填空题,分)若有定义:则数组中行下标的最大
43.1float x
[3]
[5];x值为,列下标的最大值为o答案⑴()224(填空题,分)
44.2语言中,最基本的数据类型是(),实型,()C答案⑴整型⑵字符型(填空题,分)
45.1当调用函数时,实参是一个数组名,则向函数传送的是()答案⑴数组的首地址;数组元素的首地址;数组名(填空题,1分)
46.表达式()的值是()strlen hello答案⑴5(填空题分)
47.,1在语言中,用关键字()来定义双精度实型的变量C答案()1double(填空题,分)
48.1语言程序的基本单位是()C答案⑴函数(填空题,1分)
49.()语句的作用是使循环程序提前结束本次循环,执行下次循环答案()1continue填空题分
50.,2读程序写结果分析以下程序的运行结果是O#include stdio.hfuncint a,int b{int c;c=a+b;return c;}main{int x=6,y,r;y=x+2;r=funcx,y;%printf d\nr;}答案⑴14填空题分
51.,2读程序写结果下列程序段执行后值为S0int i=5,s=0;whilei-if i%2continue;else s+=i;答案⑴6填空题分
52.,2读程序写结果以下程序的输出结果是()oint main{int x=2,y=-l,z=2;ifxyifyOz=O;else z+=l;printf%d\n,z;return0;}答案⑴0填空题分读程序写结果
53.,2#include stdio.h fun{static int x=5;x++;return x;}main{int i,x;fori=0;i3;i++x=fun;printf,,%d\n,,x;},答案⑴8填空题,分
54.2读程序写结果以下程序的输出结果是omain{char s[]=,,ABCDn,*p;forp=s+l;ps+4;p++printf,,%s\n,l,p;}答案1BCD CDD填空题,分
55.3程序填空请把下面缺失的语句补充完整以下函数返回所指数组中最小的值所在的下标值afunint*a,int n{int ij=O,p;p=j;fori=j;in;i++ifa[i]a[p];;returnp;}在横线处应填入的是答案p=l填空题分
56.,4程序填空请把缺失的语句补充完整函数的功能是计算所指字符串的长度,并作为函数值返回mystrlen strintmystrlenfchar*str{int I;forl=0;;l++;⑴;return}横线上所填的内容是答案;*str+l!=\0str[l]!=\0填空题分
57.,3程序填空请把缺失的语句补充完整用循环打印个数语句如下for9012012012;for i=l;i=9;i++printf%2d;/答案⑴;i-1%3i+2%3五其它共题,分320;B.whileO;;C.do2whilex==b;D.do x++whilex==10答案D单选题分
5.,1若有以下函数调用语句在此函数调用语句中实funa+b,fund,a,b;参的个数是A.4B.3C.2D.1答案C单选题分6|,1设函数的定义形式为funvoid funchar ch,float x{...}则以下对函数的调用语句中,正确的是funA.fun abcB.O;;B.t=fun
16.5C6S\
2.S;C.funD.fun32,32;答案D单选题分
7.,1(其它,分)已有函数调用语句()请编写函数,
58.6c=add a,b;add计算两个实数和的和,并返回和值a b答案(其它,分)已知其中均为一位数,编程求
59.7abc+cba=1333,a,b,c出满足条件的所有组合a,b,c答案(其它,分)输入个数,利用指针的方法,按由大到小的顺序输
60.73出这三个数答案在语言中,只有在使用时才占用内存单元的变量,其存储类型是C和和A.auto registerB.extern register和和C.auto staticD.static register答案自动和寄存型A单选题,分
8.1当变量的值不为、、时,值也为“真”的表达式是c246A.c==2||c==4||c==6B.c=2c=6||c!=3||c!=5C.c=2c=6!c%2D.c=2c=6c%2!=l答案B单选题分语言执行程序的开始执行点是
9.C程序中第一条可以执行语言A.程序中第一个函数B.程序中的函数C.main包含文件中的第一个函数D.答案C单选题,分
10.|1以下能正确定义一维数组的选项是A.inta
[5]={0,1,2,3,4,5};B.char a[]={/07172//374757\0/;C.char a={,A,/B,,,C,};D.inta
[5]=,,0123H;答案B■单选题,1分有以下程序#includestring.h main{charp[]={H,b,c},q
[10]={H,b,c};printfM%d%d\n,,,strlenp,strlenq;}以下叙述中正确的是在给和数组置初值时,系统会自动添加字符串结束符,故输出的A.p q长度都为3由于数组中没有字符串结束符,长度不能确定,但数组中字符串B.p q长度为3由于数组中没有字符串结束符,长度不能确定,但数组中字符串C.q p长度为3由于和数组中都没有字符串结束符,故长度都不能确定答案D.p qA单选题,分语言中和循环的主要区别是
12.1C while do-while o的循环体至少无条件执行一次A.do-while的循环控制条件比的循环控制条件更严格B.whiledo-while允许从外部转到循环体内C.do-while的循环体不能是复合语句D.do-while答案A■单选题l分f若二维数组有歹则计算任一元素在数组中相对位置的公a mU,式为假设⑼位于数组的第一个位置上a
[0]A.j*m+I B,i*m+jC.i*m+j-l D.i*m+j+l答案B单选题分
14.,1下列字符串赋值语句中,不能正确把字符串赋给数组的语Hello World句是;;;A.char al[]={H7e/r/IVo,W,o7r,T,,d7\0,};B.char a2
[15];strcpya2,NHello World1;C.char a3
[15];a3=Hello World11;D.char a4
[15]={,,Hello World11};答案c单选题,分
15.[1判断字符串和是否相等,应当使用a bA.if a==b B.if a=bC.if strcpya,b D.if strcmpa,b==O答案字符串比较的缩写,并将结果返回整数基D stringcompare本形式为若则返回若则返回负strcmpstrl,str2,strl=str2,0;strlstr2,数,若则返回正数strlstr2,■单选题分)根据声明下列表达式错误的是16,1inta
[10],*p=a;,A.a
[9]B.p
[5]C.a++D.*p++答案c(单选题,分)存在定义若下列的哪个选项和
17.1int x,*pa;,pa;a
[0],其他个选项不是等价的()3A.x=*pa;()B.x=*a+l;()C.x=*pa+l;D.x=a[l];答案A(单选题,分)以下丕能对二维数组进行正确初始化的语句是()
18.1aA.int a
[2]
[3]={0};B.inta[]
[3]={{l,2},{0}};〃这是三行二列C.int a
[2]
[3]={{1,2},{3,4},{5,6}};D.inta[]
[3]={l,2,34,5,6};答案C(单选题,分)
19.1若有以下语句,则下面表达式的值为的是()1002struct student{int num;int age;};struct studentstu
[3]={{1001,20},{1002,19},{1003,2}};struct student*p;p=stu;A.p++-numB.p++-ageC.*p.numD.*++p.num答案D单选题,分
20.1如果所有的变量按照下面的程序进行定义和声明,那么在函数中main所有可用的变量为void funintxstatic inty;return;int z;void maininta,b;funa;A.x,yB.x,y,zC.a,b,zD.a,b,x,y,z答案c单选题分
21.,1有以下程序#include stdio.hmain{intx=l,y=O,a=O,b=O;switchx{case1:switchy{case0:a++;break;case l:b++;break;case2:a++;b++;break;cse3:a++;b++;printf,,a=%d,b=%d\n,,,a,b;程序的运行结果是A.a=l,b=O B.a=2,b=2C.a=l,b=l D.a=2,b=l答案D单选题,1分
22.下列程序的输出结果是#include,,stdio.h,1main{int i,a=O,b=O;fori=l;i10;i++{ifi%2==0;{a++continue;}b++;}printfa=%d,b=%d,,a b;/,}A.a=4,b=4B.a=4,b=5C.a=5,b=4D.a=5,b=5。