{{span1}} {{span2}} 次上传
过去一年提交{{total}}{{oneyearbeforeday}} - {{thisday}}
最近一月提交{{thisweekdatacore}}{{amonthago}} - {{thisday}}
最近一周提交{{weekdatacore}}{{aweekago}} - {{thisday}}
2023-2024-2-程序设计基础-期中测验
《程序设计基础》期中测验
判断题(下列各题你认为正确的,请在题干的括号内打“√”,错的打“×”,每题2分,共10分)
1、在C语言中,注释可以出现在代码的任何位置。 ( )
2、C语言中的main()函数必须放在程序的开始位置。 ( )
3、变量在使用前必须先声明。 ( )
4、使用”=”进行等于判断是正确的。 ( )
5、内层break语句可以终止嵌套的switch,使最外层的switch结束。( )
12345答案:√ 正确。注释应该放在合适的位置,让程序员容易地找到并理解注释的含义。注释应该放在需要解释的代码附近,而不是放在代码的任意位置。答案:X 错误。虽然程序的执行从main()函数开始,但在源代码文件中,main()函数不一定非要放在最前面。C编译器会先解析所有的声明和定义,之后才执行main()。因此,函数、变量声明、其他函数定义等都可以放在main()之前。答案:√ 正确。在C语言中,变量需要在其作用域内被声明后才能使用。这包 ...
第3讲:分支和循环
目录
if语句
关系操作符
条件操作符
逻辑操作符:&& , || , !
switch语句
while循环
for循环
do-while循环
break和continue语句
循环的嵌套
goto语句
正文开始
C语言是结构化的程序设计语言,这里的结构指的是 顺序结构、选择结构、循环结构 ,C语言是能够实现这三种结构的,其实我们如果仔细分析,我们日常所⻅的事情都可以拆分为这三种结构或者这三种结构的组合。我们可以使用if、switch实现分支结构,使用for、while、do while实现循环结构。
1. if语句1.1 ifif语句的语法形式如下:
if ( 表达式 )语句
表达式成立(为真),则语句执行,表达式不成立(为假),则语句不执行
在C语言中, 0 为假,非 0 表示真 ,也就是表达式的结果如果是 0 ,则语句不执行,表达式的结果如果不是 0 ,则语句执行。
例子: 输入一个整数,判断是否为奇数
#include <stdio.h>int main(){ int num = 0 ; scan ...
第13讲:深⼊理解指针-字符,数组,函数-指针变量
THE MATRIX
C语言知识点大总结
本讲主要讨论的是指针、数组、函数指针变量的相关知识。
目录
字符指针变量
数组指针变量
二维数组传参的本质
函数指针变量
函数指针数组
转移表
正文开始
字符指针变量
在指针的类型中我们知道有一种指针类型为字符指针char*;
一般使用:
#include<stdio.h>int main(){ char ch = 'w'; char* pc = &ch; *pc = 'b'; //修改指针指向的变量的值,屏幕打印出'b' printf("%c\n", *pc); //屏幕打印出'b' return 0 ;}
还有一种使用方式如下:
#include<stdio.h>int main(){ const char* p = "abcdef"; //声明一个字符指针变量p指向字符串"abcdef&qu ...
第12讲:深⼊理解指针-通过指针引用数组
THE MATRIX
C语言知识点大总结
本讲主要讨论的是指针与数组相关知识
出师表诸葛亮先帝创业未半而中道崩殂,今天下三分,益州疲弊,此诚危急存亡之秋也。然侍卫之臣不懈于内,忠志之士忘身于外者,盖追先帝之殊遇,欲报之于陛下也。诚宜开张圣听,以光先帝遗德,恢弘志士之气,不宜妄自菲薄,引喻失义,以塞忠谏之路也。
目录
数组名的理解
*使用指针访问数
一维数组传参的本质
冒泡排序
二级指针
指针数组
指针数组模拟二维数组
正文开始
数组名的理解(补充知识点)
使用指针访问数组的内容时,有这样的代码:
int arr[ 10 ] = { 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 };int *p = &arr[ 0 ];
这里我们使用&arr[0]的方式拿到了数组第一个元素的地址,但是其实数组名本来就是地址,而且是数组首元素的地址,我们来做个测试。
#include <stdio.h>int main(){ int arr[10] = & ...
第8章习题-15
C语言程序设计课后习题解析大总结
正文开始
题目描述:
解题思想:4个学生5门课程:其实就是一个4x5的矩阵,每一行代表一个学生的5门成绩,float arr[4][5]就可以表示这个矩阵。
第1小题
1. 求第1门课程的平均分:其实就是每个学生的第0门(通过下标进行访问)成绩总和除以4
(arr[0][0]+arr[1][0]+arr[2][0]+arr[3][0])/4 //结果要求为float类型(双精度浮点数),例如:85.5
第2小题
2. 2门课程不及格的同学,输出学号以及全部成绩,以及平均成绩
遍历每个学生的每门成绩,统计小于60分的课程数量,大于2则符合要求
输出学号(第n行的下标)
输出所有成绩(编写一个成绩输出函数)
输出平均成绩(编写一个计算平均成绩的函数,传递一行数据(子数组的地址)),进行总和相加除以5,保留两位小数
第3小题
3. 平均成绩90分以上,或者全部成绩在85分以上,输出优秀学生学号
遍历每个学生的成绩的同时,计算学生的平均成绩,计算成绩在85分以上的课程数量,平均成绩>90 ||(或) course_cou ...
第8章习题-1
C语言程序设计课后习题解析大总结
正文开始
题目描述:
解题思想:只需要进行数字间的两两比较,完成数据的有序输出
解题流程:1. 捕捉(定义)三个整数,num1、num2、num3;
2. 将num1与num2进行比较,将较小的值存储到num1中;
3. 将num1与num3进行比较,将较小的值存储到num1中,这时候num1中存储的就是三个整数中最小的那个值;
4. 将num2与num3进行比较,将较小的值存储到num2中,这时候num2就是次小值。
代码呈现:使用常规方法处理代码如下:#define _CRT_SECURE_NO_WARNINGS //宏定义,防止VS出现不安全的警告#include <stdio.h> //标准输入输出库//#include <stdlib.h> //system的头文件int main(){ int num1, num2, num3; //定义三个整数 printf("请输入三个整数:"); //提示输入 scanf("%d %d %d", &am ...
第10讲:操作符详解
C 语言知识点大总结
目录
操作符的分类
二进制和进制转换
原码、反码、补码
移位操作符
位操作符:&、|、^、~
单目操作符
逗号表达式
下标访问[]、函数调用()
结构成员访问操作符
操作符的属性:优先级、结合性
表达式求值
正文开始
操作符的分类• 算术操作符:+ 、- 、* 、/ 、%
• 移位操作符:<< >> //移动的是二进制位
• 位操作符:& | ^ //位操作符是对二进制位进行计算
• 赋值操作符:= 、+= 、 -= 、 *= 、 /= 、%= 、<<= 、>>= 、&= 、|= 、^=
• 单目操作符:!、++、—、&、*、+、-、~ 、sizeof、(类型)
• 关系操作符:> 、>= 、< 、<= 、 == 、^ !=
• 逻辑操作符:&& 、||
• 条件操作符:? :
• 逗号表达式:,
• 下标引用:[]
• 函数调用:()
• 结构成员访问:. 、->
上述的操作符,我们已经讲过算术操作符 ...
第8章 善于利用指针
什么是指针?
指针的概念
内存区的每一个字节有一个编号,这就是地址
由于通过地址能够找到所需的变量单元,地址指向该变量单元。
地址形象化的的称为指针
指针就是指向内存单元的变量,它指向内存单元的地址,通过指针可以访问到内存单元中的数据。
所以我们可以理解为:内存单元的编号=地址=指针
指针是一种数据类型,用来存储变量的地址。
指针的作用指针的作用主要有以下几点:
访问内存中的数据:指针可以直接访问内存单元中的数据,因此可以提高程序的运行效率。
传递参数:指针可以作为函数的参数,用来传递数组、字符串、结构体等地址。
在程序中一般通过变量名来访问变量,但是指针可以直接访问内存单元中的数据,因此可以提高程序的运行效率。#include <stdio.h>void _swap(int a, int b){ int temp=a; a=b; b=temp;}int main(void){ int a=5,b=10; _swap(a,b); printf("a=%d b=%d",a,b); return 0; ...