专升本C语言历年考试题及答案
专升本C语言历年考试题及答案解析

专升本C语言历年考试题及答案解析Revised final draft November 26, 2020专升本C语言历年考试题及答案一、单项选择题1. C语言源程序文件经过C编译程序编译连接之后生成一个后缀为__C____的文件。
A、”.c”B、“.obj”C、“.exe”D、“.bas”2. 以下选项中不正确的整型常量是_C____。
A、 12LB、 -10C、 1,900D、 123U3. 表达式___C___的值是0。
A、3%5B、3/5.0C、3/5D、3<54. 表达式 !(x>0||y>0) 等价于__D___。
A、!x>0||!y>0B、!(x>0)||!(y>0)C、!x>0&&!y>0D、!(x>0)&&!(y>0)5. 若变量已正确定义并赋值,表达式__D____不符合C语言语法。
A、4&&3B、+aC、a=b=5D、int(3.14)6. 若变量已正确定义,执行语句scanf("%d%d%d ",&k1,&k2,&k3);时,___B___是正确的输入。
A、2030,40B、20 30 40C、20, 30 40D、20, 30,407. 执行语句printf(” __D____”, 2); 将得到出错信息。
A、%dB、%oC、%xD、%f8. 设变量定义为“int s[ ]="hello\nworld\n";”,则数组s中有__B____个元素。
A、12B、13C、14D、159. 设变量定义为“int a[2]={1,3}, *p=&a[0]+1;”,则*p的值是___B__。
A、2B、3C、4D、&a[0]+110. 若变量已正确定义并赋值,表达式 -k++ 等价于__A____。
c语言专升本试题及答案

c语言专升本试题及答案一、选择题(每题2分,共20分)1. C语言中,用于定义变量的关键字是()。
A. varB. letC. intD. define答案:C2. 下列哪个选项不是C语言中的运算符?()A. %B. &&C. ==D. ||答案:B3. 在C语言中,用于定义一个结构体的关键字是()。
A. structB. unionC. enumD. typedef答案:A4. 下列哪个选项是合法的C语言函数声明?()A. int fun(int a, int b);B. int fun();C. int fun(int a, b);D. int fun(int a, int b) { ... }答案:A5. C语言中,用于定义一个二维数组的语法是()。
A. int array[3][2];B. int array[3][];C. int array[][2];D. int array[2,3];答案:A二、填空题(每题2分,共20分)1. C语言中,用于表示逻辑“与”操作的运算符是____。
答案:&&2. C语言中,用于表示逻辑“或”操作的运算符是____。
答案:||3. C语言中,用于表示逻辑“非”操作的运算符是____。
答案:!4. 在C语言中,用于定义一个字符类型的数组的关键字是____。
答案:char5. C语言中,用于声明一个无返回值的函数的关键字是____。
答案:void三、简答题(每题10分,共20分)1. 请简述C语言中指针的概念。
答案:指针是C语言中的一种数据类型,它存储了另一个变量的内存地址。
通过指针,程序可以直接访问和操作内存中的数据。
2. 请简述C语言中函数的作用。
答案:函数是C语言中封装代码块的一种方式,它允许将一段代码和相关的数据封装在一起,以便于复用和模块化编程。
四、编程题(每题20分,共40分)1. 编写一个C语言程序,实现求两个整数的和。
山西专升本c语言试题及答案

