第四章基础练习题
知识点:
1C语句可分为以下五类:
1>表达式语句: 表达式加上分号“;”组成
2>函数调用语句: 函数名、实际参数加上分号“;”组成。其一般形式为: 函数名(实际参数表)
3>控制语句:  有九种控制语句。 可分成以下三类:
条件判断语句:if语句、switch语句
循环执行语句:do while语句、while语句、for语句
转向语句:break语句、goto语句、continue语句、return语句
4>复合语句 把多个语句用括号{}括起来组成的一个语句,在程序中应把复合语句看成是单条语
句,而不是多条语句。复合语句内的各条语句都必须以分号“;”结尾,在括号“}”外不能加分号。
5>空语句
2putchar 函数是字符输出函数, 其功能是在显示器上输出单个字符
其一般形式为:putchar(字符变量)
对控制字符则执行控制功能,不在屏幕上显示。
3getchar函数的功能是从键盘上输入一个字符。其一般形式为:  getchar();
通常把输入的字符赋予一个字符变量,构成赋值语句,
getchar函数只能接受单个字符,输入数字也按字符处理。输入多于一个字符时,只接收第  个字符。
4printf函数称为格式输出函数。其功能是按用户指定的格式,把指定的数据显示到显示器屏幕上。  printf函数调用的一般形式为:  printf(“格式控制字符串,输出表列)
其中格式控制字符串用于指定输出格式。格式控制串可由格式字符串非格式字符串两种组成。格式字符串是以%  开头的字符串,在%后面跟有各种格式字符,以说明输出数据的类型、形式、长度、小数位数等
非格式字符串在输出时原样照印,在显示中起提示作用。
输出表列中给出了各个输出项,要求格式字符串和各输出项在数量和类型上应该一一对应。
Turbo C中格式字符串的一般形式为:      [标志][输出最小宽度][.精度][长度]类型
类型:类型字符用以表示输出数据的类型,其格式符和意义如下表所示:
格式字符
           
d
以十进制形式输出带符号整数(正数不输出符号)
o
以八进制形式输出无符号整数(不输出前缀0)
x,X
以十六进制形式输出无符号整数(不输出前缀Ox)
u
以十进制形式输出无符号整数
f
以小数形式输出单、双精度实数
e,E
以指数形式输出单、双精度实数
g,G
%f%e中较短的输出宽度输出单、双精度实数
c
输出单个字符
s
输出字符串
标志:标志字符为-+#、空格四种,其意义下表所示:
       
-
结果左对齐,右边填空格
+
输出符号(正号或负号)
空格
输出值为正时冠以空格,为负时冠以负号
#
c,s,d,u类无影响;对o,在输出时加前缀o;对x,在输出时加前缀0x;对e,g,f 类当结果有小数时才给出小数点
输出最小宽度:用十进制整数来表示输出的最少位数。若实际位数多于定义的宽度,则按实际位数输出,若实际位数少于定义的宽度则补以空格或0
精度:精度格式符以“.”开头,后跟十进制整数。本项的意义是:如果输出数字,则表示小数的位数;如果输出的是字符,则表示输出字符的个数;若实际位数大于所定义的精度数,则截去超过的部分。
5.长度:长度格式符为h,l两种,h表示按短整  型量输出,l表示按长整  型量输出。
练习1main()
{  int a=15;  float b=123.1234567;
  double c=12345678.1234567;
  char d='p';
  printf("a=%d,%5d,%o,%x\n",a,a,a,a);
  printf("b=%f,%lf,%5.4lf,%e\n",b,b,b,b);
  printf("c=%lf,%f,%8.4lf\n",c,c,c);
  printf("d=%c,%8c\n",d,d); }
5scanf函数称为格式输入函数,即按用户指定的格式从键盘上把数据输入到指定的变量之中。
scanf函数的一般形式为:    scanf(“格式控制字符串,地址表列);
其中,格式控制字符串的作用与printf函数相同,但不能显示非格式字符串,也就是不能显示提示字符串。地址表列中给出各变量的地址   
格式字符串的一般形式为:%[*][输入数据宽度][长度]类型
类型:表示输入数据的类型,其格式符和意义如下表所示。
格式
字符意义
d
c语言定义一个字符串
输入十进制整数
o
输入八进制整数
x
输入十六进制整数
u
输入无符号十进制整数
fe
输入实型数(用小数形式或指数形式)
c
输入单个字符
s
输入字符串
*”:用以表示该输入项,读入后不赋予相应的变量,即跳过该输入值。
    : scanf("%d %*d %d",&a,&b);
