当前位置:首页 / 文章测试 / C语言基础练习

C语言基础练习

开始打字练习

表示包含stdio.h的文件

#include //std-标准 standard input output

int main() //主函数-程序的入口-main函数有且仅有一个

{

程序从这里开始

在屏幕上输出hello world

使用printf()之前需要:#include

printf("hello world\n");//函数printf - 打印函数(库函数)

return 0;//表示函数的返回值,是整数类型

}

#include

int main()

{

int age = 20;

short aj = 10;

long bh = 20 ;

long long jk = 300;

printf("%d\n",sizeof(age));//sizeof是看有多少个字节数.格式sizeof().

printf("%d\n",sizeof(aj));

printf("%d\n",sizeof(bh));

printf("%d\n",sizeof(jk));

return 0;

}

浮点型

#include

int main()

{

float a = 1.1;

double b = 3.3;

printf("%f\n",a);

printf("%lf\n",b);

printf("%d\n",sizeof(a));

printf("%d\n",sizeof(b));

return 0;

}

#include

int main()

{

char jj = 'acd';//char 是定义字符.

printf("%d\n",jj);//%d是输出整型常量,这里的a对应的是ASIC码,是97.

printf("%c\n",jj); //%c是输出字符常量,

printf("%d\n",sizeof(jj));

return 0;

}

变量,可以变得量

#include

int main()

{

int age =23;

age = age +1;

printf("%d\n",age);

return 0;

}

常量,不可以改变的量

#include

#define PI 3.14159

int main()

{

const int age = 23;//const 是修饰常量

printf("%d\n",age);

printf("%f\n",PI);

return 0;

}

#include // [/] 整除(左边和右边都是整数)

如果想要除的结果为浮点数,除数和被除数要有一个是浮点数.

int main()

{

int a= 2,b=3,c;

float d;

int d,e;

c=a+b;

d = c++;

e = ++c;

d=c/2.0;

return 0;

}

printf("c的值是%d\n",c);

printf("d的值是%d\n",d);

printf("e的值是%d\n",e);

return 0;

}

#include

int main()

{

int i=0;

char ch= 'a';

ch = 'a'+3;

printf("%d\n",ch);

int i;

int a = (i = 1,++i,i++,i+2,i+3);

逗号表达式:从左到右,至九十最后一个语句的结果.

printf("a的值%d\n",a);

return 0;

}

#include

int main()

{

int a = 23;

printf 保留字符串格式*/

prinf("a = %x\n",a);

控制宽度

printf("a = %6d\n",a);

printf 保留小数的精确度[宽度],[保留小数位]

float b = 314159;

printf("b = %e\n",b);

return 0;

}

#include //如何交换两个变量a,b的值

int main()

{

int a=3,b=3;

int t;

t = a;

a = b;

b = t;

printf("a=%d,b=%d,t=%d\n",a,b,t);

return 0;

}

#include

int main()

{

int a,b,c;

输入两个整数 a, b,求出他们和,并输出.

&这个符号和scanf一起用哈.

scanf("%d%d",&a,&b);

c = a+ b;

printf("c的值是:%d\n",c);

return 0;

}

#include

int main(){

char ch,a,b;

scanf("%c%c%c",&ch,&a,&b);

printf("%c\n%c\n%c\n",ch,a,b);

getchar()和putchar()输入输出一个字符

ch = getchar();

a = getchar();

b = getchar();

putchar (ch);

putchar (a);

putchar (b);

putchar ('\n');

return 0;

}

#include

int main() //F10 是一个一个调试

{// = 赋值符号 == 判断左右是否相等

表达式 (结果一定是(1)或者是假(0)),[非0非空即为真]

int score = 90;

if(score ==60)

{

printf("回家吃龙虾\n");

printf("奖励一个爱的抱抱\n");

}

else

{ printf("回家吃奥里给\n");

printf("打你\n");

}

}

#include

int main()

