文档库 最新最全的文档下载
当前位置:文档库 › C语言分章节练习

C语言分章节练习

C语言分章节练习
C语言分章节练习

第一章 C语言概述

1.1选择题

【题1.1】以下不是C语言的特点的是( B )

A.C语言简洁、紧凑B.能够编制出功能复杂的程序

C. C 语言可以直接对硬件进行操作 D.C语言移植性好

【题1.2】以下不正确的C语言标识符是( D )。

A.ABC B.abc C.a_bc D.ab.c

【题1.3】以下正确的c语言标识符是( C )。

A.%x B.a十b C.a123 D.test!

【题1.4】一个c程序的执行是从( A ).

A.main( )函数开始,直到main( )函数结束

B.第一个函数开始,直到最后一个函数结束

C.第一个语句开始,直到最后一个语句结束

D.main( )函数开始,直到最后一个函数结束

【题1.5】一个C语言程序是由(B)。

A)一个主程序和若干子程序组成B)函数组成

C)若干过程组成 D)若干子程序组成

【题1.6】一个c程序是由( B )。

A.一个主程序和若干子程序组成B.一个或多个函数组成

C. 若干过程组成 D.若干子程序组成

【题1.7】C语言派程序的基本单位是( B )。

A.过程 B.函数 c子程序 D.标识符

【题1.8】编辑程序的功能是( A )。

A.建立并修改程序 B.将c源程序编译成目标程序

C.调试程序 D.命令计算机执行指定的操作

1.2填空题

【题1.9】c语言符号集包括【英文字母、数字和一些有待定含义的标点符号】。

【题1.10】一个c程序有且仅有一个【main()】函数。

【题1.11】C程序的基本单位是【函数】。

【题1.12】一个c程序有【1】个main( )函数和【若干】个其他函数。

【题1.13】在一个C源程序中,注释部分两侧的分界符分别是【/*】和【*/】。

【题1.14】结构化设计中的三种基本结构是【顺序结构、分支结构和循环结构】。

【题1.15】在C语言中,输入操作是由库函数【scanf】完成的,输出函数是由库函数【printf】完成的。

1.3编程题

【题1.16】编写一个程序,在屏幕上输出你的姓名。试着上机编辑、编译、运行你的程序。

#include

main()

{ printf("My Name is : Your Name!\n"); }

第二章数据类型、运算符与表达式

2.1选择题

?【题2.1】以下结果为整数的表达式(设有int i;char c;float f;)(B).

A.i十f B.i*c C.c十f D.i十c十f

【题2.2】以下不正确的语句(设有int p,q)是( D )。

A.P*=3; B.p/=q; C.p十=3; D.p&&=q;

【题2.3】以下使i的运算结果为4的表达式是(D)。

A.int i=0,j=0;

(i=3,(j十十)十i);

B.int i=1,j=0;

j=i=((i=3)*2);

C.int i=0,j=1;

(j==1)?(i=1);(i=3);

D.int i=1,j=1;

i+=j十=2;

【题2.4】下列四组选项中,均不是C语言关键字的选项是(A).

A)define B)getc C)include D)while

i f char sanf go

type printf case pow

【题2.5】下列四个选项中,均是C语言关键字的选项是(B)。

A auto

B switch

C signed

D if

enum typedef union struct

include continue scanf type

【题2.6】设char ch;以下正确的赋值语句是(B).

A.ch='123'; B.ch=\xff';

C.ch='\08’; D.ch="\”;

【题2.7】C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符 (C)。【题2.8 】下面四个选项中,均是合法整形常量的选项是(A).

A)160 B)-0xcdf C)-01 D)-0x48a

-0xffff 01a 986,012 2e5

011 0xe 0668 0x

【题2.9】设n=10,i=4、则赋值运算n%=i+1执行后,n的值是(A).

A.0 B.3 C.2 D.1

【题2.10】下面四个选项中,均是不合法浮点数的选项是(B).

A)160. B)123 C)-.18 D)-e3

0.12 2e4.2 123e4 0.234

e3 .e50.0 1e3

【题2.11】下面四个选项中,均是合法浮点数的选项是(B).

A)+1e+1 B)-.60即-0.60 C)123e D)-e3

5e-9.4 12e-4 12e-.4 .8e-4

03e2 -8e5 +2e-1 5.e-0 【题2.12】逗号表达式(a=3*5,a*4),a十15的值为( C ),a的值为( C )。

②A.15 B.60 C.30 赋值先于逗号 D.不确定

②A.60 B.30 C.15 D.90

【题2.13】下面四个选项中,均是不合法转义字符的选项是( B ).

A)’\”’B)’\1011’C)’\011’D)’\abc’

‘\\’‘\’‘\f’‘\101’

‘\xf’‘\a’‘\}’‘x1f’【题2.14】如果a=1,b=2,c=3,d=4,则条件表达式a<b?a:c<d?c:d的值为(A).

A.1 B.2 C.3 D.4

【题2.15】下面四个选项中,均是不正确的八进制数或十六进制数的选项是(D).

A)016 B)oabc C)010 D)0a12

0x8f 017 -0x11 7ff

018 0xa 0x16 -123

【题2.16】下面四个选项中,均是正确的八进制数或十六进制数的选项是(C).

A)-10 B)0abc C)0010 D)0a12

0x8f -017 -0x11 -0x123

-011 0xc 0xf1 -0xa 【题2.17】下面四个选项中,均是正确的数值常量或字符常量的选项是(D).

A)0.0 B)”a”C)’3’ D)+001

0x8f 3.9E-2.5 011 0xabcd

8.9e 1e1 0xFF00 2e2

‘&’‘\’’’ 0a 50.

【题2.18】下面不正确的字符串常量是(A.)

A)’abc’ B)”12’12” C)”0”D) “”

【题2.19】在程序中可以用来作为变量名的合法的标识符是:_______

A.)static B) 23_b1 C)stu_1t D) #33

【题2.22】已知各变量的类型说明如下:

Int i=8,k,a,b;

Unsigned long w=5;

Double x=1.42,y=5.2;

则以下符合C语言语法的表达式是(A)

A)a+=A-=(b=4)*(a=3) B)a=a*3=2

C)x%(-3) D)y=float (i)

【题2.23】以下不正确的叙述是(D)

A)在C程序中,逗号运算符的优先级最低

B)在C程序中,APH和aph是两个不同的变量

C)若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变

D)当从键盘输入数据时,对于整形变量只能输入整形数值,对于实型变量只能输入实型数值【题2.24】以下正确的叙述是(D).

A)在C程序中,每行中只能写一条语句

B)若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数

C)在C程序中,无论是正数还是实数,都能被准确无误的表示

D)在C程序中,%是只能用于正数运算的运算符

【题2.25】以下符合C语言语法的赋值表达式是(B).

A)d=9+e+f=d+9 B)d=(9+e,f=d+9)

C)d=9+e,e++,d+9 D)d=9+e++=d+7

【题2.26】已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2=’A’+’6’-‘3’;

后,c2的值为(A).

A)D B)68 C)不确定的值 D)C

【题2.27】在C语言中,要求运算数必须是整形的运算符是(D).

A)/ B)++ C)!= D)%

【题2.28】若以下变量均是整形,且num=sum=7;则计算表达式sUM=num++,sUM++,++num后sum的值为(A).

A)7 B)8 C)9 D)10

【题2.29】在C语言中,int、char和short三种类型数据在内存中所占用的字节数(D)。

A)由用户自己定义B)均为2个字节

C)是任意的D)由所用的机器的机器字长决定

【题2.30】若有说明语句:char c=‘\72’;则变量c(A)。

A)包含1个字符B) 包含2个字符

C)包含3个字符D) 说明不合法,c的值不确定

【题2.31】若有定义:int a=7; float x=205 ,y=4.7; 则表达式x+a%3*(int)(x+y)%2/4的值是(A)。

A)2.500000 B)2.750000 C)3.500000 D)0.000000

【题2.33】设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+i*f值的数据类型为(C)。

A)int B)float C)double D)不确定

【题2.34】下面四个选项中,均是非法常量的选项是(A)。

A)‘as’B)‘\\’C)-0x18 D)0xabc

-0fff ‘\01’ 01177 ‘\0’

‘\0xa’ 12,456 0xf “a”

【题2.36】设int n=3;则十十n的结果是( C ),n的结果是(C)

A)2 B)3 C)4 D)5

【题2.37】在C语言中,char型数据在内存中的存储形式是(D)。

A)补码B)反码C)源码D)ASCII码

【题2.39】设int n=3;则n十十的结果是( B ),n的结果是( C )。

A)2 B)3 C)4 D)5

【题2.40】设C语言中,一个int型数据类型在内存中占2个字节,则unsigned int型数据的取值范围为(C)。

A)0~255 B)0~32767 C)0~65535 D)0~2147483647

【题2.41】设有说明: char w; int x; float y; double z; 则表达式w*x+z-y值的数据类型为(D)。

A)float B)char C)itn D)double.

【题2.42】语句(1,2,3,4)的结果是( D )。

A)1 B)2 C)3 D)4

2.2填空题

【题2.44】表达式10/3的结果是【3】

【题2.45】表达式10%3的结果是【1】

【题2.47】执行下列语句后,a的值是【-264】

int a=12;a+=a-=a*a;

【题2.48】定义int x,yl执行y=(x=1,十十x,x十2)5语句后,y的值是【4】

【题2.49】在C语言中(以16位PC机为例),一个char型数据在内存中所占用的字节数为【1】;一个int型数据在内存中所占用的字节数为【2】。

【题2.50】在C语言中(以16位PC机为例),一个float型数据在内存中所占用的字节数为【4】;一个double型数据在内存中所占用的字节数为【8】。

【题2.52】在C语言中,一个int型数据在内存中占用2个字节,则int型数据的取值范围为【一32768一十32767】

