C语言第19章基本概念练习题ans最全.docx
- 文档编号:4182349
- 上传时间:2022-11-28
- 格式:DOCX
- 页数:22
- 大小:28.47KB
C语言第19章基本概念练习题ans最全.docx
《C语言第19章基本概念练习题ans最全.docx》由会员分享,可在线阅读,更多相关《C语言第19章基本概念练习题ans最全.docx(22页珍藏版)》请在冰豆网上搜索。
C语言第19章基本概念练习题ans最全
第一单元(1-5章)基本概念练习题
一、单选选择(直接在正确的选项上打勾,每题)
1、下面关于C语言特点的描述,不正确的是()。
D
A、C语言兼有高级语言和低级语言的双重特点,执行效率高
B、C语言既可以用来编写应用程序,又可以用来编写系统软件
C、C语言是一种结构式模块化程序设计语言
D、C语言的可移植性较差
2、C语言规定,在一个源程序中,main函数的位置()。
B
A、必须在最开始B、可以任意
C、必须在最后D、必须在系统调用的库函数的后面
3、下列说法中正确的是()。
C
A、C程序书写时,不区分大小写字母
B、C程序书写时,一行只能写一个语句
C、C程序书写时,一个语句可分成几行书写
D、C程序书写时每行必须有行号
4、C语言编译程序的首要工作是()。
A
A、检查C语言程序的语法错误B、检查C语言程序的逻辑错误
C、检查程序的完整性D、生成目标文件
5、C语言程序经过连接以后生成的文件名的后缀为()。
C
A、.cB、.objC、.exeD、.cpp
6、以下关于算法的说法中,错误的是()。
D
A、一个算法应包含有限个步骤
B、在计算机上实现的算法是用来处理数据对象的
C、算法的目的是为了求解
D、算法中指定的操作,不能通过已经实现的基本运算执行有限次后实现
7、算法是指为解决某个特定问题而采取的确定且有限的步骤,下面不属于算法的五个特性之一的是()。
C
A、确定性B、有穷性C、零个或多个输出D、零个或多个输入
8、以下不属于结构化程序设计三种基本结构之一的是()。
B
A、顺序B、递归C、循环D、选择
9、下列数据中,不合法的C语言实型数据是()。
C
A、0.123B、123e3C、2.1e3.5D、789.0
10、若变量a、i已正确定义,且i已正确赋值,以下属于合法的C语句是()。
A、a==1B、++i;C、a=a++=5;D、a=int(i);
11、已有定义inta=6;则执行语句a+=a-=a*a;后,a的值为()。
D
A、36B、0C、-24D、-60
12、若有以下程序段,其输出结果是()。
B
inta=0,b=0,c=0;
c=(a-=a-5),(a-=3,++b);
printf(“%d,%d,%d\n”,a,b,c);
A、0,0,-10B、2,1,5C、-10,-3,-10D、3,3,-10
13、有以下定义:
inti=10,j=1;执行语句printf("%d,%d\n",i--,++j);后输出结果是()。
B
A、9,2B、10,2C、9,1D、10,1
14、字符串"\t\"\065\xff\n"的长度为()。
A
A、5B、14
C、8D、输出项不合法,无正常输出
15、已有定义:
charc;执行赋值语句c=('z'-'a')/2+'A';后,变量c的值为()。
A
A、MB、NC、OD、Q
16、以下4个选项中,不能看做一条语句的是()。
D
A、;B、a=5,b=2.5,c=3.6;C、if(a<5);D、if(b!
=5)x=2;y=6;
17、设a、b和c都是int变量,且a=3,b=4,c=5;则以下的表达式中,值为0的表达式是()。
D
A、a&&bB、a<=bC、a||b+c&&b-cD、!
((a
c||1)
18、若有定义语句inta,b;doublex;则下列选项中没有错误的是()。
C
A、switch(x%2)B、switch((int)x/2.0)
{case0:
a++;break;{case0:
a++;break;
case1:
b++;break;case1:
b++;break;
default:
a++;b++;default:
a++;b++;
}}
C、switch((int)x%2)D、switch((int)(x)%2)
{case0:
a++;break;{case0.0:
a++;break;
case1:
b++;break;case1.0:
b++;break;
default:
a++;b++;default:
a++;b++;
}}
19、以下程序段的输出结果是()。
D
main()
{intx,y,z;
x=0;y=2;z=3;
switch(x)
{case0:
switch(y==2)
{case1:
printf("*");break;
case2:
printf("%");break;
}
case1:
switch(z)
{case1:
printf("$");
case2:
printf("*");break;
default:
printf("#");
}
}
}
A、*B、%C、$*D、*#
20、以下程序的输出结果是()。
C
main()
{inta=45,b=40,c=50,d;
d=a>=30?
b:
c;
switch(d)
{case30:
printf("%d",a);
case40:
printf("%d",b);
case50:
printf("%d",c);break;
default:
printf("#");
}
}
A、304050#B、304050C、4050D、#
21、以下程序的输出结果是()。
B
main()
{inta,b,c,x=35;
a=b=c=0;x=35;
if(!
a)
x--;
elseif(b);
if(c)
x=3;
else
x=4;
printf("%d\n",x);
}
A、35B、4C、3D、34
22、当c的值不为0时,能正确将c的值赋给变量a和b的选项是()。
C
A、c=b=aB、(a=c)||(b=c)C、(a=c)&&(b=c)D、a=c=b
23、若变量已定义为float型,要通过语句scanf("%f%f%f",&a,&b,&c);给a赋予10.0,b赋予22.0,c赋予33.0,下列不正确的输入形式是()。
B
A、10<回车>22<回车>33<回车>B、10.0,22.0,33.0<回车>
C、10.0<空格>22.0<空格>33.0<回车>D、10
24、下面程序段的输出结果是()。
A
intx=1,y=10;
if(x=y)printf("AAA");
elseprintf("BBB");
A、AAAB、BBBC、AAABBBD、不确定
25、下面程序段的输出结果是()。
A
for(x=9;x>0;x--)
if(x%3!
=0)
{printf("%d",--x);
continue;
}
A、741B、852C、963D、875421
26、对以下循环:
for(a=0,b=0;(b!
=123)&&(a<=4);a++);说法正确的是()。
D
A、无限循环B、循环次数不定C、执行4次D、执行5次
27、在下列程序中,while循环的循环次数是()。
D
main()
{inti=0;
while(i<10)
{if(i<1)continue;
if(i==5)break;
i++;
}
......
}
A、1B、10C、6D、死循环、不能确定次数
28、以下程序的输出结果是()。
B
main()
{inti=0,a=0;
while(i<20)
{for(;;)
{if((i%10)==0)
break;
elsei--;
}
i+=11;
a+=i;
}
printf("%d\n",a);
}
A、21B、32C、33D、11
29、当输入为"quert?
"时,下面程序的执行结果是()。
C
main()
{while(putchar(getchar())!
='?
');}
A、quertB、RvfsuC、quert?
D、rvfsu?
30、以下能正确计算1×2×3×…×10的程序段是()。
A、do{i=1;s=1;s=s*i;i++;}while(i<=10);
B、do{i=1;s=0;s=s*i;i++;}while(i<=10);
C、i=1;s=1;do{s=s*i;i++;}while(i<=10);
D、i=1;s=0;do{s=s*i;i++;}while(i<=10);
二、绘制NS算法流程图
(1)输入10个数,求其中的最大值。
(2)输入2个数,求它们的最大公约数。
第6章-数组基本概念练习题
1、在C语言中,引用数组元素时,其数组下标的数据类型允许是()。
A、floatB、intC、doubleD、任何类型
答案:
B
2、以下对一维整型数组a的正确定义是()。
A、inta(10);B、intn=10,a[n];C、intn;scanf(“%d”,&n);inta[n];D、#defineSIZE10
inta[SIZE];
答案:
D
3、以下能对一维数组a进行正确初始化的语句是()。
A、inta[10]=(0,0,0,0,0);B、inta[10]={};C、inta[]={0};D、inta[10]="abcdefg";
答案:
C
4、不能给数组的首元素赋值的语句是()。
A、inta[2]={1};B、inta[2]={1*2};C、inta[2];scanf(“%d”,a);D、inta[2];a[1]=1;
答案:
D
5、下面程序的运行结果是()。
main()
{inta[6],i;
for(i=1;i<6;i++)
{a[i]=9*(i-2+4*(i>3))%5;printf("%2d",a[i]);}
}
A、-40404B、-40403C、-40443D、-40440
答案:
C
6、下列定义正确的是()。
A、inta[4]={1,2,3,4,5};B、intb[]={2,5};C、inta(10);D、int4e[4];
答案:
B
7、若有说明inta[][4]={0,0};则下列叙述不正确的是()。
A、数组a的每个元素都可以得到初值0。
B、二维数组a的第一维的大小为1。
C、数组a的行数为1,但是有4个元素。
D、只有元素a[0][0]和a[0][1]可得到初值0,其余元素均得不到初值
答案:
D
8、设有charstr[10];下列语句正确的是()。
A、scanf("%s",&str);B、printf("%c",str);C、printf("%s",str[0]);D、printf("%s",str);
答案:
D
9、下列说法正确的是()。
A、在C语言中,可以定义元素个数可变的数组。
B、在C语言中,数组元素的个数可以不确定,允许随机变动。
C、在C语言中,数组元素的数据类型可以不一致。
D、在C语言中,定义了一个数组后,就确定了它所容纳的具有相同数据类型元素的个数。
答案:
D
10、假设array是一个有10个元素的整型数组,则下列写法中正确的是()。
A、array[0]=10;B、array=0;C、array[10]=0;D、array[-1]=0;
答案:
A
11、分析下列程序运行后,输出的结果是()。
main()
{intn[3],i,j,k;
for(i=0;i<3;i++)
n[i]=0;
k=2;
for(i=0;i for(j=0;j n[j]=n[i]+1; printf("%d\n",n[1]); } A、2B、1C、0D、3 答案: D 12、若有以下定义: inta[5]={5,4,3,2,1}; charb=‘a’,c,d,e; 则下面表达式中数值为2的是()。 A、a[3]B、a[e–c]C、a[d-b]D、a[e-b] 答案: A 13、下面几个字符串处理表达式中能用来把字符串str2连接到字符串str1后的一个是()。 A、strcat(str1,str2);B、strcat(str2,str1);C、strcpy(str1,str2);D、strcmp(str1,str2); 答案: A 14、设有两字符串“Beijing”、“China”分别存放在字符数组str1[20],str2[20]中,下面语句中能把“China”连接到“Beijing”之后的为()。 A、strcpy(str1,str2);B、strcpy(str1,“China”); C、strcat(str1,“China”);D、strcat(“Beijing”,str2); 答案: C 15、若有如下定义: ,则下列语句的输出结果是()。 inta[3][3]={1,2,3,4,5,6,7,8,9},i; for(i=0;i<=2;i++)printf(“%d”,a[i][2-i]); A、357B、369C、159D、147 答案: A 16、下列字符串赋值语句中,不能正确把字符串Cprogram赋给数组的语句是()。 A、chara[]={‘C’,‘’,‘p’,‘r’,‘o’,‘g’,‘r’,‘a’,‘m’}; B、chara[10];strcpy(a,“Cprogram”); C、chara[10];a=“Cprogram”; D、chara[10]={“Cprogram”}; 答案: C 17、以下不能对二维数组a进行正确初始化的语句是()。 A、inta[2][3]={0};B、inta[][3]={{1,2},{0}}; C、inta[2][3]={{1,2},{3,4},{5,6}};D、inta[][3]={1,2,3,4,5,6}; 答案: C 18、下面程序段的运行结果是()。 charc[5]={‘a’,‘b’,‘\0’,‘c’,‘\0’}; printf(“%s”,c);} A、‘a’‘b’B、ab\0c\0C、abcD、ab 答案: D 19、判断字符串a和b是否相等,应当使用()。 A、if(a==b)B、if(a=b)C、if(strcpy(a,b))D、if(strcmp(a,b)) 答案: D 20、有字符数组a[80]和b[80],则正确的输出语句是()。 A、puts(a,b);B、printf(“%s,%s”,a[],b[]);C、putchar(a,b);D、puts(a);puts(b); 答案: D 21、若有如下定义和语句,则输出结果是()。 chars[12]=“abook! ”; printf(“%d”,strlen(s)); A、12B、8C、7D、6 答案: C 22、以下能对二维数组a进行正确说明和初始化的语句是()。 A、inta()(3)={(1,0,1),(2,4,5)};B、inta[2][]={{3,2,1},{5,6,7}}; C、inta[][3]={{3,2,1},{5,6,7}};D、inta (2)()={(1,0,1),(2,4,5)}; 答案: C 23、若有说明: inta[3][4]={0};则下面正确的叙述是()。 A、只有元素a[0][0]可以得到初值0B、此说明语句不正确; C、数组a中每个元素均可得到初值0D、数组a每个元素均可得到初值,但不一定为0 答案: C 第7章-函数基本概念练习题 1.有如下函数调用语句func(rec1,rec2+rec3,(rec4,rec5));该函数调用语句中,含有的实参个数是。 A A)3B)4C)5D)有语法错 2.有如下程序,该程序的输出的结果是。 intrunc(inta,intb) {return(a+b);} main() {intx=2,y=5,z=8,r; r=func(func(x,y),z); printf(“%\d\n”,r);} A)12B)13C)14D)15 3.有如下程序,该程序的输出结果是。 longfib(intn) {if(n>2)return(fib(n-1)+fib(n-2)); elsereturn (2);} main() {printf(“%d\n”,fib(3));} A}2B}4C}6D}8 4.有以下程序,执行后输出的结果是。 voidf(intx,inty) {intt; if(x main() {inta=4,b=3,c=5; f(a,b);f(a,c);f(b,c); printf("%d,%d,%d\n",a,b,c);} A)3,4,5B)5,3,4C)5,4,3D)4,3,5 5.以下函数的功能是: 通过键盘输入数据,为数组中的所有元素赋值。 在下划线处应填入的是。 #defineN10 voidarrin(intx[N]) {inti=0; while(i scanf("%d",_________);} A)x+iB)&x[i+1]C)x+(i++)D)&x[++i] 6.有以下程序,执行后输出结果是。 main() {chars[]="\n123\\"; printf("%d,%d\n",strlen(s),sizeof(s));} A)赋初值的字符串有错B)6,7C)5,6D)6,6 7.以下叙述中正确的是。 A)全局变量的作用域一定比局部变量的作用域范围大 B)静态(static)类别变量的生存期贯穿于整个程序的运行期间 C)函数的形参都属于全局变量 D)未在定义语句中赋初值的auto变量和static变量的初值都是随机值 8.以下程序执行后输出的结果是。 main() {inta=4,b=3,c=5,d,e,f; d=f1(a,b);d=f1(d,c); e=f2(a,b);e=f2(e,c); f=a+b+c-d-e; printf("%d,%d,%d\n",d,f,e);} f1(intx,inty) {intz;z=(x>y)? x: y;return(z);} f2(intx,inty) {intz;z=(x x: y;return(z);} A)3,4,5B)5,3,4C)5,4,3D)3,5,4 9.以下程序的输出结果是。 intf(void) {staticinti=0; ints=1; s+=i; i++; return(s);} main() {inti,a=0; for(i=0;i<5;i++)a+=f(); printf(“%d\n”,a);} A)1B)0C)非0的数D)–1 10.以下C语言中,对函数不正确的描述是。 A)当用数组名作形参时,形参数组改变可使实参数组随之改变 B)允许函数递归调用 C)函数形参的作用范围只是局限于所定义的函数内 D)函数说明必须在主调函数之前 11.以下所列的各函数首部中,正确的是。 A)voidplay(var: Integer,varb: Integer)B)voidplay(inta,b) C)voidplay(inta,intb)D)Subplay(aasinteger,basinteger) 12.以下叙述中不正确的是。 A)在C中,函数中的自动变量可以赋初值,每调用一次,赋一次初值。 B)在C中,在调用函数时,实在参数和对应形参在类型上只需赋值兼容。 C)在C中,外部变量的隐含类别是自动存储类别。 D)在C中,函数形参可以说明为register变量。 13.以下对C语言函数的有关描述中,正确的是。 A)在C中,调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参 B)C函数既可以嵌套定义又可以递归调用 C)函数必须有返回值,否则不能使用函数 D)C程序中有调用关系的所有函数必须放在同一个源程序文件中 14.一个数据类型为void的函数中可以没有return语句,那么函数的被调用时。 A)没有返回值B)返回一个系统默认值C)返回值由用户临时决定D)返回一个不确定的值 15.在下面的函数声明中,存在着语法错误的是。 A)BC(inta,int);B)BC(int,int);C)DC(int,int=5);D)BC(intx,inty); 16.以下函数值的类型是。 fun(floatx) {floaty; y=3*x-4; returny; } A)intB)不确定C)voidD)float 17.下面程序的输出结果是: 。 intm=13; i
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C语言 第19章基本概念练习题ans最全 语言 19 基本概念 练习题 ans