学C++的第一天:
预计接下来的一个月内都会重新学习一下C语言。
前几天应该都是对c语言大纲的一个过度,第一天就是对c语言的数据类型进行的细致讲解。
整数类型:char(1);short(2);int(4);long int(4);long long(8);
浮点型:float(4);double(8);long double(8/12/16);
布尔类型:bool(1);
空类型:void;
还有就是编译器的编译过程:
.c文件经过预编译形成.i预编译文件,在经过编译形成.o/.obj目标文件,目标文件经过链接形成.exe可执行文件。
第一天的作业:
1.输入一个字符串,输出其中大写字母小写字母数字和其他类型字符的个数:
#include<stdio.h>
#include<string.h>
#include<ctype.h>
int main()
{
int num,i;
int upnum = 0 , lownum = 0 , countnum = 0 , othernum = 0;
printf("input length of string :");
scanf_s("%d", &num);
for (i = 0;i <= num;i++)
{
char m = getchar();
if (isupper(m))
{
upnum++;
}
if (islower(m))
{
lownum++;
}
if (isdigit(m))
{
countnum++;
}
othernum=num-upnum-lownum-countnum;
}
printf("大写字母个数:%d,小写字母个数:%d,数字个数:%d其他字符个数:%d", upnum,lownum,countnum,othernum);
return 0;
}
2.输入一个整数,判断该数是否为素数:
#include<stdio.h>
int main()
{
int a, b;
int i = 2;
printf("请输入一个整数:");
scanf_s("%d", &a);
b = a / 2;
for (i = 2;i <= b;i++)
{
if (a % i == 0)
break;
}
if (i < b)
{
printf("该数不为素数");
}
else
{
printf("该数为素数");
}
return 0;
}
3.用辗转相除法求最大公约数:
int main()
{
int a, b, c;
while(1)
{
printf("输入两个数字:");
scanf_s("%d %d", &a, &b);
c = a % b;
while(c!=0)
{
a = b;
b = c;
c = a % b;
}
printf("最大公约数为:%d\n", b);
}
}