山西专升本c语言试题及答案一、单项选择题(每题2分,共20分)1. 下列关于C语言的描述,错误的是()。
A. C语言是一种高级语言B. C语言可以直接被计算机执行C. C语言具有结构化的特点D. C语言支持指针的使用答案:B2. 在C语言中,下列哪个关键字用于定义一个函数?()A. voidB. intC. returnD. struct答案:B3. 下列关于数组的描述,正确的是()。
A. 数组必须在声明时初始化B. 数组的大小在编译时确定C. 数组的索引从1开始D. 数组可以在运行时改变大小答案:B4. 下列关于指针的描述,错误的是()。
A. 指针可以存储地址B. 指针可以指向函数C. 指针可以作为函数的参数D. 指针不能作为函数的返回值答案:D5. 在C语言中,下列哪个运算符用于执行算术运算?()A. %B. &&C. =D. <答案:A6. 下列关于C语言中循环的描述,正确的是()。
A. for循环不能嵌套使用B. while循环可以与do-while循环嵌套使用C. do-while循环至少执行一次D. break语句可以用于退出switch语句答案:C7. 下列关于C语言中文件操作的描述,错误的是()。
A. 文件操作需要包含头文件<stdio.h>B. 文件指针的类型是FILE*C. 文件的打开操作使用fopen函数D. 文件的关闭操作使用fclose函数答案:A8. 在C语言中,下列哪个函数用于将字符串转换为浮点数?()A. atoiB. atofC. itoaD. sprintf答案:B9. 下列关于C语言中结构体的描述,错误的是()。
A. 结构体可以包含其他结构体B. 结构体可以包含数组C. 结构体不能包含函数D. 结构体不能包含指针答案:D10. 在C语言中,下列哪个关键字用于定义一个全局变量?()A. staticB. externC. registerD. auto答案:B二、填空题(每空1分,共10分)1. 在C语言中,使用________关键字可以定义一个静态局部变量。
专升本C语言历年试题及答案

专升本C语言历年试题及答案专升本C语言历年考试题及答案一、单项选择题1._isw 是合法的用户自定义标识符。
2.若变量已正确定义并赋值,表达式3.14%2 不符合C语言语法。
3."a" 是不正确的字符常量。
4.在C程序中,用 1 表示逻辑值“真”。
5.float x=3.14.y=x。
把x、y定义成float类型变量,并赋同一初值3.14.6.若变量已正确定义,表达式 1^3 的值不是2.7.若变量已正确定义,语句“if(a>b) k=0.else k=1;”和k=(a<=b)?1:0.等价。
8.设变量定义为“int a。
b;”,执行下列语句时,输入a=10.b=10,则a和b的值都是10.scanf("a=%d。
b=%d",&a。
&b);9.下列程序的输出结果是 0.fun(int a。
int b。
int c)c =a*b。
}void main( )int c=0;fun(2,3,c);printf("%d\n",c);}10.在C程序中,如果函数类型未被声明,则函数的隐含类型为int。
11.表达式strlen("hello")的值为5.13.对于变量定义int x。
*p=,&*p相当于p。
14.如果变量已经被正确定义,p=NULL不能使指针p成为空指针。
17.基于相同的基类型,两个指针变量之间不能进行加法运算。
18.程序输出4.19.缺少完整的定义。
struct person {char name[9];int age;struct person class[10] = {Johu"。
17}。
XXX"。
19}。
XXX"。
18}。
Adam"。
16}改写:定义了一个person 结构体,用于存储人名和年龄,然后定义了一个长度为 10 的 class 数组,存储了四个人的信息。
c语言专升本试题及答案

c语言专升本试题及答案第一部分:选择题(共10题,每题2分,共20分)1. C语言中,以下哪个符号表示“不相等”?A. !=B. ==C. >D. <>2. 在C语言中,以下关键字用于定义常量的是:A. constB. staticC. externD. register3. 执行下列代码后,x的值是多少?int x = 10;x += x - x * 3;A. -10B. 0C. 10D. 204. 下列代码中,哪个是合法的数组定义?A. int arr[10];B. float arr[10.5];C. char arr[];D. bool arr[5];5. 以下哪种循环结构是“前测试循环”?A. for循环B. while循环C. do-while循环D. 都不是6. 下列代码中,哪行会引起编译错误?A. int a = 10;B. char b = a;C. float c = 2.5;D. double d = 2.5;7. 在C语言中,以下哪个运算符具有最高优先级?A. 加法运算符(+)B. 乘法运算符(*)C. 括号运算符(())D. 逻辑与运算符(&&)8. 下列代码中,哪个是正确的函数调用?A. max(5, 10);B. max(int a, int b);C. int max(int a, int b) { return a > b ? a : b; }D. int max(a, b) { return a > b ? a : b; }9. 下列哪个关键字用于定义结构体?A. structB. typedefC. unionD. sizeof10. 下列哪个函数用于释放动态分配的内存?A. calloc()B. realloc()C. malloc()D. free()第二部分:填空题(共5题,每题4分,共20分)1. C语言中,用于输出到控制台的函数是________。
专升本C语言题及答案

