C语言计算机二级
1 :C语言程序的结构
1)第一个主程序
只有一个主程序main;
return表示函数的结束;
0 表示程序正确执行;
\n表示的是换行,是一个转义字符;
#include<stdio.h>
int main(void)
{
printf(“hello word\n”);
return 0;
}
2)占位符
%d 表示的是输出为整型数据
printf(“%d\n”,sum);
//行注释
/*
块注释
*/
2:数据类型及其运算
1)C语言的关键字
1.数据类型关键及(12个)
char,short,int,long,double,float
struct 定义结构体
union 定义联合体
enum , void
2.控制语句关键字(12个)
if , else , switch , case , default ,
for , do , while , break , continue , goto , const
3.存储类关键字(5个)
auto (局部变量,自动变量), extern(声明) ,
register (寄存器变量) , ststic(修饰变量),
const(定义常量)
4.其他类型关键字(3个)
sizeof(求出数据类型所占字节大小)
typedef(定义函数指针)
volatile
2)数据类型
1.整型int(%d,%o,%x,%X,%u)
2.字符型 char
ASCII码中 0–48,A—65,a—97
#include<stdio.h>
int main(void)
{
char ch;
scanf ("%c",&ch);
ch = ch - 32;
printf("%c\n",ch);
return 0;
}
3.浮点型
#include<stdio.h>
int main(void)
{
//单精度浮点型
float pi = 3.1415926;
//f是一个占位符 表示输出一个浮点型数据
//浮点型默认保留六位小数
printf("%f\n",pi);
return 0;
}
保留几位小数
printf(“%.3f\n”,pi);
printf(“%.4f\n”,pi);
会四舍五入
4.常量
#include<stdio.h>
int main(void)
{
//const 修饰得变量为常量不可改变
const float pi = 3.14159;
printf("%f\n",pi);
return 0;
}
#include<stdio.h>
#define PI 3.14159
int main(void)
{
printf("%f\n",PI);
return 0;
}
#include<stdio.h>
int main(void)
{
//auto可以省略
auto float pi = 3.14
printf("%f\n",pi);
return 0;
}
3)运算符优先级
4)不同数据类型间的转换与运算
3:基本语句
1)输入输出函数的调用
1.print函数(打印格式)
2.scanf函数
scanf ("%c",&b);
// 在b前面要加一个&
4:选择结构程序设计
1)if语句
#include<stdio.h>
int main(void)
{
int score;
scanf("%d",&score);
if(score > 70)
{
printf("我要上清华\n");
}
return 0;
}
2)switch语句
#include<stdio.h>
int main(void)
{
int a;
scanf("%d",&a);
switch(a)
{
case 1:
printf("输入的值为1\n");
break;
case 2:
printf("输入的值为2\n");
break;
default:
printf("您输入的未知\n");
break;
}
return 0;
}
1.三目运算符
#include <stdio.h>
int main(void)
{
int a,b;
scanf("%d%d",&a,&b);
/*
if(a>b)
{
printf("最大值为: %d\n",a);
}else
{
printf("最大值为: %d\n",b);
}*/
//三目运算符 表达式?值1:值2
//若为真:执行1 若为假:执行2
printf("最大值为: %d\n",a>b?a:b);
return 0;
}
5:循环结构程序设计
1)for循环
#include <stdio.h>
int main(void)
{
int i,sum=0;
//for循环语句结构
for(i=1;i<=100;i++)
{
sum+=i;
}
printf("一到一百的和: %d\n",sum);
return 0;
}
#include <stdio.h>
int main(void)
{
int i;
//for循环敲7
for(i=1;i<=100;i++)
{
//判断个位十位或者为7的倍数
if(i % 7==0 || i % 10 ==7 || i/10 == 7)
{
printf("敲桌子\n");
}else
{
printf("%d\n",i);
}
}
return 0;
}
2)while循环
#include <stdio.h>
int main(void)
{
int i=0;
//whlie(表达式)如果表达式为真,执行{}内代码
while(i<10)
{
printf("%d\n",i);
i++;
}
return 0;
}
#include <stdio.h>
int main(void)
{
int i=100;
int a,b,c;
//水仙花数 从100-999 各个数位的立方和等于本身
while(i<=999)
{
//拆解各位是为百位
a=i/100;
b=i/10%10;
c=i%10;
if(a*a*a + b*b*b + c*c*c ==i )
{
printf("%d\n",i);
}
i++;
}
return 0;
}
3)do,,,whlie循环
#include <stdio.h>
int main(void)
{
int i = 0;
do
{
printf("%d\n",i);
i++;
//至少执行一次
}while(i>10);
return 0;
}
pow(a,3)
表示a的三次幂。
#include <stdio.h>
#include <Windows.h>
#include <stdlib.h>
int main(void)
{
//时钟
int i,j,k;
//时针
for(i=0;i<24;i++)
{
//分针
for(j = 0 ;j<60;j++)
{
//秒针
for(k=0;k<60;k++)
{
printf("%d :%d :%d\n",i,j,k);
//延时单位ms 注意大小写
Sleep(960);
//清屏
system("cls");
}
}
}
return 0;
}
6:数组的定义与引用
1)冒泡排序(重点)
#include <stdio.h>
int main(void)
{
int arr[10]={2,45,6,7,4,32,2,7,5,3};
int i,j;
int temp;
for(i=0;i<10-1;i++)
{
//每次内层循环确定一个有效的值
for(j=0;j<10-i-1;j++)
{
//条件判断语句大于号升序,小于号降序
if(arr[j]>arr[j+1])
{
temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
for(i=0;i<10;i++)
{
printf("%d\n",arr[i]);
}return 0;
}```
2)二维数组
#include <stdio.h>
int main (void)
{
int arr[4][3]=
{
{
88,24