【题2.55】若s是int型变量,且s=6,则下面表达式的值为【1】.

s%2+(s+1)%2

【题2.56】若a、b和c均是int型变量,则计算表达式后,a值为【6】,b值为【4】,c值为【2】。

a=(b=4)+(c=2)

【题2.57】若a是int型变量,且a的初值为6,则计算表达式后a的值为【—60】a+=a-=a*a

【题2.58】若a是int型变量,则计算表达式后a的值为【2】

a=25/3%3

【题2.59】若x和n均是int型变量,且x和n的初值均为5,则计算表达式后x的值为【10】,n的值为【6】。

x+=n++

【题2.67】已知字母a的ASCII码为十进制数97,且设ch为字符型变量,则表达式ch=’a’+’8’-‘3’的值为【f】.

【题 2.70】若有定义:int e=1,f=4,g=2;float m=10.5,n=4.0,k;则计算赋值表达式k=(e+f)/g+sqrt ((double)n)*1.2/g+m后k的值是【13.700000】。

【题2.71】表达式8/4*(int)2.5/(int)(1.25*(3.7+2.3))值的数据类型为【整型(或:int型)】。

【题2.73】设int a=1,b=2.c=3,d;执行d=!(a十b十c)后,d的结果是【0】第三章最简单的C程序设计

3.1 选择题

【题3.2】有如下程序,若要求a1、a2、c1、c2的值分别为10、20、A、B,正确的数据输入是(D).

main()

{

int a1,a2;

char c1,c2;

scanf("%d%d",&a1,&a2);

scanf("%c%c",&c1,&c2):

}

A)1020AB

B)10 20

AB

C)10 20 ABC

D)10 20AB

【题3.4】有如下程序,输入数据:12M345<CR>后,x的值是(A),y的值是(B).

#include

main()

{int x;float y;

scanf("%3d%f",&x,&y);}

1,A.12 B.123 C.12345 D.0

2,A.12.000000 B.345.000000 C.12345.000000 D.0.000000

【题3.9】已有如下定义和输入语句,若要求a1,a2,c1,c2的值分别为10,20,A和B,当从第一列开始输入数据是,正确的数据输入方式是(A)。(注:︼表示空格,表示回车)

int a1,a2;char c1,c2;

scanf(“%d%c%d%c”,&a1,&c1,&a2,&c2);

A) 10A︼20B B) 10︼A︼20︼B

C) 10A20B D) 10A20︼B

【题3.13】根据定义和数据的输入方式,输入语句的正确形式为(B)。

已有定义:float f1,f2;

数据的输入方式:4.52

3.5

A) scanf(“%f,%f”,&f1,&f2); B) scanf(“%f%f”,&f1,&f2);

C) scanf(“%3.2f%2.1f”,&f1,&f2); D) scanf(“%3.2f,%2.1f”,&f1,&f2);

【题3.14】阅读以下程序,当输入数据的形式为:25,13,10,正确的输出结果为(D)。

main()

{ int x,y,z;

scanf(“%d%d%d”,&x,&y,&z);

printf(“x+y+z=%d\n”,x+y+z);}

A) x+y+z=48 B) x+y+z=35

C) x+z=35 D) 不确定值

【题 3.20】已知ch是是字符形变量,下面不正确的赋值语句是 (A).

A、ch=`a+b`;

B、ch=`\o`;

C、ch=`7`+`9`;

D、ch=5+9;

【题 3.23】设X,Y均为FLOAT变量,则以下不合法的赋值语句是(B)

A) ++x; B) y=(x%2)/10; C) x*=y+8; D) x=y=10;

【题3.27 】以下程序的执行结果是( A )。

#include

main()

{int sum,pad;

sum=pad=5;

pad=sum++;

pad++;

++pad;

printf("%d\n",pad);

}

A.7

B.6

C.5

D.4

3.2 填空题

【题3.30 】以下程序的执行结果是【dec:-1,oct:177777,hex:ffff,unsigned:65535】。

#include

main()

{short i=-1;

ptintf("dec:%d,oct:%o,hex:%x,unsigned:%u\n",i,i,i,i);

}

【题3.33 】以下程序的执行结果是【3.500000,3.5】。

#include

main()

{float f=3.5;

printf("%f,%g",f,f)

}

【题3.35 】以下程序的输出结果为【*3.140000,3.142*】.

main()

{printf(“*%f,%4.3f*\n”,3.14,3.1415);}

【题3.36 】以下程序的输出结果为【c:dec=120,oct=170,hex=78,ASCH=x】.

main ()

{ char c=`x`;

printf(“c: dec=%d,oct=%o,hex%x,ASCII=%c\n”,c,c,c,c);

}

【题3.49 】假设变量a,b,c为整形, 以下语句借助中间变量把a,b和c中的直进行交换,把b 的直给a, 把c 的直给b, 把a 的直给c,例如,交换前,a=10,b=20,c=30,交换后,a=20,b=30,c=10请填空

【t=a】; a=b;b=c; 【c=t】.

【题3.54 】有一输入函数scanf(“%d”,k);则不能使用float变量k得到正确数值的原因是【未指明变量k的地址】和【格式控制符与变量类型不匹配】.

scanf语句的正确形式应该是:scanf("%f",&k))

3.3编程题

【题 3.72 】“水仙花数”是指一个三位数,它的三个数位数字的立方和这个数的数值相等,编程打印所有的水仙花数。

解:本题适于使用穷举法求解,注意穷举范围为三位数100~999,穷举条件为:三位数的三个数位数字的立方和等于这个数的数值。需要使用循环结构。程序如下:

#include

main()

{ int d0,d1,d2,n;

printf("The numbers are :");

for (n=100;n<=999;n++)

{ d0=n%10;

d1=n%100/10;

d2=n/100;

if (n==d0*d0*d0+d1*d1*d1+d2*d2*d2)

printf("%5d",n);

}

printf("\n");

}

【题3.78 】用三种循环结构分别编写程序,计算л的近似值,公式如下:

л/4 ≈ 1 – 1/3 + 1/5 – 1/7 +

到最后一项的绝对值小于10-6为止。

解:循环结构是这类近似计算常用的结构,本题在循环时需要保持一个累计结果的变量,每次计算当前项时,需要变号操作,类似本题的结束控制使用while和do_while结构比较合适。注意当前项计算值和循环控制变量的关系,参考程序如下:

#include

#include

main()

{ float pi,t,n;

int sign=1;

pi=0.0; n=1.0; t=1.0;

while (fabs(t) >= 1e-6)

{ t=sign/n;

pi+=t;

n+=2;

sign=-sign;

}

pi=pi*4;

printf("pi = %f\n",pi);

}

第四章选择结构

1单选题

【题4.1 】为了避免嵌套的if-else语句的二义性,c语言规定else总是与( C )组成配对关系。

A)缩排位置相同的if B)在其之前末配对的if

C)在其之前未配对的最近的if D)同一行上的if

【题4.2 】选择出合法的if语句(设int x,a,b,c;)(A).

A)if(a=b)x十十;B)if(a=<b)x十+;if(a<=b)x++;

C)if(a<>b)x十十;if(a!=b)x++; D)if(a=>b)x十十;if(a>=b)x++;

【题4.5 】逻辑运算符两侧运算对象的数据类型(D).

A)能是0或1 B)只能是0或非0正数

C)只能是整型或字符型数据 D)可以是任何类型的数据

【题4.6 】以下关于运算符优先顺序的描述中正确的是(C).

A)关系运算符<算术运算符<赋值运算符<逻辑与运算符

B)逻辑与运算符<关系运算符<算术运算符<赋值运算符

C)以赋值运算符<逻辑与运算符<关系运算符<算术运算符

D)算术运算符<关系运算符<赋值运算符<逻辑与运算符

【题4.7 】下列运算符中优先级最高的是(B).

A)<B十 C)% D)!=

【题4.10 】判断char型变量ch是否为大写字母的正确表达式是(C).

A)’A’<=ch<=’Z’ B)(cb>=’A’)&(ch<=’Z’)

C)(ch>=’A’)&&(ch<=’Z’)D)(‘A’<=ch)AND(‘Z’>=ch)

【题4.11 】] 设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0的是(D).

A)’x’&&’y’ B)x<=y C)x||y+z&&y-z D)!((x<y)&&!z ||1)

【题4.13 】若希望当A的值为奇数时,表达式的值为“真”,A的值为偶数时,表达式的值为“假”。则以下不能满足要求的表达式是(C).

A)A%2==1 B)!(A%2==0) C)!(A%2) D)A%2

【题4.18 】执行以下语句后a的值为(B),b的值为(A)。

iu a=5,b=6,w=1,x=2,y=3,z=4;

(a=w>x)&&(b=y>z);

[1] A)5 B)0 C)2 D1

[1] A)6 B)0 C)1 D4

【题4.21 】已知int x=10,y=20,z=30;以下语句执行后x,y,z的值是(B).

if(x>y)

z=x;x=y; y=z;

A)x=l0,y=20,z=30 B)x=20,y=30,z=20

C)x=20,y=30,z=10 D)x=20,y=30,z=20

E)x=20 ;y=30 ;z=30 ;

【题4.23 】阅读以下程序

main()

{int a=5,b=0,c=0;

if(a=b+c) printf(“***\n”);

else printf(“$$$\n”);

}

以上程序 (D).

A)语法有错不能通过编译 B)可以通过编译但不能通过连接 C)输出*** D)输出$$$

【题4.25 】当a=1,b=3,c=5,d=4时,执行完下面一段程序后x的值是(B).

if(a

if(c

else

if(a

if(b

else x=3;

else x=6;

else x=7;

A) 1 B)2 C)3 D)6

【题4.32 】若运行时给变量X输入12,以下程序运行结果是(A).

main()

{int x,y;

scanf(“%d”,&x);

y=x>12? x+10:x-12;

Printf(“%d\n”,y);

}

