《C语言程序设计》常考题训练卷 2026版吉林省高职分类考试《信息工程类(电子与信息类)考纲百套卷》第124卷

2025-09-09
| 2份
| 29页
| 72人阅读
| 1人下载

内容正文:

编写说明: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; } 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 学科网(北京)股份有限公司 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $

资源预览图

《C语言程序设计》常考题训练卷 2026版吉林省高职分类考试《信息工程类(电子与信息类)考纲百套卷》第124卷
1
《C语言程序设计》常考题训练卷 2026版吉林省高职分类考试《信息工程类(电子与信息类)考纲百套卷》第124卷
2
《C语言程序设计》常考题训练卷 2026版吉林省高职分类考试《信息工程类(电子与信息类)考纲百套卷》第124卷
3
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。