{

int score;

scanf("%d",&score);

90 A,80-90 B,70-80 C, 60-70 D, <60 E

多分支结构只能执行一个语句

if (score > 90)

printf("太棒了,是A耶!");

else if (80

printf("还不错呀,B");

else if (70

printf("继续加油呀,C");

else if (60

printf("还得努力呀,D");

else

printf("你可以滚了,E");

return 0;

}

#include

int main()

{

三目运算符 表达式1?表达式2:表达式3

int a=4,b=9;

printf("%d\n",a

/*if(a>b)

printf("%d\n",a);

else

printf("%d\n",b);*/

int age=70;

scanf("请输入你的年龄%d",&age);

if(age>25)

if(age<50)//if里面用{}来好区分.

printf("我是一个打工人");

else //if嵌套else和最近的if匹配

printf("我是你的小伙伴");

return 0;

}

switch语句

#include //break 跳出 swtich

int main()

{

int score;

scanf("%d",&score);

switch(score){

case 100:printf("真棒,你太厉害了!"); break;

case 90:printf("很不错!");break;

case 80:printf("不错!");break;

case 70:printf("不赖呀!");break;

case 60:printf("及格啦!");break;

default:printf("很差劲耶!");

}

return 0;

}

while循环

#include

int main()

{

如果表达式恒成立 死循环

在屏幕上输出0-10

int i=1;

while(i<=10)

{

printf("%d\n",i);

i++;

}

return 0;

}

#include //在屏幕上输出0-10

int main()

{

int i = 0;

do {

if(i%2==0)//输出偶函数,奇函数 i%2==1

{

printf("%d\n",i);}

i++;}

while(i<=10);

return 0;

}

#include

int main()

{

int i;

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

if(i%2==1){//输出奇函数 { }这种花括号就是为了学习C语言的一种规范.

printf("%d\n",i);}}

return 0;

}

嵌套循环//外层循环执行一次,内层执行1了所有次

#include

int main()

{

int i,j;

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

{

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

{

printf("* ");

}

printf("\n");

}

return 0;

}

#include //break跳出当前循环 continue结束当前当此循环

int main()

{

int i,j;

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

{

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

{

if(j==1)

break;

printf("%d\n",i);

}

}

return 0;

}

////////////////////////////////////////////////////////////////////////数组

数组大小不可变

#include

#define MAX 5

int main()

{

int i;

int arr[5]={18,24,65,43,21};

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

{ printf("%d\n",arr[i]);}

return 0;

}

#include

int main()

{

int i;

int arr [9];

for(i=0;i<9;i++) //输入数组

{ scanf("%d",&arr[i]);}

for(i=0;i<9;i++)//输出数组

{ printf("%d\n",arr[i]);}

return 0;

}

#include

int main()

{

int i,j;

int a1[3][4] = { {1,2,3,4},{5,6,7,8},{9,10,11,12}};//建议使用

/*int a2[3][4] = {1,2,3,4,5,6,7,8,9,10,11,12};

int a3[3][4] = {1,2,3,4};

int a4[3][4] = {1,2},{3},{4}};*/

输出二维数组元素

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

{

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

{

printf("%d\n",a1[i][j]);

}

}

return 0;

}

#include

int main()

{

int i,j;

int a1[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};//代表三行四列

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

{ for(j=0;j<4;j++)

printf("%d\n",a1[i][j]);}

return 0;

}

二维数组的输入输出

#include

int main()

{

int i,j,a1[3][4];

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

{for(j=0;j<4;j++)

scanf("%d",&a1[i][j]);}

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

{for(j=0;j<4;j++)

printf("%d\n",a1[i][j]);}

return 0;

}

字符串和字符数组

#include

#include //因为加了这个#include 头文件,strlen才可以用.

int main()

{

char ch[4] ={'x','i','a','o'};

char s[]="xiao";

printf("%d\t%d\n",sizeof(ch),strlen(s));//单位字节

printf("%d\n",strlen(s));

}

#include

#include

int main()

{

char ch[4] = {'x','i','a','o'};

字符串(\0或者0)

char s[10];

输入字符串 数组名为首元素地址

scanf("%s",s);

%s 输出字符串 (以\0结尾)

/*printf("%s\n",s);

printf("%s\n",ch);*/

gets() 输入字符串

puts()输出字符串

gets(s);//感谢这个功劳才可以用哈#include

puts(s);

return 0;

}

#include

#include

int main(){

int len;

char s1[10] ="xiao",s2[] ="hei";

len =strlen(s1);

strcpy(s1,s2);//确保s1空间足够大,strcpy拷贝到\0为止

strcat(s1,s2);

比较s1 == s2 strcmp 返回0(相等)正整数(s1>2)负整数(s1

len = strcmp(s1,s2);

printf("%d\n",len);

if(strcmp(s1,s2) == 0)

{

printf("相等!");

}

return 0;

}

#include

#include

int main()

{

char s[]="student"; char s1[20];

puts(s);//输出字符串

gets(s1);//输入字符串

printf("%s\n",s1);

return 0;

}

#include

#include

int main()

{

char s1[10],s2[] ="student";

strcpy(s1,s2);

printf("%s\n",s1);

return 0;

}

#include

#include

int main()

{

char a[10],b[22];

gets(b);

strcpy(a,b);

printf("%s\n",a);

return 0;

}

#include

#include

int main() {

int n;

char s1[] ="hello",s2[] ="student";

n = strcmp(s1,s2);

printf("%d\n",n);

return 0;

}

#include

#include

int main()

{

char i[] ="hello World!";

printf("%d\n",strlen(i));

return 0;

}

#include

#include

int main()

{

char s1[1000]="再见";

char s2[20]="世界aaa";

strcat(s1,s2);

printf("%s\n",s1);

}

//////////////////////////////////////////////////////////////////////////函数

函数的定义和使用

类型名 函数名(类型名 形式参数1,类型名 形式参数2)

{

函数体

}

#include

#include

int 表示函数返回类型

()里面表示形式参数(可有可无)

函数体里面是函数的具体功能

return 表示函数返回值(可有可无)void代表无返回值

函数定义 此时函数并不会执行

int add(int a,int b)

{

int sum;

sum = a+b;

return sum;

}

int main()

{

char s[10] = "abc";

函数库

/*strlen(s);

printf("hello world!");*/

int s;

add() 求两个参数的和,并返回

函数使用3,5(实参)

函数执行过程

s = add(3,5);

printf("%d\n",s);

return 0;

}

#include

#include

int add(int a,int b)

{

int sum;

sum = a+b;

return sum;

}

int main()

{

int s;

s =add(33,22);

printf("%d\n",s);

return 0;

}

变量的作用域

写一个函数isleap,用来判断当前年份是否为闰年(能被4整除 且 不能被100整除 || 能被400整除)!

2000假设 1是闰年 0 不是闰年

/*#include

int isleap(int year)

{

if( (year%4 ==0 && year%100!=0) ||year%400==0)

{

return 1;

}

else {

return 0;

}

}

int main()

{

int year ,a,

scanf("%d",&year);

a=isleap(year);

if(a==1)

{

printf("是闰年!");

}

else

{

printf("不是闰年!");

}

return 0;

}*/

声明:以上文章均为用户自行发布,仅供打字交流使用,不代表本站观点,本站不承担任何法律责任,特此声明!如果有侵犯到您的权利,请及时联系我们删除。