⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ex2.cpp

📁 C/C++程序设计教程
💻 CPP
字号:

            // 第2章  基本元素、类型和概念

 //[例2.1]C++中初始化定义语句char m=f(3);中的表达式是函数调用
#include<stdio.h>  // f(3)是int型表达式,隐含地转换赋值给char型局部变量m
	int f(  int k)  {printf("k=%d,",k);		return k*k;}//k是定义在堆栈空间的局部变量
	void main(void)	{	char m=f(3);  printf("m=%d\n",m);}	//输出k=3,m=9
//[例2.2]
#include <stdio.h>
    void main()               //定义在函数体中的变量a,b是局部变量
    {  signed    short a=65535;// warning: 'initializing' : truncation from 'const int' to 'short'
	   unsigned  short b=-1;   //-1初始化无符号的短整型数b 
        printf("[%hd,%4hu,%4ho,%x]\n",a,a,a,a);//输出:[-1,65535,177777,ffffffff]
	    printf("[%hd,%4hu,%4ho,%x]\n",b,b,b,b);//输出:[-1,65535,177777,ffff ]    
	}	     
	                   //sizeof(0xffff)= sizeof(-1)=4
//[例2.3]
#include <stdio.h>     //定义在函数外全局范围的变量a,b是全局变量
    signed   short a=65535;// warning: 'initializing' : truncation from 'const int' to 'short'
	unsigned  short b=-1;//-1的内存状态是唯一的,内存状态的解释或输出是多样的
    void main()       
    {   printf("[%d,%u,%010X]\n",a,a,a); //输出:[-1,4294967295,00FFFFFFFF]
	    printf("[%d,%u,%012X]\n",b,b,b);//输出:[65535,65535,00000000FFFF]
	}	                 //int型数据在32位模式占4个字节
//[例2.4]将转义序列中的一些字符的ASCII值以10进制数和字符方式显示出来:
   #include<stdio.h>
   void main()
   {   char a='\a',b='\b',t='\t',n='\n',v='\v';         //输出结果不含定界符单引号  
       printf("%d,%d,%d,%d,%d\n",a,b,t,n,v);    //输出:7,8,9,10,11
       printf("%c,%c,%c\n",'\"','\'','\\');           //输出: ",',\ 
   }
//[例2.5]格式控制输出地址,0065是局部变量h,i段地址,0040是代码段的段地址。
	#iinclude<stdio.h>
	void main(void)                         //函数名printf,main表示代码的入口地址
	{ 	short h;int i; 	                       //&h,&i表示变量h,i的地址
	    printf("&h=%p,&i=%p\n",&h,&i);		    //输出&h=0065FDF4,&i=0065FDF0
	 	printf("printf=%p,main=%p\n",printf,main); //输出printf=004013D0,main=00401005
	}
//[例2.6]通过键盘读取字符
     #include<stdio.h>			               	
	void main(void)                           
	{ char c1,c2;   /*定义两个字符变量*/     
	  printf("键入两个字符,以逗号分隔\n");       
      scanf("%c,%c",&c1,&c2);	                  
	  printf("c1=%c,c2=%c\n",c1,c2);            		
	}               

	#include<stdio.h>
	void main(void)
	{ char c1,c2; 
	  printf("键入两个字符,以分号分隔\n");
	  scanf("%c;%c",&c1,&c2);
	  printf("c1=%c,c2=%c",c1,c2);
	}
//[例2.7]从键盘输入整型数
	#include<stdio.h>				
	void main(void)
	{	short i; int j;long k;    printf("键入3个十进制数:");
        scanf("%hd,%d,%ld",&i,&j,&k);
		printf("显示键入的十进制数:%hd,%d,%ld\n",i,j,k);	
	}
//[例2.8]输入浮点数
	#include<stdio.h>				
	void main(void)
	{	float x,y,z; printf("键入3个float型数:");	        
        scanf("%e,%f,%g",&x,&y,&z);
	    printf("显示键入的float型数与和:%g,%e,%f,%f\n",x,y,z,x+y);	
		double u,v,w;	 printf("键入3个double型数:");
        scanf("%le,%Lf,%lG",&u,&v,&w);
	    printf("显示键入的double数与和:%le,%Lf,%lG,%lf\n",u,v,w,u+v);
	}                
//[例2.9]静态的和活动的不变量	
    #include<stdio.h>
	int f( const int k)   // 冻结f函数的入口形参k在函数体中不得变化
	{	const int j=k*k; //活动不变量j仅仅初始化一次,但可以相对变动
		printf("k=%d,j=%d\t",k,j);	return j;	
	}
	void main(void)       //整型常数表达式可以界定数组维数
	{  const int n=3;      //静态地声明整型常数n,这个n可以界定数组维数,如int a[n];
       const int m=f(n);    //m视为活动的不变量,这个m不可以界定数组维数
	}			//运行输出结果为:k=3,j=9
//[例2.0] 引用用变量名初始化,变量用常数初始化
    #include <stdio.h>
    void f(int&r){r=3;}       //引用形参r直接设置实参变量w的值
	int y,z  ;                //定义全局变量y,z, 未明显赋初值,此时y=0,z=0
	void main(void)
	{   int x(1), &u= x;       //定义局部变量x,初始化为1。声明u为x的引用
		int&  v=y;v=2;       //声明局部引用v为全局变量y的别名,v赋值2
        int&  w=z;f(w);      //声明局部引用w为全局变量z的别名,w赋值3
		printf("%d,%d,%d\n",u,y,z);
	}					//输出结果:1,2,3





⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -