字符类型
注意:ASCII码
1 是字符占⼀个字节,"1"是字符串占两个字节(含有⼀个结束符号)。
0 的ASCII 数值表⽰为48,a 的ASCII 数值是97,A的ASCII 数值是65。
字符型数据输入输出scanf()和printf( )
%c
char ch;
scanf("%c".&ch);
printf("%c".ch);
getchar()和putchar()
char ch;
ch=getchar();
putchar(ch);
输入输出一个字符
例:
#include <stdio.h>
void main()
{
char ch1.ch2; 输入:Ab
ch1=getcharO; 运行结果为:A#b
ch2=getcharO:
putchar(ch1);
putchar('#');
putchar(ch2);
}
算数的优先级和结合性:
单目 : + - ++ --
双目:* / % 优先级:自上而下由高到低,从右至左运算
双目:+ -
% 模(求余)整型数据
例:5%6=5,9%4=1
自加自减用算符:
i++,i--,++i,--i
计算方法:
(1)、 int i,k; i=i+1 k=i
i=2;k=++i; {
i=3 k=3
(2)、 i=2; k=i i=i+1
k=i++; {
i=3 k=2
复合算术赋值运算符:
赋值运算符
一简单赋值运算符=
一复合(算术)赋值运算符+= -= *= /= %=赋值表达式
赋值表达式:
变量 赋值运算符 表达式
例题:x+= exp x=x+(exp)
——整数类型的扩展
有符号 无符号 数据长度
int unsigned [int] 16或32
short [int] unsigned short [int] 16
long [int] unsigned long [int] 32
同下:
有符号 无符号 数据长度
int unsigned [int] 16或32
short [int] unsigned short [int] 16
long [int] unsigned long [int] 32
——整型数量的表示
1、不能超出整型数据的取值范围
2、比长整型数还要大的数只能用实数来表示
整型常量的类型
——整数后的字母后缀
1、123L ——》long
2、123U ——》unsigned
3、123LU ——》unsugned long
——整型数据的输入输出
scanf("")——输入函数
printf("")——输出函数
格式控制说明 %.....
十进制 八进制 十六进制
int %d %o %x
long %|d %|o %|x
unsigned %u %o %x
unsigned long %|d %|o %|x
例题:
#include<stdio.h>
void main()
{
int a;
long b;
unsigned c;
unsigned long d;
a=32767;
b=-2147483648L;
c=65535U;
d=4294967295LU;
printf("%d,%u,%|d,%|u\n",a,c,b,d);
printf("%x,%x,%|x,%|x\n",a,c,b,d);
}
——自动类型的转换
(水平方向:自动。竖直方向:从下到上 由低到高)如下:
double <——float
unsigned long <——long
unsigned <——unsigned short
int <——char,short
例题:
#include<stdio.h>
void main()
{
long a,b,c;
a=1000000L;
b=1000*1000LU;
c=1000*1000;
printf("%|d,%|d,%|d\n",a,b,c);
}
运行结果为:1000000,1000000,16960
—— 运算符优先级
()
- + ++ --
* / % (从下到上 由低到高)
+ -
= += -= /= %=
,
同下表内容:
()
- + ++ --
* / % (从下到上 由低到高)
+ -
= += -= /= %=
,
第1题若t为double类型,表达式t=1,t+5,t++的值是( D)。
A)1
B)6.0
C)2
D)1
第2题设 int a=12,则执行完语句 a+=a-=a*a后,a的值是(D )。
A)552
B)264
C)144
D)-264
第3题printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列。如果字符串长度小于5,则输出按方式(C )
A)从左起输出该字串,右补空格
B)按原字符长从左向右全部输出
C)右对齐输出该宇串,左补空格
D)输出错误信息
第4题scanf和printf都是C系统提供的标准输入输出函数。(对)
第5题以下选项中,与k=n++完全等价的表达式是( A)。
A)k=n,n=n+1
B)n=n+1,k=n
C)k=++n
D)k+=--n+1
第6题在C语言中,如果下面的变量都是int类型,则输出的结果是( )sum=pad=5; pad=sum++ ,pad++ , ++pad;printf("%d\n",pad);(A)
A)7
B)6
C)5
D)4
第7题以下程序的输出结果是(D)
#include <stdio.h>
void main()
{
int a=2,c=5;
printf("a=%%d,b=%%d\n",a,c);
}
A)a=%2,b=%5
B)a=2,b=5
C)a=%%d,b=%%d
D)a=%d,b=%d