文章目录
- 1.2 课前必读
- 2.3 课前必读
- 3.4 课前必读
- 4.5 课前必读
- 5.6 第一章 程序设计基本概念1
- 6.7 第一章 程序设计基本概念2
- 7.8 第一章 程序设计基本概念3
- 8.9 第一章 程序设计基本概念4
- 9.10 第一章 程序设计基本概念5
- 10.11 第二章 c语言程序设计的初步基础1
- 11.12 第二章 c语言程序设计的初步基础2
- 12.13 第二章 c语言程序设计的初步基础3
- 13.14 第二章 c语言程序设计的初步基础4
- 14.15 第二章 c语言程序设计的初步基础5
- 15.16 第二章 c语言程序设计的初步基础6
- 16.17 第3章 顺序结构1
- 17.18 第3章 顺序结构2
- 18.19 第4章 选择结构1
- 19.20 第4章 选择结构2
- 20.21 第4章 选择结构3
- 21.22 第5章 循环结构1
- 22.23 第5章 循环结构2
- 23.24 第5章 循环结构3
- 24.25 第5章 循环结构4
- 25.26 第5章 循环结构5
- 26.27 第6章 字符型数据1
- 27.28 第6章 字符型数据2
- 28.29 第6章 字符型数据3
- 29.30 第6章 字符型数据4
- 30.31 第7章 函数1
- 31.32 第7章 函数2
- 32.33 第7章 函数3
- 33.34 第7章 函数4
- 34.35 第7章 函数5
- 31.32 第7章 函数2
- 32.33 第7章 函数3
- 33.34 第7章 函数4
- 34.35 第7章 函数5
1.2 课前必读
1.二级c语言考试题型
考试也是在题库里任意抽取一套题
c语言基础知识,30分,30道题
程序填空题,共18分,三个空,每个空6分
程序修改提,共18分,若是2处每处9分,若是3处没处6分
程序设计题必须要运行及结果正确
满分是100分,选择题占40分,程序操作题占60分,后者较前者相对有规律可寻,且程序操作题存在完全可以拿到满分的
2.3 课前必读
3.操作题评分标准极注意事项(程序填空题评分标准)
评分程序要求你不得增减或删除行!,否则电脑无法判定和评分
做完程序填空和程序修改题,必须要保存,否则0分!
程序题-答题操作流程
这是一个“程序填空题的”例子
“程序填空题”→“考生文件夹”→打开“blank.sln”文件→填写正确值→最好调试→生成解决方案,运行一下→接着点击“保存”→这时就能点击“交卷”了
而后我们查看到,这道题得了18分,这就是答题操作流程及必须要保存
3.4 课前必读
程序设计题评分标准
程序设计题评分标准是,电脑会读取考生文件夹下扩展名为.dat的文件,然后与正确值进行比较,所以考生做的事情就是,编程后,一定要运行程序,以便生成.dat输出文件!所以不去运行,会是0分!
4.5 课前必读
VC++2010编译程序操作题
打开“考生文件夹”:
blank1对应的是“程序填空题”用的文件夹;
modi1对应的是“程序修改题”用的文件夹;
prog1对应的是“程序设计题”用的文件夹。
“程序填空题”你看有几个found,就有几个空需要填写;
填空的时候,需要把“_ _ 1_ _”,这样下划线和数字都删掉,再填写,否则电脑无法判定取分数 ;
之后,最好调试→生成解决方案
比较实际的是,用快捷键,因为你在考试时有可能找不到对应的设置显示
这时最好使用快捷键:
F7,是生成解决方案
CTRL+F5,是运行(不调试)
用这两个就够了。
“程序修改题”也有found的字样,也告诉了你,需要有几处地方需要修改;
5.6 第一章 程序设计基本概念1
❣考点:算法
一个算法应当具有以下五个特征:
(1)有穷性:指一个算法,包含的操作步骤是有限的
(2)确定性:指算法中,每一条指令都必须有确切的含义,对于相同的输入必定出来相同的输出结果;
(3)可行性:算法可验证
(4)有0个或多个输入
(5)有1个或多个输出
算法可以用各种方法来进行描述,最常用的是伪代码和流程图。
6.7 第一章 程序设计基本概念2
❣考点:程序的结构化设计
三种基本结构组成:
(1)顺序结构
(2)选择结构
(3)循环结构
这三种基本结构组成的算法,可以解决任何复杂的问题;
由这三种结构构成的算法称为,结构化算法;
由这三种结构所构成的程序,称为结构化程序;
7.8 第一章 程序设计基本概念3
❣考点:c语言模块化结构
就是把复杂的任务分成若干个子任务,每个子任务又分成很多个小子任务,每个小子任务只完成一项简单的功能。
8.9 第一章 程序设计基本概念4
❣考点:c语言程序以及程序的链接、编译
1.机器语言:计算机只能识别0 、1这样的机器语言
2.“源程序”和“目标程序”
比如c语言编写的程序是“源程序”
“目标程序”是用二进制代码表示的程序
通过编译软件,将“源程序”→“目标程序”。
3.编译和链接
通过c编译软件编译,生成一个.obj的文件的“目标程序”文件
链接:指这个.obj文件和c语言的库函数,链接起来,然后之后形成一个可执行的.exe文件
9.10 第一章 程序设计基本概念5
❣考点:c语言程序中的main()函数
10.11 第二章 c语言程序设计的初步基础1
❣考点:标识符
标识符的命名:
由字母和数字加下划线组成,且第一个字符,必须是字母或下划线,不能是数字
❣考点:数据类型概述
c语言的数据类型包括基本数据类型:整型int、实型float、和double、和字符类型char型
❣考点:整型数据
整型常量:可以用十进制、八进制、十六进制等形式表示
十进制:0-9
八进制:0-7
十六进制:0-9和a-f,共16个字符,其中a-f大小写都可以
十进制基本常量用一串连续的数字表示,例如32767、-32768 、0等
八进制也是用一串连续数字表示,但开头必须是数字“0”,例如010 、011
八进制不能018,不能带8,不合法
❣考点:实型数据
1.小数形式
小数形式是由数字和小数点组成的一种实数表示形式,例如0.123 、 .123 、123. 、0.0等
注意:小数形式表示的实型常量必须要带有小数点
第二种表现形式是指数形式
2.指数形式
e或E前,必须加数字
e或E后,必须是整数
e或E前后,必须都是紧跟着的,如不能带有空格或什么的
实型变量:
实型变量分有:单精度folat型和双精度double型两种
单精度float型占4个字节,双精度double占8个字节存储空间
11.12 第二章 c语言程序设计的初步基础2
❣考点:字符、整型和实型数据
12.13 第二章 c语言程序设计的初步基础3
❣考点:算术表达式
用算术运算符和一对圆括号将运算数(或称操作数)连接起来的、符合c语言语法表达式称为算术表达式
算术表达式中,运算对象可以是常量、变量和函数等
❣考点:算术运算符的优先级和结合性
13.14 第二章 c语言程序设计的初步基础4
❣考点:数据类型自动转换
int a=3.2+4;//最后a是等于7
❣考点:强制类型自动转换
(int)3.14=3
14.15 第二章 c语言程序设计的初步基础5
❣考点:赋值运算符
赋值运算的左侧使能是变量,不能是常量或表达式
❣考点:复合赋值运算符
n*=m+3//等价n=n*(m+3)
x-=x+x//等价x=x-(x+x)
❣考点:自增自减运算符
自增自减运算符是单目运算符,运算对象可以是整型变量也可以是实型变量,但不能是常量或表达式
15.16 第二章 c语言程序设计的初步基础6
❣考点:求余运算符%
运算对象只能是整型
❣考点:sizeof运算符
若a是int型的,sizeof(a)出来就是4个字节的,若a是double型的,sizeof(a)出来就是8个字节的
❣考点:逗号运算符
16.17 第3章 顺序结构1
❣考点:printf()函数
17.18 第3章 顺序结构2
❣考点:scanf()函数
输入项必须是变量的地址
18.19 第4章 选择结构1
❣考点:c语言的逻辑值
非0就表示真,用0表示假
❣考点:关系运算符和关系表达式
❣考点:逻辑运算符和逻辑表达式
❣考点:逻辑运算符中的短路现象
短路现象只存在与逻辑与和逻辑或中
❣考点:运算符的优先次序
19.20 第4章 选择结构2
❣考点:if语句
不含else的表达式;含else的表达式;else语句不能单独使用,必须配合if使用
❣考点:if…elseif…elseif语句
❣考点:条件表达式(?)
20.21 第4章 选择结构3
❣考点:switch…case语句
switch(表达式),这的表达式必须是整型或字符型
case常量表达式1,这里常量表达式必须是整型或字符型
❣考点:switch…case语句体中的break语句
21.22 第5章 循环结构1
❣考点:for语句
1加到100的和
22.23 第5章 循环结构2
❣考点:while语句
1加到100的和,用while语句实现
23.24 第5章 循环结构3
❣考点:do…while语句
1加到100的和,用do…while语句实现
先进入循环体,再判断是不是还要再次进入循环体
❣考点:while循环和do…while循环的区别
24.25 第5章 循环结构4
❣考点:循环中的continue和break语句
continue不会终止整个循环体,但是break会,continue仅结束本次一轮的循环
25.26 第5章 循环结构5
❣考点:循环语句与switch case语句的结合使用
26.27 第6章 字符型数据1
❣考点:字符常量
❣考点:转义字符
27.28 第6章 字符型数据2
❣考点:字符数据的ASCII码值
❣考点:比较字符的大小
❣考点:字符数据的加减
28.29 第6章 字符型数据3
❣考点:判断字母的大小写
判断字母是不是大写用:ch>=‘A’&&ch<=‘Z’
判断字母是不是小写用:ch>=‘a’&&ch<=‘z’
这里用到的原理是字符会和ASCII码值默认是有对应关系的
❣考点:判断一个字符是不是数字
判断一个字符是不是数字用:ch>=‘0’&&ch<=‘9’
满足这个条件,就能判定这个ch字符是数字,
这里用到的原理是字符会和ASCII码值默认是有对应关系的
29.30 第6章 字符型数据4
❣考点:字符型数据的输入和输出
30.31 第7章 函数1
❣考点:函数的定义和返回值
❣考点:函数的一般调用
函数调用,函数式子必须是实参
31.32 第7章 函数2
❣考点:函数的说明
32.33 第7章 函数3
33.34 第7章 函数4
34.35 第7章 函数5
31.32 第7章 函数2
32.33 第7章 函数3
33.34 第7章 函数4
34.35 第7章 函数5
<64>
1、有关数的运算的基础知识
奇数偶数的判定、一列数的和、一列数的乘积
2、数的交换
3、数的整除
4、素数
5、求数的阶乘
6、计算公式的值
7、数的分解以及数的合并
8、余数的判断
9、判断输入数的正负号
10、如果输入的整数值为正,则判断该值的奇偶性并显示
<65>
1、有关数的运算的基础知识
奇数偶数的判定、一列数的和、一列数的乘积
1、奇数偶数的判定:
解析:设这个数是n,然后若n%2==0,就是偶数;若n%2 !=0,就是奇数。
int main()
{
int n;
scanf("%d", &n);
if (n % 2 == 0)
printf("它是偶数\n");
else
printf("它是奇数\n");
}
<66>
2、求数列的和
解析:比如1,2,3,4,5,6 和
以前讲的for(i=1;i<=6;i++),意思是一样的,这个i就是1,2,3,4,5,6,
sum=sum+i
特别注意求和时候,sum初值要是0
int main()
{
int sum=0;
int i;
for (i = 1; i <= 6; i++)
sum = sum + i;
printf("%d", sum);
}
int main()
{
int sum=0;
int i;
for (i = 1; i <= 100; i++)
sum = sum + i;
printf("%d", sum);
}
<67>
3、求数列的乘积
1x2x3x4x5x6
ret=ret x i
特别注意累乘时候,ret初值要设为1
int main()
{
int ret = 1;
int i;
for (i = 1; i <= 5; i++)
ret = ret * i;
printf("%d", ret);
}
<68>
2、数的交换
fun(int *x, int *y)
{
int tmp;
tmp = *x; *x = *y; *y = tmp;
}
int main()
{
int a, b;
a = 8; b = 3;
fun(&a, &b);
printf("%d %d", a, b);
}
<69>
3、数的整除
计算并输出k以内的最大的10个能被13或17整除的自然数之和。k的值有主函数传入,若k的值为500,则函数的值4622.
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int fun(int k)
{
int m = 0, mc = 0;
while ((k >=2) && (mc < 10))
{
if((k % 13 == 0)||(k % 17 == 0))
{
printf("%d ", k);
m = m + k; mc++;
}
k--;
}return m;
}
int main()
{
printf("\n%d", fun(500));
}
<70>
求小于形参n,同时能被3和7整除的所有自然数之和的平方根,若n=1000时,程序输出应是s=153.909064
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<math.h>
double fun(int n)
{
double s = 0.0;
int k;
for (k = 21; k < n; k++)
{
if (k % 3 == 0 && k % 7 == 0)
{
s = s + k;
}
}
return sqrt(s);
}
int main()
{
printf("\n%f", fun(1000));
}
<71>
素数:除了1和他自己,没法被其他数整除的数,叫素数(质数),如3,5,7,
素数的判定:
方法一:从2到n-1判断有没有能整除n的数
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<math.h>
int fun(int n)
{
int flag = 0;
int i;
for (i = 2; i < n; i++)
{
if (n % i == 0)
break;
}
if (i == n) flag = 1;
return flag;
}
int main()
{
int n;
scanf("%d", &n);
if (fun(n))
printf("是素数");
else
printf("不是素数");
}
素数的判定方法二:
用一个数分别去除2到sqrt(n),如果能被整除,则表明此数不是素数,反之则是素数
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<math.h>
int fun(int n)
{
int flag = 0,k=sqrt(n);
int i;
for (i = 2; i <=k; i++)
{
if (n % i == 0)
break;
}
if (i == k+1) flag = 1;
return flag;
}
int main()
{
int n;
scanf("%d", &n);
if (fun(n))
printf("是素数");
else
printf("不是素数");
}
<72>
函数fun的功能是:判定一个整数是否为素数,若为素数,返回1,否则返回0
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int fun(int m)
{
int k = 2;
while (k <= m && (m % k))
k++;
if (m == k)
return 1;
else return 0;
}
int main()
{
int n;
scanf("%d", &n);
if (fun(n)) printf("是素数");
else printf("不是素数");
}
<73>程序修改题-难
函数fun的功能是:为一个偶数寻找两个素数,这两个素数之和等于该偶数,并将这个两个素数通过形参指针传回主函数
<74>
编写函数fun,其功能是:计算并输出3-n之间所有素数的平方根之和。例如主函数从键盘给n输入100后,则输出sum=148.874270
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<math.h>
double fun(int n)
{
int i, j;
double s = 0.0;
for (i = 3; i <= n; i++)
{
for (j = 2; j < i; j++)
if (i % j == 0) break;
if (j == i) s += sqrt(i);
}
return s;
}
int main()
{
int n;
double sum;
scanf("%d", &n);
sum = fun(n);
printf("%f", sum);
}
<75>教程不全
编写函数int fun(int lim,int aa[max]),其功能是求出小于或等于lim的所有素数并放在aa数组中,并返回所求素数的个数。
<76>5的阶乘
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
long fun(int n)
{
long ret = 1;
int i;
for (i = 1; i <= n; i++)
{
ret = ret * i;
}
return ret;
}
int main()
{
int n;
scanf("%d", &n);
printf("%ld",fun(n));
}
ret=reti
ret==ret1234n
方法是用for循环的i,替代这个变化增大的数列1234n
for(i=1;i<=n;i++)
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
long fun(int n)
{
long ret = 1;
int i;
while (n >= 1)
{
ret = ret * i;
n--;
}
return ret;
}
int main()
{
int n;
scanf("%d", &n);
printf("%ld",fun(n));
}
程序修改题
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
double fun(int n)
{
double result = 1.0;
while (n > 1 && n < 170)
result *= n--;
return result;
}
int main()
{
int n;
scanf("%d", &n);
printf("%lg", fun(n));
}
<77>
编写函数fun,其功能是:根据公式求p的值,结果有函数值带回,m与n为两个正整数且要求m>n.
p=m!/n!(m-n)!
若m=12,n=8,运行结果是495.000000
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
float fun(int m,int n)
{
float p1 = 1.0, p2 = 1.0, p3 = 1.0;
int i;
for (i = 1; i <= m; i++)
p1 *= i;
for (i = 1; i <= n; i++)
p2 *= i;
for (i = 1; i <= (m - n); i++)
p3 *= i;
return p1 / (p2 * p3);
}
int main()
{
printf("%f", fun(12, 8));
}
这次用while方式:
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
float fun(int m,int n)
{
float p1 = 1.0, p2 = 1.0, p3 = 1.0;
while (m > 1)
p1 = p1 * m--;
while (n > 1)
p2 = p2 * n--;
while ((m - n) > 1)
p3 = p3 * (m - n)--;
return p1 / (p2 * p3);
}
int main()
{
printf("%f", fun(12, 8));
}
<78>
6、计算公式的值
计算公式:t=1+1/2+1/3+1/4+…1/m
若输入5,则输出应是2.283333
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
double fun(int n)
{
double t = 1.0;
int i = 0;
for (i = 2; i <= n; i++)
t = t + (1.0 / i);
return t;
}
int main()
{
int n = 0;
scanf("%d", &n);
printf("%lf", fun(n));//float,单精度浮点型,对应%f;double,双精度浮点型,对应%lf。
}
比如t=1+2+3+…+98+99+100,求t的值是多少?
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
int sum = 0;
int i;
for (i = 1; i <= 100; i++)
sum = sum + i;
printf("%d", sum);
}
<79>
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
double fun(double e)
{
int i; double s, x;
s = 0; i =0; x = 1.0;
while (x > e)
{
i++;
x = (2.0 * i - 1) / ((2.0 * i) * (2.0 * i));
s = s + x;
}
return s;
}
int main()
{
double e = 1e-3;//1e-3指的就是10的-3次方
printf("%f", fun(e));
}
<80>
8、余数的判断
#include<stdio.h>
int main()
{
int num;
printf("请输入一个整数:");
scanf("%d", &num);
if ((num % 10) == 5)
puts("该整数个位数是5");
else
puts("该整数个位数不是5");
}
9、判断输入数的正负号
#include<stdio.h>
int main()
{
int no;
printf("请输入一个整数");
scanf("%d", &no);
if (no == 0)
puts("该整数为0");
else if (no > 0)
puts("该整数为正数");
else
puts("该整数为负数");
}
10、如果输入的整数值为正,则判断该值的奇偶性并显示
#include<stdio.h>
int main()
{
int no;
printf("请输入一个整数");
scanf("%d", &no);
if (no > 0)
if (no % 2 == 0)
puts("该整数为偶数");
else
puts("该整数为奇数");
else
puts("您输入的不是正数");
}