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)


本文标签: 程序 函数 变量 语句 结果