![[高等教育]三、基本语句.doc_第1页](http://file.renrendoc.com/FileRoot1/2019-1/8/2ee9636d-a652-4f62-a235-8b1f2911baf7/2ee9636d-a652-4f62-a235-8b1f2911baf71.gif)
![[高等教育]三、基本语句.doc_第2页](http://file.renrendoc.com/FileRoot1/2019-1/8/2ee9636d-a652-4f62-a235-8b1f2911baf7/2ee9636d-a652-4f62-a235-8b1f2911baf72.gif)
![[高等教育]三、基本语句.doc_第3页](http://file.renrendoc.com/FileRoot1/2019-1/8/2ee9636d-a652-4f62-a235-8b1f2911baf7/2ee9636d-a652-4f62-a235-8b1f2911baf73.gif)
![[高等教育]三、基本语句.doc_第4页](http://file.renrendoc.com/FileRoot1/2019-1/8/2ee9636d-a652-4f62-a235-8b1f2911baf7/2ee9636d-a652-4f62-a235-8b1f2911baf74.gif)
![[高等教育]三、基本语句.doc_第5页](http://file.renrendoc.com/FileRoot1/2019-1/8/2ee9636d-a652-4f62-a235-8b1f2911baf7/2ee9636d-a652-4f62-a235-8b1f2911baf75.gif)
已阅读5页,还剩9页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
三、基本语句本章概述:本章主要考查输入输出语句和顺序结构设计方法。通过对历年试卷内容的分析,本章考核内容约占4%,属于一般考查对象。年份20074200792008420089分值2843大纲要求:1 表达式语句,空语句,复合语句。2 输入输出函数的调用,正确输入数据并正确设计输出格式。重点难点:1 格式输入输出2 正确适用printf和scanf函数考点1考点分析: C语言语句(1)控制语句C有9种控制语句,它们是:【特别提醒】:以上语句中( )表示一个条件,表示内嵌语句。(2)其它类型语句表达式语句:一个表达式语句是表达式后面出现分号。 函数调用语句:由函数调用表达式加一个分号构成函数调用语句。例如:printf(“This is a C statement.”);【特别提醒】:赋值语句是有赋值表达式和分号构成的,“=”和“=”是两个不同的运算符,前者是赋值运算符,后者是关心运算符。(3)空语句只有一个分号的语句,它什么也不做(表示这里可以有一个语句,但是目前不需要做任何工作)。(4)复合语句用把一些语句(语句序列,表示一系列工作)括起来成为复合语句,又称语句块、分程序。l 试题解析1以下叙述中错误的是()。2005年9月第12题 AC语句必须以分号结束 B复合语句在语法上被看作一条语句 C空语句出现在任何位置都不会影响程序运行 D赋值表达式末尾加分号就构成赋值语句解析:空语句表示一个位置,表示存在一个语句。比如后面的for循环中循环体有空语句和没有空语句区别很大。答案选C。考点2 输入输出概念(1)从计算机向外部设备(如显示器、打印机、磁盘等)输出数据称为“输出”, 从外部设备(如键盘、鼠标、扫描仪、光盘、磁盘)向计算机输入数据称为“输入”。(2)C语言本身不提供输入/输出语句,输入/输出操作由函数实现。C函数库中有一批“标准输入/输出函数”,它是以标准的输入/输出设备(一般为终端)为输入/输出对象的。其中有:putchar(输出字符),getchar(输入字符),printf(格式化输出),scanf(格式化输入),puts(输出字符串),gets(输入字符串)。(3)在使用C库函数时,要用预编译命令“#include”将有关的“头文件”包含到用户源文件中。考点3 printf( )函数(格式输出函数)(1)一般形式按照用户指定的格式,向系统隐含的输出设备(终端)输出若干个任意类型的数据。printf函数的一般格式:printf(格式控制,输出表列);函数参数包括两部分:(1)“格式控制”字符串是用双引号括起来的字符串,也称“转换控制字符串”, 它指定输出数据项的类型和格式。它包括两种信息:l 格式说明项:由“%”和格式字符组成,如%d,%f等。格式说明总是由“%”字符开始,到格式字符终止。它的作用是将输出的数据项转换为指定的格式输出。l 普通字符:即需要原样输出的字符。例如逗号和换行符。(2)“输出列表”是需要输出的一些数据项,可以是常量、变量或表达式,也可以是有返回值的函数调用。【特别提醒】:输出表列中的每个数据项对应一个格式说明项。(2)格式字符对于不同类型的数据项应当使用不同的格式字符构成的格式说明项。可以根据需要%和格式字符之间插入“宽度说明”、左对齐符号“-”、前导零符号“0”等。常用的有以下几种格d格式符。用来输出十进制整数。尾0)。有以下几种用法:【特别提醒】: (1) 除了X,E,G外,其它格式字符必须用小写字母。如%d不能写成%D。(2) 可以在“格式控制”字符串中包含转义字符。如“n”(3) 格式符以%开头,以上述9个格式字符结束。中间可以插入附加格式字符。(4) 如果想输出字符%,则应当在“格式控制”字符串中用两个%表示。l 试题解析1有以下程序,其中%u表示按无符号整数输出( ) 2007年4月第19题main()unsigned int x=0xFFFF; /* x的初值为十六进制数 */ printf(“%un”,x);程序运行后的输出结果是A-1 B65535 C32767 D0xFFFF解析:x为无符号的十六机制表示的数,%u以无符号十进制形式输出。答案为B。2已知字符A的ASC代码值是65,字符变量c1的值是A,c2的值是D。执行语句printf(%d,%d,c1,c2-2);后,输出结果是( ) 2007年9月第26题AA,B BA,68 C65,66 D65,68解析:%d是以十进制形式输出。如果是字符,则输出它的ASCII码值,c1的值为65,c2-2,是68-2.答案为C。3有以下程序段 char ch; int k; ch=a; k=12; printf(%c,%d,ch,ch,k); printf(k=%dn,k); 已知字符a的ASCll十进制代码为97,则执行上述程序段后输出结果是( )2008年4月第16题A因变量类型与格式描述符的类型不匹配输出无定值 B输出项与格式描述符个数不符,输出为零值或不定值 Ca,97,12k=12 Da,97,k=12解析:printf()函数如果输出格式与输出项从左到右匹配,没有的话就不输出。答案为D。4若整型变量a和b的值分别为7和9,要求按以下格式输出a和b的值 a=7 b=9 请完成输出语句:printf(“ ”,a,b); 2008年9月填空第7题解析:a=%dnb=%dn考点4 scanf( )函数(格式输入函数)(1)一般形式scanf函数的一般格式:scanf(格式控制字符串,地址列表)其中:(1) 格式控制字符串的含义与printf类似,它指定输入数据项的类型和格式。(2) 地址列表是由若干个地址组成的列表,可以是变量的地址(&变量名)或字符串的首地址。(2)格式说明与printf函数中的格式说明相似,以%开始,以一个格式字符结束,中间可以插入附加字符。格式说明:(1) 对unsigned型变量所需的数据,可以用%u,%d或%o,%x格式输入。(2) 可以指定输入数据所占列数,系统自动按它截取所需数据。(3) 如果%后有“*”附加格式说明符,表示跳过它指定的列数,这些列不赋值给任何变量。(4) 输入数据时可以指定数据字段的宽度,不能规定数据的精度。【特别提醒】:(1) scanf函数中“格式控制”后面应当是变量地址,而不应是变量名。(原因:C是传值调用,不能由形参返回值)(2) 如果在“格式控制”字符串中除了格式说明以外还有其它字符,则在输入数据时在对应位置应当输入与这些字符相同的字符。建议不要使用其它的字符。(3) 在用“%c”格式输入字符时,空格字符和转义字符都作为有效字符输入。%c只要求读入一个字符,后面不需要用空格作为两个字符的间隔。(4) 在输入数据时,遇到下面情况认为该数据结束:l 遇到空格,或按“回车”或“跳格”(tab)键。l 按指定的宽度结束l 遇到非法的输入l 试题解析1 设变量均已正确定义,若要通过scanf(“%d%c%d%c”,&a1,&c1,&a2,&c2);语句为变量a1和a2赋数值10和20,为变量c1和c2赋字符X和Y。以下所示的输入形式中正确的是(注:代表空格字符)( )2007年4月第16题A10X20Y回车 B10X20Y回车 C10X回车 D10X回车 20Y回车 20Y回车解析:scanf()格式输入函数,在用“%c”格式输入字符时,空格字符和转义字符都作为有效字符输入;在输入数据时,碰到回车也是认为数据结束标志。答案为D。2 若在定义语句:int a,b,c,*p=&c;之后,接着执行以下选项中的语句,则能正确执行的语句是()2007年9月第15题Ascanf(%d,a,b,c); Bscanf(%d%d%d,a,b,c);Cscanf(%d,p); Dscanf(%d,&p);解析:scanf函数中“格式控制”后面应当是变量地址,而不应是变量名。答案为C。3有以下程序段int j; float y; char name50;scanf(%2d%f%s,&j,&y,name);当执行上述程序段,从键盘上输入55566 7777abc后,y的值为( )2008年4月第18题A55566.0 B566.0 C7777.0 D566777.0解析:scanf()函数中格式控制%2d读了2个宽度给j,%f读了一个浮点性数据给y。此时读入数据有三种情况为结束标志,其中有空格。答案为B。4执行以下程序时输入1234567,则输出结果是_。2007年9月填空第6题#include main() int a=1,b;scanf(%2d%2d,&a,&b);printf(%d %dn,a,b);解析:scanf()函数中格式控制%2d读了2个宽度给a,2个长度给b,所以a为12,b为34。输出格式中12和34中间还有空格。故答案为12 34。5 若变量已经正确定义为int型,要通过语句scanf(“%d,%d,%d”,&a,&b,&c);给a赋值1、给b赋值2、给c赋值3,以下输入形式中错误的是(代表一个空格符) ( )2008年9月第19题A1,2,3 B123C1,2,3 D1,2,3解析:如果在“格式控制”字符串中除了格式说明以外还有其它字符,则在输入数据时在对应位置应当输入与这些字符相同的字符。答案为D。考点5 putchar函数(字符输出函数)向终端(显示器)输出一个字符(可以是可显示的字符,也可以是控制字符或其它转义字符)。一般形式:putchar(字符表达式);【特别提醒】:putchar(a),输出字符变量a的值,a可以是字符型变量或整型变量。若a是整型变量,则输出的是ASCII码值是该值的那个字符。考点6 getchar函数(字符输入函数)从终端(键盘)输入一个字符,以回车键确认。函数的返回值就是输入的字符。一般形式:c=getchar();【特别提醒】:字符输入函数没有参数,函数值就是从输入设备得到的字符。getchar()只接受一个字符,getchar()函数得到的字符可以赋给一个字符变量或整型变量,也可以不赋给任何变量。使用字符输入和输出函数必须包含命令“#include ”。考点7 puts函数(字符串、字符数组中字符串输出函数)将字符串或字符数组中存放的字符串输出到显示器上。一般形式:puts(char *str);考点8 gets函数(字符串输入函数)接收从键盘输入的一个字符串,存放在字符数组中。一般形式:gets(char *str);【特别提醒】:当用户要求输入的字符串中含有空格时,应使用的输入函数是gets函数。l 试题解析1当用户要求输入的字符串中含有空格时,应使用的输入函数是( )2007年9月第36题Ascanf() Bgetchar() Cgets() Dgetc()解析:应使用的输入函数是gets函数。答案是C。2有定义语句:char s10;,若要从终端给s输入5个字符,错误的输入语句是( )2008年4月第27题Agets(&s0); Bscanf(“%s”,s+1); Cgets(s); Dscanf(“%s”,s1); 解析:gets()函数参数是指针变量或数组名,scanf()函数的输入项是变量的地址,而不是变量。答案D。相关习题一、选择题1有以下程序main() int m,n,p; scanf(m=%dn=%dp=%d,&m,&n,&p); printf(%d%d%dn,m,n,p);若想从键盘上输入数据,使变量m中的值为123,n中的值为456,p中的值为789,则正确的输入是 Am=123n=456p=789Bm=123 n=456 p=789Cm=123,n=456,p=789D123 456 7892有以下程序main() int m=0256,n=256; printf(%o %on,mn,n);程序运行后的输出结果是A0256 0400 B 0256 256 C256 400 D400 400 3有以下程序main() int a=666,b=888; printf(%dn,a,b);程序运行后的输出结果是A 错误信息 B 666 C888 D666,888 4有以下程序main( )int x=102,y=012; printf(“%2d,%2dn”,x,y); 执行后输出结果是A10,01 B02,12 C102,10 D 02,105有以下程序main() int a; char c=10;float f=100.0; double x;a=f/=c*=(x=6.5);printf(%d %d %3.1f %3.1fn,a,c,f,x);程序运行后的输出结果是A1 65 1 6.5 B1 65 1.5 6.5C1 65 1.0 6.5 D2 65 1.5 6.56有定义语句:int x,y;, 若要通过scanf(%d,%d,&x,&y);语句使变量x得到数值11,变量y得到数值12,下面四组输入形式中,错误的是A11 12回车 B11,12回车C 11,12回车 D 11,回车 12回车7 设有如下程序段:int x=2002,y=2003;printf(%dn,(x,y);则以下叙述中正确的是A 输出语句中格式说明符的个数少于输出项的个数,不能正确输出B 运行时产生出错信息C 输出值为2002D输出值8若有以下程序段(n所赋的是八进制数)int m=32767,n=032767printf(%d,%o/n,m,n);执行后输出结果是为2003A 32767,32767B32767,032767C32767,77777D32767,0777779若有以下程序段int m=0xabc,n=0xabc;m-=n;printf(%Xn,m);执行后输出结果是A 0X0B0x0C 0D 0XABC10已知i、j、k为int型变量,若从键盘输入:1,2,3,使i的值为1、j的值为2、k的值为3,以下选项中正确的输入语句是A scanf(“%2d%2d%2d”,&i,&j,&k);B scanf(“%d %d %d”,&i,&j,&k);C scanf(“%d,%d,%d”,&i,&j,&k);D scanf(“i=%d,j=%d,k=%d”,&i,&j,&k);11设有定义:long x=-123456L;,则以下能够正确输出变量x值的语句是Aprintf(“x=%dn”,x); Bprintf(“x=%1dn”,x);Cprintf(“x=%8dLn”,x); Dprintf(“x=%LDn”,x);12以下程序段的输出结果是int a=1234;printf(%2dn,a);A12 B 34 C 1234 D 提示出错、无结果13x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是AINPUT x、y、z; B scanf(“%d%d%d”,&x,&y,&z);C scanf(“%d%d%d”,x,y,z); D read(“%d%d%d”,&x,&y,&z);14若变量已正确说明为float类型,要通过语句scanf(“%f %f %f ”,&a,&b,&c);给a赋于10.0,b赋予22.0,c赋予33.0,不正确的输入形式是:A10 B10.0,22.0,33.0 22 33C 10.0 D10 22 22.0 33.0 3315有如下程序main0 int y=3,x=3,z=1;printf(“%d %dn”,(+x,y+),z+2);运行该程序的输出结果是A 3 4 B 4 2 C4 3 D3 316下列程序执行后的输出结果是(小数点后只写一位) A 6 6 6.0 6.0 B6 6 6.7 6.7 C6 6 6.0 6.7 D6 6 6.7 6.0 main() double d; float f; ling l; int i; i=f=1=d=20/3; printf(%d %ld %f %f n, i,l,f,d); 17以下说法中正确的是 A #define和printf都是C语句 B#define是C语句,而printf不是 C printf是C语句,但#define不是 D #define和printf都不是C语句18 以下程序的输出结果是 A 17,021,0x11 B 17,17,17 B 17,0x11,021 D 17,21,11 main( ) int k=17; printf(%d,%o,%x n,k,k,k); 19 以下叙述中正确的是A 输入项可以是一个实型常量,如:scakf(%f,3.5);B只有格式控制,没有输入项,也能正确输入数据到内存,例如:scakf(a=%d,b=%d);C 当输入一个实型数据时,格式控制部分可以规定小数点后的位数,例如:scakf(%4.2f,&f);D 当输入数据时,必须指明变量地址,例如:scakf(%f,&f);20若有以下定义和语句:int u=010,v=0x10,w=10;printf(%d,%d,%dn,u,v,w);则输出结果是:A 8,16,10 B 10,10,10 C8,8,10 D8,10,1021请读程序片段:int i=65536; printf(%dn,i);上面程序片段的输出结果是A 65536 B 0C 有语法错误,无输出结果 D -122若x和y都是int型变量,x=100,y=200,且有下面的程序片段:printf(%d,(x,y);上面程序片段的输出结果是A200 B100C100 200 D 输出格式符不够,输出不确定的值23请读程序:#includemain() int a; float b, c;scanf(%2d%3f%4f,&a,&b,&c);printf(na=%d, b=%f, c=%fn, a, b, c);若运行时从键盘上输入9876543210(表示回车),则上面程序的输出结果是A a=98, b=765, c=4321 Ba=10, b=432, c=8765C a=98, b=765.000000, c=4321.000000Da=98, b=765.0, c=4321.024以下程序的输出结果是( )。# include # include main() int a=1,b=4,c=2; float x=10.5 , y=4.0 , z; z=(a+b)/c+sqrt(double)y)*1.2/c+x; pritnf(%fn,z); A 14.000000 B015.400000 C 13.700000 D14.90000025以下程序的输出结果是()。# include main() int a=2,c=5; printf(a=%d,b=%dn,a,c); A a=%2,b=%5 B a=2,b=5 Ca=%d,b=%d D a=%d,b=%d26 执行下面程序中的输出语句,a的值是A 65 B20 C15 D 10main() int a;printf(%dn,(a=3*5,a*4,a+5); 二、填空题:1以下程序运行后的输出结果是 【1】 。main() int x=0210; printf(%Xn,x); 2以下程序运行后的输出结果是 【2】 。main() char c; int n=100; float f=10; double x; x=f*=n/=(c=50); printf(%d %fn,n,x);3以下程序运行时若从键盘输入:10 20 30。输出结果是 .#include main() int i=0,j=0,k=0; scanf(%d%*d%d,&i,&j,&k); printf(%d%d%dn,i,j,k);4以下程序段的输出结果是 【4】 。int i=9;printf(%on,i);5以下程序运行后的输出结果是 【5】 。main() int a,b,c; a=25; b=025; c=0x25; printf(%d %d %dn,a,b,c);6有以下语句段int n1=10,n2=20;printf(“ 【6】 ”,n1.n2); 要求按以下格式输出n1和n2的值,每个输出行从第一列开始,请填空。n1=10n2=207若有语
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 定安工程潜水铺设方案(3篇)
- 牵牛花的种植课件
- 临床不需要编码手术操作定义及编码规则
- 安全教育平台使用培训会课件
- 山东省济南市2025年中考物理真题附真题答案
- 农业可持续发展与现代种业创新基地建设项目可行性研究报告
- 职工劳动合同样板范本
- 上托管协议的法律要素
- 新能源产业绿色升级:2025年技术创新与环保责任路径报告
- 汽车行业供应链风险管理案例解析与韧性保障报告
- 物业弱电维修课件
- 民宿旅游培训课件
- 诚信教育读本
- DZ/T 0261-2014滑坡崩塌泥石流灾害调查规范(1∶50 000)
- 《智慧物流与供应链基础》课件 第一章 智慧物流与智慧供应链
- 2025年城市更新与历史文化街区保护相结合的社区治理模式研究报告
- 计算机二级MySQL真题下载试题及答案
- 佛山市顺德区容桂街道专业电镀产业发展规划(2023-2035年)环境影响报告书(简本)
- 核酸检测知识培训课件
- 无人机的专业知识课件
- 分子生物学检验技术第一章分子生物学检验技术绪论课件
评论
0/150
提交评论