A) 0 B) 22 C) 12 D) 10

4.2 填空题

【题4.39 】以下程序的执行结果是【d=20】。

#include

main()

{int a,b,c,d,x;

a=c=0;

b=1;

d=20;

if(a) d=d-10;

if(!c)x=15;

else x=25;

printf("d=%d\n",d);

}

【题4.41 】以下程序的执行结果是【first third】.

#include

main()

{

int x=1,y=0;

switch(x)

{case 1:

switch(y)

{case 0:printf("first\n");break;

case 1:printf("second\n");break;

}

case2:printf("third\n");

}

}

【题4.43 】当a=3,b=2,c=1时,表达式f=a>b>c 的值是【0】.不能这样表达吧a>b>c

【题4.4 】当a=5,b=4,c=2时,表达式 a>b! =c的值是【1】.

【题4.45 】以下程序的运行结果是【5,25,1】. 5 25 1

# include

void main (void)

{ int x=1, y, z;

x*=3+2;

printf(“%d\t”, x);

x*=y=z=5;

printf(“%d\t”, x);

x=y==z;

printf(“%d\n”, x);

}

【题4.46 】在C语言中,表示逻辑“真”值用【非0的数字】.

【题4.47 】设y为int 型变量,请写出描述“y是奇数”的表达式【(y%2)==l】.

【题4.48 】 C语言提供的3种逻辑运算符是【&,||,!】.

【题4.9 】)设x,y,z均为int型变量,请写出描述“x或y中有一个小于z“的表达式【x<z||y<z】.

【题4. 58】条件“2

【题4.80 】输入一个字符,如果它是一个大写字母,则把它变成小写字母;如果它是一个小写字母,则把它变成大写字母;其他字符不变。请在[ ]内填入正确的内容。

main()

{char ch;

scanf(“%c”,&ch);

if([ch>='A'&&ch<='z']) ch=ch+32;

else if(ch>=’a’&&ch<=’z’) [ch=ch-32];

printf(“%c”,ch);

}

4.3 编程题

[题4.120]试编程判断输入的正整数是否既是5又是7的正倍数。若是,则输出yes;

否则输出no。

main()

{int x;

scanf("%d",&x);

if(x%5==0&&x%7==0)

printf("yes");

else

printf("no");

}

第五章循环控制

5.1 选择题

【题5.1 】C语言用( C )表示逻辑“真”值。

A)true B)t或y C)非零整数值 D)整数0

【题5. 2】语句while(!e);中的条件!e等价于( A )。

A)e==0 B)e!=1 C)e!=0 D)~e

【题5. 3】以下for循环是( C )。

for(x=0,y=0;(y!=123)&&(x<4);x++);

A)无限循环 B)循环次数不定C)执行4次 D)执行3次

【题5. 4】下面有关for循环的正确描述是( D )

A)for循环只能用于循环次数已经确定的情况

B)for循环是先执行循环体语句,后判定表达式

C)在for循环中,不能用break语句跳出循环体

D)for循环体语句中,可以包含多条语句,但要用花括号括起来

【题5.5 】对于for(表达式1;;表达式3)可理解为(B)

A)for(表达式1;1;表达式3) B)for(表达式1:1;表达式3)

C)for(表达式1;表达式1;表达式3) D)for(表达式1;表达式3;表达式3)

【题5. 6】下面程序段的运行结果是(D)

x=y=0;

while(x<15) y++, x+=++y;

printf(“%d,%d”’y’x);

A)20,7 B)6,12 C)20,8 D)8,20

【题5. 7】下面程序段的运行结果是(C)

int n=0;

while(n++<=2); printf(“%d”,n);

A)2 B)3 C)4 D)有语法错

【题5. 8】设有程序段

t=0

while(printf(“*”))

{t++;

if(t<3) bread;

}

下面描述正确的是(B).

A)其中循环控制表达式与0等价 B)其中循环控制表达式与‘0’等价

C)其中循环控制表达式是不合法的 D)以上说法都不对

【题5. 9】下面程序的功能是将从键盘输入的一组字符中统计出大写字母的个数m和小写字母的个数 n,并输入m,n中的较大数,请选择填空。

#include

main()

{int m=0,n=o;

char c;

while((C)!=’\n’)

{if(c>=’A’&&c<=’Z’) m++;

if(c>=’a’&&c<=’z’) n++;

}

printf(“%d\n”,m

}

(1)A)c=getchar() B)getchar() C)c=getchar D)scanf(“%dc”,c)

(2)A)n:m B)m:n C)m:m D)n:n

【题5. 10】下面程序的功能是将小写字母变成对应的大写字母后的第二个字母。其中y变成A,z变成B。请选择填空。

#include

main()

{char c;

while((c=getchar())!=’\n’)

{if(c>=’a’&&c<=’z’)

{(D);

fr(c>’Z”&&c<=”Z”+2)

(C);

}

printf(“%c”,c);

}

}

(1) A) c+=2 B)c-=32 C)c=c+32+2 D)c-=30

(2) A)c=’B’ B)c=’a’ C)c-=26 D)c=c+26

【题5. 11】下面程序的功能是将从键盘输入的一批正整数中求出最大者,输入0结束循环选择填空。#include

main()

{int a,max=0;

scanf(“%d”,&a);

while((B))

{if(max

scanf(“%d”,&a);

}

printf(“%d”,max);

}

A)a==0 B)a C) !a==1 D)!a

【题5. 12】下面程序的运行结果是(C).

#include

main()

{int num=0;

while(num<=2)

{num++;

printf(“%d\n”,num);

}

}

A)1 B)1 2 C)1 2 3 D)1 2 3 4

【题5.14 】 C语言中while和do-while循环的主要区别是(A).

A)do-while的循环体至少无条件执行一次

B)while的循环控制条件比的循环控制条件严格

C)do-while允许从外部转到循环体内

D)do-while的循环体不能是复合语句

【题5.15】以下能正确计算1*2*3*……*10的程序是(C).

A) do{i=1;s=1; B)do{i=1;s=0;

s=s*i; s=s*i;

i++; i++;

}while(i<=10); }while(i<=10);

C) i=1;s=1; D) i=1;s=0;

do{s=s*i; do{s=s*i;

i++; i++;

}while(i<=10); }while(i<=10);

【题5.17】以下描述正确的是(C).

A)由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句。

B)do-while循环由do开始,用while结束,在while(表达式)后面不能写分号。

C)在do-while循环体中,一定要有能使while后面表达式的值变成零(“假”)的操作。

D)do-while循环中,根据情况可以省略while

【题5.18】若有如下语句

int x=3; do {printf(“%d\n”,x-=2);} while(!(--x));

则上面程序段(B).

A)输出的是1 B)输出的是1和-2 C)输出的是3和0 D)是死循环

【题5.23】下面程序的运行结果是(B).

#include

main()

{int y=10;

do{y--;}while(--y);

printf(“%d\n”,y--);}

A)-1 B)1 C)8 D)0

【题5.25】下面程序运行结果是(B).

# include

main()

{ int a=1,b=10;

do

{b-=a ; a++ ; } while ( b--<0) ;

printf ( “ a=%d , b=%d\n”,a,b);

}

A) a=3 , b=11 B) a=2,b=8 C)a=1,b=-1 D)a=4,b=9

【题5.26】下面有关for循环的正确描述是(D).

A)for循环只能用于循环次数已经确定的情况。

B)for循环是先执行循环体语句,后判断表达式。

C)在for循环中,不能用break语句跳出循环体。

D)for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来。

【题5.29】以下for循环的执行次数是(C).

for(x=0,y=0;(y=123)&&(x<4);x++);

A)是无限循环 B)循环次数不定 C)执行4次 D)执行3次

【题5.30】以下不是无限循环的愈句为(A).

A)for(y=0,x=1;x>++y;x=i++) I=x B)for( ; ;x++=I);

C)while(1){x++; } D)for(I=10; ;I--) sum+=I;

【题5.34】执行语句for(I=1;I++<4; );后变量I的值是(C).

A)3 B)4 C)5 D)不定

【题5.36】下面程序的功能是计算1至50中是7的倍数的数值之和,请选择填空。#include

main()

{int I,sum=0;

for(i=1;i<=50;i++)

if(【D】) sum+=i;

printf(”%d”,sum);

}

A)(int)(i/7)==i/7 B) (int) i/7==i/7

C)i%7=0 D) i%7==0

【题5.38】下面程序的运行结果是(B).

#include

main()

{int i;

for(i=1;i<=5;i++)

switch(i%5)

{case0:printf(“﹡”);break;

case1:printf(“#”);break;

default:printf(”\n”);

case2:printf(“&”);

}

}

A)#&&&* B)#& C)# D)#&

& &

&* & *

&

*

【题5.39 】下面程序的运行结果是(D).

#include

main()

{int x,i;

for(i=1;i<=100;i++)

{x=1;

if(++x%2= =0)

if(++x%3= =0)

if(++x%7= =0)

printf(“%d”,x)

}

}

A)39 81 B)42 84 C)26 68 D)28 70 【题5.43 】下面程序的运行结果是(D).

#include

main()

{int i,b,k=0;

for(i=1;i<=5;i++)

{b=i%2;

while(b- ->=0) k++;

}

printf(“%d,%d”,k,b);

}

A)3,-1 B)8,-1 C)3,0 D)8,-2 【题5.44 】以下正确的描述是(B).

A)continue语句的作用是结束整个循环的执行

B)只能在循环体内和switch语句体内使用break语句

C)在循环体内使用break语句或continue语句的作用相同

D)从多层循环嵌套中退出时,只能使用goto语句

【题5. 51】下面程序的运行结果是(B).

#include

main()

{ int k=0;char c=’A’;

do

{ switch(c++)

{ case ‘A’:k++;break;

case ‘B’:k--;

case ‘C’:k+=2;break;

case ‘D’:k=k%2;continue;

case ‘E’:k=k*10;beak;

default:k=k/3;

}

k++;

}

while(c<’G’);

pfintf(“k=%d\n”,k);

}

