C语言习题全第二期.docx

上传人:b****1 文档编号:654655 上传时间:2023-04-29 格式:DOCX 页数:77 大小:48.07KB
下载 相关 举报
C语言习题全第二期.docx_第1页
第1页 / 共77页
C语言习题全第二期.docx_第2页
第2页 / 共77页
C语言习题全第二期.docx_第3页
第3页 / 共77页
C语言习题全第二期.docx_第4页
第4页 / 共77页
C语言习题全第二期.docx_第5页
第5页 / 共77页
C语言习题全第二期.docx_第6页
第6页 / 共77页
C语言习题全第二期.docx_第7页
第7页 / 共77页
C语言习题全第二期.docx_第8页
第8页 / 共77页
C语言习题全第二期.docx_第9页
第9页 / 共77页
C语言习题全第二期.docx_第10页
第10页 / 共77页
C语言习题全第二期.docx_第11页
第11页 / 共77页
C语言习题全第二期.docx_第12页
第12页 / 共77页
C语言习题全第二期.docx_第13页
第13页 / 共77页
C语言习题全第二期.docx_第14页
第14页 / 共77页
C语言习题全第二期.docx_第15页
第15页 / 共77页
C语言习题全第二期.docx_第16页
第16页 / 共77页
C语言习题全第二期.docx_第17页
第17页 / 共77页
C语言习题全第二期.docx_第18页
第18页 / 共77页
C语言习题全第二期.docx_第19页
第19页 / 共77页
C语言习题全第二期.docx_第20页
第20页 / 共77页
亲,该文档总共77页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

C语言习题全第二期.docx

《C语言习题全第二期.docx》由会员分享,可在线阅读,更多相关《C语言习题全第二期.docx(77页珍藏版)》请在冰点文库上搜索。

C语言习题全第二期.docx

C语言习题全第二期

C语言章节复习题

目录

C语言章节复习题1

第一章C语言概述1

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

第四章顺序结构程序设计4

第五章选择结构程序设计8

第六章循环结构程序设计14

第七章  数组习题21

第八章  函数习题28

第九章    预处理34

第十章    指针36

第十一章    结构体与共用体38

第十二章     位运算

(1)39

第一章C语言概述

一、选择题:

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

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

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

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

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

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

A.  回车符    B.  冒号    C.  逗号    D.  分号

3、C语言规定:

在一个源程序中,main函数的位置()。

A.必须在最开始        B.必须在系统调用的库函数的后面

C.可以任意            D.  必须在最后

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

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

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

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

A.  主函数可以分为两个部分:

主函数说明部分和主函数体

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

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

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

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

A.  生成可执行目标文件    B.  生成目标文件

C.  输出运行结果        D.  自动保存源文件

二、填空题:

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

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

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

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

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

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

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

一、选择题:

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

A.160.    B.0.12    C.2e4.2    D.  0.0

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

A.'a'      B.'\x41'    C.'\101'    D."a"

3、在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、表达式!

x||a==b等效于(  )。

A.!

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

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

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

x)||(a==b)

7、设整型变量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

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

A.3    B.0    C.9    D.-12

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

A.*    B.!

=    C.+    D.=  

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

A.6    B.12    C.15    D.  表达式出错

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

A.1    B.2    C.2.0    D.2.5

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

a

a:

c

a:

d的结果为()。

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

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

10

A.10

C.a>10&&a<15            D.!

(a<=10)&&!

(a>=15)

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

A.f=3.2,1.0    B.f>0,f<10    C.f=2.0,f>0    D.f=(3.2,1.0)  

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

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

16、已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句

C2=’A’+’6’-‘3’;后c2中的值是()。

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

17、以下用户标识符中,合法的是()。

A.int      B.nit      C.123    D.a+b

18、C语言中,要求运算对象只能为整数的运算符是(  )。

A.%      B./      C.>      D.*

19、若有说明语句:

charc='\72';则变量c在内存占用的字节数是()。

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

20、字符串"ABC"在内存占用的字节数是(  )。

A.3    B.4    C.6    D.8

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

A.chara="3";  B.chara=’3’;    C.chara=%;    D.chara=*;

22、下列不正确的转义字符是()。

A.\\    B.\'    C.074    D.\0

二、填空题:

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

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

3、设c='w',a=1,b=2,d=-5,  则表达式'x'+1>c,'y'!

=c+2,-a-5*b<=d+1,b==a=2的值分别为        、        、        、      。

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

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

=0&&b!

=0,值为  。

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

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

三、编程题:

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

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

 

第四章顺序结构程序设计

基础练习(A)

一、填空题

1、C语句分为五种:

、函数调用语句、、空语句和。

2、一个基本语句的最后一个字符是。

3、复合语句又称分程序,是用括起来的语句。

4、使用C语言库函数时,要用于预编译命令将有关的“头文件”包括到用户源文件中。

5、使用标准输入输出库函数时,程序的开头要有如下预处理命令:

6、{a=3;c+=a-b;}在语法上被认为是条语句。

7、getchar函数的作用是从终端输入个字符。

