专升本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语言专升本试题及答案第一部分:选择题(共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. structB. unionC. enumD. typedef答案:A2. 下列选项中,不属于C语言基本数据类型的是()。
A. intB. floatC. charD. string答案:D3. 在C语言中,用于定义函数的关键字是()。
A. functionB. defineC. defD. void答案:B4. 下列关于指针的描述中,错误的是()。
A. 指针可以指向任何类型的数据B. 指针可以作为函数的参数C. 指针可以作为函数的返回值D. 指针不能被赋值5. C语言中,用于控制循环结构的关键字是()。
A. whileB. forC. doD. all of the above答案:D6. 下列选项中,用于文件操作的函数是()。
A. printfB. scanfC. fopenD. fclose答案:C7. 在C语言中,用于定义一个数组的语句是()。
A. int a[10];B. int a=10;C. int *a;D. int a;答案:A8. 以下哪个运算符不能用于条件表达式中()。
A. ==B. !=C. &&D. %答案:D9. C语言中,用于定义一个枚举类型的关键字是()。
B. typedefC. unionD. struct答案:A10. 在C语言中,用于定义一个联合体的关键字是()。
A. unionB. structC. enumD. typedef答案:A二、填空题(每题2分,共20分)1. C语言中,用于声明一个字符型变量的关键字是________。
答案:char2. 在C语言中,________运算符用于计算两个整数的和。
答案:+3. 用于定义一个函数的返回类型是________。
答案:return type4. 在C语言中,________关键字用于定义一个二维数组。
专升本考试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语言中数组和指针的关系。
专升本C语言历年试题

专升本C语言历年试题一、选择题(每题1分,共5分)1.下列哪个选项是C语言的基本数据类型?A.floatB.IntegerC.DoubleD.String2.在C语言中,哪个关键字用于定义整型变量?A.IntB.FloatC.DoubleD.Char3.下面哪个选项是C语言中的逻辑运算符?A.++B.--C.&&D.||4.在C语言中,哪个函数用于动态分配内存?A.malloc()B.calloc()C.realloc()D.free()5.下面哪个选项用于在C语言中进行标准输入输出操作?A.stdio.hB.conio.hC.stdlib.hD.math.h二、判断题(每题1分,共5分)1.C语言是一种高级编程语言。
()2.在C语言中,数组下标从1开始。
()3.C语言支持面向对象编程。
()4.在C语言中,函数可以返回多个值。
()5.C语言中的switch语句可以用于多个条件的判断。
()三、填空题(每题1分,共5分)1.C语言中的基本数据类型包括____、____、____、____。
2.在C语言中,____用于定义整型变量,____用于定义浮点型变量。
3.C语言中的____语句用于循环执行代码块,____语句用于条件判断。
4.在C语言中,____用于动态分配内存,____用于释放内存。
5.C语言中的____用于标准输入,____用于标准输出。
四、简答题(每题2分,共10分)1.请简述C语言的特点。
2.请解释C语言中的变量和常量的区别。
3.请简述C语言中的数组和字符串的区别。
4.请解释C语言中的函数原型的作用。
5.请简述C语言中的指针的概念及其作用。
五、应用题(每题2分,共10分)1.编写一个C程序,输出1到100的所有偶数。
2.编写一个C程序,计算并输出一个整数的阶乘。
3.编写一个C程序,实现两个整数的交换。
4.编写一个C程序,输出一个字符串的长度。
5.编写一个C程序,实现一个简单的计算器,可以进行加、减、乘、除运算。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
专升本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 数组,存储了四个人的信息。
根据上述定义,能输出字母 M 的语句是 (C)A) printf("%c\n"。
class[3].mane);B) printf("%c\n"。
class[3].name[1]);C) printf("%c\n"。
class[2].name[1]);D) printf("%c\n"。
class[2].name[0]);改写:根据定义,class[2] 存储了 Mary 的信息,name[1]是字符 a,所以输出 a。
以下所列的 C 语言常量中,错误的是 (B)A) 0xFFB) 1.2e0.5C) 2LD) '\72'改写:1.2e0.5 是错误的,因为指数部分应该是整数。
有以下程序段int k = 0;while (k = 1) k++;改写:这段代码有语法错误,应该改为 while (k == 1) k++。
或者 while (k = = 1) k++。
while 循环执行的次数是 (A)A) 无限次B) 有语法错,不能执行C) 一次也不执行D) 执行 1 次以下程序的输出结果是 (C)A) 0B) 29C) 31D) 无定值void fun(int x。
int y。
int z) {z = x * x + y * y;int main() {int a = 31;fun(5.2.a);printf("%d"。
a);改写:函数 fun 接收三个参数,计算 x 和 y 的平方和并存储在 z 中,但是 main 函数中的 a 并没有改变,所以输出 31.下列程序段的输出结果是 (A)A) 2 1 4 3B) 1 2 1 2C) 1 2 3 4D) 2 1 1 2void fun(int *x。
int *y) {printf("%d %d"。
*x。
*y);x = 3;y = 4;int main() {int x = 1.y = 2;fun(&y。
&x);printf("%d %d"。
x。
y);改写:函数 fun 接收两个指针作为参数,输出指针指向的值,然后将它们分别改为 3 和 4,main 函数中传递了 x 和 y 的地址,所以输出 2 1 和 1 4.当调用函数时,实参是一个数组名,则向函数传送的是(B)A) 数组的长度B) 数组的首地址C) 数组每一个元素的地址D) 数组每个元素中的值以下程序的输出结果是 (A)A) 1B) 2C) 3D) 4long fun(int n) {long s;if (n == 1 || n == 2) {s = 2;else {s = n - fun(n - 1);return s;int main() {printf("%ld\n"。
fun(3));改写:函数 fun 计算了一个递归式,当 n 等于 1 或 2 时,返回 2,否则返回 n 减去递归调用 fun(n - 1) 的结果。
所以fun(3) 的结果为 1.以下程序的输出结果是 (B)A) 16B) 2C) 9D) 1define SQR(X) X * Xint main() {int a = 2;int b = SQR(a + 1);printf("%d"。
b);改写:宏定义 SQR(X) 展开后是 X * X,所以 SQR(a + 1) 展开后是 a + 1 * a + 1,即 2 * 2 + 1,所以输出 5.main()int a = 16.k = 2.m = 1;a /= (k + m) * (k + m) / (k * k);printf("%d\n"。
a);27.以下函数返回a所指数组中最小的值所在的下标值int fun(int *a。
int n)int i。
j = 0.p;p = j;for (i = j。
i < n。
i++)if (a[i] < a[p])p = i;return p;二、填空题1.表示“x≥y≥z”的C表达式是___ x。
= y && y。
= z ____。
2.下列程序段的输出是__2____。
printf("%d\n"。
010 << 1 ^ 1);3.下列程序段的输出是__6..9.____。
int k;float s;for (k = 0.s = 0.k < 7.k++)s += k / 2.0;printf("%d。
%f\n"。
k。
s);4.下列程序段的输出是__5.25_____。
define f(a。
b。
x) a * x + bprintf("%d。
%d\n"。
f(3.2.1)。
f(6.5.f(3.2.1)));5.下列程序段的输出是__*#*#____。
int k;for (k = 1.k < 5.k++)if (k % 2)printf("*");elsecontinue;printf("#");6.下列程序段的输出是__5 8___。
includeint f(int x)static int y = 1;y++;x += y;return x;void main()int k;k = f(3);printf("%d。
%d\n"。
k。
f(k));7.下列程序段的输出是___5__。
int *p。
*q。
k = 5.j = 6;q =p = q;q =printf("%d"。
*p);8.函数void f(char s[]。
char t[])int k = 0;while ((s[k] = t[k])。
= '\0')k++;等价于void f(char *s。
char *t)1.C语言源程序文件经过C编译程序编译连接之后生成一个后缀为“.exe”的文件。
2.以下选项中不正确的整型常量是1,900.3.表达式3/5的值是0.4.表达式!(x>0||y>0)等价于!(x>0)&&!(y>0)。
5.若变量已正确定义并赋值,表达式int(3.14)不符合C语言语法。
int i=0.j=0;for(i=0.i<5.i++)j++;if(i==2)break;printf("%d"。
j);return 0;A、0B、1C、3D、56.若变量已经被正确定义,执行语句scanf("%d%d%d ",&k1,&k2,&k3)时,正确的输入是B。
20 30 40.7.执行语句printf(" __D____"。
2)。
将会得到出错信息。
正确答案是D。
%f。
8.如果变量定义为"int s[]="hello\nworld\n";",那么数组s 中有B。
13个元素。
9.如果变量定义为"int a[2]={1,3}。
*p=&a[0]+1;",那么*p 的值是B。
3.10.如果变量已经被正确定义并赋值,表达式-k++等价于A。
-(k++)。
11.在C语言程序中,在函数内部定义的变量称为D。
内部变量。
12.如果x是整型变量,表达式(x=10.0/4.0)的值是D。
2.13.对于以下的变量定义,表达式A。
p->k=2是正确的。
struct node {char s[10];int k;p[4];14.下列运算符中,优先级从高到低依次为D。
&&,||。
15.下列程序段的输出结果是B。
2.int *p。
*q。
k = 1.j = 10;p =。
q =。
p = q。
(*p)++;printf("%d"。
*q);16.以下各选项企图说明一种新的类型名,其中正确的是水量(C)。
A) typedef v1 int;B) typedef v2 = int;C) typedef v1 int v3;D) typedef v4: int;17.以下选项中,非法的字符常量是(C)。
A) '\t'B) '\17'C) "n"D) '\xaa'18.以下程序的输出结果是(C)。
int i = 0.j = 0;for(i = 0.i < 5.i++)j++;if(i == 2)break;printf("%d"。