1/45C语言章节习题目录C语言章节习题.................................................................................................1第一章C语言概述...........................................................................................2第三章数据类型、运算符和表达式...............................................................3第四章顺序结构程序设计...............................................................................4第五章选择结构程序设计.............................................................................10第六章循环结构程序设计.............................................................................17第7章数组习题.............................................................................................25第8章函数习题.............................................................................................33第九章预处理.................................................................................................40第十章指针.....................................................................................................412/45第一章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语言编写的源文件经过编译,若没有产生编译错误,则系统将(B)。A.生成可执行目标文件B.生成目标文件C.输出运行结果D.自动保存源文件二、填空题:1、C语言只有(37)个关键字和(9)种控制语句。2、每个源程序有且只有一个(main)函数,系统总是从该函数开始执行C语言程序。3、C语言程序的注释可以出现在程序中的任何地方,它总是以(\*)符号作为开始标记,以(*\)符号作为结束标记。4、C语言中,输入操作是由库函数(scanf)完成的,输出操作是由库函数(printf)完成的。5、系统默认的C语言源程序文件的扩展名是(.c),经过编译后生成的目标文件的扩展名是(.obj),经过连接后生成的可执行文件的扩展名是(.exe)。6、C语言的标识符只能由字母、数字和(下划线)三种字符组成。3/45第三章数据类型、运算符和表达式一、选择题:1、以下选项中,不正确的C语言浮点型常量是(C)。A.160.B.0.12C.2e4.2D.0.02、以下选项中,(D)是不正确的C语言字符型常量。A.'a'B.'\x41'C.'\101'D.a3、在C语言中,字符型数据在计算机内存中,以字符的(C)形式存储。A.原码B.反码C.ASCII码D.BCD码4、若x、i、j和k都是int型变量,则计算下面表达式后,x的值是(C)。x=(i=4,j=16,k=32)A.4B.16C.32D.525、算术运算符、赋值运算符和关系运算符的运算优先级按从高到低依次为(B)。A.算术运算、赋值运算、关系运算B.算术运算、关系运算、赋值运算C.关系运算、赋值运算、算术运算D.关系运算、算术运算、赋值运算6、表达式!x||a==b等效于(D)。A.!((x||a)==b)B.!(x||y)==bC.!(x||(a==b))D.(!x)||(a==b)7、设整型变量m,n,a,b,c,d均为1,执行(m=ab)&&(n=cd)后,m,n的值是(B)。A.0,0B.0,1C.1,0D.1,18、设有语句inta=3;,则执行了语句a+=a-=a*=a;后,变量a的值是(B)。A.3B.0C.9D.-129、在以下一组运算符中,优先级最低的运算符是(D)。A.*B.!=C.+D.=10、设整型变量i值为2,表达式(++i)+(++i)+(++i)的结果是(B)。A.6B.12C.15D.表达式出错11、若已定义x和y为double类型,则表达式x=1,y=x+3/2的值是(C)。A.1B.2C.2.0D.2.512、设a=1,b=2,c=3,d=4,则表达式:ab?a:cd?a:d的结果为(D)。A.4B.3C.2D.113、设a为整型变量,不能正确表达数学关系:10a15的C语言表达式是(A)。A.10a15B.a==11||a==12||a==13||a==14C.a10&&a15D.!(a=10)&&!(a=15)14、设f是实型变量,下列表达式中不是逗号表达式的是(D)。A.f=3.2,1.0B.f0,f10C.f=2.0,f0D.f=(3.2,1.0)15、表达式18/4*sqrt(4.0)/8值的数据类型是(C)。A.intB.floatC.doubleD.不确定16、已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句C2=’A’+’6’-‘3’;后c2中的值是(A)。A.DB.68C.不确定的值D.C17、以下用户标识符中,合法的是(B)。A.intB.nitC.123D.a+b18、C语言中,要求运算对象只能为整数的运算符是(A)。A.%B./C.D.*4/4519、若有说明语句:charc='\72';则变量c在内存占用的字节数是(A)。A.1B.2C.3D.420、字符串ABC在内存占用的字节数是(B)。A.3B.4C.6D.821、要为字符型变量a赋初值,下列语句中哪一个是正确的(B)。A.chara=3;B.chara=’3’;C.chara=%;D.chara=*;22、下列不正确的转义字符是(C)。A.\\B.\'C.074D.\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'+1c,'y'!=c+2,-a-5*b=d+1,b==a=2的值为1、0、1、1。4、设floatx=2.5,y=4.7;inta=7;,表达式x+a%3*(int)(x+y)%2/4的值为2.5。5、判断变量a、b的值均不为0的逻辑表达式为a!=0&&b!=0,值为1。6、求解赋值表达式a=(b=10)%(c=6),表达式值为4、a、b、c的值依次为1,0,6。7、求解逗号表达式x=a=3,6*a后,表达式值为18、x、a的值依次为3,3。三、编程题:1、设长方形的高为1.5,宽为2.3,编程求该长方形的周长和面积。2、编写一个程序,将大写字母A转换为小写字母a。1.main(){floatx=1.5,y=2.3;printf(“areais%6.2f\n”,x*y);}2.main(){charc=’A’;printf(“%d”,c+32);}第四章顺序结构程序设计基础练习(A)一、填空题1、C语句分为五种:控制语句、函数调用语句、表达式语句、空语句和复合语句。2、一个基本语句的最后一个字符是;。3、复合语句又称分程序,是用{}括起来的语句。4、使用C语言库函数时,要用于预编译命令#include将有关的“头文件”包括到用户源文件中。5、使用标准输入输出库函数时,程序的开头要有如下预处理命令:#includestdio.h。6、{a=3;c+=a-b;}在语法上被认为是1条语句。7、getchar函数的作用是从终端输入1个字符。8、如果从键盘输入字符’a’并按回车键,请写出以下程序运行效果a。#includestdio.h5/45main(){putchar(getchar());}9、以下程序的输出结果为i:dec=-4,oct=177774,hex=fffc,unsigned=65532。main(){shorti;i=-4;printf(“\ni:dec=%d,oct=%o,hex=%x,unsigned=%u\n”,i,i,i,i);}10、以下程序的输出结果为*3.140000,3.142*。main(){printf(“*%f,%4.3f*\n”,3.14,3.1415);}11、以下程序的输出结果为c:dec=120,oct=170,hex=78,ASCII=x。main(){charc=‘x’;printf(“c:dec=%d,oct=%o,hex=%x,ASCII=%c\n”,c,c,c,c);}12、已有定义intd=-2;执行以下语句后的输出结果是*d(1)=-2*d(2)=-2*d(3)=-2**d(4)=177776*d(5)=177776*d(6)=177776*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、以下程序的输出结果为x=1y=2*sum*=310Squaredis:100main(){intx=1,y=2;printf(“x=%dy=%d*sum*=%d\n”,x,y,x+y);printf(“10Squaredis:%d\n”,10*10);}14、以下程序的输出结果为(1)123.456000(2)□□□□□□□123.457(3)123.4560(4)8765.456700(5)□□□□□□8765.457(6)8765.4567(7)8765.4567#includestdio.h6/45main(){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、所谓函数体实际上就是一个复合语句。(对)2、C语言本身不提供输入输出语句,输入和输出操作是由函数来实现的。(对)3、putchar函数可以向终端输出一个整数数据。(错)4、考虑到printf和s