一些基础的C语言复习题
感谢前辈学长们的细心总结,页面重置:YDJSIR
祝各位期末考试取得优异成绩!
一. 完善程序题
1、以下程序中函数float fun(int n)的功能是:根据所给公式计算s的值并作为函数返回值,n 通过形参 传入,n的值大于等于0。
1 | float fun(int n) |
2、以下程序实现对main函数内声明的局部数组a中的后10个元素做升序排序。排序算法为选择法。
1 |
|
3、以下程序中函数find的功能是:在a指向的一维数组中存储的m´n矩阵内查找数值最大的元素,将该元素所在的行、列的值分别保存到 pm和 pn指向的变量中。
1 | void find(int a[],int m,int n,int *pm,int *pn) |
4、 f1函数功能:建立一个链表,链表各节点的数据来源于a指向的一个指针数组中的前n个元素所指向的n个字符串,函数返回链表首节点的地址。 f2函数功能:对于h指向的链表中连续出现的多个name成员相同的那些结点,统计并保存这些相同结点的数量,保留一个结点,删除其余结点。
1 |
|
5、insert函数功能:将key中保存的一组数据(一个新记录)插入到a指向的一个有序结构数组中,已知该结构数组按name成员字典顺序存储,插入新记录后结构数组仍然按name成员的字典顺序存储。
1 |
|
6、find函数功能:在x指向的一个有序二维数组的前n行中查找值为key的数组元素,若找到则将该数组元素在二维数组中的行、列下标值分别保存到 row和col指向的变量中且函数返回1,若未找到则函数返回0。已知x指向的二维数组的每一行中元素的值均从小到大顺序存储,第i行中所有元素的值均小于第i+1行中所有元素的值(i=0,1,2,3…n-1)。
算法:用折半查找法定位值为key的数组元素所在行,
用线性查找法在已经定位的行中查找值为key的数组元素。
1 | int find(int x[ ][5],int n,int key,int *row,int *col) |
7、函数change功能:将x指向的一个二维数组中存储的n´n矩阵变换为其转置矩阵转置矩阵的数学定义:把矩阵A的行换成同序数的列得到的一个新矩阵叫做A的转置矩阵。
1 |
|
8、下面程序完成的功能是:从键盘输入一行字符,反序后输出。
1 | struct node{ char data; struct node *link; }*head; |
二. 程序阅读题
1、以下程序执行时输出结果为 2.00, 3.50 。
1 |
|
==特别注意!传值的时候他传进去的是int
型,也就是说进去的时候就进行了一次转换!==
==注意到float
和double
变成整形的时候是直接把小数掐去,并非四舍五入!==
2、以下程序运行后输出结果是 Yellow 。
1 | enum color{ BLACK ,YELLOW ,BLUE ,GREEN , WHITE } ; |
3、以下程序运行后输出结果的第一行是 1 1 2 , 第二行是 3 5 8 。
1 | int f(int n) |
4、以下程序运行后输出结果的第一行是 1010 ,第二行是 2 2 。
1 | void change(int x, int m) |
5、以下程序运行后输出结果的第一行是 1 2 3 , 第二行是 0 0 0 , 第三行是 0 0 4 。
1 | main( ) |
6、以下程序运行时输出b[2]的值是 6 , b[4]的值是 15 。
1 |
|
7、 以下程序运行后输出结果的第一行是 A B C D ,第二行是 D C B A ,第三行是 D B A C 。
1 |
|
8、 下列程序运行后的输出是 5 。
1 | int fun(int first , int second) |
9、若下列程序段中的变量a、z、和p分别存储在主存FFD2H、FFD4H、和FFD8H处,则执行表达式*p++ ->y 后,变量p的值为: FFD8H 。
1 | main() |
10、 以下程序运行后输出结果是 3 。
1 |
|
==注意!取后面那个!(虽然说他同时返回了两个值)==
11、以下程序运行后输出结果的第一行是 2 3 4 1 第二行是 0 。
1 |
|
12、以下程序运行后输出结果的第一行是 6 第二行是 15 。
1 |
|
13、以下程序运行后输出结果的第一行是 2 第二行是 12 。
1 |
|
14、以下程序运行后输出结果的第一行是 1 4 9 ,第二行是 2 3 8 ,第三行是 5 6 7 。
1 |
|
15、以下程序运行后输出结果的第一行是 C 第二行是 this, VC,C 。
1 |
|
16、下列程序运行后的输出是 9 。
1 | main( ) |
17、下列程序运行后的输出是 10,20 。
1 | void swap(int *x,int *y) |
18、下列程序运行后的输出是 14 。
1 | main( ) |
19、 执行以下程序后,输出结果的第一行是 77 , 第二行是 30 ,最后一行是 101
1 | int main( ) |
20、运行以下程序后,输出结果的第一行是 her ,
第二行是 teac ,第三行是 the 。
1 |
|
21、运行以下程序后,输出结果的第一行是 7 8 1 ,
第二行是 6 9 2 ,第三行是 5 4 3
1 | main( ) |
22、运行以下程序后,输出结果的第一行是 1010 , 第二行是 12 。
1 | void change(int x, int m) |
23、下面程序的输出结果是 3,4,2,4,
1 |
|
24、下面程序的输出结果是 1
1 |
|
25、下面程序的输出结果是 abcd,bcd,efgh,mnpq
1 |
|
26、下面程序运行的正确结果是 3
1 |
|
27、下面程序运行的正确结果是 1,y
1 | struct tree |
28、下面程序运行的正确结果是 MNQ
1 | struct str1 |
29、以下程序运行时输出结果为 3 。
1 |
|
31、以下程序运行时输出结果是 2468 .
1 |
|
32、以下程序运行时输出结果第一行是 6,5 第二行是 5,6 。
1 |
|
33、以下程序运行时输出结果第一行是 2 3 1 第二行是 1 2 3 第三行是 3 1 2 。
1 |
|
34、执行以下程序段后,输出的第一行是12345 _,输出的第二行是__1817 _
1 |
|
35、执行以下程序段后,在main函数返回之前,全局变量x的值是__0,40,80,120_,main函数中局部变量y的值是20,60,100,140.
1 |
|
36、执行以下程序段后,输出的第一行是__2,1_,输出的第三行是_3,3 _;
1 |
|
37、执行以下程序段后,a[0]的值是__12,4_ ,a[9]的值是 30 ;
1 | void main() |
38、执行以下程序段后,输出的第一行是_ GooD___;
1 |
|