C语言第1 9章基本概念练习题ans最全.docx
- 文档编号:13264276
- 上传时间:2023-06-12
- 格式:DOCX
- 页数:32
- 大小:97.73KB
C语言第1 9章基本概念练习题ans最全.docx
《C语言第1 9章基本概念练习题ans最全.docx》由会员分享,可在线阅读,更多相关《C语言第1 9章基本概念练习题ans最全.docx(32页珍藏版)》请在冰点文库上搜索。
C语言第19章基本概念练习题ans最全
第一单元(1-5章)基本概念练习题一、单选选择(直接在正确的选项上打勾,每题)
1、下面关于C语言特点的描述,不正确的是()。
DA、C语言兼有高级语言和低级语言的双重特点,执行效率高
B、C语言既可以用来编写应用程序,又可以用来编写系统软件
C、C语言是一种结构式模块化程序设计语言
D、C语言的可移植性较差
2、C语言规定,在一个源程序中,main函数的位置()。
B
A、必须在最开始B、可以任意
C、必须在最后D、必须在系统调用的库函数的后面
3、下列说法中正确的是()。
C
A、C程序书写时,不区分大小写字母
B、C程序书写时,一行只能写一个语句
C、C程序书写时,一个语句可分成几行书写
5、C语言程序经过连接以后生成的文件名的后缀为()。
C
D、.cpp
A、.cB、.objC、.exe
6、以下关于算法的说法中,错误的是()。
D
A、一个算法应包含有限个步骤
B、在计算机上实现的算法是用来处理数据对象的
C、算法的目的是为了求解
D、算法中指定的操作,不能通过已经实现的基本运算执行有限次后实现
7、算法是指为解决某个特定问题而采取的确定且有限的步骤,下面不属于算法的五个特性之一的是()。
C
A、确定性
B、有穷性
C、零个或多个输出
D、
零个或多个输入
8、以下不属于结构化程序设计三种基本结构之一的是()。
B
A、顺序
B、递归
C、循环
D、
选择
9、下列数据中,
不合法的C语言实型数据是()。
C
A、0.123
B、123e3
C、2.1e3.5
D、
789.0
10、若变量a、
i已正确定义,且i已正确赋值,以下属于合法的C语句是()。
A、a==1
B、++i;
C、a=a++=5;
D、
a=int(i);
11、已有定义inta=6;则执行语句a+=a-=a*
a;后,a的值为()。
D
A、36
B、0
C、-24
D、
-60
12、若有以下程序段,其输出结果是()
。
B
inta
=0,b=0,c=0;
c=(a
-=a-5),(a-=3,++b);
printf(
“%d,%d,n%”d,a,b,c);
A、0,0,-10
B、2,1,5
C、-10,-3,-10
D、
3,3,-10
13、有以下定义:
inti=10,j=1;执行语句
printf("%d,%d\n",i--,++j);
后输出结果是()。
B
A、9,2
B、10,2
C、9,1
D、
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;default:
a++;b++;
}
case1:
b++;break;default:
a++;b++;
}
C、switch((int)x%2)
D、switch((int)(x)%2)
case0.0:
a++;break;case1.0:
b++;break;default:
a++;b++;
{case0:
a++;break;{
case1:
b++;break;
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("#");
}
}
D、*#
}
A、*B、%C、$*
20、以下程序的输出结果是()。
Cmain(){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("#");
}
}
D、#
A、304050#B、304050C、4050
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、35
B、4
C、
D、34
22、当c的值不为0时,能正确将c的值赋给变量
B、(a=c)||(b=c)
23、若变量已定义为float型,要通过语句scanf("
下列不正确的输入形式是()。
B
A、10<回车>22<回车>33<回车>
C、10.0<空格>22.0<空格>33.0<回车>
24、下面程序段的输出结果是()。
A
intx=1,y=10;if(x=y)printf("AAA");elseprintf("BBB");
A、AAAB、BBB
25、下面程序段的输出结果是(
for(x=9;x>0;x--)
if(x%3!
=0)
{
A、c=b=a
)。
A
printf("%d",--x);continue;
3
a和b的选项是()。
C
C、(a=c)&&(b=c)D、a=c=b
%f%f%f",&a,&b,&c);给a赋予10.0,b赋予22.0,c赋
B、
D、
C、
33.0,
10.0,22.0,33.0<回车>
10
AAABBB
D、不确定
}
A、741
26、对以下循环:
A、无限循环
27、在下列程序中,main(){
B、
852for(a=0,b=0;(b!
=123)&&(a<=4);a++);
B、循环次数不定
while循环的循环次数是
963说法正确的是
C、执行4次
()。
D
C、
D、875421
)。
D
D、执行5次
inti=0;while(i<10){
if(i<1)continue;if(i==5)break;
i++;
A、1
28、以下程序的输出结果是(main()
{inti=0,a=0;
while(i<20)
{for(;;)
{if((i%10)==0)
break;
elsei--;
B、10
)。
B
C、6
D、死循环、不能确定次数
}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、以下能正确计算1X2x3x-x10的程序段是(
)。
A、do{i=1;s=1;s=s*i;B、do{i=1;s=0;s=s*i;C、i=1;s=1;do{s=s*i;D、i=1;s=0;do{s=s*i;
i++;}while(i<=10);i++;}while(i<=10);i++;}while(i<=10);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;
}
A、-40404B、
printf("%2d",a[i]);
}
-40403
C、-40443
D、-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] 答案: A 13、下面几个字符串处理表达式中能用来把字符串 A、strcat(str1,str2);B、 答案: A 14、设有两字符串“Beijing”连接到“Beijing”之后的为(A、strcpy(str1,str2); C、strcat(str1,“China”); 答案: C 15、若有如下定义: ,则下列语句的输出结果 inta[3][3]={1,2,3,4,5,6,7,8,9} for(i=0;i<=2;i++)printf( A、357 答案: A 16、下列字符串赋值语句中,char a[d-b] D、a[e-b] B、 A、 B、 C、 char char D、 strcat(str2,str1); str2连接到字符串str1后的一个是() C、strcpy(str1,str2); O D、strcmp(str1,str2); “China”分别存放在字符数组str1[20],str2[20] )。 B、 D、 strcpy(str1,“China”); strcat(“Beijing”,str2); 中,下面语句中能把“ China 疋 ,i; “%d”,a[i][2 369 )。 -i]); C、159 、147 a[]={‘C',‘ a[10];strcpy(a,a[10];a=“C a[10]={“Cprogram 不能正确把字符串',‘p',‘r',“Cprogramprogram”; ”}; o' Cprogram赋给数组的语句是,‘g',‘r',‘a',‘m' ( }; )。 ); char 答案: C 17、以下不能对二维数组a进行正确初始化的语句是A、inta[2][3]={0}; C、inta[2][3]={{1,2},{3,4},{5,6}};答案: C 18、下面程序段的运行结果是()。 charc[5]={‘a',‘b',‘\0',‘c',printf(“%s”,c);} A、‘a'‘b'答案: D 19、判断字符串 A、if(a==b)答案: D20、有字符数组 A、puts(a,b); 答案: D B、ab\0c\0 B、 D、 int int ()。 a[][3]={{1,2},{0}};a[][3]={1,2,3,4,5,6}; \0'}; C、abc D、 ab a和b是否相等,应当使用() B、if(a=b) a[80]和b[80] B、printf( C、if(strcpy(a,b)) ,则正确的输出语句是 %s,%s”,a[],b[]);C 21、若有如下定义和语句,则输出结果是()。 chars[12]=“abook! printf(“%d”,strlen(s)); A、12B、8 答案: C C、7 D、if(strcmp(a,b)) ()。 putchar(a,b);D、puts(a);puts(b); D、6 22、以下能对二维数组a进行正确说明和初始化的语句是 A、inta()(3)={(1,0,1),(2,4,5)}; C、inta[][3]={{3,2,1},{5,6,7}}; ()。 B、inta[2][]={{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]可以得到初值 0 B、此说明语句不正确; C、数组a中每个兀素均可得到初值 0 D、数组a每个兀素均可得到初值,但不一定为 0 答案: C 第7章-函数基本概念练习题 A)3,4,5 B)5,3,4 C)5,4,3 5.以下函数的功能是: 通过键盘输入数据, 为数组中的所有兀素赋值。 #defineN10 voidarrin(intx[N]) {inti=0; while(i D)4,3,5 在下划线处应填入的是 scanf("%d",);} A) D)&x[++i] x+iB)&x[i+1]C)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: lnteger,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. o 返回一个不确定的值 )BC(intx,inty) 一个数据类型为void的函数中可以没有return语句,那么函数的被调用时— A)没有返回值B)返回一个系统默认值C)返回值由用户临时决定D) 15.在下面的函数声明中,存在着语法错误的是。 A)BC(inta,int);B)BC(int,int);C)DC(int,int=5);D 16.以下函数值的类型是。 fun(floatx) {floaty; y=3*x-4; returny; } A)intB)不确定C)voidD)float 17.下面程序的输出结果是: 。 intm=13; intfun(intx,inty) {intm=3; return(x*y-m);} main() {inta=7,b=5; printf(“%d\n”,fun(a,b)/m);} 则下面叙述正确的是。 B)数组a中每个元素均可得到初值0。 A)1B)2C)7D)10 18.若有说明语句: staticinta[3][4]={0}; A)只有a[0][0]元素可得到初值0; C)数组a中各元素都可得到初值,但值不一定为0;D)此说明语句不正确 19.以下不正确的说法为。 A)在不同函数中可以使用相同名字的变量。 B)形式参数是局部变量。 C)在函数内定义的变量只在本函数范围内有效。 D)在函数内的复合语句中定义的变量在本函数范围内有效。 20.凡是函数中未指定存储类别的局部变量,其隐含的存储类别为。 A)自动(auto)B)静态(static、C)外部(extern)D)寄存器(register) 21.下面程序
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C语言第1 9章基本概念练习题ans最全 语言 基本概念 练习题 ans