专升本C语言题及答案C语言精编100题一、单选题 1. 由C语言编写的代码程序( ) A.可直接执行 B. 是一个源程序 C. 经过编译即可执行D. 经过编译解释才能执行 2. 按照C语言规定的用户标识符命名规则,不能出现在标识符中的是( ) A. 大写字母 B. 中划线C. 数字字符D. 下划线 3. 下列选项中,不能用作标识符的是( ) A. _1234_ B. _1_2 C. int_2_ D. 2_int_ 4. 以下选项中合法的用户标识符是( ) A. long B. _2Test C.3Dmax D. A.dat 5. 以下不能定义为用户标识符的是( ) A.Main B. _0 C. _int D. sizeof 6. 下列定义变量的语句错误的是( ) A. int _int; B. double int_; C. char For; D.float US$; 7. 在C语言中,合法的实型常数是( ) A. 5E2.0 B.E-3 C. 2E0 D. 1.3E 8. 在C语言中,合法的实型常数是( )A. 1.2E0.5B. 3.14159EC. 5E-3D. E15 9. 以下选项中,不能作为合法常量的是( ) A. 1.234e04 B. 1.234e0.4 C.1.234e+4 D. 1.234e0 10. 以下不合法的数值常量是( ) A. 011B. le1C. 8.0E0.5D. 0xabcd 11. 在C语言中,非法的字符常量是( ) A.‘\t’ B.‘\17’ C. “\n“ D.‘\xaa’ 12. 以下不合法的字符常量是( ) A.‘\018’ B.‘\“’ C.‘\\’ D.‘\xcc’ 13. 下列运算符中优先级最高的运算符是( )( ) A. = B. = C. % D.A. ==B. /C. =D. = 14. 以下程序的输出结果是( )main() { int a=3,b=4; printf(“%d\n“,a=b); } A. 3 B.4 C. 1 D. 0 15. 在C语言中,以下非法的表达式是( ) A.0=x=100 B. i=j==0 C. (char)(65+3) D. x+1=x+1 16. 在C语言中,以下非法的赋值语句是( ) A. j++; B. ++(i+1); C.x=j0; D. k=i==j; 17. 表达式3.6-5/2+1.2+5%2的值是( ) A.4.3 B. 4.8 C. 3.3 D. 3.8 18. 设有语句:inta=3;则执行了语句a+=a-=a*a;变量a的值是( ) A. 3 B. 0 C. 9 D. -12 19. 设有语句:int x=10;则执行了语句x+=x-=x-x;变量x的值是( ) A. 10 B. 20 C. 40 D. 30 20.以下程序的输出结果是( )( )( )( )( ) ⑴ main() { inti=10,j=1; printf(“%d,%d\n“,i--,++j);} A. 9,2 B. 10,2C. 9,1D. 10,1 ⑵ main() { int a=12,b=12; printf(“%d %d\n“ ,--a,++b);} A. 10 10 B. 12 12 C. 11 10 D.11 13 ⑶ main() { int x=023; printf(“%d\n“,--x);} A. 17 B.18 C. 23 D. 24 ⑷ main() { int x=10,y=10;printf(“%d %d\n“,x--,--y);} A. 10 10 B. 9 9 C. 910 D. 10 9 ⑸ main() { int i=010,j=10; printf(“%d,%d\n“,++i,j--);} A. 11,10 B. 9,10 C. 010,9 D.10,9 21. 以下程序的输出结果是( ) main() { int x=100,y=200;printf(“%d\n“,(x,y)); } A. 200 B. 100 C. 100 200 D)200 100 22. 以下程序的输出结果是( ) main() { intx=10,y=3,z; printf(“%d\n“,z=(x%y,x/y));} A. 1 B. 0C. 4D. 3 23. int k=0;,以下选项的四个表达式中与其他三个表达式的值不相同的是( ) A. k++ B. k+=1 C. ++k D. k+1 24. 以下程序的输出结果是( ) main() { int x,y,z; x=y=1;z=x++,y++,++y; printf(“%d,%d,%d\n“,x,y,z); } A. 2,3,3 B.2,3,2 C. 2,3,1 D. 2,2,1 25. 设x、y、t均为int型变量,则执行语句:x=y=3;t=++x||++y;后,y的值为( ) A. 1 B. 2 C.3 D.4 26. 设int x=-1;执行表达式++x||++x||++x||++x,x的值是( ) A. 0 B. 1 C. 2 D. 4 27. 以下程序的输出结果是(1) main(){ int k=11; printf(“k=%d,k=%o,k=%x\n“,k,k,k);}() A. k=11,k=12,k=11 B. k=11,k=13,k=13 C.k=11,k=013,k=0xb D. k=11,k=13,k=b (2) main(){ int k=17;printf(“%d,%o,%x\n“,k,k,k); }() A. 17,021,0x11 B.17,17,17 C. 17,0x11,021 D. 17,21,11 28. 运行时从键盘上输入9876543210CR(CR表示回车),则该程序的输出结果是()main() { int a;float b,c; scanf(“%2d%3f%4f\n“,a,b,c); printf(“a=%d,b=%f,c=%f\n“,a,b,c);} A.a=98,b=765,c=4321 B. a=10,b=432,c=8765 C.a=98,b=765.000000,c=4321.000000 D. a=98,b=765.0,c=4321.029. 设变量均已正确定义,若要通过scanf(“%d%c%d%c“,a1,c1,a2,c2);语句为变量 a1和a2赋数值10和20,为变量c1和c2赋字符X和Y。
专升本考试c语言试题及答案