A)k=3 B)k=4 C)k=2 D)k=0

【题5.55 】下面程序的运行结果是(A).

#include”stdio.h>”

main()

{ int I;

for (i=1;i<=5;i++)

{ if(i%2) printf(“*”);

else continue;

printf(“#”);

}

printf(“$\n”);

}

A)*#*#*#$ B)#*#*#*$ C)*#*#$ D)#*#*$

【题5. 56】下面程序的运行结果是(A).

main()

{ int i,j,a=0;

for(i=0;i<2;i++)

{ for (j=0; j<4; j++)

{if (j%2) break;

a++;

}

a++;

}

printf(“%d\n”,a);

}

A)4 B)5 C)6 D)7

【题5.57 】c语言中( D )。

A)不能使用do-while语句构成的循环

B)do-while语句构成的循环必须用break语句才能退出

C)do—whiLe语句构成的循环,当while语句中的表达式值为非零时结束循环

D)do—while语句构成的循环,当while语句中的表达式值为零时结束循环【题5.58 】C语言中while和do-while循环的主要区别是( A )。

A)do—while的循环体至少无条件执行一次

B)while的循环控制条件比do—while的循环控制条件严格

C)do—while允许从外部转到循环体内

D)do-while的循环体不能是复合语句

【题5.61 】以下程序的输出结果是( C )。

#include

main()

{int num=0;

while(num<=2)

{num++;

pringtf("%d\n",num);

}

}

A.1

B.1

C.1

D.1

2 2 2

3 3

4

5.2 填空题

}

【题5. 63】下列程序运行后的输出结果是【

*

* *

* * *

* * * * 】

#include

main()

{int i,j;

for(i=4;i>=1;i--)

{printf("*");

for(j=1;j<=4-i;j++)

printf("*");

printf("\n");

}

【题5.64 】下列程序运行后的输出结果是【

1

2 2

3 3 3

4 4 4 4

5 5 5 5 5

6 6 6 6 6 6

】。

#include

main()

{int i,j,k;

for(i=1;i<=6;i++)

{for(j=1;j<=20-2*i;j++)

printf("");

for(k=1;k<=i;k++)

printf("");

for(K=1;k<=i;k++)

printf("%4d",i);

printf("\n");

}

}

【题5.73】当运行以下程序时,从键盘出入China#,则下面程序的运行结果是【5,5】.

#include

main( )

{int v1=0,v2=0,charch;

while((ch=getchar())! =’# ’)

switch(ch)

{case’a’:

case’h’:

default:v1++

case ’o’:v2++

}

printf(“%d,%d\n”,v1,v2);

}

数组练习

1.以下为一维整型数组a的正确说明是_________.

a)int a(10); b)int n=10,a[n];

c)int n; d)#define SIZE 10;

scanf("%d",&n); int a[SIZE];

int a[n];

2.以下对二维数组a的正确说明是________.

a)int a[3][]; b)float a(3,4); c)double a[1][4] d)float a(3)(4);

3.若二维数组a有m列,则计算任一元素a[i][j]在数组中位置的公式为______.

(假设a[0][0]位于数组的第一个位置上。)

a)i*m+j b)j*m+i c)i*m+j-1 d)i*m+j+1

4.若二维数组a有m列,则在a[i][j]前的元素个数为________.

a)j*m+i b)i*m+j c)i*m+j-1 d)i*m+j+1

5.若有以下程序段:

int a[]={4,0,2,3,1},i,j,t;

for(i=1;i<5;i++)

{t=a[i];j=i-1;

while(j>=0&&t>a[j])

{a[j+1]=a[j];j--;}

a[j+1]=t;}.

则该程序段的功能是_________.

a)对数组a进行插入排序(升序) b)对数组a进行插入排序(降序)

c)对数组a进行选择排序(升序) d)对数组a进行选择排序(降序)

6.有两个字符数组a、b,则以下正确的输入语句是_______.

a)gets(a,b); b)scanf("%s%s",a,b); c)scanf("%s%s",&a,&b); d)gets("a"),gets("b"); 7.下面程序段的运行结果是_________.

char a[7]="abcdef";

char b[4]="ABC";

strcpy(a,b);

printf("%c",a[5]);

a)空格b)\0 c)e d)f

8.判断字符串s1是否大于字符串s2,应当使用_______.

a)if(s1>s2) b)if(strcmp(s1,s2))

c)if(strcmp(s2,s1)>0) d)if(strcmp(s1,s2)>0)

9.下面程序的功能是从键盘输入一行字符,统计其中有多少个单词,单词之间用

空格分隔,请选择填空。

#include

main()

{char s[80],c1,c2='';

int i=0,num=0;

gets(s);

while(s[i]!='\0')

{c1=s[i];

if(i==0)c2='';

else c2=s[i-1];

if(___)num++

i++;

}

printf("There are %d words.\n",num);

}

a)c1==''&&c2=='' b)c1!=''&&c2==''

c)c1==''&&c2!='' d)c1!=''&&c2!=''

10.下面程序的运行结果是________.

#include

main()

{char str[]="SSSWLIA",c;

int k;

for(k=2;(c=str[k])!='\0';k++)

{switch(c)

{case 'I':++k;break;

case 'L':continue;

default:putchar(c);continue;

}

putchar('*');

}

}

a)SSW* b)SW* c)SW*A d)SW

二、填空题

1.若有定义:double x[3][5];则x数组中行下标的下限为_________,列下标的上限为_________. 2.下面程序以每行4个数据的形式输出a数组,请填空。

#define N 20

main()