8、如果从键盘输入字符’a’并按回车键,请写出以下程序运行效果  。

#include

main()

{

putchar(getchar());

} 

9、以下程序的输出结果为 。

main()

{

shorti;

i=-4;

printf(“\ni:

dec=%d,oct=%o,hex=%x,unsigned=%u\n”,i,i,i,i);

}

10、以下程序的输出结果为。

main()

{

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

}

11、以下程序的输出结果为。

main()

{

charc=‘x’;

printf(“c:

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

}

12、已有定义intd=-2;执行以下语句后的输出结果是

printf(“*d

(1)=%d*d

(2)=%3d*d(3)=%-3d*\n”,d,d,d);

printf(“*d(4)=%o*d(5)=%7o*d(6)=%-7o*\n”,d,d,d);

13、以下程序的输出结果为  

main()

{

intx=1,y=2;

printf(“x=%dy=%d*sum*=%d\n”,x,y,x+y);

printf(“10Squaredis:

%d\n”,10*10);

}

14、以下程序的输出结果为  

#include

main()

{

floata=123.456;doubleb=8765.4567;

printf(“

(1)%f\n”,a);

printf(“

(2)%14.3f\n”,a);

printf(“(3)%6.4f\n”,a);

printf(“(4)%lf\n”,b);

printf(“(5)%14.3lf\n”,b);

printf(“(6)%8.4lf\n”,b);

printf(“(7)%.4f\n”,b);

}

二、选择题

1、以下不属于流程控制语句的是()。

A)表达式语句B)选择语句C)循环语句D)转移语句

2、putchar函数可以向终端输出一个()。

A)整型变量表达式值

B)实型变量值

C)字符串

D)字符或字符型变量值

3、getchar函数的参数个数是(    )。

A)1B)0C)2D)任意

4、以下程序的输出结果是(  ) 。

main()

{

printf(“\n*s1=%15s*”,“chinabeijing”);

printf(“\n*s2=%-5s*”,“chi”);

}

A)*s1=chinabeijing*B)*s1=chinabeijing*

*s2=**chi**s2=chi*

C)*s1=*chinabeijing*D)*s1=chinabeijing*

*s2=chi**s2=chi*

5、printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列。

如果字符串长度大于5,则输出按方式(  )。

;如果字符串长度小于5,则输出按方式(   )。

A)从左起输出该字串,右补空格

B)按原字符长从左向右全部输出

C)右对齐输出该字串,左补空格

D)输出错误信息

6、已有定义inta=-2;和输出语句:

printf(“%8lx”,a);以下正确的叙述是(  )。

A)整型变量的输出格式符只有%d一种

B)%x是格式符的一种,它可以适用于任何一种类型的数据

C)%x是格式符的一种,其变量的值按十六进制输出,但%8lx是错误的

D)%8lx不是错误的格式符,其中数字8规定了输出字段的宽度

 

7、以下C程序正确的运行结果是(  )。

main()

{

longy=-43456;

printf(“y=%-8ld\n”,y);

printf(“y=%-08ld\n”,y);

printf(“y=%08ld\n”,y);

printf(“y=%+8ld\n”,y);

}

A)y=-43456B)y=-43456

y=-43456y=-43456

y=-0043456y=-0043456

y=-43456y=+-43456

C)y=-43456D)y=-43456

y=-43456y=-0043456

y=-0043456y=00043456

y=-43456y=+43456

8、以下C程序正确的运行结果是(  )。

main()

{

inty=2456;

printf(“y=%3o\n”,y);

printf(“y=%8o\n”,y);

printf(“y=%#8o\n”,y);

}

A)y=2456B)y=4630

y=2456y=4630

y=########2456y=########4630

C)y=2456D)y=4630

y=2456y=4630

y=02456y=04630

 

基础练习(B)

一、填空题

1、printf函数的作用是向终端若干个任意类型的数据。

2、printf函数中的“格式控制”,包括和两种信息。

3、scanf函数中的“格式控制”后面应当是变量,而不是变量名。

4、在用scanf函数中输入数据时,如果在“格式控制”字符传中除了格式说明以外还有其他字符,则应在对应位置输入与这些字符相同的。

5、在用”%c”格式输入字符时,空格字符和“转义字符”都作为有效字符。

6、在输入数据时,遇以下情况时该数据认为结束:

遇、或按或;按指定的宽度结束;遇非法输入。

7、输入数据时不能规定。

8、如果在%后有一个“*”附加说明符,表示。

二、选择题

1、若inta,b;scanf(“%d%d”,&a,&b);不可以用(  )作为输入的分隔符。

A),B)空格C)回车D)TAB键

2、若x,y均定义为int型,z定义为double型,以下不合法的scanf函数调用语句是  ( )。

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

B)scanf(“%2d*%d%lf”,&x,&y,&z);

C)scanf(“%x%*d%o”,&x,&y);

D)scanf(“%x%o%6.2f”,&x,&y,&z);

3、已有如下定义和输入语句,若要求a1,a2,c1,c2的值分别为10,20,A和B,当从第一列开始输入数据时,正确的数据输入方式是(  )。