当输入为:1  2  3时,把1赋予a2被跳过,3赋予b
宽度:用十进制整数指定输入的宽度(即字符数)
长度:长度格式符为lhl表示输入长整型数据(%ld) 和双精度浮点数(%lf)
h表示输入短整型数据。
使用scanf函数还必须注意以下几点:
scanf函数中没有精度  控制,scanf中要求给出变量地址  ,在输入多个数值数据时,若格式控制串中没有非格式字符作输入数据之间的间隔则可用空格TAB  回车  作间隔。在输入字符数据时,若格式控制串中无非格式字符,则认为所有输入的字符均为有效字符。
例如:      scanf("%c%c%c",&a,&b,&c);
输入为:    d  e  f
则把'd'赋予a, ' ' 赋予b,'e'赋予c
如果格式控制串中有非格式字符则输入时也要输入该非格式字符
      例如:scanf("%d,%d,%d",&a,&b,&c);
  其中用非格式符“ , ”作间隔符,故输入时应为:
  5,6,7
如输入的数据与输出的类型不一致时,虽然编译能够通过,但结果将不正确。
练习
一、选择题:
1、设整型变量a的值为20,则语句printf(“%x”a)的输出结果是()。
(A) 20    (B) 14    (C) 014    (D) 0x14
设有整型变量abc,调用标准输入函数scanf(“%f %f %f”&a&b&c)从键盘上读入实型2、变量abc的值,则下列输入格式不正确的是()。
(A) 10    (B) 102030    (C) 10.0    (D) 10.0  20.0
  20                                20.0  30.0    30.0
  30
3、设整型变量a的值为–1,则语句printf(“%d%u\n”aa);的输出结果是( D)。
(A) –1-1  (B) –132767  (C) –132768    (D) –165535
4、已知ijkint型变量,设从键盘输入数据123<回车>使i的值是1j的值是2k的值是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);
5putchar函数可以向终端输出一个:D
A)整型变量表达式值  B)实型变量值  C)字符串  D)字符或字符型变量值
6printf函数中用到格式符%5s ,其中数字5表示输出的字符串占用5列。如果字符串长度大于5,则输出按方式(B
A)从左起输出该字串,右补空格  B)按原字符长从左向右全部输出
C)右对齐输出该字串,左补空格  D)输出错误信息
7、若x ,y均定义为int,z定义为double,以下不合法的scanf函数调用语句是:BD
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%6.2f",&x,&y,&z); 
8阅读以下程序,当输入数据的形式为:251310<CR>(注:<CR>表示回车),则正确的输出结果为        D   
    main()
    {    int x,y,z;
        scanf(“%d%d%d”,&x,&y,&z);
        printf(“x+y+z=%d\n”,x+y+z);    }
A) x+y+z=48      B) x+y+z=35      C) x+z=35          D) 不确定值
9已知ch是字符型变量,下面正确的赋值语句是    A 
A) ch=‘a+b’;    B) ch=‘\0’;    C) ch=‘7’+‘9’;      D) ch=5+9;
10、下列语句中,符合语法的语句是(  D  )
A)  a+b=3      B) a=7          C) a=c+d+5=6        D)a=8,b=a+7;
11、下述程序段的输出是(  C  )
#include <stdio.h>
void main( )
{  int a=012,b=012;
printf(“%x,  %o”,++a,b++);}
A) 13, 12          B) 13, 13    C) b, 12          D) b,  13
12、以下程序的输出结果是( D    )
#include <stdio.h>
main( )
{  int x=010, y=5;
  printf(“x=%d, y=%%d”,x,y,);}
A) x=10,  y=5      B) x=%2, y=%3      C)x=%%d, y=%%d    D)  x=8,  y=%d
13、以下程序段的输出结果是 (C  )

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。