C语言的字符集包括:
(1)大小写英文字母;
(2)数字;
(3)运算符:+ - * / % > < = & | ? ^ ~
(4)括号: ( ) { } [ ]
(5)标点符号:’ “ : ;
(6)特殊符号:\ _ $ #
(7)空白符:空格符、换行符、制表符
变量:程序执行过程中其值可以改变的量
变量有两个要素:变量名与变量值
变量名:
用标识符命名,大小写敏感,不能使用关键字
命名原则:
见名知意: name/xm(姓名)、salary/gz(工资)
不宜混淆 如l与I, o与0
常量¾¾ 程序运行过程中不能被改变的量。
一般的数据显式写法均表示常量。
如程序中:
20 ——整型常量
15.8 ——实型常量
'a' ——字符常量
整形变量分为四种:基本型、短整型、长整型、无符号型
1.基本型:
用"int"定义
2.短整型:
用"short int"或 "short"定义
3.长整型:
用"long "或 "long int "定义
4.无符号型:
不存放符号,则不带符号数.
(1)无符号基本型:用unsigned int或unsigned定义;
(2)无符号短整型:用unsigned short定义;
(3)无符号长整型:用unsigned long定义。
上述各种类型所占内存单元数及取值范围视不同机器而不同。
带限定词后不同类型整数的长度和范围(带方括号部分可以省略)
类型 字节(位) 取值范围
int 2(16) -32768~32767 即-215~(215-1)
short [int] 2(16) -32768~32767 即-215~(215-1)
long [int] 4(32) -2147483648~2147483647 即-231~(231-1)
unsigned [int] 2(16) 0~65535 即0~(216-1)
unsigned short [int] 2(16) 0~65535 即0~(216-1)
unsigned long [int] 4(32) 0~4294967295 即0~(232-1)
关于整型常量
程序中出现的整型常数, 系统按以下规则分配变量(内存单元)或赋值给相应变量
1. 当常数(量)在 – 32768~32767之间,则可赋给int, long int 变量。
2. 若超越,而在–2147483648~2147483647之间,则可赋给 long int 变量。
3. 若int, short int 长度相同,则二者皆可赋值。
4. 一个非负整数<32768 则可赋给 unsigned int。
5. 一个常数后加 'l',或'L',表示长整数. 如123l. 主要用于函数调用时形、实参数传递。
C 语言中的函数等价于 Fortran 语言中的子程序或函数,也等价于 Pascal 语言中的过程或函数。函数为计算的封装提供了一种简便的方法,此后使用函数时不需要考虑它是如何实现的。使用设计正确的函数,程序员无需考虑功能是如何实 现的,而只需知道它具有哪些功能就够了。在 C 语言中可以简单、方便、高效地使用函数。我们经常会看到在定义后仅调用了一次的短函数,这样做可以使代码段更清晰易读。
出现在 main 函数之前的声明语句 int power(int m, int n); 表明 power 函数有两个 int 类型的参数,并返回一个 int 类型的值。这种声明称为函数原型,它必须与 power 函数的定义和用法一致。如果函数的定义、用法与函数原型不一致,将出现错误。
C++规定,一个函数的地址就是这个函数的名字。我们需要指出的就是一个指针需要指定类型是为了后来的指针解析时候使用,通过指针有效快速访问对象。
指针就是地址。
按类型来分指针有 int、char 、float等基本类型。
对于扩充的数据类型则有struct 等。
指针的类型决定了指针操作时该指针指向地址变化的规律。
下面是一些课堂练习的代码:
// bb.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
int main(int argc, char* argv[])
{
/*
printf("Hello World!\n");
int i = 5;
int b = i++;
printf("b = %d",b);
int c = i;
printf("c=%d",c);
int sum = ++i + (b++);
sum = i+b;
printf("sum=%d\n",sum);
int i = 1;
printf("i=%d",i);
i = i++;
printf("i=%d",i);
int j = i++;
printf("j=%d,i=%d",j,i);
j = ++i;
printf("j=%d,i=%d",j,i);
j = i--;
printf("j=%d,i=%d\n",j,i);
//sum = 0;
if(0 == sum){
printf("it is true");
}else{
printf("it is flase");
}
*/
/*
int a = 5;
int b = 10;
int c = 15;
int max = 0;
if(a>b && a>c){
max = a;
printf("max=%d",a);
}else{
if(b>a && b >c){
max = b;
printf("max=%d",b);
}else{
if(c>a && c>b){
max = c;
printf("max=%d",c);
}else{
printf("有错");
}
}
}
/*
int a = 5;
int b = 10;
int c = 15;
int sum =0;
if(a>b){
sum = a;
}else{
sum = b;
}
if(sum <c){
sum = c;
}
printf("sum=%d",sum);
int j = 5;
int d = 2;
if(j!=5 && d==2){
j++;
d--;
printf("%d\n%d",j,d);
}else{
j--;
d++;
printf("%d\n%d",j,d);
}
*/
/*
int a;
printf("input a number:");
scanf("%d" ,&a);
if (a<60){
printf("不及格");
}else if(a>=60 && a<90){
printf("及格");
}else{
printf("优秀");
}
*/
/*
char m;
printf("input a letter:");
scanf("%c" ,&m);
switch("m")
{
case'a':
printf("成绩 >=90");
break;
case'b':
printf("成绩大于70且小于90");
break;
case'c':
printf("及格");
break;
default'd':
printf("不及格");
break;
}
*/
/*
int count,sum,anInteger;
printf("Enter the integers and terminate with negtive number\n");
count = 0;
sum =0;
printf("Enter number %d:",count + 1);
scanf("%d",&anInteger);
while(anInteger >= 0){
sum += anInteger;
count++;
printf("Enter number %d:",count+1);
scanf("%d",&anInteger);
}
if(count !=0){
printf("The average is %f\n",sum/(double)count);
}else{
printf("you entered no number\n");
}
*/
int a;
int count=0;
printf("input a number:");
scanf("%d",&a);
if(123 == a){
do{
printf("密码正确,进入系统");
break;
}while(123 == a);
}else{
do{
printf("密码错误,请重新输入");
break;
}while( a != 123);
count += 1;
//count++;
if(count > 3){
printf("surry ,您已输入超过3次,请明天再输吧!!");
}
}
return 0;
}