专升本考试c语言试题及答案一、选择题(每题2分,共20分)1. 下列关于C语言的描述中,不正确的是()。
A. C语言是一种高级编程语言B. C语言可以直接被计算机执行C. C语言具有结构化编程的特性D. C语言可以用于系统软件开发答案:B2. C语言中,用于定义变量的关键字是()。
A. varB. defineC. intD. let答案:C3. 下列选项中,不是C语言标准库函数的是()。
A. printfB. scanfC. strcpyD. strcat答案:D4. 在C语言中,以下哪个选项是正确的字符串定义方式?A. char str[] = "Hello";B. char str[6] = "Hello";C. char str[] = 'Hello';D. char str[6] = {'H', 'e', 'l', 'l', 'o', '\0'}; 答案:A5. 下列关于C语言数组的描述中,正确的是()。
A. 数组下标从0开始B. 数组可以是多维的C. 数组的大小在定义时可以改变D. 数组可以存储不同类型的数据答案:B6. C语言中,用于实现循环结构的关键字是()。
A. forB. whileC. repeatD. do答案:A7. 下列选项中,表示逻辑与运算符的是()。
A. &&B. ||C. !D. =答案:A8. 在C语言中,用于定义函数的关键字是()。
A. functionB. defC. intD. void答案:D9. 下列关于C语言指针的描述中,正确的是()。
A. 指针可以存储变量的地址B. 指针可以存储变量的值C. 指针不能存储数组的地址D. 指针不能存储函数的地址答案:A10. 在C语言中,用于实现条件选择的关键字是()。
往年专升本c语言试题及答案