{int a[N],i;

for(i=0;i

for(i=0i

{if (_____________) _____________

printf("%3d",a[i]);

}

printf("\n");

}

3. 下面程序可求出矩阵a的主对角线上的元素之和,请填空。

main()

{int a[3][3]={1,3,5,7,9,11,13,15,17},sum=0,i,j;

for(i=0;i<3;i++)

for(j=0;j<3;j++)

if(_____)sum=sum+_______;

printf("sum=%d\n",sum);

}

4. 当从键盘输入18并回车后,下面程序的运行结果是________. main()

{int x,y,i,a[8],j,u,v;

scanf("%d",&x);

y=x;i=0;

do

{u=y/2;

a[i]=y%2;

i++;y=u;

}while(y>=1)

for(j=i-1;j>=0;j--)

printf("%d",a[j]);

}

5. 下面程序用插入法对数组a进行降序排序。请填空。

main()

{int a[5]={4,7,2,5,1};

int i,j,m;

for(i=1;i<5;i++)

{m=a[i];

j=____;

while(j>=0&&m>a[j])

{_______;

j--;

}

_______=m;

}

for(i=0;i<5;i++)

printf("%d",a[i]);

printf("\n");

}

6. 下面程序的功能是在三个字符串中找出最小的,请填空。

#include

#include

main()

{char s[20],str[3][20];

int i;

for(i=0;i<3;i++)gets(str[i]);

strcpy(s,_______);

if(strcmp(str[2],s)<0)strcpy(s,str[2]);

printf("%s\n",_______);

}

7. 下面程序的运行结果是________.

#include

main()

{char s[]="ABCCDA";

int k;char c;

for(k=1;(c=s[k])!='\0';k++)

{switch(c)

{case 'A':putchar('%');continue;

case 'B':++k;break;

default:putchar('*');

case 'C':putchar('&');continue;

}

putchar('#');

}

}

?第一章C语言概述

一、选择题:

1、一个C程序的执行是从(A )。

A本程序的main函数开始,到main函数结束

B本程序文件的第一个函数开始,到本程序文件的最后一个函数结束

C本程序的main函数开始,到本程序文件的最后一个函数结束

D本程序文件的第一个函数开始,到本程序main函数结束

2、在C 语言中,每个语句必须以(D )结束。

A. 回车符

B. 冒号

C. 逗号

D. 分号

3、C 语言规定:在一个源程序中,main函数的位置(C )。

A. 必须在最开始

B. 必须在系统调用的库函数的后面

C. 可以任意

D. 必须在最后

4、一个C 语言程序是由(B )。

A. 一个主程序和若干子程序组成

B. 函数组成

C. 若干过程组成

D. 若干子程序组成

5、下列说法中错误的是( D )。

A. 主函数可以分为两个部分:主函数说明部分和主函数体

B. 主函数可以调用任何非主函数的其他函数

C. 任何非主函数可以调用其他任何非主函数

D. 程序可以从任何非主函数开始执行

6、用C 语言编写的源文件经过编译,若没有产生编译错误,则系统将( C )。

A. 生成可执行目标文件

B. 生成目标文件

C. 输出运行结果

D. 自动保存源文件

二、填空题:

1、C 语言只有32 个关键字和9 种控制语句。

2、每个源程序有且只有一个main 函数,系统总是从该函数开始执行C语言程序。

3、C 语言程序的注释可以出现在程序中的任何地方,它总是以\* 符号作为开始标记,以*/ 符号作为结束标记。

4、C 语言中,输入操作是由库函数scanf 完成的,输出操作是由库函

数printf 完成的。

5、系统默认的C 语言源程序文件的扩展名是.c ,经过编译后生成的目标文件的扩展名是.obj ,经过连接后生成的可执行文件的扩展名是.exe 。

6、C 语言的标识符只能由字母、数字和下划线三种字符组成。

第三章数据类型、运算符和表达式

一、选择题:

1、以下选项中,不正确的C 语言浮点型常量是(C )。

A. 160.

B. 0.12

C. 2e4.2

D. 0.0

2、以下选项中,(D )是不正确的C 语言字符型常量。

A. 'a'

B. '\x41'

C. '\101'

D. "a"

3、在C 语言中,字符型数据在计算机内存中,以字符的(C )形式存储。

A. 原码

B. 反码

C. ASCII 码

D. BCD码

4、若x、i、j和k都是int型变量,则计算下面表达式后,x的值是()。x=(i=4,j=16,k=32)

A. 4

B. 16

C.32

D.52

5、算术运算符、赋值运算符和关系运算符的运算优先级按从高到低依次为( )。

A. 算术运算、赋值运算、关系运算

B. 算术运算、关系运算、赋值运算

C. 关系运算、赋值运算、算术运算

D. 关系运算、算术运算、赋值运算

6、若有代数式,则不正确的C语言表达式是()。

A.a/b/c*e*3

B. 3*a*e/b/c

C.3*a*e/b*c

D. a*e/c/b*3 ?

7、表达式!x||a==b 等效于()。

A. !((x||a)==b)

B. !(x||y)==b

C. !(x||(a==b))

D. (!x)||(a==b) ?

8、设整型变量m,n,a,b,c,d 均为1,执行(m=a>b)&&(n=c>d)后, m,n 的值是()。

A. 0,0

B. 0,1

C. 1,0

D. 1,1

9、设有语句int a=3;,则执行了语句a+=a-=a*=a;后,变量a 的值是()。

A. 3

B. 0

C. 9

D. -12

10、在以下一组运算符中,优先级最低的运算符是()。

A. *

B. !=

C. +

D. =

11、设整型变量i 值为2,表达式(++i)+(++i)+(++i)的结果是( B )。

A. 6

B. 12

C. 15

D. 表达式出错

12、若已定义x 和y为double 类型,则表达式x=1,y=x+3/2 的值是()。

A. 1

B. 2

C. 2.0

D. 2.5

13、sizeof (double)的结果值是( A )。

A. 8

B. 4

C. 2

D. 出错

14、设a=1,b=2,c=3,d=4,则表达式:a

A. 4

B. 3

C. 2

D. 1

15、设a 为整型变量,不能正确表达数学关系:10

A. 10

B. a= =11|| a= =12 || a= =13 || a= =14

C. a>10 && a<15

D. !(a<=10) && !(a>=15)

16、设f是实型变量,下列表达式中不是逗号表达式的是()。

A. f= 3.2, 1.0

B. f>0, f<10

C. f=2.0, f>0

D. f=(3.2, 1.0)

17、表达式18/4*sqrt(4.0)/8值的数据类型是()。

A. int

B. float

C. double

D. 不确定

18、已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句C2=’A’+’6’-‘3’;后c2中的值是()。 A. D B. 68 C. 不确定的值 D. C

19、以下用户标识符中,合法的是()。A. int B. nit C. 123 D. a+b

20、C 语言中,要求运算对象只能为整数的运算符是()。A. % B. / C. > D. *

21、若有说明语句:char c='\72';则变量c在内存占用的字节数是()。A. 1 B. 2 C. 3 D. 4

22、字符串"ABC"在内存占用的字节数是()。A. 3 B. 4 C. 6 D. 8

23、要为字符型变量a赋初值,下列语句中哪一个是正确的()。

A. char a="3";

B. char a=?3?;

C. char a=%;

D. char a=*;

24、下列不正确的转义字符是()。A. \\ B. \' C. 074 D. \0

二、填空题:

1、C 语言中的逻辑值“真”是用1 表示的,逻辑值“假”是用0 表示的。

2、若x和n都是int型变量,且x的初值为12,n的初值为5,则计算表达式x%=(n%=2)后x的值为0 。

3、设c='w',a=1,b=2,d=-5, 则表达式'x'+1>c, 'y'!=c+2, -a-5*b<=d+1, b==a=2的值分别为1 、0 、1 、1 。

4、设float x=2.5,y=4.7; int a=7;,表达式x+a%3*(int)(x+y)%2/4的值为2.5 。

5、判断变量a、b 的值均不为0 的逻辑表达式为a!=0&&b!=0 。

6、求解赋值表达式a=(b=10)%(c=6),表达式值、a、b、c 的值依次为4,4,10,6 。

7、求解逗号表达式x=a=3,6*a 后,表达式值、x、a 的值依次为18,3,3 。

8、数学式a/(b*c)的C 语言表达式a/b/c 。

三、编程题:

1、设长方形的高为1.5,宽为2.3,编程求该长方形的周长和面积。

2、编写一个程序,将大写字母A转换为小写字母a。

1.

main()

C语言1-5章复习题及参考答案

一.选择题 1、若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是()。 A .-3 B.9 C.-12 D.6 2、若有定义:int a=8, b=5, c; 执行语句 c=a/b+0.4; 后,c的值为()。 A .1.4 B.1 C.2.0 D.2 3、有如下程序: void main() { int i,sum; for(i=1;i<=3;sum++) sum+=i; printf("%d\n",sum); } 该程序的执行结果是()。 A .6 B.3 C.死循环 D.0 4、下列关于表达式的描述中,错误的是()。 A . 常量和变量都是表达式。 B. 运算符类型对应表达式的类型。 C. 每一个表达式都有自己的值。 D. 表达式必须以分号结尾。 5、C语言中,合法的长整型常数是()。 A . '\t' B.” A” C.65 D.a 6、若已定义 x 和 y为double 类型,则表达式 x=1;y=(x+3)/2 的值是()。 A .1 B.2 C.2.00000 D.2.50000 7、表达式:10!=9的值是()。 A . true B. 非零值 C.0 D.1 8、以下程序的输出结果是()。 #include void main() { printf("%d\n", NULL); } A . 不确定的 B.0 C.-1 D.1 9、请选出合法的C语言赋值语句。() A . a=b=58 B.i++; C. a=58,b=58 D. k=int(a+b); 10、假设 int b=2; 表达式(b>>2)/(b>>1)的值是()。 A .0 B.2 C.4 D.8 11、关于语句printf(“hello world\n”);,下列描述中错误的是()。 A . printf()是格式化输出函数,用于输出信息。 B. printf()括号中的内容为函数的参数。 C. printf()括号中的内容会全部输出到控制台上。 D. \n表示换行操作。 12、下列选项中,哪一项不是C语言中的位运算符()。 A .& B.|| C.~ D.^ 13、以下程序的输出结果是()。 void main()

(完整版)C语言程序设计教程第五章练习题题目

单选题 1、关于数组的定义与初始化,下列哪一项是错误的() A.int arr[5] = {1,2,3,4,5}; B.int arr[] = {1,2,3,4,5}; C.int arr[5] = {1,2,3}; D.int arr[5] = {1,2,3,4,5,6}; 2、在定义数组int arr[10]后,下列选项中对arr的引用正确的是() A.arr[10] B.arr[6.3] C.arr(6) D.arr[0] 3、在C语言中,引用数组元素时,其数组下标的数据类型允许是() A.整型常量 B.整型表达式 C.整型常量或整型表达式 D.任何类型的表达式 4、若int arr[5] = {1,2,3}; 则arr[2]的值为() A.1 B.2 C.3 D.null 5、在执行int arr[][3] = {1,2,3,4,5,6}:语句后,arr[1][0]的值为() A.4 B.1 C.2 D.5 6、关于二维数组,下列选项能正确定义并赋初值的是() A.int n = 5,b[n][n]; B.int a[1][2] = {{1},{3}}; C.int c[2][] = {{1,2},{3,4}}; D.int a[3][2] = {{1,2},{3,4}}; 7、阅读下列程序段: char s[18] = "a book!"; printf("%.4s\n", s); 其输出结果为() A.a book! B.a book C.a bo D.a 8、阅读下列程序: int a[4][4] = { { 1, 3, 5, }, { 2, 4, 6 }, { 3, 5, 7 } }; printf("%d%d%d%d\n", a[0][0], a[1][1], a[2][2], a[3][3]);

计算机二级C语言章节练习题及答案(一)

1.1 程序和程序设计 1[单选题] 数据库概念设计的过程中,以下各项中不属于视图设计设计次序的是( )。 A.自顶向下 B.由整体到个体 C.由内向外 D.由底向上 参考答案:B 参考解析:数据库概念设计的过程中,视图设计一般有三种设计次序,它们是:自顶向下。这种方法是先从抽象级别高且普遍性强的对象开始逐步细化、具体化与特殊化。 由底向上。这种设计方法是先从具体的对象开始,逐步抽象,普遍化与一般化,最后形成一个完整的视图设计。由内向外。这种设计方法是先从最基本与最明显的对象着手逐步扩充至非基本、不明显的其他对象。 2[单选题] 关系数据库管理系统能实现的专门关系运算包括( )。 A.选择、投影、连接 B.排序、查找、统计 C.关联、更新、排序 D.显示、打印、制表 参考答案:A 参考解析:关系数据库管理系统能实现的专门关系运算,包括选择运算、投影运算、连接运算。 3[单选题] 关系表中的每一横行称为一个( )。 A.字段

B.元组 C.行 D.码 参考答案:B 参考解析:在关系数据库中,关系模型采用二维表来表示,简称“表”。二维表由表框架及表元组组成。在表框架中,按行可以存放数据,每行数据称为元组。本题答案是B)。 4[单选题] 下列叙述中正确的是( )。 A.数据库不需要操作系统的支持 B.数据库设计是指设计数据库管理系统 C.数据库是存储在计算机存储设备中的、结构化的相关数据的集合 D.数据库系统中,数据的物理结构必须与逻辑结构一致 参考答案:C 参考解析:数据库是存储在计算机存储设备中的、结构化的相关数据的集合。数据库中的数据不只是面向某一项特定的应用,而是面向多种应用,可以被多个用户、多个应用程序共享,不具有独立的系统。设计数据库的目的实质上是设计出满足实际应用需求的实际关系模型。数据库技术的主要目的是有效地管理和存取大量的数据资源,包括:提高数据的共享性,使多个用户能够同时访问数据库中的数据;减小数据的冗余,以提高数据的一致性和完整性;提供数据与应用程序的独立性,从而减少应用程序的开发和维护代价。本题答案为c)。 5[单选题] 数据流图由一些特定的图符构成。下列图符名标识的图符不属于数据流图合法图符的是( )。 A.加工 B.控制流 C.数据存储

