欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    第三章基本语句.docx

    • 资源ID:13528487       资源大小:24.89KB        全文页数:22页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    第三章基本语句.docx

    1、第三章基本语句1若变量已正确定义并赋值,以下不能构成C语句的选项是A) B+;B) A=a+b;C) a=a+bD) A?a:b; 参考答案:C【解析】C语言规定,C语句必须以分号;结束C选项中没有结束符号,所以错误2以下叙述中正确的是A) 复合语句在语法上包含多条语句,其中不能定义局部变量B) 花括号对只能用来表示函数的开头和结尾,不能用于其他目的C) 空语句就是指程序中的空行D) 当用scanf从键盘输入数据时,每行数据在没按下回车键(Enter键) 前,可以任意修改 参考答案:D【解析】复合语句可以包含多条语句,在其中可以定义局部变量,所以A错误花括号对不仅用来表示函数的开头和结尾,也可

    2、以用于表示复合语句,所以B错误C语言中的语句必须以分号;结束,所以空语句表示为;,不是空行,所以C错误3以下叙述中正确的是A) 在scanf函数的格式串中,必须有与输入项一一对应的格式转换说明符B) 只能在printf函数中指定输入数据的宽度,而不能在scanf函数中指定输入数据占的宽度C) scanf函数中的字符串,是提示程序员的,输入数据时不必管它D) 复合语句也被称为语句块,它至少要包含两条语句 参考答案:A【解析】在printf和scanf函数中都可以指定数据的宽度,所以B错误scanf()的格式控制串可以使用其他非空白字符,如逗号,但在输入时必须输入这些字符,以保证匹配,所以C错误复

    3、合语句可以由任意多条语句构成,可以使一条也可以没有,所以D错误4以下选项中正确的定义语句是A) double, a, b;B) double a=b=7;C) double a; b;D) double a=7, b=7; 参考答案:D【解析】A选项中变量类型符double后面不能有逗号B选项中变量b不能先使用再定义,应该写成选项D中的格式C选项中变量a后面应该是逗号而不是分号5有以下程序 #include char fun( char *c ) if ( *c=A ) *c -= A-a; return *c; main() char s81, *p=s; gets( s ); while(

    4、 *p ) *p =fun( p ); putchar( *p ); p+; printf( n); 若运行时从键盘上输入OPEN THE DOOR,程序的输出结果是A) OPEN THE DOORB) oPEN tHE dOORC) open the doorD) Open The Door 参考答案:C【解析】字符串输入函数gets的功能是从标准输入设备键盘上输入一个字符串。首先使指针变量p指向字符串的首字母,while循环语句中对字符串的每个字符进行fun函数操作。fun函数的功能是,将字符串中的大写字母变小写字母。将处理结果返回主函数,主函数通过putchar()字符输出函数进行输出。

    5、因此C选项正确。黄底为输入函数scanf函数的用法6有以下程序 #include main() char c1,c2,c3,c4,c5,c6; scanf(%c%c%c%c, &c1,&c2,&c3,&c4); c5=getchar(); c6=getchar(); putchar(c1); putchar(c2); printf(%c%cn,c5,c6); 程序运行后,若从键盘输入(从第1列开始) 123 45678则输出结果是A) 1245B) 1256C) 1278D) 1267 参考答案:A【解析】Scanf按照格式字符进行输入,所以123与回车的值分别送入了c1c2c3c4变量的存储

    6、空间getchar()函数的功能是从键盘输入的字符串中读入一个字符,所以4送入了变量c5的存储空间,5送入了变量c6的存储空间所以打印时结果为12457若有以下程序 #include char f(char x) return x*x+a; main() char a, b=0; for ( a=0; a4; a+=1 ) b = f(a); putchar(b); 则程序的输出结果是A) abcdB) ABEJC) abejD) ABCD 参考答案:C【解析】该题目首先初始化变量a和b,通过for循环语句使a取值为0、1、2、3,f函数的功能是将a*a+a的值返回给b,即b为a、b、e、j。

    7、最后通过字符输出函数putchar()将b输出。因此C选项正确。9有以下程序:#include main() char a,b,c,d; scanf(%c%c,&a, &b); cgetchar(); dgetchar(); printf(%c%c%c%cn,a,b,c,d);当执行程序时,按下列方式输入数据(从第1列开始,代表回车,注意:回车也是一个字符)1234则输出结果是()。A) 1234B) 12C) 1234D) 123 参考答案:D【解析】按照从键盘输入的数据可以判断字符1给了变量a,字符2给了变量b,字符即回车给了变量c,字符3给了变量d。所以打印输出的结果为D)选项。33若变

    8、量已正确定义为int型,要通过语句 scanf(%d,%d,%d,&a,&b,&c); 给a赋值1、给b赋值2、给 c赋值3,以下输入形式中错误的是(注:代表一个空格符)A) 1,2,3B) 1,2,3 C) 1,2,3D) 123 参考答案:D【解析】scanf()的格式控制串可以使用其他非空白字符,如本题中的逗号,但在输入时必须输入这些字符,以保证匹配所以逗号必须输入34设变量均已正确定义,若要通过 scanf(%d%c%d%c,&a1,&c1,&a2,&c2);语句为变量a1和a2赋数值10和20,为变量c1和c2赋字符X和Y。以下所示的输入形式中正确的是(注:代表空格字符)A) 10X

    9、20YB) 10X20YC) 10X20YD) 10X20Y 参考答案:C【解析】输入数据的格式必须与scanf()的格式控制串完全匹配,如果A、BC选项中在数字10后面均输入了空格,则会将空格赋给变量c1,而不是把X赋给c1,所以选择C选项35若有定义: int a,b;通过语句 scanf(%d;%d,&a,&b);能把整数3赋给变量a,5赋给变量b的输入数据是(C)A) 3 5B) 3,5C) 3;5D) 3530有以下程序:#include main()int a1,a2; char c1,c2;scanf(%d%c%d%c,&a1,&c1,&a2,&c2);printf(%d,%c,

    10、%d,%c,a1,c1,a2,c2);若想通过键盘输入,使得a1的值为12,a2的值为34,c1的值为字符a,c2的值为字符b,程序输出结果是:12,a,34,b 则正确的输入格式是(以下代表空格,代表回车)()。 A) 12a34 bB) 12 a 34 bC) 12,a,34,bD) 12a34b 参考答案:D【解析】在输入多个数据时,若格式控制串中无非格式字符,则认为所有输入的字符均为有效字符。所以应按选项D)的顺序输入数据。32设有定义: double a,b,c;若要求通过输入分别给a、b、c输入1、2、3,输入形式如下(注:此处代表一个空格) 1.02.03.0则能进行正确输入的语

    11、句是A) scanf(%lf%lf%lf,a,b,c);B) scanf(%lf%lf%lf,&a,&b,&c);C) scanf(%f%f%f,&a,&b,&c);D) scanf(%5.1lf%5.1lf%5.1lf,&a,&b,&c); 参考答案:B【解析】scanf函数的一般形式为scanf(格式控制,变量1地址,变量2地址,),其中,格式字符串要与数据类型保持一致,所以格式字符串中应为%lf,后面应该为变量地址,所以需要加上符号&,所以选择B字符参与计算7若有以下程序 #include char f(char x) return x*x%10 + 0; main() char a;

    12、int b=0; for ( a=0; a5; a+=1 ) b = f(a); putchar(b); 则程序的输出结果是A) 014916B) 01234C) 01496D) 00000 参考答案:C【解析】该题目中x*x%10即x和x相乘后,结果再对10求余操作。主函数中通过for语句使变量a从0到4进行取值;当a=0时,调用函数f后,返回值为0赋给b,并且进行字符输出;当a=1时,返回值为1赋给b,并且进行字符输出;当a=2时,返回值为4赋给b,并且进行字符输出;当a=3时,返回值为9赋给b,并且进行字符输出;当a=4时,返回值为6赋给b,并且进行字符输出。因此C选项正确。8有以下程序

    13、 #include int f( int x ); main() int a, b=0; for ( a=0; a3; a+=1 ) b += f(a); putchar(A+b); int f( int x ) return x*x+1; 程序运行后输出结果是A) ABEB) BCDC) BDID) BCF 参考答案:C【解析】在函数main()中,第一次执行for 循环时,b的值等于1,此时输出字母B;第二次执行for循环时,b的值等于3,此时输出字母D;第三次执行for循环时,b的值等于8,此时输出字母I。因此C选项正确。13以下不能输出字符A的语句是(注:字符A的ASCII码值为65,

    14、字符a的ASCII码值为97)A) printf (%c n, a-32);B) printf (%d n, A);C) printf (%c n, 65);D) printf (%c n, B-1); 参考答案:B【解析】B选项输出的格式为%d,即为整型格式,所以输出字符A的ASCII码值65,而不是字符A由于大写字母和其对应的小写字母的ASCII码值小32,所以A正确字符A的ASCII码值就是65,所以以%c格式输出可以输出字符A,所以C正确由于字符A的ASCII码值比字符B的小1,所以D正确14已知字符A的ASCII代码值是65,字符变量c1的值是A,c2的值是D。则执行语句 print

    15、f(%d,%d, c1, c2-2 ); 的输出结果是A) 65,68B) A,68C) A,BD) 65,66 参考答案:D【解析】打印时以%d整型格式打印输出,所以字符标量c1的值打印出来就是65,从c2-2的值打印出来就是68-2,即66所以选择D18若有以下程序 #include main() char c1, c2; c1=C+8-3; c2=9-0; printf(%c %dn, c1, c2); 则程序的输出结果是A) H 9B) H 9C) F 9D) 表达式不合法输出无定值 参考答案:B【解析】本题考察字符变量以及printf()函数相关知识,字符变量c1被赋值为C+8-3,

    16、即ASSCII码的运算,67+54-49=72,即H;字符变量c2被赋值为9-0,但输出时,需要注意的是c1以字符变量输出,而c2是以十进制整型变量输出。因此B选项正确。28有以下程序:#include main() char c1,c2;c1A84;c2A85;printf( %c,%dn,c1,c2);已知字母A的ASCII码为65,程序运行后的输出结果是()。A) E,68 B) D,69C) E,DD) 输出无定值 参考答案:A【解析】本题目中字符变量c1是字符A的ASCII码加上4,即69所对应的字符E。 字符变量c2是字符A的ASCII码加上3,即68所对应的字符D。但是打印输出时

    17、,c1以%c的格式输出,所以是E,c2以%d的格式输出,所以是68。10以下叙述中错误的是A) gets函数用于从终端读入字符串B) getchar函数用于从磁盘文件读入字符C) fputs函数用于把字符串输出到文件D) fwrite函数用于以二进制形式输出数据到文件 参考答案:B【解析】本题考查字符处理函数和文件做操函数,属于基础知识,其中B选项getchar是用于从终端读入字符。11要求通过while循环不断读入字符,当读入字母N时结束循环。若变量已正确定义,以下正确的程序段是A) while(ch=getchar() =N) printf(%c ,ch); B) while(ch=get

    18、char()!=N) printf(%c ,ch);C) while(ch=getchar()=N) printf(%c ,ch);D) while(ch=getchar()=N) printf(%c ,ch); 参考答案:B【解析】在C语言中等于号用= =表示,一个=表示赋值,所以A错误C、D 选项的含义都是如果输入的字符为 N,则打印输出,所以正好和题意相反12若要求从键盘读入含有空格字符的字符串,应使用函数A) getchar()B) getc()C) gets()D) scanf() 参考答案:C【解析】scanf ( )语句中用空格间隔不同的字符串,空格将被全部忽略掉,所以用scan

    19、f()函数不能输入空格;getchar()函数用于输入字符,其调用格式为:ch=getchar(),getchar()函数从终端读入一个字符作为函数值,把读入的字符赋给变量ch。在输入时,空格、回车符都将作为字符读入,而且只有在用户敲入回车键时,读入才开始执行。gets()函数的调用形式为:gets(str_adr),其中str_adr是存放输入字符串的起始地址,可以是字符数组名、字符数组元素的地址或字符指针变量。gets函数用来从终端键盘读入字符串(包括空格符),直到读入一个换行符为止。getc()函数的调用形式为:ch=getc(pf)其中pf是文件指针,函数的功能是从pf指定的文件中读入

    20、一个字符,并把它作为函数值返回。因此C选项正确。输出%15以下叙述中正确的是A) 在scanf函数中的格式控制字符串是为了输入数据用的,不会输出到屏幕上B) 在使用scanf函数输入整数或实数时,输入数据之间只能用空格来分隔C) 在printf函数中,各个输出项只能是变量D) 使用printf函数无法输出百分号% 参考答案:A【解析】scanf函数中的格式控制字符串是为了输入数据用的,无论其中有什么字符,也不会输出到屏幕上,所以A正确scanf()的格式控制串可以使用其他非空白字符,如逗号,但在输入时必须输入这些字符,以保证匹配就可以,所以B错误Printf函数可以输出常量也可以输出变量,所以

    21、C错误Prinf函数可以用%来输出百分号%,所以D错误16有以下程序 #include main() int a=2, c=5; printf( a=%d,b=%dn, a,c ); 程序的输出结果是A) a=2,b=5B) a=%2,b=%5C) a=%d,b=%dD) a=%d,b=%d 参考答案:C【解析】C语言中用%打印输出字符%,所以%d,输出为%d两个普通字符,而不是格式控制符%d的含义,所以打印结果为C17有以下程序 #include main() int a=0, b=0; /* 给a赋值 a=10; b=20; 给b赋值 */ printf(a+b=%dn,a+b); /*

    22、输出计算结果 */ 程序运行后的输出结果是A) 出错B) a+b=30C) a+b=10D) a+b=0 参考答案:D【解析】注释语句可以在一行也可以在多行,用/*/或/表示,。它不参与程序的运行,所以a与b的值仍然为0,所以打印的结果为a+b=019以下叙述中正确的是A) 由printf输出的数据都隐含左对齐B) scanf和printf是C语言提供的输入和输出语句C) 赋值语句是一种执行语句,必须放在函数的可执行部分D) 由printf输出的数据的实际精度是由格式控制中的域宽和小数的域宽来完全决定的 参考答案:C【解析】scanf和printf是C语言提供的输入输出函数,所以B错误由pri

    23、ntf输出的数据都隐含右对齐,所以A错误Printf输出数据所占的宽度由系统决定,所以D错误20有以下程序 #include main() int x; for( x=3; x6; x+ ) printf( (x%2 ) ? (*%d) :(#%d),x); printf(n); 程序的输出结果是A) *3#4*5B) #3*4#5C) *3*4#5D) *3#4#5 参考答案:A【解析】条件运算符组成条件表达式的一般形式为:表达式1? 表达式2: 表达式3其求值规则为:如果表达式1的值为真,则以表达式2 的值作为条件表达式的值,否则以表达式2的值作为整个条件表达式的值。本题中语句printf

    24、(x%2)?(*%d):(#%d),x);含义为变量x对2求余,如果结果为真,则按照*%d格式输出,否则按照#%d输出。因此A选项正确。21若有以下程序 #include main() int i, j=0; char a=How are you!, b10; for ( i=0; ai; i+ ) if (ai = ) bj+=ai+1; bj=0; printf(%sn,b); 则程序的输出结果是A) Howareyou!B) HowareyouC) Hay!D) ay 参考答案:D【解析】程序首先初始化字符数组a 为How are you!。语句if (ai = = ) bj+=ai+1

    25、;条件是判断字符数组a 中是否是空格字符,如果是空格的话,将空格后的字符赋给数组b。并将b输出。因此D选项正确。22有以下程序 #include main() int x=1, 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=%dn,a,b ); 程序运行后的输出结果是A) a=1,b=0B) a=1,b=1C) a=2,b=1D) a=2,b=2 参考答案:C【解析】本题重点考察switch语句,sw

    26、itch语句中case分支后面如果没有break,那么就会顺序执行下面的case,直到遇到break跳出。由于变量a和变量b均赋初值为0,当程序执行完语句case 0: a+; break;后,a的值为1,继续执行语句case 2: a+; b+; break;a的值为2,b的值为1。因此C选项正确。23有以下程序 #include main() int k, j, s; for( k=2; k6; k+,k+ ) s=1; for (j=k; j6; j+ ) s+=j; printf(%dn , s ); 程序运行后的输出结果是A) 6B) 10C) 24D) 40 参考答案:B【解析】本

    27、题重点考察for语句循环嵌套,首先k=2,进行一次循环后,k自增两次,变成4,这时s为1。即当k=4的时候,s=1,j=4,执行内层循环,s=1+4,j自增1后等于5,s=5+5, j再自增1后即为6,跳出内层循环。k自增两次后等于6,不成立,跳出外层循环。最后输出s的值,即为10。因此B选项正确。24有以下程序:#include main() int a1,b0;printf(%d,bab);printf(%dn,a2*b);A) 1,2B) 1,0 C) 3,2 D) 0,0 参考答案:A【解析】首先打印bab101的值1,此时已给b赋值为1。然后打印a2*b=2*1=2的值2。所以结果是1,2.25有以下程序 #include main() int i, sum; for( i=1; i6; i+ ) sum+=i; printf(%dn, sum); 程序运行后的输出结果是A) 随机值B) 0C) 15D) 16 参考答案:A【解析】本题重点考察for语句,变量没有初始化的情况下,默认值与编译器有关系,不同的编译器有不同的值。因此A选项正确。26有以下程序 #include main() int a = 3; do prin


    注意事项

    本文(第三章基本语句.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

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

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


    收起
    展开