往年专升本c语言试题及答案一、单项选择题1. C语言中,用于定义一个结构体类型的关键字是:A. structB. unionC. enumD. typedef答案:A2. 下列哪个选项不是C语言中合法的变量名?A. _123B. intC. sumD. $amount答案:B3. 在C语言中,用于定义一个函数的关键字是:A. functionB. defC. voidD. int答案:D4. 在C语言中,一个整数除以一个浮点数的结果是:A. 整数B. 浮点数C. 字符串D. 错误答案:B5. 下列哪个选项是C语言中的逻辑运算符?A. %B. &&C. &&D. ==答案:B二、填空题1. C语言中,用于定义一个整型变量的关键字是________。
答案:int2. 一个C语言程序的执行从________函数开始。
答案:main3. 在C语言中,________运算符用于计算两个整数的和。
答案:+4. 用于定义一个字符型变量的关键字是________。
答案:char5. C语言中,________运算符用于判断两个表达式是否相等。
答案:==三、编程题1. 编写一个C语言程序,计算并输出100以内所有偶数的和。
```c#include <stdio.h>int main() {int sum = 0;for (int i = 1; i <= 100; i++) {if (i % 2 == 0) {sum += i;}}printf("The sum of even numbers within 100 is: %d\n", sum);return 0;}```2. 编写一个C语言程序,实现输入一个字符串,然后输出其逆序字符串。
```c#include <stdio.h>#include <string.h>int main() {char str[100];scanf("%s", str);int len = strlen(str);for (int i = len - 1; i >= 0; i--) {printf("%c", str[i]);}printf("\n");return 0;}```四、简答题1. 请简述C语言中数组和指针的关系。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
专升本C语言历年考试题及答案Standardization of sany group #QS8QHH-HHGX8Q8-GNHHJ8-HHMHGN#专升本C语言历年考试题及答案江西财经大学2005年专升本选拔考试《C语言程序设计》试卷(考试时间120分钟,总分100分)一、用C语言描述下列命题(共16分,每小题2分)1、a、b和c均为整型变量,a和b中有一个大于c。
2、数学公式:a acb24 2-+-b的C语言表达式(注:sqrt( )为开方函数)。
3、写出100内的自然数x,能被3或7整除的表达式。
4、写出判断字符变量ch是阿拉伯数字字符的表达式。
5、写出满足x<60或90≤x≤100的C语言表达式。
6、写出平面上的点(x,y)落在单位圆内的表达式。
7、数组p[10]的各元素用于保存指向char型的指针,写出该数组的定义。
8、有名为max的函数,其功能是对两个int型参数x、y进行计算,返回其中的较大者,写出该函数的说明部分。
二、根据要求画出流程图或N-S图(共10分,每小题5分)1、用流程图或N-S图表示以下算法。
输入x的值,按下列函数计算y的值,并输出y的值。
2、画出打印以下图案的算法流程图或N-S图。
&& && & && & & &三、程序阅读题(共20分,每小题4分)1、# include <>void main( ) {int i,sum=0;for(i=1;i<=30;i++)if(i%3!=0) continue;else sum=sum+i;printf(“sum=%d\n”,sum);}请叙述上面程序的功能,并写出程序的运行结果。
2、void main( ) {int a,b,x=1,y=1;scanf("%d%d",&a,&b);if (a>0) x=x+y;if (a<b) x=2*y;else if (a==b) y=5;else y=x+y;printf("x=%d,y=%d\n",x,y);}假设输入为: 2 -3<CR>, 则程序运行后的输出结果为:3、void main() {int a[3][3]={2,4,6,8,10,12,14,16,18};int sum=0, i, j;for ( i=0; i<3; i++)for ( j=0; j<3; j++ )if (i==j) sum+=a[i][j];printf(“sum=%d\n”,sum) ;}请叙述上面程序的功能,并写出程序的运行结果。
4、void main( ){int i=0;int x,s1,s2,s3;s1=s2=s3=0;while(i++<10){scanf("%d",&x);switch(abs(x)%3){case 0:s1++;break;case 1:s2++;break;default:s3++;}}printf("s1=%d,s2=%d,s3=%d",s1,s2,s3);}请叙述上面程序的功能。
5、int fun(int n) {if(n==0) return 0;else if(n==1) return 1;return n*n+fun(n-1);}void main(){printf(“Result is:%d”,fun(5));}请叙述上面程序中fun函数的功能并写出程序的运行结果。
四、程序填空(共28分,每空2分)1、以下函数用于求出一个3×4矩阵中的最小元素值。
int min_value(int m[][3]) {int i, j, min;min=m[0][0];for (i=0; ① ; i++)for (j=0 ; ② ; j++)if ( ③ <min ) min= ④ ;return( min ) ;}2、程序的功能是:从键盘输入一串字符(以回车换行符结束),统计其中大写英文字母的个数,将结果保存在变量count中。
void main( ){int count=0;char c;①while(c!='\n'){if ( ② ) ③ ;c=getchar();}printf("have typed %d upper letters", count);}3、以下函数的功能是:在第一个循环中给前n个数组元素依次赋值1~n;在第二个循环中使a数组的n个元素值对称互换,变成n、n-14、3、2、1。
void fun ( int a[ ],int n){int i;int temp;for(i=1; i<=n; i++) a[i-1]= i;for(i=0; i<n/2; i++) {temp= ① ;a[i]= ② ;③ =temp;}}4、以下程序是实现如图1所示图案的打印。
void main() {int i,j,k;char ch;for(i=1,ch= ① ;i<= ② ;i++){for(j=1;j<=4-i;j++) putchar('□'); /*□表示空格符*/for(k=1;k<= ③ ;k++)putchar(ch);④printf("\n");}} 五、程序设计题(共26分) 1、设一个三位数可以表示为abc ,若其能满足条件a 3+b 3+c 3=abc ,则称其为水仙花数,编程求出所有的水仙花数。
(8分)2、编程求数列1+(1+2)+(1+2+3)+…+(1+2+...+10)的和并输出。
(8分)3、设有10个学生的信息,包括学号、姓名和三门功课的成绩,试编写学生信息输入函数、学生信息输出函数、打印每一学生平均分函数,最后编写主函数,并在主函数中调用测试这些函数。
(10分)专升本选拔考试《C 语言程序设计》参考答案及评分标准一、用C语言描述下列命题(共16分,每小题2分)1、a>c||b>c2、(-b+sqrt(b*b-4*a*c)/(2*a)3、(x>=1&&x<=100)&&(x%3==0||x%7!=0)4、ch>=’0’&&ch<=’9’5、x<60||x>=90&&x<=1006、x*x+y*y<=17、char *p[10]; 8、int max(int x,int y)二、根据要求画出流程图或N-S图(共10分,每小题5分)1、2、4分)1 234、功能:输入10个数,分别求出其中能被1、2、3整除的数的和并打印。
5、输出:Result is:55fun 函数的功能:求12+22+...+n2四、程序填空(共28分,每空2分)1、① i<3 ② j<4 ③ a[i][j] ④ a[i][j]2、① c=getchar( ) ② c>='A' && c<='Z' ③ count++3、① a[i] ② a[n-i-1] ③ a[n-i-1]4、① 'A' ② 4 ③ 2*i-1 ④ ch++五、程序设计题(共26分,8+8+10)1、AB B BC C C C CD D D D D D D (图1)void main() {int a,b,c;for(a=1;a<=9;a++)for(b=0;b<=9;b++)for(c=1;c<=9;c++)if(a*a*a+b*b*b+c*c*c==100*a+10*b+c)printf("%5d",100*a+10*b+c);}2、#include <>void main(){int i,s,sum=0;for(i=1,s=0;i<=10;i++){s=s+i;sum=sum+s;}printf("Result is:%6d",sum);}3、#include <>#include <>typedef struct{ /*定义描述学生的结构体类型*/int num; /*成员变量num表示学号*/char name[20]; /*姓名*/float score[3]; /*成绩*/}stud;void input(stud s[],int n){int k;char t[10];for (k=0; k<n; k++) {printf("No:");gets(t); s[k].num=atoi(t);printf("name:"); gets(s[k].name);printf("score1="); gets(t); s[k].score[1]=atof(t);printf("score2="); gets(t); s[k].score[2]=atof(t);printf("score3="); gets(t); s[k].score[3]=atof(t);}}void output(stud s[],int n){int k;printf("%10s%20s%8s%8s%8s\n","no","name","score1","score2","score3"); for (k=0; k<n; k++) {printf("%10d",s[k].num);printf("%20s",s[k].name);printf("%",s[k].score[1]);printf("%",s[k].score[2]);printf("%\n",s[k].score[3]);}}void print_average(stud s[],int n){int k;printf("\n\n%10s%20s%12s\n","no","name","ave_score");for (k=0; k<n; k++) {printf("%10d",s[k].num);printf("%20s",s[k].name);printf("%\n",(s[k].score[1]+s[k].score[2]+s[k].score[3])/3);}}void main(){stud st[10];input(st,3);output(st,3);print_average(st,3);}C语言与程序设计试题一、用C语言描述下列命题(共16分,每小题2分)1.x为整数,写出x能被3除尽,且被5除余2的判断表达式。