inta1,a2;charc1,c2;

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

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

A)1020ABB)1020

AB

C)1020ABD)1020AB

4、阅读以下程序,当输入数据的形式为 25,13,10 正确的输出结果为(  )。

main()

{

intx,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)不确定值

5、已有程序段和输入数据的形式如下,程序中输入语句的正确形式应当为( )。

main()

{

inta;floatf;

printf(“\nInputnumber:

”);

输入语句

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

}

Inputnumber:

4.52

A)scanf(“%d,%f”,&a,&f);

B)scanf(“%f,%d”,&f,&a);

C)scanf(“%d%f”,&a,&f);

D)scanf(“%f%d”,&f,&a);

6、根据定义和数据的输入方式,输入语句的正确形式为(  )。

已有定义:

floatf1,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);

7、阅读以下程序,若运行结果为如下形式,输入输出语句的正确内容是(  )。

main()

{

intx;floaty;

printf(“enterx,y:

”);

输入语句

输出语句

}

输入形式enterx,y:

23.4

输出形式x+y=5.40

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

printf(“\nx+y=%4.2f”,x+y);

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

printf(“\nx+y=%4.2f”,x+y);

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

printf(“\nx+y=%6.1f”,x+y);

D)scanf(“%d%3.1f”,&x,&y);

printf(“\nx+y=%4.2f”,x+y);

8、以下说法正确的是(  )。

A)输入项可以为一实型常量,如scanf(“%f”,3.5);

B)只有格式控制,没有输入项,也能进行正确输入,如scanf(“a=%d,b=%d”);

C)当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf(“%4.2f”,&f);

D)当输入数据时,必须指明变量的地址,如scanf(“%f”,&f);

9、有输入语句:

scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);为使变量a的值为1,b为3,c为2,从键盘输入数据的正确形式应当是(   )。

A)132<回车>

B)1,3,2<回车>

C)a=1b=3c=2<回车>

D)a=1,b=3,c=2<回车>

}

10、已有如下定义和输入语句,若要求a1,a2,c1,c2的值分别为10,20,A和B,当从第一列开始输入数据时,正确的数据输入方式是(  )。

inta1,a2;charc1,c2;

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

A)10A20BB)10A20B

C)10A20BD)10A20B

11、已有定义intx;floaty;且执行scanf(“%3d%f”,&x,&y);语句,若从第一列开始输入数据12345678<回车>,则x的值为(),y的值为()。

(1)A)12345B)123C)45D)345

(2)A)无定值B)45.000000C)678.000000D)123.000000

三、编程:

1、编写程序,从键盘上输入三个数分别给变量a、b、c,求它们的平均值。

并按如下形式输出:

averageof**、**and**is**.**。

其中,三个**依次表示a、b、c的值,**.**表示a,b,c的平均值。

2、输入9时23分并把它化成分钟后输出。

(从零点整开始计算)。

第五章选择结构程序设计

基础练习(A)

一、填空题

1、关系表达式的运算结果是值。

C语言没有逻辑型数据,以代表“真”,以代表“假”。

2、逻辑运算符!

是运算符,其结合性是由。

3、C语言提供的三种逻辑运算符是、、。

其中优先级最高的为,优先级最低的为。

4、逻辑运算符两侧的运算对象不但可以是0和1,或者是0和非0的整数,也可以是任何类型的数据。

系统最终以和来判定它们属于“真”或“假”。

5、设y为int型变量,请写出描述“y是偶数”的表达式 。

6、设x,y,z均为int型变量,请写出描述“x或y中有一个小于z”的表达式 。

7、条件“2

8、判断char型变量ch是否为大写字母的正确表达式是。

9、当a=3,b=2,c=1时,表达式f=a>b>c的值是。

10、当a=5,b=4,c=2时,表达式a>b!

=c的值是。

11、已知A=7.5,B=2,C=3.6,表达式A>B&&C>A||A

C>B的值是。

12、若a=6,b=4,c=2,则表达式!

(a-b)+c-1&&b+c/2的值是。

13、有intx,y,z;且x=3,y=-4,z=5,则表达式(x&&y)==(x||z)的值为。

14、有intx,y,z;且x=3,y=-4,z=5,则以下表达式的值为。

!

(x>y)+(y!

=z)||(x+y)&&(y-z)

15、有inta=3,b=4,c=5,x,y;,则以下表达式的值为。

!

(x=a)&&(y=b)&&0

16、if(!

k)a=3;语句中的!

k可以改写为,使其功能不变。

二、选择题

1、逻辑运算符两侧运算对象的数据类型(  )。

A)只能是0或1

B)只能是0或非0正数

C)只能是整型或字符型数据

D)可以是任何类型的数据

2、以下关于运算符优先顺序的描述中正确的是(  )。

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

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

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

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

3、下列运算符中优先级最高的是(  )。

A)

=

4、为判断字符变量c的值不是数字也不是字母时,应采用下述表达式( )。

A)c<=48||c>=5

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2