admin 管理员组文章数量: 887018
2024年2月21日发(作者:artwork)
C语言各章节练习题(含答案)
一、c语言概述练习题
选项1。C程序的执行是从。a) 该程序的主要功能以主要功能开始和结束
b)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束c)本程序文件的第一个函数开始,到本程序main函数结束d)本程序的main函数开始,到本程序文件的最后一个函数结束2.以下叙述不正确的是。
a) C源程序必须包含一个主函数B)C源程序可以由一个或多个函数组成C)C程序的基本单元是函数d)在C程序中,注释只能位于一条语句之后
3.以下叙述正确的是。
a) 在编译C程序的过程中,你可以在注释中发现拼写错误。B) 在C程序中,主函数必须位于程序的前面
c)c语言本身没有输入输出语句d)c程序的每行中只能写一条语句4.一个c语言程序是由。
a) 一个主程序和几个子程序由B)函数组成C)几个进程组成d)几个子程序组成
二、数据类型、运算符与表达式
选择1.如果x、I、J和K是int变量,则x的值是在计算以下表达式后得出的。X=(I=4,j=16,k=32)a)4b)16c)32D)522。在以下四组选项中,不是c语言关键字的选项是。a) 定义类型b)getccharprintfc)包括
3.下列四组选项中,均是不合法的用户标识符的选项是。(c语言标识符由字母,数字,下划线组成,开头不能是数字)
a) wp_0dob)b-agotointc)floatla0_0ad)-123abctemp
8.已知字母a的ascii码为十进制数65,且c2为字符型,则执行语句c2=‘a’+‘6’-‘3’后,c2中的值为。
a) C)DB的不确定值)
填空1.若有以下定义,则计算表达式y+=y-=m*=y后的y值是【1】。-16intm=5,y=2;
7.如果X和N都是int变量,且X和N的初始值为5,则计算表达式后,X的值为[8],N的值为[9]。一百零六
x+=n++//若改为x+=++n则计算后x为11,n为6
10.假设字母A的ASCII码是十进制数97,ch是字符变量,则表达式ch='A'+'8'-'3'的值为[12]。F III.简单C程序设计
选择1.putchar函数可以向终端输出一个d。
a) 整数变量表达式b)实变量值C)字符串D)字符或字符变量值3。阅读下面的节目。当输入数据的形式为:25、13、10(注:enter)时,正确的输出结果为()
{intx,y,z;
scanf(“%d%d%d”、&x、&y、&z);printf(“x+y+z=%dn”,x+y+z);
}a)x+y+z=48b)x+y+z=35c)x+z=35d)不确定值4.根据下面的程序及数据的输入和输出形式,程序中输入语句的正确形式应该为c。main()
{charch1,CH2,CH3;输入语句
printf(“%c%c%c”,ch1,ch2,ch3);
}输出形式:ABC输入形式:ABCA)scanf(“%C%C%C”、&ch1、&CH2、&CH3);b)
scanf(“%c、%c、%c”、&ch1、&ch2和&ch3);c) scanf(“%c%c%c”、&ch1、&ch2和&ch3);d) scanf(“%c%c”、&ch1、&ch2和&ch3);=-1;如果(j<=1)printf(“***n”);elseprintf(“%%n”);a、 ***b、%%%c、***nd、%%n
6.有一输入语句scanf(“%d”,k);则不能使float类型变量k得到正确数值的原因是【8】和【9】。格式控制符应为%f;变量k前缺少&7、写出下面程序的输出结果。(1)main(){charc1,c2;c1=65;c2=66;
printf(printf(}
a,6665,b
四、 逻辑运算与判断选择控制
2.判断char型变量ch是否为大写字母的正确表达式是c。
a) "a"和"d"("a"和"d"("a"和"z"和"z)
4.设有:inta=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b)&&(n=c>d)后n的值为a。a)0b)2c)3d)45.以下程序的运行结果是b。main()
{inta,b,d=241;a=d/100%9;b=-1&-1;
printf(“%d,%d”,a,b);}
a) 6,1b)2,1c)6,0d)2,07。以下程序的运行结果是()
{intm=5;if(m++>5)printf(“%dn”,m);
其他的
printf(“%dn”,m--);}
a) 4b)5c)6d)7
8.若运行时给变量x输入12,则以下程序的运行结果是d。main()
{intx,y;
scanf(“%d”,&x);y=x>12?x+10:x-12;printf(“%dn”,y);
}a) 4b)3C)2D)07。以下过程的运行结果为。梅因{inti,j;
a=3;b=5;
printf(“a=%d,b=%dn”,a,b);c=(++a)*b;
printf(“a=%d,b=%dn”,a,b);printf(“c=%dn”,c);}
a=3,b=5a=4,b=5c=20
五、循环控制
选择1。设置程序段intk=10;而(k=0)k=k-1;
这下面描述中正确的是___c______.
a) while循环执行10次b)循环是无限的C)循环体语句不执行一次d)循环体语句执行一次
5.以下程序段____c____.x=-1;do{
x=x*x;}
while(!x);a)是死循环b)循环执行二次c)循环执行一次d)有语法错误
8.如果I是一个整数变量,则以下循环的执行时间为。对于(i=2;i=0;)printf(
a)无限次b)0次c)1次d)2次10.以下正确的描述是___b____.
a) continue语句的功能是结束整个循环的执行。B) break语句只能在循环体和switch语句体中使用
c)在循环体内使用break语句或continue语句的作用相同d)从多层循环嵌套中退出时,只能使用goto语句
3.以下程序的运行结果为____________________includemain()
{inta,s,n,count;a=2;s=0;n=1;count=1;
而(count<=7){n=n*a;s=s+n;++count;}printf(}
4.下面程序段的运行结果是__369【回车】__sum=20__.main()
{inti=1,sum=0;而(i<=10)
{if(i%3==0)
{sum+=i;printf(“-”,i);}i++
}
printf(“n”);
prinf(“sum=%d”,sum);}
5.以下程序段的运行结果为____。main(){intn=3;开关(n){
case0:printf(“a”);break;case1:printf(“b”);break;case2:printf(“c”);break;case3:printf(“d”);break;
默认值:printf(“e”);}
7.下面程序的运行结果是_369____.main()
{inti,sum=0;for(i=1;i<=10;i++)
if(i%3!=0)continue;
printf(“-”,i);}printf(“n”);
}六、数组
1.已知inta[10];对数组元素的错误引用是()a.a[10]B.a[4+5]C.a[10-6]D.a[2]
2.以下对二维数组a的正确说明是___c_____.
a) inta[3][];b) floata(3,4);c) doublea[1][4]d)floata(3)(4);6.如果定义:inta[6]={1,2,3,4,5};然后a[1]=a[3]+a[2+2]-a[3-1];运算后a[1]的值为()
a.6b.5c.1d.27.下面程序段的运行结果是____d_____.intmain(){
inti,t,a[10]={25,40,29,8,17,6,15,4,3,2};t=a[0];
for(i=0;i<10;i++)if(a[i]return0;}a)29b)40c)15d)2填空1.若有定义:doublex[3][5];则x数组中行下标的下限为____0_____,列下标的上限为___4______.七、函数选择2.以下正确的函数定义形式是___a_____.a)doublefun(intx,inty)b)doublefun(intx;inty)c)doublefun(intx,inty);d)doublefun(intx,y);3.c语言规定,简单变量做实参时,它和对应形参之间的数据传递方式为__b____.a)地址传递b)单向值传递c)由实参传给形参,再由形参传回给实参d)由用户指定传递方式填空1.以下程序的运行结果是_____.maxis2#includeintmax(int,int);main(){inta=1,b=2,c;c=max(a,b);printf(}intmax(intx,inty){intz;z=(x>y)?x:y;return(z);}3.以下程序的运行结果是____4+5=9____.#includeintplus(intx,inty)
版权声明:本文标题:C语言各章节练习题(含答案) 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1708521221h526636.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论