下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C语言章节习题第一章 C 语言概述第三章数据类型、运算符和表达式第四章顺序结构程序设计第五章选择结构程序设计第六章循环结构程序设计第7章数组习题 .第8章函数习题 .第九章预处理 .第十章指针 .C 语言章节习题目录错误 !未定义书签。错误 !未定义书签。错误 !未定义书签。错误 !未定义书签。错误 !未定义书签。错误 !未定义书签。错误 !未定义书签。错误 !未定义书签。错误 !未定义书签。错误 !未定义书签。第一章 C 语言概述一、选择题:1、一个 C 程序的执行是从(A) 。A 本程序的main 函数开始,到main 函数结束B 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束
2、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. 主函数可以调用任何非主函数
3、的其他函数C. 任何非主函数可以调用其他任何非主函数D. 程序可以从任何非主函数开始执行6、用 C 语言编写的源文件经过编译,若没有产生编译错误,则系统将( B) 。A.生成可执行目标文件B.生成目标文件C. 输出运行结果D. 自动保存源文件二、填空题:1、 C 语言只有 ( 37) 个关键字和( 9) 种控制语句。2、每个源程序有且只有一个 (main)函数,系统总是从该函数开始执行C语言程序。3、 C 语言程序的注释可以出现在程序中的任何地方,它总是以 (* ) 符号作为开始标记,以( ) 符号作为结束标记。4、 C 语言中,输入操作是由库函数( scanf ) 完成的,输出操作是由库函数
4、(printf ) 完成的。5、 系统默认的 C 语言源程序文件的扩展名是( .c ) , 经过编译后生成的目标文件的扩展名是( .obj ) ,经过连接后生成的可执行文件的扩展名是( .exe ) 。6、 C 语言的标识符只能由字母、数字和( 下划线 ) 三种字符组成。第三章 数据类型、运算符和表达式一、选择题:1、以下选项中,不正确的C 语言浮点型常量是(C) 。A. 160.B.C.D.2、以下选项中,(D)是不正确的C语言字符型常量。A. 'a'B. 'x41'C. '101'D. "a"3、在C语言中,字符型数据在计
5、算机内存中,以字符的(C)形式存储。A. 原码B. 反码C. ASCII 码D. BCD 码4、若 x、 i 、 j 和 k 都是 int 型变量,则计算下面表达式后, x 的值是(C) 。A. 4x= ( i=4 , j=16 , k=32 )B. 165、算术运算符、赋值运算符和关系运算符的运算优先级按从高到低依次为( B) 。B.算术运算、关系运算、赋值运算D.关系运算、算术运算、赋值运算A.算术运算、赋值运算、关系运算C.关系运算、赋值运算、算术运算6、表达式 !x|a=b 等效于 (D) 。A. !(x|a)=b)B. !(x|y)=bC. !(x|(a=b)D. (!x)|(a=b
6、)7、设整型变量m,n,a,b,c,d 均为 1 ,执行 (m=a>b)&&(n=c>d) 后, m,n 的值是(B) 。A. 0 , 0B. 0 , 1C. 1 , 0D. 1 , 18、 设有语句 int a=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
7、和 y 为 double 类型,则表达式 x=1 , y=x+3/2 的值是 (C) 。A. 1B. 2C.D.12、设 a=1, b=2, c=3, d=4,则表达式:a<b a : c<d a : d的结果为(D)。A. 4B. 3C. 2D. 113、设 a 为整型变量,不能正确表达数学关系: 10<a<15 的 C 语言表达式是(A) 。A. 10<a<15B. a= =11| a= =12 | a= =13 | a= =14C. a>10 && a<15D. !(a<=10) && !(a>=
8、15)14、设 f 是实型变量,下列表达式中不是逗号表达式的是( D) 。A. f= ,B. f>0, f<10C. f=, f>0D. f=,15 、 表达式 18/4*sqrt/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 语言中,要求运算对象只
9、能为整数的运算符是(A)。A. %B. /C. >D. *19 、若有说明语句: char c='72' ;则变量 c 在内存占用的字节数是(A) 。A. 1B. 2C. 3D. 420、字符串"ABC"在内存占用的字节数是(B)。A. 3B. 4C. 6D. 821 、要为字符型变量a 赋初值,下列语句中哪一个是正确的(B) 。A. char a="3"B. char a= 3;C. char a=%;D. char a=*;22 、下列不正确的转义字符是(C) 。A. B. 'C. 074D. 0二、填空题:1、 C 语
10、言中的逻辑值“真”是用 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=,y=; int a=7; ,表达式 x+a%3*(int)(x+y)%2/4 的值为 。5、判断变量a 、 b 的值均不为0 的逻辑表达式为 a!=0&&
11、;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、 设长方形的高为 ,宽为 ,编程求该长方形的周长和面积。2、 编写一个程序,将大写字母A 转换为小写字母 a 。1main()float x=,y=;printf( “area is %n” ,x*y);2main()char c= ' A ;printf("%d ,c+32);第四章顺序结构程序设计基础练习(A)一、填空
12、题1、c语句分为五种:控制语句 、函数调用语句、表达式语句、空语句和复合语句。2、一个基本语句的最后一个字符是3、复合语句又称分程序,是用 括起来的语句。4、使用C语言库函数时,要用于预编译命令#include将有关的“头文件”包括到用户源文件中。5、使用标准输入输出库函数时,程序的开头要有如下预处理命令:#include <> 。6、 a=3;c+=a-b; 在语法上被认为是 1 条语句。7、getchar函数的作用是从终端输入1个字符。8、如果从键盘输入字符'a'并按回车键,请写出以下程序运行效果a 。#include<>main()putchar(
13、getchar();9、以下程序的输出结果为 i:dec=-4,oct=177774,hex=fffc,unsigned=65532。main()short i;i=-4;pnntf(n ,i,i,i,i);10、以下程序的输出结果为main()printf("*%f,%* n",,;11、以下程序的输出结果为c:dec=120,oct=170,hex=78,ASCII=x 。main()charc= 'x'printf( "c:dec=%d,oct=%o,hex=%x,ASCII=%cn” ,c,c,c,c);12、已有定义int d=-2; 执
14、行以下语句后的输出结果是*d(1)=-2*d(2)= -2*d(3)=-2 *d(4)=177776*d(5)= 177776*d(6)=177776 *prin tf( "*d(1)=%d*d(2)=%3d*d(3)=%n",d,d,d);printf("*d(4)=%o*d(5)=%7o*d(6)=%n",d,d,d);13、以下程序的输出结果为x=1 y=2 *sum*=310 Squared is: 100main()int x=1,y=2;printf("x=%d y=%d *sum*=%d n” ,x,y,x+y);printf(
15、"10 Squared is:%dn” ,10*10);14、以下程序的输出结果为(2) (5) 口 口(6) 一#include <>main()float a=; double b=;printf( "(1) %f n” ,a);printf("(2)%n",a);printf("(3)%n",a);printf( "(4) %lf n”,b);printf("(5)%n",b);printf("(6) % n” ,b);printf(“ %.4fn”,b);二、判断题1、所谓函
16、数体实际上就是一个复合语句。(对)2、C语言本身不提供输入输出语句,输入和输出操作是由函数来实现的。(对)3、putchar函数可以向终端输出一个整数数据。(错)4、考虑到printf 和scanf函数使用频繁,系统允许在使用这两个函数时可不加#include命令。(对)5、任何表达式都可以加上分号而成为有意义的语句。(对)三、选择题1、以下不属于流程控制语句的是(A )。转移语句A)表达式语句B) 选择语句 C)循环语句D)2、 putchar 函数可以向终端输出一个( D )D) 字符或字符型变量值A)整型变量表达式值B) 实型变量值 C) 字符串3、 getchar 函数的参数个数是(
17、B ) 。A) 1 B) 0 C) 2D)任意4、以下程序的输出结果是( D) 。main()printf( “ n*s1=%15s*” ,“ chinabeijing ” );printf( “ n*s2=%- 5s* ” ,“chi ” );A) *s1=chinabeijing *s2=*chi*B) *s1=chinabeijing *s2=chi *C) *s1=*chinabeijing*s2=chi*D) *s1= chinabeijing*s2=chi *5、 printf 函数中用到格式符5s ,其中数字5 表示输出的字符串占用 5 列。如果字符串长度大于5,则输出按方式(
18、B ) 。 ;如果字符串长度小于5,则输出按方式( C ) 。A)从左起输出该字串,右补空格B) 按原字符长从左向右全部输出C)右对齐输出该字串,左补空格D)输出错误信息6、已有定义int a=-2; 和输出语句: printf(“%8lx” ,a); 以下正确的叙述是( D ) 。A) 整型变量的输出格式符只有 d 一种B) % x是格式符的一种,它可以适用于任何一种类型的数据C)x 是格式符的一种,其变量的值按十六进制输出,但 8lx 是错误的D) 8lx 不是错误的格式符,其中数字8 规定了输出字段的宽度7、以下C程序正确的运行结果是(C )。main()long y=-43456;pr
19、intf( “y=% n” ,y);printf(printf( printf(A) y= 2456y= 2456y=#2456C) y=2456y= 2456y= 02456printf("y=%n",y);printf(“y=%081d n”,y);printf(“y=%+81d n” ,y);A y= -43456B) y=-43456y=- 43456y=-43456y=-0043456y=-0043456y=-43456y=+-43456C) y=-43456D) y= -43456y=-43456y=-0043456y=-0043456y=00043456y=
20、-43456y=+434568、以下C程序正确的运行结果是(D )。main()int y=2456;“y=%3o n” ,y);“y=%8o n” ,y);“y=%#8o n” ,y);B ) y= 4630y= 4630y=#4630D) y=4630y= 4630y= 04630基础练习(B)一、填空题1、printf函数的作用是向终端输出若干个任意类型的数据。2、printf 函数中的“格式控制”,包括格式说明和普通字符两种信息。3、scanf函数中的“格式控制”后面应当是变量地址 ,而不是变量名。4、在用scanf函数中输入数据时,如果在“格式控制”字符传中除了格式说明以外还有其他字
21、符,则应在对应位置输入与这些字符相同的字符 。5、在用" %W格式输入字符时,空格字符和“转义字符”都作为有效字符输入 。6、在输入数据时,遇以下情况时该数据认为结束:遇 空格 、或按“回车”或 “跳格”键 ;按指定的宽度结束;遇非法输入。7、输入数据时不能规定精度 。8、如果在 新有一个“*”附加说明符,表示跳过它指定的列数。二、选择题1、若int a,b; scanf("d%d ,&a,&b);不可以用 (A )作为输入的分隔符。A), B ) 空格 C ) 回车 D ) TAB键2、若x, y均定义为int型,z定义为double型,以下不合法的sca
22、nf函数调用语句是(B )。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%,&x,&y,&z);3、已有如下定义和输入语句,若要求 a1, a2, c1 , c2的值分别为10, 20, A和B,当从第一列开 始输入数据时,正确白数据输入方式是(D )。int a1,a2; char c1,c2;sca
23、nf( "%d%'d ,&a1,&a2);scanf( "%c%c ,&c1,&c2);A) 1020AB<CR>B) 10 20<CR>AB<CR>C) 10 20 AB<CR>D) 10 20AB<CR>4、阅读以下程序,当输入数据的形式为25,13,10<CR> 正确的输出结果为(D )。main()int x,y,z;scanf( "%d%d% d,&x,&y,&z);printf( “x+y+z=%d n” ,x+y+z
24、);A)x+y+z=48B)x+y+z=35C)x+z=35D)不确定值5已有程序段和输入数据的形式如下,程序中输入语句的正确形式应当为( D )main() int a; float f;printf( “ nInput number: ” );输入语句printf( “n” ,f,a);Input number: 2<CR>A)scanf( “ %d,%f” ,&a,&f);B)scanf( “ %f,%d” ,&f,&a);C)scanf( “ %d%” f ,&a,&f);D)scanf( “ %f%d” ,&f,&a
25、mp;a);6根据定义和数据的输入方式,输入语句的正确形式为( B ) 。已有定义: float f1,f2;数据的输入方式:A)scanf( “%f,%f” ,&f1,&f2);B)scanf( “%f%f” ,&f1,&f2);C)scanf( “% %” ,&f1,&f2);D)scanf( “%” ,&f1,&f2);7阅读以下程序,若运行结果为如下形式,输入输出语句的正确内容是( B ) 。main()int x; float y;printf( “enter x,y: ” );输入语句输出语句输入形式enter x,y
26、:2输出形式x+y=A)scanf( “%d,%f” ,&x,&y);printf(“ nx+y=%” ,x+y);B)scanf( “ %d%” f ,&x,&y);printf(“ nx+y=%” ,x+y);C)scanf( “ %d%” f ,&x,&y);printf(“ nx+y=%” ,x+y);D)scanf( “ %d%” ,&x,&y);printf(“ nx+y=%” ,x+y);8、以下说法正确的是( D ) 。A)输入项可以为一实型常量,如 scanf( "f,;B) 只有格式控制,没有输入项,
27、也能进行正确输入,如 scanf( “a=%d,b=%”d );C) 当输入一个实型数据时,格式控制部分应规定小数点后的位数,如 scanf( “ %” ,&f);D) 当输入数据时,必须指明变量的地址,如 scanf( “ %f” ,&f);9、有输入语句:scanf( “a=%d,b=%d,c=%”d ,&a,&b,&c); 为使变量a 的值为 1, b 为 3, c 为 2,从键盘输入数据的正确形式应当是( D ) 。A)132< 回车 >B)1,3,2< 回车 >C)a=1 b=3 c=2< 回车 >D)a=1
28、,b=3,c=2< 回车 >10、已有如下定义和输入语句,若要求 al, a2, cl, c2的值分别为10, 20, A和B,当从第一列 开始输入数据时,正确的数据输入方式是( A ) 。int a1,a2; char c1,c2;scanf( “%d%c%d”%c,&a1,&c1,&a2,&c2);A) 10A 20B<CR>B) 10 A 20 B<CR>C) 10A20B<CR>D) 10A20 B<CR>11、已有定义int x; float y; 且执行 scanf( “%3d%”f ,&a
29、mp;x,&y); 语句,若从第一列开始输入数据12345 678< 回车 >, 则 x 的值为( B ), y 的值为 ( B ) 。(1) A ) 12345B) 123C) 45D) 345(2) A )无定值B) C) D )三、编程:1、编写程序,从键盘上输入三个数分别给变量a、b、c,求它们的平均值。并按如下形式输出:average of * 、 * and * is *.* 。其中,三个* 依次表示 a、 b、 c 的值, *.* 表示 a,b,c的平均值。2、输入9 时 23 分并把它化成分钟后输出。 (从零点整开始计算)1、参考答案main ( ) flo
30、at a, b, c, t;printf(“ please input a,b,c:n” );scanf ("%f, %f, %f", &a, &b, &c);t=(a+b+c)/3;printf ("average of %、n” ,a,b,c,t);2、参考答案main ( ) int h,m,s;printf(“ please input h,m:n” );scanf ("%d,%d", &h, &m);s=h*60+m;n” ,s);第五章选择结构程序设计基础练习(A)一、填空题1、关系表达式的运
31、算结果是逻辑 值。c语言没有逻辑型数据,以±代表"真”,以 0代表假 。2、逻辑运算符!是 单目 运算符,其结合性是由右结合性。3、C语言提供的三种逻辑运算符是&&、|、! 。其中优先级最高的为!,优先级最低的为| | Q4、逻辑运算符两侧的运算对象不但可以是0和1,或者是0和非0的整数,也可以是任何类型的数据。系统最终以 0 和 非0来判定它们属于“真”或“假”。5、设y为int型变量,请写出描述“ y是偶数”的表达式(y%2=0)。6、设x, y, z均为int型变量,请写出描述“x或y中有一个小于z”的表达式x<z|y<z 。7、条件 “
32、2Vx<3 或 x<-10” 的 C语言表达式是x<-10|x>2&&x<3。8、判断char型变量ch是否为大写字母的正确表达式是(ch>= 'A' )&&(ch<= 'Z')。9、当a=3,b=2,c=1 时,表达式f=a>b>c的值是 0。10、当a=5,b=4,c=2 时,表达式 a>b!=c的值是 1。11、已知 A=,B=2,C=,表达式 A>B&&C>A|A<B&&!C>B勺值是0。12、若 a=6,b
33、=4,c=2 ,则表达式!(a-b)+c-1&&b+c/2 的值是 1。13、有 int x,y,z; 且 x=3,y=-4,z=5 ,则表达式(x&&y)=(x|z) 的值为 1。14、有int x,y,z; 且x=3,y=-4,z=5 ,则以下表达式的值为1。!(x>y)+(y!=z)|(x+y)&&(y-z)15、有int a=3,b=4,c=5,x,y;,则以下表达式的值为0。!(x=a)&&(y=b)&&016、if (!k) a=3;语句中的!k可以改写为 k= =0,使其功能不变。二、选择题1、
34、逻辑运算符两侧运算对象的数据类型( D )。A)只能是0或1B)只能是0或非0正数C)只能是整型或字符型数据D)可以是任何类型的数据 2、以下关于运算符优先顺序的描述中正确的是( C )。A)关系运算符崂术运算符赋值运算符 <逻辑与运算符B)逻辑与运算符关系运算符算术运算符赋值运算符C)赋值运算符 <逻辑与运算符关系运算符唉术运算符D)算术运算符 <关系运算符赋值运算符 <逻辑与运算符3、下列运算符中优先级最高的是( B )。A <B) +C) &&D) !=4、为判断字符变量 c的值不是数字也不是字母时,应采用下述表达式( D )。A c<
35、=48|c>=57&&c<=65|c>=90&&c<=97|c>=122B) !(c<=48|c>=57&&c<=65|c>=90&&c<=97|c>=122)C) c>=48&&c<=57|c>=65&&c<=90|c>=97&&c<=122D) !(c>=48&&c<=57|c>=65&&c<=90|c>=97&
36、;&c<=122)5、能正确表示“当x的取值在1,100和200,300范围内为真,否则为假”的表达式是(C )。A) (x>=1)&&(x<=100)&&(x>=200)&&(x<=300)B) (x>=1)|(x<=100)|(x>=200)|(x<=300)C) (x>=1)&&(x<=100)|(x>=200)&&(x<=300)D) (x>=1)|(x<=100)&&(x>=200)|(
37、x<=300)6、设x、y和z是int型变量,且x=3,y=4,z=5 ,则下面表达式中值为0的是( D )。A) 'x' && 'y'B)x<=yC) x|y+z&&y-zD) !(x<y)&&!z|1)7、已知 x=43,ch= 'A' ,y=0;则表达式(x>=y&&ch< 'B' &&!y)的值是(C )。A) 0B)语法错C) 1D) “假”8、设有:int a=1,b=2,c=3,d=4,m=2,n=2;执行(
38、m=a>b)&&(n=c>d)后 n 的值为( B )。A) 1B) 2C) 3D) 49、以下不正确的if语句形式是(C )。A) if(x>y&&x!=y);B) if(x=y) x+=y;C) if(x!=y) scanf(“ %d” ,&x) else scanf(“ %d”,&y);D) if(x<y) x+; y+;10、已知int x=10,y=20,z=30; 以下语句执行后x, y, z 的值是( B )。if(x>y)z=x; x=y; y=z;A) x=10,y=20,z=30B) x=20,y
39、=30,z=30C) x=20,y=30,z=10D) x=20,y=30,z=20 11、以下 if 语句语法正确的是( B )A) if(x>0)printf( “ %f” ,x)else printf(“ %f”,-x);B) B)if(x>0); x= x+y; printf(“ %f” ,x);else printf(“ %f”,-x);C) C)if(x>0) x=x+y; printf(“ %f” ,x);else printf(“ %f”,-x);D) D)if(x>0) x=x+y; printf(“ %f” ,x)else printf(“ %f”,
40、-x);12 、请阅读以下程序:main()*n” );$n” );可以通过编译但不能通过连接$int a=5,b=5,c=0;if(a=b+c)printf(elseprintf(以下程序( C ) 。A)有语法错不能通过编译B)C)输出 *D)三、写出下列程序的运行结果1、若运行时输入:2回车,则以下程序的运行结果是2nd class postage is 14P#include <> void main(void) char Class;printf( "Enter 1 for 1st class post or 2 for 2nd post");scan
41、f( "%c ,&Class);if(Class= ' 1')printf( “1st class postage is 19p");elseprintf( “2nd class postage is 14p");2、若运行时输入:回车,则以下程序的运行结果是 Selling Price$。 #include <>void main(void) float CostPrice,SellingPrice;printf( "Enter Cost Price $:");scanf( "%f' ,&
42、amp;CostPrice);if(CostPrice>=5) SellingPrice=CostPrice+CostPrice*;printf( "Selling Price$% " ,SellingPrice); else SellingPrice=CostPrice+CostPrice*;printf( "Selling Price$% " ,SellingPrice); main() if(2*2=5<2*2=4)print(“ T” );elseprintf(“ F” );能力提高(B)一、选择题1、若希望当A 的值为奇数时,表达式
43、的值为“真”, A 的值为偶数时,表达式的值为“假”下不能满足要求的表达式是( D ) 。A) A%2=1B) !(A%2=0)C) !(A%2)D) A%22、下列运算符中优先级最低的(A ) ,优先级最高的是( C ) 。A) :B) &&C) +D) !=3、请阅读以下程序:main()int a=5,b=0,c=0;if(a=b+c)printf(“ *n” );elseprintf(“ $ n” );以下程序( D ) 。A)有语法错不能通过编译C)输出*4、以下程序的运行结果是( Cmain()B)可以通过编译但不能通过连接D)输出$)。int m=5;if(m+&
44、gt;5) printf(“ %d n” ,m);elseprintf( “ %d n” ,m -);A) 4B) 5C) 6D) 7二、根据程序的功能,将以下程序补充完整1、以下程序对输入的四个整数,按从小到大的顺序输出。请在 内填入正确内容。main()int t,a,b,c,d;printf( "input a,b,c,d: ” )scanf( "%d,%d,%d,%'d ,&a,&b,&c,&d);if(a>b) t=a;a=b;b=t; if ( a>c) t=a;a=c;c=t;if (a>d) t=a;
45、a=d;d=t;if ( b>c) t=b;b=c;c=t;if (b>d) t=b;b=d;d=t;if (c>d) t=c;c=d;d=t;printf("%d,%d,%d,%d ,a,b,c,d);三、编程:1、试编程判断输入的正整数是否既是5又是7的整倍数。若是,则输出 yes;否则输出no。2、编制程序要求输入整数x、y和z,若x2+y2+z2大于1000,则输出x2+y2+z2千位以上的数字,否则输出三数之和。3、编写程序,输入三角型的三条边长,求其面积。注意:对于不合理的边长输入要输出数据错误 的提示信息。1、参考答案main() int x;if (
46、x%5=0 && x%7=0)printf(“yes” );elseprintf("no” );2、参考答案 main() int x,y,z,a,b;scanf( "%d %d %d ,&x,&y,&z);a=x*x+y*y*z*z;if (a>1000)b=a/1000;printf("%d ,b);else printf("%d ,x+y+z);3、参考答案#include <>main() float a,b,c,s,area;scanf( "f,%f,%f”,&a,&a
47、mp;b,&c);if (a+b>c && b+c>a && a+c>b) s=2*(a+b+c);area=sqrt(s*(s-a)*(s-b)*(s-c);printf( "area=% n” ,area); elseprintf( "bu neng zhucheng san jiao xingn”);第2讲基础练习(A)一、填空题1、在if语句中又包含一个或多个if语句称为if语句的嵌套 。2、为了避免在嵌套的条件语句if-else 中产生二义性,C语言规定:else子句总是与 其之前最近的未配对的if 配对。
48、如果if与else数目不一样,为实现设计者的企图, 可以加 花括号 关系。3、条件运算符是 C语言中唯一的一个三目运算符,其结合性为从右至左。4、假设条件表达式的格式为:表达式 1表达式2:表达式若表达式2和表达式3的类型不同,此时条件表达式的值的类型为二者中较高 的类型5、在switch语句中,switch后面括弧内的“表达式”,可以为 任何 类型。6、若a=1,b=2 ,则表达式 a>ba:b+1的值是 3。7、若 w= 1、x = 2、y= 3、z = 4,则条件表达式 w<xw:y<zy:z 的值是 1。8、若有以下if 语句:if (a<b) min=a;el
49、se min=b;可用条件运算符来处理的等价式子为min=(a<b)a:b ;。9、若 x=1,y=2,z=3 ,则表达式(x<yx:y)=z+ 的值是 0。10、设有变量定义:int a=5,c=4;则(-a=+c)-a:c+ 的值是 5,此时c的存储单元的值为6。二、判断题1、在switch语句中,每一个的case常量表达式的值可以相同。( 错)2、在switch语句中,各个case和default的出现次序影响执行结果。( 对)3、在switch语句中,多个case可以共用一组执行语句。( 对 )4、条件表达式能取代一般if的语句。( 错)5、case后的常量表达式类型一定与
50、表达式类型匹配。(对 )三、写出以下程序的运行结果1、 main()-1int a=2,b=3,c;c=a;if(a>b) c=1;else if(a=b) c=0;else c=-1;printf( "%d n" ,c);2、 main()2 0 0int a,b,c;int s,w,t;s=w=t=0;a=-1; b=3; c=3;if(c>0) s=a+b;if(a<=0)if(b>0)if(c<=0) w=a-b;else if(c>0) w=a-b;else t=c;3、switch(grade)printf(“d %d %d
51、,s,w,t);case'A':printf(“85ncase'B,:printf(“70ncase'C:printf(“60ncase'D':printf(“<60”Xn ););););default: printf();n“error!若grade的值为C',则输出结果是60-6960error!能力提高(B)、写出下列程序的运行结果1、 #include <>5void main(void) int x,y=1,z;if(y!=0) x=5;printf( “n” ,x);if(y=0) x=4;else x=5
52、;printf( “n” ,x);x=1;if(y<0)if(y>0) x=4;else x=5;printf( “n” ,x);2、 #include <>4 -24 04 -2void main(void)int x,y=-2,z;if(z=y)<0) x=4;else if(y=0) x=5;else x=6;printf( ”n” ,x,z);if(z=(y=0)x=5;x=4;printf( “n” ,x,z);if(x=z=y) x=4;printf(_, n ,x,z)3、 #include <>a=2,b=1main()int x=1,
53、y=0,a=0,b=0;switch(x)case 1:switch(y)case 0: a+; break;case 1: b+; break;case 2:a+; b+; break;printf("a=%d,b=%d ,a,b);二、根据程序的功能,将以下程序补充完整以下程序计算某年某月有几天。其中判别闰年的条件是:能被4整除但不能被100整除的年是闰年,能被400整除的年也是闰年。请在 内填入正确内容。main()int yy,mm,len;printf( "year,month=");scanf( "%d %d ,&yy,&mm
54、);switch(mm)case 1:case 3:case 5:case 7:case 8:case 10:case 12: len=31 ; break;case 4:case 6:case 9:case 11: len=30; break;case 2:if(yy%4=0&&yy%100!=0|yy%400=0) len=29else len=28;break;default: printf( "input error " ); break;printf( "the length of %d %d is %dn” ,yy,mm,len);第六
55、章循环结构程序设计基础练习(A)一、选择题1、 C 语言中 while 和 do-while 循环的主要区别是(A) 。A) do-while 的循环体至少无条件执行一次B) while 的循环控制条件比do-while 的循环控制条件严格C) C)do-while 允许从外部转到循环体内D) do-while 的循环体不能是复合语句2、以下描述中正确的是(C) 。A) 由于 do-while 循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句B)do-while 循环由 do 开始,用 while 结束,在 while (表达式)后面不能写分号后面表达式的值变为零( “假”
56、)的操作C) 在 do-while 循环体中,一定要有能使whileD)do-while 循环中,根据情况可以省略while3、设有程序段int k=10;while(k) k=k-1;B)循环是无限循环D)循环体语句执行一次)。;则下面描述中正确的是( A ) 。A) while 循环执行 10 次C)循环体语句一次也不执行4、下列循环语句中有语法错误的是(DA) while(x=y) 5; B) while(0)C) do 2 ; while(x=b) ; D) do x+ while(x=10);后,变量i 的值为( C )。A)。D) E=15、已知int i=1; 执行语句while
57、 (i+<4)A) 3 B) 4 C) 5 D) 66、语句while(!E);中的表达式!E 等价于(A) E=0 B) E!=1C) E!=07、下面程序段的运行结果是(A ) 。a=1; b=2; c=2;while(a<b<c) t=a; a=b; b=t; c-; printf(“ %d,%d,%”d ,a,b,c);1,2,1 D ) 2,1,1A) 1,2,0 B ) 2,1,0C )8、下面程序的运行结果是(C ) 。#include <>main() int num=0;while(num<=2)num+;printf( “ %d n” ,num);A) 1B) 1C) 1D) 1222339、以下能正确计算1x 2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 趣味知识竞赛的
- 承担家庭教育责任义务承诺书(7篇)
- 职业规划与人员培训保证承诺书范文3篇
- 人权宣言背景介绍:七年级英语主题课文讲解
- 趣味历史知识竞赛
- 企业安全防护行动计划
- 电力行业技术专家新能源技术研发绩效考核表
- 《词汇的运用与文学风格:文学评论教学教案》
- 起重指挥人员培训内容
- 跨境电商独立站2025年支付数据共享合同
- 2024年6月GESP编程能力认证Scratch图形化等级考试四级真题(含答案)
- 2025年水空调市场分析报告
- T/GFPU 1007-2022中小学幼儿园供餐潮汕牛肉丸
- 货运险培训课件
- 新收入准则税会差异课件
- 比亚迪股份有限公司盈利能力分析及提升对策研究
- 车辆资产闲置管理办法
- PICC管感染病例分析与管理要点
- 超声波成像技术突破-全面剖析
- 水电与新能源典型事故案例
- QC/T 822-2024汽车用压力传感器
评论
0/150
提交评论