C语言程序设计教程第一章练习题题目

单选题 1、下列语言中不属于计算机语言的三大类的是(C)。 A.机器语言 B.汇编语言 C.脚本语言 D.高级语言 2、下列说法中不正确的是(C) A.计算机语言大致可分为三大类,即机器语言、汇编语言和高级语言 B.C语言是一种通用的、过程式的编程语言,具有高效、灵活、可移植等优点 C.C语言属于汇编语言 D.高级语言比汇编语言更贴近于人类使用的语言,易于理解、记忆和使用 3、以下开发工具中不属于主流的开发工具的是(B) A.Visual Studio B.Xcode C.Code::Block D.Eclipse 4、下列选项是对主流开发工具的介绍,其中错误的是(B) A.Visual Studio支持C/C++、C#、F#、VB等多种程序语言的开发和测试 B.Code::Block是一个免费的跨平台IDE,支持C、C++和Fortan程序的开发 C.Eclipse是一种被广泛使用的免费跨平台IDE,最初由IBM公司开发 D.Vim是一款功能非常强大的IDE ( 和其他IDE不同的是,Vim本身并不是一个用于开发计算机程序的IDE,而是一款功能非常强大的文本编辑器,它是UNIX系统上Vi编辑器的升级版。) 5、下列选项中,不属于开发一个C语言应用程序的具体实现步骤的是(A) A.启动开发工具 B.添加源文件 C.编写代码 D.运行程序 6、下列选项中,关于main()函数叙述不正确的是(C) A.一个完整的C语言程序中,有且只能有一个main()函数 B.main()函数是程序的主入口,程序总是从main()函数开始执行 C.如果没有声明main()函数,程序将从第1行开始执行 D.main()函数可以有返回值,也可以没有返回值 7、下面程序中,合法的选项是(D) A.#includeint main() { printf("hello world\n"); return 0; } B.#includeint man() { printf("hello world\n"); return 0; } C.#includeint main() { printf("hello world\n") return 0; } D.#includeint main() { print("hello world\n"); return 0; } 8、下面程序中,运行结果为“1,2”的是(A) A.#includeint main() { int a = 1; int b = 2; printf("%d %d\n",a,b); return 0; } B.#includeint main() { int a = 1; int b = 2; printf("%d,"a); printf("%d\n",b); return 0; } C.#includeint main() { int a = 1, b = 2; printf("%d,,%d\n",a,b); return 0; }

c语言第1、2章练习题答案

第1、2章练习题 1.以下叙述正确的是()。B A)C语言程序是由过程和函数组成的B)C语言函数可以嵌套调用,例如fun(fun(x)) C)C语言函数不可以单独编译D)C语言除了main函数外,其他函数不可以作为单独文件形式存在 2.以下叙述正确的是()。C A)C程序的基本组成单位是语句B)C程序中的每一行只能写一条语句 C)简单的C语句必须以分号结束D)C语句必须在一行内写完 3.以下叙述中正确的是()。C A)C程序中的注释只能出现在程序的开始位置和语句的后面 B)C程序书写格式严格,要求一行内只能写一条语句 C)C程序书写格式自由,一条语句可以写在多行上 D)用C语言编写的程序只能放在一个程序文件中 4.下列叙述中错误的是()。A A)一个C语言程序只能实现一种算法B)C语言程序可以由多个程序文件组成 C)C语言程序可以由一个或多个函数组成D)一个C函数可以单独作为一个C程序文件存在5.以下叙述中正确的是()。C 页脚内容1

A)C语言程序将从源程序中的第一个函数开始执行 B)可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行C)C语言规定必须用main作为主函数名,程序从此开始执行,在此结束 D)main可作为用户标识符,用以命名任意一个函数作为主函数 6.对于一个正常运行的C程序,以下叙述正确的是()。A A)程序的执行总是从main函数开始,在main函数中结束 B)程序的执行总是从程序的第一个函数开始,在main函数结束 C)程序的执行总是从main函数开始,在程序的最后一个函数中结束 D)程序的执行总是从程序的第一个函数开始,在程序的最后一个函数中结束7.下列叙述正确的是()。D A)每个C语言程序文件中都必须有一个main( )函数 B)在C语言程序中main( )函数的位置是固定的 C)C语言程序中所有函数之间都可以相互调用,与函数所在的位置无关 D)在C语言程序的函数中不能定义另一个函数 8.下列叙述中错误的是()。B A)C程序在运行过程中所有计算机都以二进制方式进行 B)C程序在运行过程中所有计算机都以十进制方式进行 页脚内容2

C语言第8章习题及答案

第八章 用一个数组存放图书信息,每本书是一个结构,包括下列几项信息:书名、作者、出版年月、借出否,试写出描述这些信息的说明,并编写一个程序,读入若干本书的信息,然后打印出以上信息。#include <> typedef struct { char Name[20]; char Author[20]; int Date_Year; int Date_Month; int loaned; } BOOK; #define N 10 void main() { BOOK books[N]; int i; for (i=0;i

} for (i=0;i #include <> typedef struct { char s[20]; int count; } WORD; #define N 100 WORD words[N]={0}; int word_count=0; int IsSeparator(char c) { if ( 'A'<=c && c<='Z' || 'a'<=c && c<='z' || '0'<=c && c<='9' || '_'==c || '-'==c)

c语言循环章节练习题(部分答案)

循环章节练习题 一、选择题 1.设有程序段 int k=10; while (k=0) k=k-1; 则下面描述中正确的是_______. A. while循环执行10次。 B.循环是无限循环。 C.循环体语句一次也不执行。 D.循环体语句执行一次。 2.设有以下程序段: int x=0,s=0; while(!x!=0) s+=++x; printf(“%d”,s); 则________。 A. 运行程序段后输出0。 B. 运行程序段后输出1。 C.程序段中的控制表达式是非法的。 D.程序段执行无限次。 3.下面程序段的运行结果是________。 x=y=0; while(x<15) {y++;x+=++y;} printf(“%d,%d”,y,x); A.20,7 B. 6,12 C. 20,8 D. 8,20 3.下面程序的功能是从键盘输入的一组字符中统计出大写字母的个数m和小写字母的个数n,并输出m、n 中的较大者,请选择填空。 #incldue main() { int m=0,n=0; char c; while( (___1____)!=’\n’) { if(c>=’A’&&’Z’) m++; if(c>=’a’&&’z’) n++;} printf(“%d\n”,m main() { int a,max=0; scanf(“%d”,&a); while(_______) { if(max main() { int num=0; while(num<=2) { num++; printf(“%d\n”,num);} } A.1 B.1 C.1 D.1 2 2 2 3 3 4 6.若运行以下程序时,从键盘输入2473↙,则下面程序的运行结果是_______。 #include main() { int c; while((c=getchar()!=’\n’)) switch(c-‘2’) { case 0: case 1: putchar(c+4); case 2: putchar(c+4);break; case 3: putchar(c+3); defauit: putchar(c+2); break;} printf(“\n”); } A.668977 B.668966 C.66778777 D.6688766 7.C语言中while 和do—while循环的主要区别是_______。 A.do—while的循环体至少无条件执行一次 B.while的循环控制条件比do—while的循环控制条件严格。 C. do—while允许从外部转到循环体内。 D. do—while的循环体不能是复合语句。

C语言 第1-9章基本概念练习题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、.c B、.obj C、.exe D、.cpp 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、已有定义int a=6; 则执行语句a+=a-=a*a;后,a的值为( )。D A、36 B、0 C、-24 D、-60 12、若有以下程序段,其输出结果是( )。B int a = 0, b = 0, c = 0; c = ( a -= a - 5), (a -= 3,++b); printf(“%d,%d,%d\n”,a, b, c); A、0,0,-10 B、2,1,5 C、-10,-3,-10 D、3,3,-10 13、有以下定义:int i = 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、5 B、14 C、8 D、输出项不合法,无正常输出 15、已有定义:char c;执行赋值语句c=('z'-'a')/2+'A';后,变量c的值为( )。A

C语言各章节练习题(含答案)

一、C语言概述练习题 选择1.一个C程序的执行是从。 本程序的main函数开始,到main函数结束 B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C) 本程序文件的第一个函数开始,到本程序main函数结束 D) 本程序的main函数开始,到本程序文件的最后一个函数结束 2.以下叙述不正确的是。 A) 一个C源程序必须包含一个main函数 B)一个C源程序可由一个或多个函数组成 C) C程序的基本组成单位是函数在C程序中,注释说明只能位于一条语句的后面 3.以下叙述正确的是。 A) 在对一个C程序进行编译的过程中,可发现注释中的拼写错误 B) 在C程序中,main函数必须位于程序的最前面 语言本身没有输入输出语句 D) C程序的每行中只能写一条语句 4.一个C语言程序是由。 A)一个主程序和若干个子程序组成函数组成 C) 若干过程组成 D) 若干子程序组成 二、数据类型、运算符与表达式 选择. 1.若x、i、j、k都是int型变量,则计算下面表达式后,x的值为。 x=(i=4,j=16,k=32) A) 4 B) 16 D) 52 2.下列四组选项中,均不是C语言关键字的选项是。 C) include case scanf D) while go pow 3.下列四组选项中,均是不合法的用户标识符的选项是。 int C) float la0 _A D) -123 abc TEMP 4.下列四组选项中,均是合法转义字符的选项是。 \”’‘\\’‘\n’ B)‘\’‘\017’‘\”’ C)‘\018’‘\f’‘xab’ D)‘\\0’‘\101’‘xlf’ 5.下面不正确的字符常量是。 “c”B) ‘\\’’C) ‘’D) ‘K’ 6.以下叙述不正确的是。 A) 在C程序中,逗号运算符的优先级最低 B) 在C程序中,MAX和max是两个不同的变量 C) 若a和b类型相同,在计算了赋值表达式a=b后,b中的值将放入a中,而b中的值不变 当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值 7.以下叙述正确的是。A) 在C若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数 C) 在C程序中,%是只能用于整数运算的运算符(字符型也可以) D) 在C程序中,无论是整数还是实数,都能被准确无误地表示 8.已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2=‘A’+‘6’-‘3’后,c2中的值为。 B) 68 C) 不确定的值 D) C

