内容正文:
编写说明:2026版吉林省高职分类考试《信息工程类(电子与信息类)考纲百套卷》,依据吉林省高职分类(对口招生)考试各类专业综合卷考试科目及纲要(2021版),种信息工程类(电子与信息类)专业综合卷考试科目及纲要编写。本专辑共150份试卷两部分组成,第一部分是按考纲的考点要求编写的120份知识点训练卷,第二部分是针对6门课程的掌握要求,编写的30份常考题训练卷。
本试卷是吉林省高职分类考试《信息工程类(电子与信息类)考纲百套卷》的第124卷,是常考题训练卷。按“C语言程序设计”考试纲要的七点要求编写,其七点要求是:
(一)C语言的概述(二)基本数据类型与简单程序设计(三)分支程序设计(四)循环程序设计(五)数组(六)函数(七)指针。
2026版吉林省《信息工程类(电子与信息类)考纲百套卷》
第124卷
《C语言程序设计》
常考题训练卷
考试时间60分钟 满分100分
班级 姓名 学号 成绩
一、选择题(本大题共10小题,每小题2分,共20分)
1.执行以下程序的输出结果是( )
main()
{char a[20]="ABCD\0EFG\0",b[ ]="IJK";
strcat(a,b);
printf("%s
",a);
getch();}
A. ABCD\0EFG\0IJK
B. ABCDIJK
C. IJK
D. EFGIJK
2.下列程序中有错误的一行是( )
(1)main()
(2){
(3)float a[5]={12,13};
(4)int i;
(5)scanf("%f",a);
(6)for(i=1;i<3;i++)
(7)a[0]=a[0]+a[i];
(8)printf("%f",a[0]);
(9)getch();
(10)}
A. 无错误
B. 第5行
C. 第6行
D. 第8行
3.执行以下程序的输出结果是( )
#define MAX(x,y) (x)>(y)?(x):(y)
main()
{int a=5,b=2,c=3,d=3,t;
t=MAX(a+b,c+d)*10;
printf("%d
",t);
getch();}
A. 6
B. 7
C. 60
D. 70
4. 若要实现从 1 到 100 的整数求和,以下代码正确的是( )
A.
int sum = 0;
for (int i = 1; i < 100; i++) {
sum += i;
}
B.
int sum = 0;
for (int i = 1; i <= 100; i++) {
sum += i;
}
C.
int sum = 0;
for (int i = 0; i <= 100; i++) {
sum += i;
}
D.
int sum = 0;
for (int i = 1; i > 100; i++) {
sum += i;
}
5. 以下代码的输出结果是( )
int a = 10;
if (a > 5) {
if (a < 15) {
if (a == 10) {
printf("Correct");
}
}
}
A. Correct
B. 无输出
C. 编译错误
D. 运行错误
6. 以下代码的输出结果是( )
int i;
for (i = 1; i <= 5; i++) {
if (i == 3) {
continue;
}
printf("%d ", i);
}
A. 1 2 3 4 5
B. 1 2 4 5
C. 1 2
D. 4 5
7. 以下代码的输出结果是( )
#include <stdio.h>
void printArray(int arr[], int size) {
for (int i = 0; i < size; i++) {
printf("%d ", arr[i]);
}
}
int main() {
int arr[3] = {10, 20, 30};
printArray(arr, 3);
return 0;
}
A. 10 20 30
B. 10
C. 编译错误
D. 运行错误
8. 以下代码的输出结果是( )
#include <stdio.h>
int max(int a, int b) {
return (a > b) ? a : b;
}
int main() {
int arr[3] = {10, 20, 30};
int result = max(max(arr[0], arr[1]), arr[2]);
printf("%d
", result);
return 0;
}
A. 10
B. 20
C. 30
D. 编译错误
9. 以下代码的输出结果是( )
#include <stdio.h>
void func(int arr[]) {
arr[0] = 100;
}
int main() {
int arr[3] = {1, 2, 3};
func(arr);
printf("%d
", arr[0]);
return 0;
}
A. 1
B. 100
C. 编译错误
D. 运行错误
10.执行以下程序的输出结果是( )
main()
{int a,b;
for(a=1,b=1;a<=100;a++)
{if(b>=20)
break;
if(b%4==1)
{b+=4;
continue;}
b-=5;
}
printf("%d
",a);
getch();}
A. 6
B. 7
C. 8
D. 9
二、判断题(本大题共10小题,每小题2分,共20分)
1.for 循环 “for (int i=3; i<=7; i+=2)” 执行时,循环变量 i 取值为 3、5、7,共循环 3 次。。( )
2.C语言中,位运算符&和|的优先级高于逻辑运算符&&和||。( )
3.C语言中,按位运算符&和|只能用于整数类型。( )
4.continue 语句只能用于循环语句中。( )
5.定义 “int arr [5]={1,2,3,4,5,6};” 会因初始化元素个数超过数组长度而编译错误。( )
6.while 循环 “int i=0; while (i<0) i++;” 的循环体执行次数为 1。( )
7.可以通过函数参数传递数组名来修改原数组的内容。( )
8.函数返回值类型为 int,函数体内返回 “3.14”(浮点型)时,不会自动转换为 int 类型 3 返回,这是为了保证数据的完整性。( )
9.执行 “int x=3; switch (x%3){case 0:x=6; break; case 1:x=7; case 2:x=8;}” 后,x 的值为 6。( )
10.C语言中,指针变量可以通过 * 运算符访问其所指向的变量。( )
三、填空题(本大题共5小题,每题2分,共10分)
1.以下程序的功能是使用 for 循环遍历二维数组并输出所有元素,横线处应该填入的程序代码是________。
#include <stdio.h>
int main() {
int arr[2][2]={{1,2},{3,4}};
int i,j;
for(i=0; i<2; i++) {
for(j=0; ; j++) {
printf("%d ", arr[i][j]); }
printf("
"); }}
2.C语言中,用于跳过本次循环的剩余部分并进入下一次循环的关键字是________。
3.C语言中,用于逻辑与操作的运算符是________,用于逻辑或操作的运算符是________。
4.C语言中,函数参数的传递方式有________和________两种。
5.以下程序的功能是使用 for 循环计算 1 到 10 的偶数乘积,横线处应该填入的程序代码是________。
#include <stdio.h>
int main() {
int i, product=1;
for(i=2; i<=10; ) {
product *= i; }
printf("%d", product);}
四、读程序写结果题(本大题共5小题,每题5分,共25分)
1.以下程序的运行结果是______。
#include <stdio.h>
#include <conio.h>
void fun(int *s,int n1,int n2)
{int i,j,t;
i=n1;
j=n2;
while(i<j)
{t=*(s+i);
*(s+i)=*(s+j);
*(s+j)=t;
i++;
j--;
}}
main()
{int a[10]={1,2,3,4,5,6,7,8,9,10},i,*p=a;
fun(p,0,3);
fun(p,4,9);
fun(p,0,9);
for(i=0;i<10;i++)
printf("%d ",*(a+i));
printf("
");
getch();}
2.以下程序的运行结果是______。
#include <stdio.h>
void func(int *a, int n) {
for (int i = 0; i < n; i++) {
if (*(a + i) % 2 == 0) {
*(a + i) *= 2;
}
}
}
int main() {
int arr[] = {1, 2, 3, 4};
func(arr, 4);
for (int i = 0; i < 4; i++) {
printf("%d ", arr[i]);
}
printf("
");
return 0;
}
3.以下程序的运行结果是______。
#include <stdio.h>
#include <conio.h>
#include<math.h>
#define N 4
void fun(int a[ ][N],int b[ ])
{int i;
for(i=0;i<N;i++)
b[i]=a[i][i]-a[i][N-1-i];
}
main()
{int x[N][N]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}},y[N],i;
fun(x,y);
for(i=0;i<N;i++)
printf("%d ",y[i]);
printf("
");
getch();}
4.以下程序的运行结果是______。
#include <stdio.h>
#include <conio.h>
main()
{
char a=2,b=4,c=5,d;
d=a|b;
d&=c;
printf("%d
",d);
getch();}
5.以下程序的运行结果是______。
#include <stdio.h>
int search(int arr[], int n, int target) {
int left = 0, right = n - 1;
while (left <= right) {
int mid = left + (right - left) / 2;
if (arr[mid] == target) {
return mid;
} else if (arr[mid] < target) {
left = mid + 1;
} else {
right = mid - 1;
}
}
return -1;
}
int main() {
int arr[] = {2, 5, 8, 12, 16, 23, 38, 56, 72, 91};
int target = 23;
int index = search(arr, sizeof(arr) / sizeof(arr[0]), target);
printf("Index of %d: %d
", target, index);
return 0;
}
五、编程题(本大题共5小题,每题5分,共25分)
1. 在3位整数100~999中查找符合如下条件的整数并在屏幕上输出:这个数既是完全平方数,又有两位数字相同,如121(11的平方)、144(12的平方)等。
2. 幼儿园的老师给学生由前向后发糖果,每个学生得到的糖果数目成等差数列,前四个学生得到的糖果数目之和是26,积是880.编程求出前20名学生每人得到的糖果数目。
3. 使用指针交换两个变量的值。
4.编写一个程序,根据用户输入的数组长度 n 和数组元素,找出数组中的众数(出现次数最多的元素)。如果有多个众数,输出其中任意一个。
5.编写一个程序,根据用户输入的字符串,统计字符串的长度以及特定字符(由用户输入)在字符串中出现的次数,并输出结果。
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$
编写说明:2026版吉林省高职分类考试《信息工程类(电子与信息类)考纲百套卷》,依据吉林省高职分类(对口招生)考试各类专业综合卷考试科目及纲要(2021版),种信息工程类(电子与信息类)专业综合卷考试科目及纲要编写。本专辑共150份试卷两部分组成,第一部分是按考纲的考点要求编写的120份知识点训练卷,第二部分是针对6门课程的掌握要求,编写的30份常考题训练卷。
本试卷是吉林省高职分类考试《信息工程类(电子与信息类)考纲百套卷》的第124卷,是常考题训练卷。按“C语言程序设计”考试纲要的七点要求编写,其七点要求是:
(一)C语言的概述(二)基本数据类型与简单程序设计(三)分支程序设计(四)循环程序设计(五)数组(六)函数(七)指针。
2026版吉林省《信息工程类(电子与信息类)考纲百套卷》
第124卷
《C语言程序设计》
常考题训练卷
考试时间60分钟 满分100分
班级 姓名 学号 成绩
一、选择题(本大题共10小题,每小题2分,共20分)
1.执行以下程序的输出结果是( )
main()
{char a[20]="ABCD\0EFG\0",b[ ]="IJK";
strcat(a,b);
printf("%s
",a);
getch();}
A. ABCD\0EFG\0IJK
B. ABCDIJK
C. IJK
D. EFGIJK
答案:B
2.下列程序中有错误的一行是( )
(1)main()
(2){
(3)float a[5]={12,13};
(4)int i;
(5)scanf("%f",a);
(6)for(i=1;i<3;i++)
(7)a[0]=a[0]+a[i];
(8)printf("%f",a[0]);
(9)getch();
(10)}
A. 无错误
B. 第5行
C. 第6行
D. 第8行
答案:A
3.执行以下程序的输出结果是( )
#define MAX(x,y) (x)>(y)?(x):(y)
main()
{int a=5,b=2,c=3,d=3,t;
t=MAX(a+b,c+d)*10;
printf("%d
",t);
getch();}
A. 6
B. 7
C. 60
D. 70
答案:B
4. 若要实现从 1 到 100 的整数求和,以下代码正确的是( )
A.
int sum = 0;
for (int i = 1; i < 100; i++) {
sum += i;
}
B.
int sum = 0;
for (int i = 1; i <= 100; i++) {
sum += i;
}
C.
int sum = 0;
for (int i = 0; i <= 100; i++) {
sum += i;
}
D.
int sum = 0;
for (int i = 1; i > 100; i++) {
sum += i;
}
答案:B
5. 以下代码的输出结果是( )
int a = 10;
if (a > 5) {
if (a < 15) {
if (a == 10) {
printf("Correct");
}
}
}
A. Correct
B. 无输出
C. 编译错误
D. 运行错误
答案:A
6. 以下代码的输出结果是( )
int i;
for (i = 1; i <= 5; i++) {
if (i == 3) {
continue;
}
printf("%d ", i);
}
A. 1 2 3 4 5
B. 1 2 4 5
C. 1 2
D. 4 5
答案:B
7. 以下代码的输出结果是( )
#include <stdio.h>
void printArray(int arr[], int size) {
for (int i = 0; i < size; i++) {
printf("%d ", arr[i]);
}
}
int main() {
int arr[3] = {10, 20, 30};
printArray(arr, 3);
return 0;
}
A. 10 20 30
B. 10
C. 编译错误
D. 运行错误
答案:A
8. 以下代码的输出结果是( )
#include <stdio.h>
int max(int a, int b) {
return (a > b) ? a : b;
}
int main() {
int arr[3] = {10, 20, 30};
int result = max(max(arr[0], arr[1]), arr[2]);
printf("%d
", result);
return 0;
}
A. 10
B. 20
C. 30
D. 编译错误
答案:C
9. 以下代码的输出结果是( )
#include <stdio.h>
void func(int arr[]) {
arr[0] = 100;
}
int main() {
int arr[3] = {1, 2, 3};
func(arr);
printf("%d
", arr[0]);
return 0;
}
A. 1
B. 100
C. 编译错误
D. 运行错误
答案:B
10.执行以下程序的输出结果是( )
main()
{int a,b;
for(a=1,b=1;a<=100;a++)
{if(b>=20)
break;
if(b%4==1)
{b+=4;
continue;}
b-=5;
}
printf("%d
",a);
getch();}
A. 6
B. 7
C. 8
D. 9
答案:A
二、判断题(本大题共10小题,每小题2分,共20分)
1.for 循环 “for (int i=3; i<=7; i+=2)” 执行时,循环变量 i 取值为 3、5、7,共循环 3 次。。( )
答案:正确
2.C语言中,位运算符&和|的优先级高于逻辑运算符&&和||。( )
答案:正确
3.C语言中,按位运算符&和|只能用于整数类型。( )
答案:正确
4.continue 语句只能用于循环语句中。( )
答案:正确
5.定义 “int arr [5]={1,2,3,4,5,6};” 会因初始化元素个数超过数组长度而编译错误。( )
答案:正确
6.while 循环 “int i=0; while (i<0) i++;” 的循环体执行次数为 1。( )
答案:错误
7.可以通过函数参数传递数组名来修改原数组的内容。( )
答案:正确
8.函数返回值类型为 int,函数体内返回 “3.14”(浮点型)时,不会自动转换为 int 类型 3 返回,这是为了保证数据的完整性。( )
答案:错误
9.执行 “int x=3; switch (x%3){case 0:x=6; break; case 1:x=7; case 2:x=8;}” 后,x 的值为 6。( )
答案:正确
10.C语言中,指针变量可以通过 * 运算符访问其所指向的变量。( )
答案:正确
三、填空题(本大题共5小题,每题2分,共10分)
1.以下程序的功能是使用 for 循环遍历二维数组并输出所有元素,横线处应该填入的程序代码是________。
#include <stdio.h>
int main() {
int arr[2][2]={{1,2},{3,4}};
int i,j;
for(i=0; i<2; i++) {
for(j=0; ; j++) {
printf("%d ", arr[i][j]); }
printf("
"); }}
答案:j<2
2.C语言中,用于跳过本次循环的剩余部分并进入下一次循环的关键字是________。
答案:continue
3.C语言中,用于逻辑与操作的运算符是________,用于逻辑或操作的运算符是________。
答案:&&、||
4.C语言中,函数参数的传递方式有________和________两种。
答案:值传递、地址传递
5.以下程序的功能是使用 for 循环计算 1 到 10 的偶数乘积,横线处应该填入的程序代码是________。
#include <stdio.h>
int main() {
int i, product=1;
for(i=2; i<=10; ) {
product *= i; }
printf("%d", product);}
答案:i=i+2或i+=2
四、读程序写结果题(本大题共5小题,每题5分,共25分)
1.以下程序的运行结果是______。
#include <stdio.h>
#include <conio.h>
void fun(int *s,int n1,int n2)
{int i,j,t;
i=n1;
j=n2;
while(i<j)
{t=*(s+i);
*(s+i)=*(s+j);
*(s+j)=t;
i++;
j--;
}}
main()
{int a[10]={1,2,3,4,5,6,7,8,9,10},i,*p=a;
fun(p,0,3);
fun(p,4,9);
fun(p,0,9);
for(i=0;i<10;i++)
printf("%d ",*(a+i));
printf("
");
getch();}
答案:5 6 7 8 9 10 1 2 3 4
2.以下程序的运行结果是______。
#include <stdio.h>
void func(int *a, int n) {
for (int i = 0; i < n; i++) {
if (*(a + i) % 2 == 0) {
*(a + i) *= 2;
}
}
}
int main() {
int arr[] = {1, 2, 3, 4};
func(arr, 4);
for (int i = 0; i < 4; i++) {
printf("%d ", arr[i]);
}
printf("
");
return 0;
}
答案:1 4 3 8
3.以下程序的运行结果是______。
#include <stdio.h>
#include <conio.h>
#include<math.h>
#define N 4
void fun(int a[ ][N],int b[ ])
{int i;
for(i=0;i<N;i++)
b[i]=a[i][i]-a[i][N-1-i];
}
main()
{int x[N][N]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}},y[N],i;
fun(x,y);
for(i=0;i<N;i++)
printf("%d ",y[i]);
printf("
");
getch();}
答案:-3 -1 1 3
4.以下程序的运行结果是______。
#include <stdio.h>
#include <conio.h>
main()
{
char a=2,b=4,c=5,d;
d=a|b;
d&=c;
printf("%d
",d);
getch();}
答案:4
5.以下程序的运行结果是______。
#include <stdio.h>
int search(int arr[], int n, int target) {
int left = 0, right = n - 1;
while (left <= right) {
int mid = left + (right - left) / 2;
if (arr[mid] == target) {
return mid;
} else if (arr[mid] < target) {
left = mid + 1;
} else {
right = mid - 1;
}
}
return -1;
}
int main() {
int arr[] = {2, 5, 8, 12, 16, 23, 38, 56, 72, 91};
int target = 23;
int index = search(arr, sizeof(arr) / sizeof(arr[0]), target);
printf("Index of %d: %d
", target, index);
return 0;
}
答案:Index of 23: 5
五、编程题(本大题共5小题,每题5分,共25分)
1. 在3位整数100~999中查找符合如下条件的整数并在屏幕上输出:这个数既是完全平方数,又有两位数字相同,如121(11的平方)、144(12的平方)等。
答案:
#include <stdio.h>
#include <conio.h>
main()
{
int i,j;
int hun,ten,data;
printf("特殊的完全平方数有:
");
for(i=100;i<=999;i++)
{j=10;
while(j*j<=i)
{if(i==j*j)
{hun=i/100;
data=i-hun*100;
ten=data/10;
data=data-ten*10;
if(hun==ten||hun==data||ten==data)
printf("%d ",i);
}
j++;
}}
printf("
");
getch();}
2. 幼儿园的老师给学生由前向后发糖果,每个学生得到的糖果数目成等差数列,前四个学生得到的糖果数目之和是26,积是880.编程求出前20名学生每人得到的糖果数目。
答案:
#include <stdio.h>
#include <conio.h>
main()
{
int j,number,n;
for(number=1;number<6;number++)
for(n=1;n<4;n++)
if((4*number+6*n==26)&&(number*(number+n)*(number+2*n)*(number+3*n))==880)
{printf("输出结果是:
");
for(j=1;j<=20;j++)
{printf("%d ",number);
number+=n;
if(j%5==0)
printf("
");}}
getch();}
3. 使用指针交换两个变量的值。
答案:
#include <stdio.h>
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
int main() {
int x, y;
scanf("%d %d", &x, &y);
swap(&x, &y);
printf("x=%d, y=%d", x, y);
return 0;
}
4.编写一个程序,根据用户输入的数组长度 n 和数组元素,找出数组中的众数(出现次数最多的元素)。如果有多个众数,输出其中任意一个。
答案:
#include <stdio.h>
#define MAX_SIZE 100
int findMajority(int arr[], int n) {
int candidate = arr[0];
int count = 1;
for (int i = 1; i < n; i++) {
if (arr[i] == candidate) {
count++;
} else {
count--;
if (count == 0) {
candidate = arr[i];
count = 1;
}
}
}
return candidate;
}
int main() {
int n;
int arr[MAX_SIZE];
printf("请输入数组的长度 n: ");
scanf("%d", &n);
printf("请输入数组的 %d 个元素: ", n);
for (int i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
int majority = findMajority(arr, n);
printf("数组中的众数是: %d
", majority);
return 0;
}
5.编写一个程序,根据用户输入的字符串,统计字符串的长度以及特定字符(由用户输入)在字符串中出现的次数,并输出结果。
答案:
#include <stdio.h>
#include <string.h>
void countLengthAndChar(char str[], char target, int *length, int *count) {
*length = strlen(str);
*count = 0;
for (int i = 0; i < *length; i++) {
if (str[i] == target) {
(*count)++;
}
}
}
int main() {
char str[100], target;
int length, count;
printf("请输入一个字符串: ");
scanf("%s", str);
printf("请输入要统计的字符: ");
scanf(" %c", &target);
countLengthAndChar(str, target, &length, &count);
printf("字符串的长度是: %d
", length);
printf("字符 %c 出现的次数是: %d
", target, count);
return 0;
}
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$