选择题
| 1. |  
     
 首次提交时间:2022-04-27 09:40:12 最后一次提交时间:2022-04-27 09:40:12 下面程序的功能是将字符串s中所有的字符’c’删除。请选择填空。 (A)s[j++]=s[i]; 得分:5.00  | 
|---|---|
| 2. |  
     
 首次提交时间:2022-04-27 09:47:48 最后一次提交时间:2022-04-27 09:47:48 要打开一个已存在的非空文件“file”用于修改,正确的语句是: 【正确答案: D】 得分:5.00  | 
| 3. |  
     
 首次提交时间:2022-04-27 09:54:44 最后一次提交时间:2022-04-27 09:54:44 下述对C语言字符数组的描述中错误的是 【正确答案: c】          得分:5.00  | 
| 4. |  
     
 首次提交时间:2022-04-27 10:01:02 最后一次提交时间:2022-04-27 10:01:02 以下程序的输出是 【正确答案: d】。 #include<stdio.h> main() {printf("%d",null);} A 0 B -1 C 1 D 变量无定义 得分:5.00  | 
| 5. |  
     
 首次提交时间:2022-04-27 10:02:26 最后一次提交时间:2022-04-27 10:02:26 有下面的程序段: (A)  运行后将输出China 得分:5.00  | 
| 6. |  
     
 首次提交时间:2022-04-27 10:06:29 最后一次提交时间:2022-04-27 10:06:29 已知学生记录的定义为: 得分:5.00  | 
| 7. |  
     
 首次提交时间:2022-04-27 10:08:02 最后一次提交时间:2022-04-27 10:08:02  在C语言中的if语句中,用作判断的表达式为 【正确答案: d】 得分:5.00  | 
| 8. |  
     
 首次提交时间:2022-04-27 10:10:49 最后一次提交时间:2022-04-27 10:10:49 对 for (表达式1; ; 表达式3)可理解为   【正确答案: b】      得分:5.00  | 
| 9. |  
     
 首次提交时间:2022-04-27 10:14:54 最后一次提交时间:2022-04-27 10:14:54 以下正确的函数声明形式是 【正确答案: c】 (A)  double fun(int x, int y) 得分:5.00  | 
| 10. |  
     
 首次提交时间:2022-04-27 10:15:17 最后一次提交时间:2022-04-27 10:15:17 对以下说明语句的正确理解是 【正确答案: b】           得分:5.00  | 
判断题
| 1. |  
     
 首次提交时间:2022-04-27 10:18:35 最后一次提交时间:2022-04-27 10:18:35 变量的指针就是变量的地址 【 正确答案:正确】正确 错误 得分:6.00  | 
|---|---|
| 2. |  
     
 首次提交时间:2022-04-27 10:23:24 最后一次提交时间:2022-04-27 10:23:24 若有定义int a,*p=&a,*q=p;则p、q都指向a 【 正确答案:正确】正确 错误 得分:6.00  | 
| 3. |  
     
 首次提交时间:2022-04-27 10:23:34 最后一次提交时间:2022-04-27 10:23:34 当以参数w打开文件时,若指定路径下已有同名文件,则覆盖原有文件 【 正确答案:正确】正确 错误 得分:6.00  | 
| 4. |  
     
 首次提交时间:2022-04-27 10:23:36 最后一次提交时间:2022-04-27 10:23:36 常量1和常量'1'是相等的。 【 正确答案:错误】正确 错误 得分:6.00  | 
| 5. |  
     
 首次提交时间:2022-04-27 10:35:45 最后一次提交时间:2022-04-27 10:35:45 C语言中,执行表达式(*p)++后p的指向改变了 【 正确答案:错误】正确 错误  | 
