知识屋:更实用的电脑技术知识网站
所在位置:首页 > 科技

c语言srand作用域,【C++】2.C++ 基本语法

发表时间:2022-03-25来源:网络

一、基本语法

1.用VC++控制台应用程序输出第一个Hello World!

(1).创建一个C++控制台应用程序ConsoleTest

(2).在源文件ConsoleTest.cpp中输入以下代码:

#include "stdafx.h"  //预编译头

#include

using namespace std;

int main()

{

cout

int Number = 1;

float Price = 98.00;

printf("╔═════════════════╗\n");

printf("║                                  ║\n");

printf("║        VC++编程                  ║\n");

printf("║        价格:    %0.2f    元     ║\n",Price);   //输出实型数据

printf("║        数量:    %d       个      ║\n",Number);//输出整型数据

printf("║                                  ║\n");

printf("║VC++编程,价格:%0.2f元,数量:%d个  ║\n", Price,Number); //一行输出多个参数

printf("║                                  ║\n");

printf("╚═════════════════╝\n");

getchar();

return 0;

}

%0.2f将实数输出时保留小数点后两位,否则会默认6位小数

例3:输出字符表情

int main()

{

printf("╔═════════════════╗\n");

printf("║                                  ║\n");

printf("║            ╭︿︿︿╮            ║\n");

printf("║            {/ $  $ /}            ║\n");

printf("║             ( (oo) )             ║\n");

printf("║             ︶ ︶ ︶             ║\n");

printf("║                                  ║\n");

printf("╚═════════════════╝\n");

getchar();

return 0;

}

例4:获取用户输入的用户名

int main()

