




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、练习 一选题下面关于语句的说法中,正确的是( A D A对程序中使用的变量、数组、函数等进行定义、声明的语句属于说明性语句B表达式后面;构成表达式语句C、合语句中不允许包含另一条复合语句D、程执行流程起控制作用的语句属于控制语句解:合句可嵌的所 C 选是误的下面语句中,错误的是( A、m=xyz; B、 、m=x,my; D、解:C 语言,变声语中能使连赋初化量故 选是误的 下面不正确的 if 语句形式是( A、if (x=y;) B、if (x=y) if (x-y) m+; D、if x ) m+;解: 选择构圆号是达,不能语, A 选是误的下面不正确的 if 语句形式是( C 、if (
2、x=y) ; Bif m=0,n=1; 、if m=0 n=1; 、if ( x!=y ) 解:C 选项 if 结构中件立执的 m=0 后有号缺语标识故构误下面程序的运行结果是( A int int x=y,y=z; z=x;printf(x=%d y=%d z=%dn,x,y,z); 0 ;A、 Bx=7 y=9 z=7 Dx=8 y=9 Dx=8 y=9 解:里要考 选择构件所执的句有 而后的 并选 择构件限,以据目求 ()不立语句能执, 只行 语,变 x 的值值 变量而 与 y 的值变,以 x=7 ,故 答选 A下面程序的运行结果是( int int x=6,y=6;if(+xy+)pr
3、intf(%dn,x+);printf(%dn,y+); 0;A、6 B 8 D解:里察增算+,if(+xy+)件+x 表先增变 7而 是参比 较算再 y 变量增过为 7b)if(ac)if(ad) m=2; m=3;printf(%dn,m); 0;A、0 B、 C、 、解:里察 的嵌,一考 else 与 if 的对根上题述在程中上 下第 1 个 m=2; 查离最的 if(ad) m=1;与配,面 2 个 else m=3;离最 近没配的 是 ,序有个 ,那第 1 个 没与配的 ; 当行 if(ab)判断其件假没执的 ,个 if 结构行束执 printf 语句 输 m 值而 m 的初为 ,答
4、选 A;11对下面程序运行结果的分析中,正确的是( D int ( int x,y;scanf(%d,%d,&x,&y);if (xy)x+; y+;printf(%d,%dn,x,y); 0;A、若输入 ,则输出 和 5 B若输入 3 和 4则输出 4 和 C、输入 4 和 ,则输出 5 D有语法错误,不能通过编译解:题核点 if 选结中句次的分对 语句只有条句如 多需用对括 将条句起,本的 if 语后有条句所这一 个条的 语句后的 else 不能这 if 匹配,以语错,答案 D以下关于 switch 语句的叙述中,不正确的是( C Aswitch 语句中各 case 子后面的表达式必须是整
5、型或字符型常量表达式。B、一 switch 语中各 子后表达式的值必须互不相同。C、switch 语句中必须有 default 部 。D、switch 语必须与 语结合才能实现真正的选择结构。解: 结构句 defaule 部是有无,的用当有 后的量不足达的时 位置为 语句构入口; 句 语 句的用中 switch 句的执,实分效,题案 C;假定已定义变量 则下面正确的 switch 句是( A、 B、switch(x) y+; y-; case b:y-; y*=y; default:y*=y;C、 、 y+; 1+1: y-; y+; default:y*=y; 1+1: y-;解:里察 sw
6、itch 语句结的法case 后面整或符常表式且个 case 后值要不同故案 A 和 都错的,案 B 和 D以下程序输出结果是( int int x=1,y=2,m=0,n=0;switch(x) 1:switch 2 m+ ; ; 4 n+ ; break printf(m=%d,n=%d,m,n); 0;A B Cm=1,n=1 、解:里察 语的行程因 ,以层 语执从 case 口始而层 在 入口执行得 m 由 为 ,后行 语句跳内 结构顺执外的 使得 m 变为 , 由 0 为 ,答选 B;下面的循环语句执行完毕后,循环变量 k 值是( int k=1;B (k+10);A10 B 、9
7、D、限循环,值确定解:题查增算的用以空句作循体行,k 为 9 时,是将 k 的值与达 k10 运算 成然后 k 值增为 继执 k+10即 1010 不立跳循,是跳循时 k 由 10 自增为 ,答选 ;对下面程序段中 while 循执行情况分析正确的是( C int k=2; printf(%d,k);k-;A该循环只执行 B循环是无限循环C、环体中的语句 次不执行 D、存在语法错误解里考阅者否细读 环构表式里达并是关表式 而一赋表式是 0 赋值 k表式结为 0,终循,环育一也 不行故案 C;以下程序段( C x=-1; x=x*x; (!x);A是死循环 B循环执行 2 次 C循环执行 1 次
8、 D、有语法错误解:do 结语是先行环语 x=x*x,(-1)*(-1)=1,将 赋给 , 然进循条表式! 的运,果,即为 0所终循,故案 C;对下面程序段中 循执行情况分析正确的是( C int m=1,n=5;n-;while (mn);A、该循环可能 1 次也不执行 B、该循环执行 C、循环执行 次 D、该循环执行 解:题查 do 结语的行程第次环执后循条件 24 成 立继执第次环后循条为 不成,止环语结的行故答 案 C; 面程序的功能是键盘输入一组字符,统计这些字符中大写字母和小写字母的个数, 程序中 while 语的循环条件是( A int ( int ch; ( ) )if & c
9、h=a& 0;A B、 、ch=getchar( ) D、解:C 语言键获取符据使函 getchar()取单个符这使循结设 计个取符直到取回终因下是变进判所使函 获的符要给量 ,故案 A;下面有关 for 环的正确描述是( D A、for 循只能用于循次数已经确定的情况。B、for 循环的执行流程是先执行循环体语句,后判断表达式。C、 for 循中 表式 和 可省略,但表达式 不能省略。D、 循的循环体中 可以包含多条语句,但必须用花括号括来。解:题查 for 循结语的法对 A 的说是正的不用能对 B 答显不合 for 循的行程述for 循环先断环条,执循体句 对 C 答, 循结中个达式可省,
10、表式 省,认环件真 故案择 D执行语句 for (i=1;i+4;) ; 后量 i 的是( C A3 B、4 C、 D不定解:里察增算以么参表式算,i+是先用 i 的值与达运再增 而+i 先增然以增果与达运;而 i 开, 次循环件断 14, 然 增为 ,入 次循条判 然后 i 自变 3,入 次环件 断 后 i 自变 4进第 4 次循条判 44, 然后 i 自变 5这循条件 判为跳循,时量 i 的值 5故答选 ;以下程序段的循环次数是( for (i=2; printf(%d,i-);A、无限次 B、0 次 C、1 次 D、 次解:察别 for 结构中表式作,达 1 为 i=2,即 i 变赋值表
11、式 2 为 循条判,表式 ,然假即止环这表式 3 省略;而 环数 0,故答选 ;下面的双重循环中的内循环体将一共会被执行( C for(i=0;i=3;i+)for(j=4;j;j-)printf(a);A、12 B、15 、 D、)次。解:层环 for 中 i 从 到 循环 4 次,循 for 中 j 从 到 也是循了 此, 于循体次为外环数乘, ,故答选 C;如果下面程序在运行时输入 ,程序输出结果是( int int for (i=0,sum=0; i5;i+)scanf(%d,&x);if (x0) continue;sum+=x; 0;、-3 、0 、3 D1解:题察环构 conti
12、nue 句的用根程的行程可看这使 了 循结,佛循体并有变循变 i 的值故 for 循的数 5 此, i 从 到 ;里 sum 初为 0,环中键获数,执 5 次获 5 个数据且 体使 sum 变对盘入数进累,但在加前一判语 if 代键获的据负将束次循,执后的加句故目累 加盘入据大 0 的数的,以案 C;如果下面程序在运行时输入 则程序输出结果是( int int for (i=0,sum=0; i10;i+)scanf(%d,&x);if (x0) break;sum+=x; 0;、-3 、0 、3 D1解:题察环构 break 语句作;上类,是本的环数来 10 此只在环中行加前一判语 if b
13、reak;即键键入数终循 环故能加盘入负之的据故案 C;二填题 在个循环语句的循环体中又包含了另一个循环语句,则这种循环形式称环嵌。 for 语中的三个表达式可以全部或部分省略,但应保留其分隔符 ; 。 通常适用于条件表达式的取值为多个离散而不连续的整型值(或字符型值)时实 现多分支选择结构。 C 语提供的选择控制语句可以对给定的条件进行判断据断结果选择执行 分支 程 。 语可以分为说明性语句, 表式句 , 复合句 和 控结语 4 种型, if 句属于其中的 控制结语 。 C 语中语句的结束标志是 分号 。 复语句是用一对 界定的语句块。 将y 被 4 除但不能被 100 整或 y 能 400
14、 整这一条件描述写成逻辑表达式 y%4=0&y%100!=0|y%400=0 。 能表示40 x=60 x120的 C 语表达式是 。 10. 下程的功能是求 个数中的最小数将程序补充完整。int int x,y,z,min;“”,&x,&y,&z);if( ) min=x; min=y;if( ) min=z ;“”,min); 0;11. switch 语中 case 关字后面的表式必须是 整型量达 。12. switch 语只有与 case 语结合使用,才能实现程序的选择结构。13. 语 言 实 现 循 环 结 构 的 三 种 语 句 分 别 是 for 语 句 、 while 语 句
15、和 语句。14. 除 for 语句外,可能一次循环体也不执行循环语句是 while ,至少执行一次循环体 的循环语句是 do-while 。15. 若盘入字符 (表示按下回车键,则下面 for 语句执行后 的是 。 n;k+);16. 下程段的运行结果是 , 。int c=3, t; (abc) t=a; a=b; b=t; c-;printf(“%d,%d,%d”,a,b,c)17. 执下的程序段后 值是 。int dom*=n%10;n/=10;while(n);18. 下程的功能是求 100 之能同时被 和 5 整的数 数为一行的形式输出, 将程序补充完整。int main( )int
16、n,j=0;if (n%3!=0&n%5!=0)continue;j+;if ( j%8=0printf(n); j=%dn,j); 0;)三程阅,出序行果 int main()int ;if (ab)if (cd) x=1;if (ac)if (bd) x=2; x=3; x=6; x=7; 0;输: int )int a=2,b=7,c=5;switch printf(); ; printf(!); break ; printf(*) ; break ; ; ; default : printf(#) ; break ;default : printf(&);printf(n); 0;输:
17、*& int )int x,y;for (x=1,y=1 ; x10) break;if (y%3=1)y+=3 ; ;y-=5;printf(%d,%dn,y,x); 0;输:找寻两个数的最小公倍数。 int ( int scanf(%d,%d,&x,&y);t=x;x=y;y=t;if(z%x=0&z%y=0) z+;while(1);printf(gbs=%dn,z); 0;键盘输入数据:5,8输: int main( )int i,j;for (i=1; i+)for (j=1; j=i; for (j=1;j=7-2*i;j+)printf(*);printf(n); 0;输: *四
18、编题程实现,键盘输入 4 个数 a,b,c,d,出其中的最小数。#includeint int printf(if(ab) s=b; s=a;if(sd)s=d;printf(%d,s); 0;程实现,键盘输入 3 个数 a,b,c,按照由小到大的顺序输出这三个整数。 #includeint int scanf(%d%d%d,&a,&b,&c);if(ab) b=a; a=s;if(ac)s=c; if(bc)s=c; c=b; 0;果有如下的分段函数,编程实现,键盘输入 的,输出 y 的。x+8 (x10)y= (102x-3 (40)#includeint int x,y;scanf(%d
19、,&x);if(x10) y=x*x+8; if(x40)y=4*x+5; y=2*x-3;printf(%d,y); 0;程实现,键盘输入一个整数,判断它是奇数还是偶数,若是数则进一步判断它是否为 倍数。#includeint int a;if(a%2=0)if(a%4=0)printf(4printf(4 prinf( 0;编程实现,输入某学生某门课程的五级制成绩 ,B,D,(或,b,cd, 出该五级制成绩对应的分数段信息。对应关系为A 级应 90 分上B 级应 80 分, C 对应 79 分D 级应 60 分,E 级对应 以下。#includeint int a,b;b=a/10; pr
20、intf(C); break; 10: printf(A); break; printf(E); 0; 中有句俗语叫“三天打鱼两天晒网人从 1990 年 1 日起开始“三天打鱼两天晒 网编辑程序判断这个人在以后的某一天中是在“打鱼是在“晒网#includeint int *int sumday,Xyear=1990,rn;printf():);scanf(%d %d,&Year,&Month,&Day);if(Year1990)printf(n);return;/9901 /*rn=Xyear%4=0&Xyear%100!=0|Xyear%400=0;if(rn=1)/* 12: sumday
21、+=31; 11: sumday+=30; 10: sumday+=31; sumday+=30; 8:sumday+=31; 7:sumday+=31; 6:sumday+=30; 5:sumday+=31; 4:sumday+=30; 3:sumday+=31; else 1:sumday+=31;/*sumday+=Day;/*5*/ switch(sumday%5) n);break; n);break; 0; 假银行一年整存零取的月息为 ,现在某人手中有一笔钱,他打算在今后的五年中 每年的年底取出 元,到第五年时刚好取完,请编辑程序算出他存钱时应存入多少。 *1000=.=1000)
22、/(1+12*0.0063)=1000)/(1+12*0.0063)=1000)/(1+12*0.0063)=1000)/(1+12*0.0063)#includeint int i;float total=0;/*i 1totali* for(i=5;i0;i-)/*1*printf( %.2fn,total); 0; 买提将养的一缸金鱼分四次出售:第一次卖出全部的一半加一条,第二次卖出余下的三 分之一加两条,第三次卖出余下的四分之一加三条,最后卖出余下的 2 条。编程输出原来鱼 缸中共有多少条鱼。#includeint int fish=27;for(int i=3;i0;i-)fish=(fish+i)*(i+1)/i;printf( 0;程实现九九乘法表的输出,要使用 for 循实现。#includeint int i,j;for(i=1;i10;i+)for(j=1;j=i;j+)printf(%d*%d=%dt,i,j,(i*j);printf(n); 0;程实现,输出 100 到 200 间有的完全数。所谓完全数指一个数恰好等于它的所有 因子之和,这样的数称为完全数。#includeint int for(i=100;i=200;i+)for(j=1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论