编程题
| # | 题目 | 分值 | 批阅信息 | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1. | 求中位数 
     
 求中位数 【问题描述】输入n和n个数,求大于中位数的数据个数(n小于50).中位数是把一列数从小到大排列后,中间的那个数!如果那一列数是偶数,就取中间两个数的平均数!例如: 第1组数:1、2、3、6、7的中位数是3。 第2组数:1、2、3、5的中位数是2.5。 【输入形式】输入正整数n和n个实数 【输出形式】1.输出中位数保留小数1位。中位数输出占一行。2.输出大于中位数的数据个数占一行。 【样例输入】 4 1 2 3 5 【样例输出】 2.5 2  | 10.00 | 下载源文件 
     下载参考代码 得分10.00 最后一次提交时间:2022-04-27 13:41:23 共有测试数据:4 平均占用内存:1.218K 平均CPU时间:0.00863S 平均墙钟时间:0.01016S 
 详细  | ||||||||||
| 2. | n的阶乘 
     
 【问题描述】 输入一个正整数n(大于等于1,小于100),编程计算并输出n的阶乘。 【输入形式】 从标准输入读入一个正整数n(大于等于1,小于100)。 【输出形式】 在标准输出上输出计算出的n的阶乘。 【样例输入】 30 【样例输出】 265252859812191058636308480000000 【样例说明】 输入正整数n为30,30的阶乘为265252859812191058636308480000000。 【评分标准】该程序要求输出正整数的阶乘,提交程序文件名为exam2.c或exam2.cpp。  | 
编程题一
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(void)
{
	int n, i, j, q, x = 0, y = 0;
	float  a[50], h, m;
	scanf("%d", &n);
	if (n >= 50)                                        /*n小于50*/
		printf("error\n");
	else
	{
		for (i = 0; i < n; i++)                         /*将输入的n个数赋入数组*/
			scanf("%f", &a[i]);
		for (j = 0; j < n-1; j++)                       /*比较n-1轮次,完成数据从小到大排列*/
		{
			for (i = 0; i < n-1-j; i++)                 /*从第一位开始比较*/
			{
				if (a[i] > a[i + 1])                    /*冒泡排序*/
				{
					m = a[i];
					a[i] = a[i + 1];
					a[i + 1] = m;
				}
			}
				
		}
		if (n % 2)
		{
			for (i = (n - 1) / 2 + 1; i < n; i++)       /*计算大于中位数的数字数量*/
				if (a[i] > a[(n - 1) / 2])
					x++;
			printf("%.1f\n%d\n", a[(n - 1) / 2], x);
		
		}
		else
		{
			q = n / 2;
			h = (a[q - 1] + a[q]) / 2;
			for (i = n / 2 + 1; i < n; i++)             /*计算大于中位数的数字数量*/
				if (a[i] > h)
					y++;
			printf("%.1f\n%d\n", h, y);
		
		}
	}
	return 0;
} 
编程题二
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
	int n, i, a;
	a = 1;
	scanf("%d", &n);
	for (i = 1; i <= n; i++)
		a = a * i;
	printf("%d", a);
	return 0;
} 
测试总结:
涉及不熟练知识点:
- 字符数组相关:
 
不可以在赋值语句中通过赋值运算符"="对字符数组整体赋值;
- 函数相关:
 
函数的声明是一条语句,因此结尾需要 " ; ";
- 指针相关:
 
(*p)++ 先取指针所指的值,值再增一;
*p++ 先取指针所指的值,指针再增一;
++*p 先取指针所指的值,并将该值自增一;
*++p 先将指针自增一,再取出该值;
- 结构体相关:
 
暂待掌握。
- 文件相关:
 
文件打开模式:
r:以只读的方式打开文本文件,文件必须存在;
w:以只写的方式打开文本文件,文件若存在则清空文件内容从文件头部开始写,若不存在则根据文件名创建新文件并只写打开;
a:以只写的方式打开文本文件,文件若存在则从文件尾部以追加的方式开始写,文件原来存在的内容不会清除,若不存在则根据文件名创建新文件并只写打开;
r+:以可读写的方式打开文本文件,下一步操作前不会对文件原本内容造成影响;
w+:以可读写的方式打开文本文件,其他与w一样;
a+:以可读写的方式打开文本文件,其他与a一样;
  
- 其他:
 
"null"无特殊含义;
"NULL"是系统定义的一个符号常量,值为0;
冒泡排序的使用——双重循环的嵌套;
浮点型与整型之间直接用"="符号赋值转换可能导致数据错误;
- 特例:
 
大数额阶乘运算——未解决