{

char Username[10];

char Password[10];

cout > Username;

cout > Password;

cout

int result = 1;

int i;

int count = 0;

char Text[128] = { '\0' };              //定义一个明文字符数组,->字符数组类型

char cryptograph[128] = { '\0' };       //定义一个密文字符数组

while (1)

{

if (result == 1)                    //如果是加密明文

{

printf("请输入要加密的明文:\n");   //输出字符串

scanf("%s",&Text);                  //获取输入的明文,->scanf在if里

count = strlen(Text);

for (i = 0; i

{

cryptograph[i] = Text[i] + i + 5;   //设置加密字符

}

cryptograph[i] = '\0';           //设置字符串结束标记,->i是在外面定义的

//输出密文信息

printf("加密后的密文是:%s\n", cryptograph);

}

else if (result == 2)                //如果是解密字符串

{

count = strlen(Text);

for (i = 0; i

{

Text[i] = cryptograph[i] - i - 5;    //设置解密字符

}

Text[i] = '\0';                  //设置字符串结束标记

//输出明文信息

printf("解密后的明文是:%s\n", Text);

}

else if (result == 3)                //如果是退出系统

{

break;                          //break语句跳出循环

}

else                                //考虑输入的命令是1、2、3以外的字符的情况

{

printf("请输入正确命令符:\n");  //输出字符串

}

//输出字符串

printf("输入1加密新的明文,输入2对刚加密的密文进行解密,输入3退出系统:\n");

printf("请输入命令符:\n");         //输出字符串

scanf("%d", &result);               //获取输入的命令字符

}

return 0;

}

\0表示空字符,作为字符串结束符使用

这里加密的方式是将字符串中的每个字符加上它在字符串中的位置和一个偏移值5,以字符串mrsoft为例,第一个字符m在字符串中的位置为0,那么它对应的密文为m+0+5,即r。在本例中,字符的加密是通过“+”运算符实现的。在C++语言中,算术运算符功能如下:

+(加法运算符)、-(减法运算符)、*(乘法运算符)、/(除法运算符)、%(求模运算符)

2、实现两个变量的互换

int _tmain(int argc, _TCHAR* argv[])

{

int iVar = 18;//定义一个变量iVar,初始值为18 int jVar = 10;                         //定义一个变量jVar,初始值为10 cout

char name[20];

int sex;

printf("请输入姓名:\n");

scanf("%s", &name);

printf("请输入1或0,1表示男,0表示女:\n");

scanf("%d", &sex);

printf("═══════════════════\n");

printf("      姓名:     %s                   \n", name);

printf("═══════════════════\n");

char* strSex = (sex == 1) ? "男" : "女";

//char strSex = (sex == 1) ? 'M' : 'F';

printf("      性别:     %s                   \n", strSex);

printf("═══════════════════\n");

getchar();

getchar();

return 0;

}

有关char* strSex = (sex == 1) ? "男" : "女";的讲解:

双引号""代表是字符串,内存中有一个\0的占位符,字符串就必须要char*

如果改为char chSex = (sex == 1) ? '男' : '女';并修改:

printf("      性别:     %c                   \n", strSex);

会出现问题的是:

因为char不能显示中文,所以将其改为char chSex = (sex == 1) ? 'M' : 'F';才行(并且单引号内最多4个字符)。要解决中文显示的问题,可以把程序改成Unicode,用wchar可以显示中文,unicode:中文和英文默认统一是16位。

5、用宏定义实现值互换

定义一个带参数的宏swap(a,b),以实现两个整数之间的交换,并利用它将一维数组a和b的值进行交换。

宏定义的语法如下:

#define 宏名(参数表) 字符串

注意事项:

(1)对带参数的宏的理解是将语句中的宏名后面括号内的形参字符串代替#define命令行中的对应参数。

(2)在宏定义时,宏名和带参数的括号之间不可以加空格,否则将空格以后的字符都作为替代字符串的一部分。注意宏定义是用宏名替换字符串,但不进行正确性检查。

(3)#define命令出现在程序中函数的外面,宏名的有效范围为定义命令之后到源文件结束。可以使用#undef命令终止宏定义的作用域。

(4)在进行宏定义时,可以引用已定义的宏名,可以层层替换。在程序中用双引号包起来的字符串内的字符,不进行替换。

(5)宏定义只作字符替换,不分配内存空间。宏定义不用在行末加分号。在带参宏定义中,形式参数不分配内存单元,因此不必作类型定义。

#include "stdafx.h"  //预编译头

#define swap(a,b) {int c;c=a;a=b;b=c;}          //定义一个带参的宏swap

int _tmain(int argc, _TCHAR* argv[])

{

int i, j, a[10], b[10];                    //定义数组及变量为基本整型

printf("请向数组a中输入10个数:\n");

for (i = 0; i < 10; i++)

scanf("%d", &a[i]);                    //输入一组数据存到数组a中

printf("请向数组b中输入10个数:\n");

for (j = 0; j < 10; j++)

scanf("%d", &b[j]);                    //输入一组数据存到数组b中

printf("显示数组a:\n");

for (i = 0; i < 10; i++)

printf("%d,", a[i]);                   //输出数组a中的内容

printf("\n显示数组b:\n");

for (j = 0; j < 10; j++)

printf("%d,", b[j]);                   //输出数组b中的内容

for (i = 0; i < 10; i++)

swap(a[i], b[i]);                      //实现数组a与数组b对应值互换

printf("\n输出转换后的数组a:\n");

for (i = 0; i < 10; i++)

printf("%d,", a[i]);                   //输出互换后数组a中的内容

printf("\n输出转换后的数组b:\n");

for (j = 0; j < 10; j++)

printf("%d,", b[j]);                   //输出互换后数组b中的内容

printf("\n");

getchar();

getchar();

return 0;

}

6、整数加减法练习

练习者自己选择是进行加法还是减法运算,之后输入进行多少以内的加法或减法运算,具体数值会由计算机随机产生,输入答案,计算机会根据输入的数据判断结果是否正确。

#include "stdafx.h" //预编译头

#include

#include

#include

int _tmain(int argc, _TCHAR* argv[])

{

int a, b, c, sign, max;      //定义基本整型变量

char sign1;                  //定义字符型变量,保存加法/减法的符号

printf("请输入运算符(1或者其他数字,1表示:-,其他表示数字:+):\n");

scanf("%d", &sign);          //输入函数,输入数据赋给sign(表示加法/减法符号的数字)

printf("请输入加减时的最大范围(

收藏
  • 人气文章
  • 最新文章
  • 下载排行榜
  • 热门排行榜