C语言数组练习及答案

第四部分数组 4.1 选择题 1. 以下关于数组的描述正确的是(c )。 A. 数组的大小是固定的,但可以有不同的类型的数组元素 B. 数组的大小是可变的,但所有数组元素的类型必须相同 C. 数组的大小是固定的,所有数组元素的类型必须相同 D. 数组的大小是可变的,可以有不同的类型的数组元素 2. 以下对一维整型数组a的正确说明是(d )。 A.int a(10); B. int n=10,a[n]; C.int n; D. #define SIZE 10 scanf("%d",&n); int a[SIZE]; int a[n]; 3. 在C语言中,引用数组元素时,其数组下标的数据类型允许是(c )。 A. 整型常量 B. 整型表达式 C. 整型常量或整型表达式 D. 任何类型的表达式 4. 以下对一维数组m进行正确初始化的是(c )。 A. int m[10]=(0,0,0,0) ; B. int m[10]={ }; C. int m[ ]={0}; D. int m[10]={10*2}; 5. 若有定义:int bb[ 8];。则以下表达式中不能代表数组元bb[1]的地址的是(c )。 A. &bb[0]+1 B. &bb[1] C. &bb[0]++ D. bb+1 6. 假定int类型变量占用两个字节,其有定义:int x[10]={0,2,4};,则数组x在内存中所占字节数是(d )。 A. 3 B. 6 C. 10 D. 20 7. 若有以下说明: int a[12]={1,2,3,4,5,6,7,8,9,10,11,12}; char c='a',d,g; 则数值为4的表达式是(d ) A. a[g-c] B. a[4] C. a['d'-'c'] D. a['d'-c] 8. 以下程序段给数组所有的元素输入数据,请选择正确答案填入(a )。 #include main() { int a[10],i=0; while(i<10) scanf("%d",________ ); ┇ }

c语言章节作业练习题

c语言章节作业练习题 选择1.一个C程序的执行是从 A 。 本程序的main函数开始,到main函数结束 B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C) 本程序文件的第一个函数开始,到本程序main函数结束 D) 本程序的main函数开始,到本程序文件的最后一个函数结束 2.以下叙述不正确的是 D 。 A) 一个C源程序必须包含一个main函数 B)一个C源程序可由一个或多个函数组成 C) C程序的基本组成单位是函数在C程序中,注释说明只能位于一条语句的后面 3.以下叙述正确的是C。 A) 在对一个C程序进行编译的过程中,可发现注释中的拼写错误 B) 在C程序中,main 函数必须位于程序的最前面 语言本身没有输入输出语句D) C程序的每行中只能写一条语句 4.一个C语言程序是由 B 。 A)一个主程序和若干个子程序组成

函数组成C) 若干过程组成 D) 若干子程序组成 选择. 1.若x、i、j、k都是int型变量,则计算下面表达式后,x的值为 C. x= A)B) 16D)2 2.下列四组选项中,均不是 C语言关键字的选项是A。 C) include case scanf D) whilego pow 3. 下列四组选项中,均是不合法的用户标识符的选项是B 。.下列四组选项中,均是合法转义字符的选项是A。 \”’‘\\’‘\n’ B)‘\’‘\017’‘\”’ C)‘\018’‘\f’‘xab’ D)‘\\0’‘\101’‘xlf’ 5.下面不正确的字符常量是 A 。 “c” B) ‘\\’’ C) ‘’ D) ‘K’ 6.以下叙述不正确的是 D 。 A) 在C程序中,逗号运算符的优先级最低 B) 在C 程序中,MAX和max是两个不同的变量 C) 若a和b类型相同,在计算了赋值表达式a=b后,b中的值将放入a中,而b中的值不变 当从键盘输入数据时,对于整型变量只能输入整型数

C语言全部章节习题集及答案

《C语言程序设计》 1 C语言概述 一、单项选择题 第一章 C语言概述 一、选择题: 1、一个C程序的执行是从( A )。 A本程序的main函数开始,到main函数结束 B本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C本程序的main函数开始,到本程序文件的最后一个函数结束 D本程序文件的第一个函数开始,到本程序main函数结束 2、在 C 语言中,每个语句必须以( D )结束。 A. 回车符 B. 冒号 C. 逗号 D. 分号 3、C 语言规定:在一个源程序中,main函数的位置( C )。 A. 必须在最开始 B. 必须在系统调用的库函数的后面 C. 可以任意 D. 必须在最后 4、一个C 语言程序是由( B )。 A. 一个主程序和若干子程序组成 B. 函数组成 C. 若干过程组成 D. 若干子程序组成 5、下列说法中错误的是( D )。 A. 主函数可以分为两个部分:主函数说明部分和主函数体 B. 主函数可以调用任何非主函数的其他函数 C. 任何非主函数可以调用其他任何非主函数 D. 程序可以从任何非主函数开始执行 6、用 C 语言编写的源文件经过编译,若没有产生编译错误,则系统将( C )。 A. 生成可执行目标文件 B. 生成目标文件 C. 输出运行结果 D. 自动保存源文件 二、填空题: 1、C 语言只有32个关键字和9种控制语句。 2、每个源程序有且只有一个 main 函数,系统总是从该函数开始执行C语言程序。 3、C 语言程序的注释可以出现在程序中的任何地方,它总是以 \* 符号作为开始标记,以 */ 符号作为结束标记。 4、C 语言中,输入操作是由库函数scanf完成的,输出操作是由库函 数printf完成的。 5、系统默认的 C 语言源程序文件的扩展名是 .c,经过编译后生成的目标文件的扩展名是 .obj,经过连接后生成的可执行文件的扩展名是.exe 。 6、C 语言的标识符只能由字母、数字和下划线三种字符组成。 第三章数据类型、运算符和表达式

C语言基础练习题含复习资料

目录 第1-3章C语言基础知识习题 (2) 1 选择题 (2) 2 填空题 (7) 3 答案及部分解析 (9) 第4章选择结构习题 (11) 1 选择题 (11) 2 填空题 (17) 3 答案及部分解析 (23) 第5章循环结构习题 (26) 1 选择题 (26) 2 填空题: (32) 3 答案及部分解题分析 (39) 第6章数组习题 (41) 1. 单项选择题 (41) 2. 填空题 (44) 3. 判断题 (45) 4. 程序填空题 (45) 5. 阅读程序,分析程序的功能。 (49) 第7章函数习题 (55) 1. 单项选择题 (55) 2. 填空题 (56) 3. 判断题 (57) 4. 程序填空题 (58) 5. 写出下列程序运行结果 (59) 第8章指针习题 (67) 1 选择题 (67) 2 填空题 (69)

第1-3章C语言基础知识习题 1 选择题 1. 以下不是C语言的特点的是()。 A、语言简洁紧凑 B、能够编制出功能复杂的程序 C、C语言可以直接对硬件操作 D、C语言移植性好 2.下列字符序列中,不可用作C语言标识符的是()。 A.abc123 B.no.1 C._123_ D._ok 3.正确的C语言标识符是()。 A._buy_2 B.2_buy C.?_buy D.buy? 4. 请选出可用作C语言用户标识符的一组标识符()。 A.void B.a3_b3 C.For D.2a define _123 -abc DO WORD IF Case sizeof 5. 下列符号中,不属于转义字符的是()。 A.\\ B.\0xAA C.\t D.\0 6.不属于C语言关键字的是()。 A.int B.break C.while D.character 7.是C语言提供的合法关键字的是()。 A.Float B.signed C.integer D.Char 8.以下不能定义为用户标示符的是()。 A.scanf B.V oid C._3com_ D.int 9.一个C程序是由()。 A.一个主程序和若干子程序组成 B.一个或多个函数组成 C.若干过程组成 D.若干子程序组成 10. C语言程序的基本单位是()。 A.程序行B.语句C.函数D.字符 11.下列说法中,错误的是()。 A.每个语句必须独占一行,语句的最后可以是一个分号,也可以是一个回车换行符号B.每个函数都有一个函数头和一个函数体,主函数也不例外 C.主函数只能调用用户函数或系统函数,用户函数可以相互调用 D.程序是由若干个函数组成的,但是必须有、而且只能有一个主函数 12.以下说法中正确的是()。 A.C语言程序总是从第一个定义的函数开始执行 B.在C语言程序中,要调用的函数必须在main( )函数中定义 C.C语言程序总是从main( )函数开始执行

C语言基础练习题含答案

第一章C语言基础知识 1.1 选择题 1. 以下不是C语言的特点的是()。 A、语言简洁紧凑 B、能够编制出功能复杂的程序 C、C语言可以直接对硬件操作 D、C语言移植性好 2.下列字符序列中,不可用作C语言标识符的是()。 A.abc123 B.no.1 C._123_ D.-_ok 3.正确的C语言标识符是()。 A._buy_2 B.2_buy C._buy D.buy 4. 请选出可用作C语言用户标识符的一组标识符()。 A.void B.a3_b3C.For D.2a define _123 -abc DO WORD IF Case sizeof 5.下列符号中,不属于转义字符的是()。 A.\\ B.\0xAA C.\t D.\0 6.不属于C语言关键字的是()。 A.int B.break C.while D.character 7.是C语言提供的合法关键字的是()。 A.Float B.signed C.integer D.Char 8.以下不能定义为用户标示符的是()。

A.scanf B.V oid C._3com_ D.int 9.一个C程序是由()。 A.一个主程序和若干子程序组成 B.一个或多个函数组成 C.若干过程组成 D.若干子程序组成 10. C语言程序的基本单位是()。 A.程序行B.语句C.函数D.字符 11.下列说法中,错误的是()。 A.每个语句必须独占一行,语句的最后可以是一个分号,也可以是一个回车换行符号 B.每个函数都有一个函数头和一个函数体,主函数也不例外C.主函数只能调用用户函数或系统函数,用户函数可以相互调用 D.程序是由若干个函数组成的,但是必须有、而且只能有一个主函数 12.以下说法中正确的是()。 A.C语言程序总是从第一个定义的函数开始执行 B.在C语言程序中,要调用的函数必须在main( )函数中定义 C.C语言程序总是从main( )函数开始执行 D.C语言程序中的main( )函数必须放在程序的开始部分13. C编译程序是()。 A.C程序的机器语言版本 B.一组机器语言指令 C.将C源程序编译成目标程序 D.由制造厂家提供的一套应用软件

C语言章节练习题

C 程序设计基本概念 1.编写C程序一般需经过的几个步骤依次是 A )编辑、调试、编译、连接 B)编辑、编译、连接、运行 C)编译、调试、编辑、连接 D ) 编译、编辑、连接、运行 2.以下叙述中正确的是 A)C语言比其他语言高级 B)C语言可以不用编译就能被计算机识别执行 C)C语言以接近英语国家的自然语言和数学语言作为语言的表达形式 D) C 语言出现的最晚,具有其他语言的一切优点 3.C语言中用于结构化程序设计的3种基本结构是 A )顺序结构、选择结构、循环结构 B ) if,switch,break C ) for,while,do-while D ) if,for,continue 4.以下叙述中正确的是 A)构成C程序的基本单位是函数 B)可以在一个函数中定义另一个函数 C)main ()函数必须放在其他函数之前 D)所有被调用的函数一定要在调用之前进行定义 5.C语言规定,在一个源程序中,main函数的位置 A )必须在最开始 B)必须在系统调用的库函数的后面 C)可以任意 D )必须在最后 6.以下叙述不正确的是 A)一个C源程序可由一个或多个函数组成 B)一个C程序必须包含一个main函数 C)C程序的基本组成单位是函数 D )在。程序中,注释说明只能位于一条语句的后面 7.下列选项中不是结构化程序基本结构的是 A )顺序结构 B )跳转分支结构 C )选择结构 D )循环结构

基本数据类型、常量和变量、操作符 1.下列可用于C语言用户标识符的一组是 A ) void, define, WORD B)a3_b3, _123,Car C)For, -abc, IF Case D)2a, DO, sizeof 2.C语言中基本数据类型包括 A)整型、实型、逻辑型 B)整型、实型、字符型 C)整型、字符型、逻辑型 D)字符型、实型、逻辑型 3.下面哪些不是常量 A)067 B) 'x' C) abc D) ”abc”E) 6.12 F) max G) 0xab H) 3e5 I) 65535 J) '\t' 4.C语言中,常量23和3.14的数据类型为 A ) int 和float B)long 和float C)int和double D)int和long double 5.下面四个选项中,均是不正确的8进制数或16进制数的选项是 A) 016 0x8f 018 B) 0abc 017 0xa C) 010 -0x11 0x16 D) 0a12 7ff -123 6. 下面四个选项中,均是合法整型常量的选项是 A ) 160 -0xffff 011 C) -01 986012 0668 B) -0xcdf D ) -0x48a 01a 2e5 0xe 0x 7. 下列数据中,不合法的C语言实型数据的是 A)0.123 B ) 123e3 C) 2.1e3.5 D) 789.0 8.若变量已正确定义并赋值,以下符合C语言语法的表达式是 A ) a:=b+1 B ) a=b=c+2 C) int 18.5%3 D ) a=a+7=c+b 9.C语言中运算对象必须是整型的运算符是 A ) %= B ) / C ) = D ) <= 10.若变量a,i已正确定义,且i已正确赋值,合法的语句是 A ) a==1 B ) ++i ; C) a=a++=5; D ) a=int( i ) ; 11.若有定义:int a=7;float x=2.5,y=4.7;则表达式x+a%3* ( int) ( x+y) %2/4 的值是 A) 2.500000 B)2.750000 C) 3.500000 D )0.000000 12.若x,i,j和k都是int型变量,则计算表达式x= ( i=4,j=16,k=32 )后,x的值为 A) 4 B)16 C)32 D)52 13.设有int x=11 ;则表达式(x++*1/3 )的值是 A) 3 B)4 C)11

c语言第1、2章练习题答案

第1、2xx 练习题 1.以下叙述正确的是()。B A) C语言程序是由过程和函数组成的B) C语言函数可以嵌套调用,例如 fun(fun(x))C) C语言函数不可以单独编译D) C语言除了main函数外,其他函数不可以作为单独文件形式存在2.以下叙述正确的是()。C A) C程序的基本组成单位是语句B)C程序中的每一行只能写一条语句C) 简单的C语句必须以分号结束D) C语句必须在一行内写完 3.以下叙述中正确的是()。C A) C程序中的注释只能出现在程序的开始位置和语句的后面 B) C程序书写格式严格,要求一行内只能写一条语句 C) C程序书写格式自由,一条语句可以写在多行上 D) 用C语言编写的程序只能放在一个程序文件中 4.下列叙述中错误的是()。A A) —个C语言程序只能实现一种算法B) C语言程序可以由多个程序文件组成C) C语言程序可以由一个或多个函数组成D) —个C函数可以单独作为一个C 程序文件存在5.以下叙述中正确的是()。C A) C语言程序将从源程序中的第一个函数开始执行 B) 可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行 C) C语言规定必须用main作为主函数名,程序从此开始执行,在此结束 D) main 可作为用户标识符,用以命名任意一个函数作为主函数 6.对于一个正常运行的C程序,以下叙述正确的是()。A A) 程序的执行总是从main函数开始,在main函数中结束

B)程序的执行总是从程序的第一个函数开始,在main函数结束 C)程序的执行总是从main函数开始,在程序的最后一个函数中结束 D)程序的执行总是从程序的第一个函数开始,在程序的最后一个函数中结束 7.下列叙述正确的是()。D A)每个C语言程序文件中都必须有一个main()函数 B)在C语言程序中main()函数的位置是固定的 C)C语言程序中所有函数之间都可以相互调用,与函数所在的位置无关 D)在C语言程序的函数中不能定义另一个函数 8.下列叙述中错误的是()。B A)C程序在运行过程中所有计算机都以二进制方式进行 B)C程序在运行过程中所有计算机都以十进制方式进行 C)所有C程序都需要在链接无误后才能运行 D)C程序中整型变量只能存放整数,实型变量只能存放浮点数 9.计算机能直接执行的程序是()。D A)源程序B)目标程序C)汇编程序D)可执行程序10. C语言源程序的后缀名是()。B A).exeB).cC).objD).cp 11 .下列叙述中错误的是()。D A)计算机不能直接执行用C语言编写的源程序 B)C程序经C编译器编译后,生成后缀为.obj的文件,这是一个二进制文 C)后缀为.obj的文件,经连接后生成后缀为.exe的文件,这是一个二进制文件

(完整版)C语言各章节复习题(带答案)

一、C语言概述练习题 选择 1.一个C程序的执行是从。 A) 本程序的main函数开始,到main函数结束 B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C) 本程序文件的第一个函数开始,到本程序main函数结束 D) 本程序的main函数开始,到本程序文件的最后一个函数结束 2.以下叙述不正确的是。 A) 一个C源程序必须包含一个main函数 B)一个C源程序可由一个或多个函数组成 C) C程序的基本组成单位是函数 D) 在C程序中,注释说明只能位于一条语句的后面 3.以下叙述正确的是。 A) 在对一个C程序进行编译的过程中,可发现注释中的拼写错误 B) 在C程序中,main函数必须位于程序的最前面 C) C语言本身没有输入输出语句 D) C程序的每行中只能写一条语句 4.一个C语言程序是由。 A)一个主程序和若干个子程序组成 B) 函数组成 C) 若干过程组成 D) 若干子程序组成 5.计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的是。 A) C语言程序仅可以编译执行B) C语言程序仅可以解释执行C) C语言程序既可以编译执行又可以解释执行D) 以上说法都不对6.以下叙述中错误的是。

A) C语言的可执行程序是由一系列机器指令构成的B)用C语言编写的源程序不能直接在计算机上运行 C)通过编译得到的二进制目标程序需要连接才可以运行 D)在没有安装C语言集成开发环境的机器上不能运行C源程序生成的.exe 文件 7.以下叙述正确的是。 A) C语言程序是由过程和函数组成的B) C语言函数可以嵌套调用,例如:fun(fun(x)) C) C语言函数不可以单独编译 D) C语言中除了main函数,其他函数不可作为单独文件形式存在 二、数据类型、运算符与表达式 选择. 1.若x、i、j、k都是int型变量,则计算下面表达式后,x的值为 x=(i=4,j=16,k=32) A) 4 B) 16 C) 32D) 52 2.下列四组选项中,均不是C语言关键字的选项是。 A)define IF type B)getc char printf C)include case scanf D)while go pow 3.下列四组选项中,均是不合法的用户标识符的选项是。A) W P_0 do B) b-a goto int C) float la0 _A D) -123 abc TEMP 4.下列四组选项中,均是合法转义字符的选项是。 A)‘\”’‘\\’‘\n’ B)‘\’‘\017’‘\”’ C)‘\018’‘\f’‘xab’D)‘\\0’‘\101’‘xlf’ 5.下面不正确的字符常量是。

相关文档
相关文档 最新文档