C语言基础编程,题目难度会循序渐进,从基础语法到简单算法,符合单招选拔人才的要求。

2025年单招上机模拟试题 (信息技术类)
考试时间: 90分钟 总分: 100分
选择题 (每题2分,共20分) (以下每题有四个选项,其中只有一个正确答案,请将正确答案的序号填入括号内)
-
在C语言中,以下哪个是合法的标识符? A.
2sumB.intC._totalD.a+b -
以下哪个不是C语言的基本数据类型? A.
intB.floatC.charD.string
(图片来源网络,侵删) -
表达式
10 / 3 * 2的值是? A. 6 B. 6.666... C. 7 D. 0 -
若有
int a = 5, b = 2;,则表达式a % b的值是? A. 2.5 B. 2 C. 1 D. 0 -
为了在程序中使用标准输入输出函数(如
printf,scanf),需要包含哪个头文件? A.stdlib.hB.math.hC.stdio.hD.string.h -
以下关于
for循环的描述,错误的是? A.for循环的三个部分(初始化、条件、增量)都可以省略。 B.for循环的循环体如果只有一条语句,可以省略大括号 。 C.for循环的“条件”部分如果为真,则执行循环体。 D.for循环的“增量”部分在循环体执行之前执行。
(图片来源网络,侵删) -
定义一个整型数组,正确的语句是? A.
int arr[] = {1, 2, 3};B.int arr(5);C.int arr = {1, 2, 3};D.int arr[3] = (1, 2, 3); -
以下哪个函数用于从键盘读取一个整数并赋值给变量
x? A.get(x);B.read(x);C.scanf("%d", &x);D.input(x); -
函数
strlen("Hello")的返回值是? A. 4 B. 5 C. 6 D. 'H' -
在C语言中,
break语句的作用是? A. 结束整个程序的运行 B. 跳出当前所在的循环或switch语句 C. 跳转到函数的开头 D. 结束本次循环,继续执行下一次循环
填空题 (每空2分,共20分) (请将正确的答案填写在横线上)
- 在C语言中,用来表示“真”的整数值是 1 ,表示“假”的整数值是 0 。
- 若有
char c = 'A';,则c的ASCII码值是 65 。 - 执行
int a = 10, b = 20; a = a + b; b = a - b; a = a - b;后,变量a的值是 20 ,变量b的值是 10 。(此为经典交换算法) if-else if-else结构中,如果多个条件都为真,程序只会执行第一个满足条件的 对应的语句块 。- 在循环结构中,使用
continue语句会 立即结束本次循环,直接进入下一次循环的判断。 - 定义一个指向整型变量的指针
p,语句为int *p;。 while循环和do-while循环的主要区别是:do-while循环的循环体至少会执行 一次 。- 要使用
pow(x, y)函数计算x的y次方,需要包含的头文件是 math.h 。
读程序写结果 (每题5分,共15分) (请写出以下程序运行后的输出结果)
-
#include <stdio.h> int main() { int a = 3, b = 5; if (a > b) { printf("Max is a\n"); } else { printf("Max is b\n"); } return 0; }输出结果:
Max is b -
#include <stdio.h> int main() { int sum = 0; for (int i = 1; i <= 5; i++) { sum = sum + i; } printf("sum = %d\n", sum); return 0; }输出结果:
sum = 15 -
#include <stdio.h> int main() { int i = 1; while (i <= 5) { printf("%d ", i); i++; } return 0; }输出结果:
1 2 3 4 5
程序填空题 (每空3分,共15分) (请根据程序的功能,在横线处填入正确的代码) ** 以下程序的功能是计算1到100之间所有偶数的和,并输出结果。
#include <stdio.h>
int main() {
int sum = 0;
int i;
for (i = 1; i <= 100; i++) {
// 在此处填入代码,判断i是否为偶数
if (i % 2 == 0) { // 填空1
sum = sum + i; // 填空2
}
}
printf("1到100之间所有偶数的和是: %d\n", sum); // 填空3
return 0;
}
答案:
i % 2 == 0sum += i;或sum = sum + i;sum
编程题 (共30分)要求,编写完整的C语言程序)
1 (10分):
编写一个程序,从键盘输入一个整数,判断该数是奇数还是偶数,并输出结果。
示例:**
输入:12
输出:12是偶数
输入:7
输出:7是奇数
#include <stdio.h>
int main() {
int num;
printf("请输入一个整数: ");
scanf("%d", &num);
if (num % 2 == 0) {
printf("%d是偶数\n", num);
} else {
printf("%d是奇数\n", num);
}
return 0;
}
2 (20分): 编写一个程序,打印出100到200之间所有能被3整除但不能被5整除的整数,并统计满足条件的数的个数。 要求:**
- 每行打印5个满足条件的数,用空格隔开。
- 最后输出满足条件的数的总个数。
#include <stdio.h>
int main() {
int count = 0; // 用于计数
for (int i = 100; i <= 200; i++) {
// 判断是否能被3整除且不能被5整除
if (i % 3 == 0 && i % 5 != 0) {
printf("%d\t", i); // 使用\t制表符对齐,比空格更整齐
count++;
// 每打印5个数就换行
if (count % 5 == 0) {
printf("\n");
}
}
}
// 如果最后一行不满5个,也需要换行,上面的if保证了换行,所以这里直接输出总数即可
printf("\n100到200之间满足条件的数共有: %d个\n", count);
return 0;
}
备考建议
- 基础为王: 单招上机考试非常注重基础,务必牢固掌握变量、数据类型、运算符、三大流程结构(顺序、选择、循环)、数组、函数等核心概念。
- 勤于动手: 编程是“做”出来的,不是“看”出来的,一定要多敲代码,把上面的题目亲手在编译器(如Dev-C++, Visual Studio Code, Turbo C等)上运行一遍,理解每一步的执行过程。
- 理解原理: 不要死记硬背代码,交换两个变量的值、判断奇偶数、累加求和等,要理解其背后的逻辑。
- 多做模拟题: 可以在网上搜索“C语言入门题”、“单招计算机真题”等关键词,进行大量练习,熟悉题型和出题风格。
- 调试能力: 学会使用编译器的错误提示信息,并尝试自己找出代码中的逻辑错误,这是程序员的基本功。
希望这套模拟题能对你有所帮助,祝你考试顺利!
标签: 2025年单招上机考试题库 2025年单招计算机上机真题 2025年单招上机模拟试题下载