c语言历年试卷

合集下载

C语言试卷(含答案)

C语言试卷(含答案)

一、单项选择题(每小题2分,共40分)1、sizeof(float)是()A. 一个双精度型表达式B. 一个整型表达式C. 一种函数调用D. 一个不合法的表达式2、设 i 是int 型变量,f 是float 型变量,用下面的语句给这两个变量输入值: scanf("i=%d,f=%f",&i,&f);为了把100 和分别赋给i 和f,则正确的输入为()。

A. 100B.i=100,f=765.12C. 100<回车>D. x=100y=3、#include<>voidmain(){inta=3,b=2,c=1;intx=10,y=20;if(a<b)if(b!=0)if(!x)y=1;elseif(x)y=0;y=-1;printf("%d",y);} 上面的C 程序的输出结果是()。

A. 20B.1C.0D.-14、C 语言中,while 和do …while循环的主要区别是()。

A. do …while的循环体至少无条件执行一次B. while 的循环控制条件比 do …while的循环控制条件严格C. do …while允许从外部转到循环体内D. do …while的循环体不能是复合语句5、执行下面的 C 程序段后,输出结果是()。

inta=5;while(a--);printf("%d",a);A. 54321B. 4321C.0D.-16、在 C 语言中,()是在所有函数外部声明的。

A. 全局变量B. 局部变量C.形参D.实参7、分析下面的 C 程序:#include<>voidmain(){intnum=0;while(num<=2){num++;printf("%d",num);}}输出结果是()。

A. 123B. 012C.23D.128、下面的 C 语言代码段的输出结果是()。

专升本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语言程序设计历年统考试题集10套含答案

C语言程序设计历年统考试题集10套含答案

C语言程序设计试题集(第1套)请将第一、二、三、四题的答案写在答题页的相应题目的后面(写在别处不得分)。

一、单项选择题(每题2分,共20分)1、以下叙述不正确的是A)C程序由函数构成B) 一个C程序至少包含一个main函数C) main函数可以调用main函数D) main函数是每个程序执行的起始点2、C程序中能直接让机器执行的文件是A)编辑后的.c源文件 B)通过编译的.obj文件C)通过连接的.exe文件 D)编辑后的.bak文件3、假设定义变量如下:int x;float y;以下输入语句中哪个是正确的?A)scanf(“%f%d”,&y,&x); B)scanf(“%f%d”, y, x); C)scanf(“%f%f”,&y,&x); D)scanf(“%d%d”,&y,&x);4、已知:int a[][3]={1,2,3,4,5,6};则数组a的第一维的大小是A)2 B)3 C)4 D)无确定值5、.如果switch表达式是char 变量code,下面哪一个case子句是合法的。

A)case “3”:B) case ‘3’: C)case 3 : D)case =3:6、能正确表示”x的值在[1,10]和[200,210]范围内”的表达式是A)(x>=1)&&(x<=10)&&(x>=200)&&(x<=210)B) (x>=1) || (x<=10) || (x>=200) || (x<=210)C) (x>=1)&&(x<=10) || (x>=200)&&(x<=210)D) (x>=1) || (x<=10)&&(x>=200) || (x<=210)7、C语言中while和do-while 循环的主要区别是A)do-while循环至少无条件执行一次,而while循环可能一次也不执行B)while循环控制条件比do-while循环控制条件严格C)do-while循环允许从外部转到循环体内,而while循环不允许D)do-while的循环体可以是复合语句,而while循环不可以是复合语句 8、下面哪一项函数的头部是有效的?A)one(int a int b)B)int thisone(char x)C)char another(int a,b)D)double yetanother9、若有定义char x[ ]= "12345"; char y[ ]={ '1', '2', '3', '4', '5'};则A)x数组与y数组的长度相同B)x数组长度大于y的长度C)x 数组长度小于y数组长度 D)x数组等价于y 数组10、二维数组的第一个元素的行下标和列下标是A) 1,1 B)0,1 C)1,0 D) 0,0二、填空题(每空3分,共30分)1、如果a=4, b=3,那么,在执行语句a=b;之后,a、b的值分别是(1)2、语句:if(6>5)printf(“#”);printf(“$”);输出(2)3、for( sum=j=0; j<=10; ++j) sum += j; 循环结束后sum的值等于(3)4、长度为10的int类型数组和长度为3 的double类型数组,哪一个数组占用的内存空间多(4)5、字符数组a)char a[]=“one”;占多少内存字节(5)6、如果ch<‘A’或ch>‘Z’,那么,表达式ch>=‘A’&& ch<=‘Z’的值是(6)7、编写C语句,交换a、b的值(7)8、为了使用库函数getchar(),必须在程序中包含命令(8)9、设int numbers[5]={17,25,30,56,58};编写C的for语句,将数组numbers中的每个元素减去3。

c语言考试题型及答案

c语言考试题型及答案

c语言考试题型及答案一、选择题(每题2分,共20分)1. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 下列哪个选项是C语言中的合法标识符?A. 2variableB. variable2C. variable-2D. variable$2答案:B3. C语言中,哪个函数用于计算并返回字符串的长度?A. strlen()B. strcpy()C. strcat()D. strcmp()答案:A4. 在C语言中,以下哪个选项表示逻辑与操作?A. &&B. ||C. !D. %5. 下列哪个选项是C语言中的正确整型常量?A. 012B. 0x1AC. 1.2e3D. 0b1010答案:B6. 在C语言中,哪个关键字用于声明一个函数?A. functionB. defC. declareD. int答案:D7. C语言中,哪个库函数用于输出格式化的字符串到控制台?A. printf()B. scanf()C. fgets()D. fputs()答案:A8. 下列哪个选项是C语言中的合法浮点型常量?A. 3.14B. .14C. 3e-10D. All of the above答案:D9. 在C语言中,哪个关键字用于声明一个变量为静态存储类别?B. externC. registerD. auto答案:A10. C语言中,哪个运算符用于计算两个整数的差并取模?A. %B. /C. -D. ==答案:A二、填空题(每题2分,共20分)1. 在C语言中,用于定义一个数组的关键字是________。

答案:array2. C语言中,用于声明一个指针变量的关键字是________。

答案:pointer3. C语言中,用于声明一个函数的返回类型是________。

答案:return type4. C语言中,用于声明一个变量为全局变量的关键字是________。

c语言笔试考试题及答案

c语言笔试考试题及答案

c语言笔试考试题及答案C语言笔试考试题及答案一、选择题(每题2分,共20分)1. 下列哪个选项是C语言中的关键字?A. intB. floatC. doubleD. string答案:A2. C语言中,int类型变量的默认初始值是多少?A. 0B. 1C. -1D. 随机值答案:A3. 以下哪个是正确的C语言函数声明?A. int function(int a, int b)B. void function(int a, int b)C. int function(int a, int b) {}D. int function(int a, int b) {return a + b;}答案:B4. 在C语言中,哪个运算符用于求两个数的余数?A. /B. %C. *D. -答案:B5. 下列哪个是C语言中正确的数组声明?A. int array[10];B. int array = 10;C. int array(10);D. int [10] array;答案:A6. C语言中,哪个语句用于结束程序的执行?A. break;B. continue;C. return;D. exit;答案:C7. 在C语言中,哪个函数用于计算两个数的和?A. sum(int a, int b)B. add(int a, int b)C. plus(int a, int b)D. None of the above答案:D8. 在C语言中,哪个关键字用于定义一个函数?A. functionB. defC. methodD. void答案:A9. 下列哪个选项是C语言中的控制流语句?A. ifB. switchC. caseD. All of the above答案:D10. 在C语言中,哪个语句用于实现循环?A. forB. whileC. do-whileD. All of the above答案:D二、填空题(每空2分,共20分)1. C语言中,____ 用于定义一个字符常量。

C语言试卷及答案

C语言试卷及答案

一、选择题(每题 2 分,共 40 分)1 、 C 语言源程序的基本单位是 ( )A.程序行B.语句C. 函数D. 字符2 、 C 语言规定:在一个源程序中, main 函数的位置 ( ) 。

A .必须在最开始B .必须在系统调用的库函数的后面C .可以任意D .必须在最后3 、在下列字符列中 ,合法的标识符是( )A.p12&.aB.stud_100C. water$12D.88sum4 、在 C 语言中,要求运算的数必须是整数的运算符是( )A./B.!C.%D.= =5 、设有语句 int a =3;则执行了语句 a + = a - = 后,变量 a 的值是( ) a*a;A 、3B 、0C 、9D 、- 126 、设 a=5,b=6,c=7,d=8,m=2,n=2 ,执行(m=a > b) &&(n=c>d)后 n 的值为( )A 、 1B 、2C 、3D 、47 、执行下列程序时输入: 1234567,程序的运行结果是( )main(){int x,y;scanf(“%2d%*2c%1d”,&x,&y);printf(“%d\n”,x+y);}A.17B.46C.15D.98 、下述程序的输出结果是( )#include<stdio.h>void main(){int x=-1,y=4;int k;k=++x<=0&&!(y--<=0);printf("%d,%d,%d",k,x,y);}A.0,0,3B.0,1,2,C.1,0,3,D.1,1,29 、为了避免嵌套的 if-else 语句的二义性, C 语言规定 else 总是与 ( ) 组成配对关系。

A.缩排位置相同的 ifB.在其之前未配对的 ifC.在其之前未配对的最近的 ifD. 同一行上的 if10、两次运行下面的程序,如果从键盘上分别输入 6 和4,则输出结果是( )main(){int x;scanf(“%d“,&x);if(x++>5)printf(“%d”,x);else printf(“%d\n”,x--);}A.7 和 5B.6 和 3C.7 和 4D.6 和 411、若变量 c 为 char 类型,能正确判断出 c 为小写字母的表达式是 ( )A. 'a'<=c<= 'z'B. (c>= 'a') | | (c<= 'z')C. ('a'<=c)and ('z'>=c)D. (c>= 'a')&&(c<= 'z')12、已知 int x=10,y=20,z=30; 以下语句执行后 x,y,z 的值是。

C语言试题库(完整版)

C语言试题库一、单项选择第一章C语言概述(1)一个C程序的执行是从A、本程序的MAIN函数开始,到MAIN 函数结束。

B、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束。

C、本程序的MAIN函数开始,到本程序的最后一个函数结束。

D、本程序文件的第一个函数开始,到本程序的MAIN函数结束。

(2)以下叙述正确的是A、在C程序中,MAIN函数必须位于程序的最前面。

B、C程序的每行中只能写一条语句。

C、C语言本身没有输入输出语句。

D、在对一个C程序进行编译的过程中,可发现注释中的拼写错误。

(3)C语言规定,在一个源程序中,MAIN主函数的位置是在:A、必须在最前面。

B、必须在系统调用的库函数的后面C、可以在任意位置。

D、必须在最后面(4)一个C程序是由:A、一个主程序和若干子程序组成B、函数组成C、若干过程组成D、若干子程序组成(5)以下叙述不正确的是:A、一个C源程序可由一个或多个函数组成B、一个C源程序必须包含一个MAIN函数C、C程序的基本组成单位是函数D、在C程序中,注释说明只能位于一条语句的后面第二章数据类型、运算符与表达式(1)若x, i, j, k都是int型变量,则计算下面表达式后,x的值为x=(i=4, j=16, k=32)A、4B、16C、32D、52(2)下列四组选项中,均不是C语言键字的选项是A、define , IF, typeB、getc, char, printfC、include, scanf, caseE、i f, struct, type(3)下面四个选项中,均是不合法的用户标识符的选项是A、A,P_0,doB、float,1a0, _AC、b-a, goto, intD、_123, temp, INT(4)若有代数式3ae/bc,则正确的C语言表达式是A、a/b/c*e*3B、3*a*e/bcC、3*a*e/b*cD、a*e/c/b*3(5)已知各变量的类型说明如下:int k, a, b;unsinged long w=5;double x=1.42;则以下不符合C语言语法的表达式是A、x%(-3)B、w+=-2;C、k=(a=2,b=3,a+b)D、a+=a-=(b=4)*(a=3)第三章简单C程序设计(1)putchar函数可以向终端输出一个A、整型变量表达式值B、实型变量值C、字符串D、字符或字符型变量值(2)若x,y均定义为int型,z定义为double 型,以下合法的scanf函数调用语句是A、scanf(“%d%lx,%le”,&x,&y,&z);B、scanf(“%2d*%d%lf”,&x,&y,&z);C、scanf(“%x%*d%o”,&x,&y,&z);D、scanf(“%x%o%6.2f”,&x,&y,&z);(3)当输入数据的形式为:25,13,10<回车>时,以下程序的输出结果为main(){int x,y,z;scanf(“%d%d%d”,&x,&y,&z);printf(“x+y+z=%d\n”,x+y+z);}A、x+y+z=48B、x+y+z=35C、x+z=35D、不确定值(4)以下能正确的定义整型变量a,b和c,并对它们赋初值为5的语句是A、int a=b=c=5;B、int a, b, c=5;C、a=5, b=5, c=5;D、a=b=c=5;(5)若有以下定义,则正确的赋值语句是int a,b; float x;A、a=1, b=2;B、b++;C、a=b=5;D、b=int(x);第四章选择结构程序设计(1)能正确表示“当x的值在[1,10]和[200,210]的范围为真,否则为假”的表达式是A、(x>=1)&&(x<=10)&&(x.>=200)&&(x<=210)B、(x>=1)││(x<=10) ││(x.>=200) ││(x<=210)C、(x>=1) &&(x<=10) ││(x.>=200) &&(x<=210)D、(x>=1)││(x<=10)&& (x.>=200) ││(x<=210)(2)以下程序的运行结果是#incl ude “stdio.h”main(){int a,b,d=241;a=d/100%9;b=(-1)&&(-1);printf(“%d,%d”,a,b);}A、6,1B、2,1C、6,0D、2,0(3)请阅读以下程序:main(){int a=5 , b=0 , c=0;if (a+b+c) printf(“* * *\n”);else printf(“$ $ $\n”);}以上程序。

c语言历年试卷

一、 单选题(四个选项中,只有一个选项是正确的, 请将正确选项涂写在答题卡相应位置上,答在试卷上不得分.共50道小题,80分,其中1-20题每题1分,21-50题每题2分)1. 下列4个选项中,( )是合法的用户自定义标识符。

A. b-bB. floatC. 2aD. _isw2. 下列表达式中值为0的是( )。

A .3%5B .3/5.0C .3/5D .3.0/53. 在C 程序中,用( )表示逻辑值“真”。

A .1 B. 非0的数 C. 非 1 的数 D. 大于 0 的数4. 假设在程序中a ,b ,c 均被定义成整型,并且已赋大于1的值,则下列能正确表示代数式 abc1 的表达式是( )。

A. 1/a*b*cB .1/(a*b*c)C .1/a/b/(float)cD .1.0/a/b/c5. 若有说明和语句:int a=5;++a;此处表达式++a 的值是( )A .7B .6C .5D .46. 以下所列的C 语言常量中,错误的是( )A . 0xFFB .1.2e0.5C .2LD .'c'7. 以下程序段的输出结果是( )int a=1234;printf("%2d\n",a);A.12 B.34 C.1234 D.提示出错、无结果8.若a为int类型,且其值为3,则执行完表达式a-=a*a后,a的值是()A.-3 B.9 C.-6 D.69.若变量c为char类型,能正确判断出c为小写字母的表达式是()A.'a'<=c<= 'z' B.(c>= 'a')||(c<= 'z')C.('a'<=c)and ('z'>=c) D.(c>= 'a')&&(c<= 'z')10. 有以下程序段int n=0,p;do {scanf("%d",&p);n++;} while(p!=12345&&n<3);此处do-while循环的执行条件是()。

专升本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程序,实现一个简单的计算器,可以进行加、减、乘、除运算。

蓝桥杯历年c语言试题及答案

蓝桥杯历年c语言试题及答案蓝桥杯历年C语言试题及答案1. 题目一:数组反转要求:编写一个函数,实现对整数数组的反转。

输入:一个整数数组及其长度。

输出:反转后的数组。

答案:```cvoid reverseArray(int arr[], int n) {int temp;for (int i = 0; i < n / 2; i++) {temp = arr[i];arr[i] = arr[n - i - 1];arr[n - i - 1] = temp;}}```2. 题目二:寻找最大数要求:给定一个整数数组,找出其中的最大数。

输入:一个整数数组及其长度。

输出:数组中的最大数。

答案:```cint findMax(int arr[], int n) {int max = arr[0];for (int i = 1; i < n; i++) {if (arr[i] > max) {max = arr[i];}}return max;}```3. 题目三:计算阶乘要求:编写一个函数,计算给定非负整数的阶乘。

输入:一个非负整数。

输出:该整数的阶乘。

答案:```clong long factorial(int n) {if (n == 0) return 1;long long fact = 1;for (int i = 1; i <= n; i++) {fact *= i;}return fact;}```4. 题目四:字符串反转要求:编写一个函数,实现对字符串的反转。

输入:一个字符串。

输出:反转后的字符串。

答案:```cvoid reverseString(char str[]) {int length = strlen(str);char temp;for (int i = 0; i < length / 2; i++) {temp = str[i];str[i] = str[length - i - 1];str[length - i - 1] = temp;}}```5. 题目五:判断素数要求:编写一个函数,判断给定的整数是否为素数。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、 单选题(四个选项中,只有一个选项是正确的, 请将正确选项涂写在答题卡相应位置上,答在试卷上不得分.共50道小题,80分,其中1-20题每题1分,21-50题每题2分)1. 下列4个选项中,( )是合法的用户自定义标识符。

A. b-b B. float C. 2a D. _isw2. 下列表达式中值为0的是( )。

A .3%5B .3/5.0C .3/5D .3.0/53. 在C 程序中,用( )表示逻辑值“真”。

A .1 B. 非0的数 C. 非 1 的数 D. 大于 0 的数4. 假设在程序中a ,b ,c 均被定义成整型,并且已赋大于1的值,则下列能正确表示代数式 abc1的表达式是( )。

A. 1/a*b*c B .1/(a*b*c) C .1/a/b/(float)cD .1.0/a/b/c5. 若有说明和语句: int a=5; ++a;此处表达式++a 的值是( )A .7B .6C .5D .46. 以下所列的C 语言常量中,错误的是( ) A . 0xFF B .1.2e0.5 C .2L D .'c'7. 以下程序段的输出结果是( )int a=1234;printf("%2d\n",a);A.12 B.34 C.1234 D.提示出错、无结果8.若a为int类型,且其值为3,则执行完表达式a-=a*a后,a的值是()A.-3 B.9 C.-6 D.69.若变量c为char类型,能正确判断出c为小写字母的表达式是()A.'a'<=c<= 'z' B.(c>= 'a')||(c<= 'z')C.('a'<=c)and ('z'>=c) D.(c>= 'a')&&(c<= 'z')10. 有以下程序段int n=0,p;do {scanf("%d",&p);n++;} while(p!=12345&&n<3);此处do-while循环的执行条件是()。

A.p的值不等于12345并且n的值小于3B.p的值等于12345并且n的值大于等于3C.p的值不等于12345或者n的值小于3D.p的值等于12345或者n的值大于等于311. 若定义:int a=511,*b=&a;, 则printf("%d\n",*b);的输出结果为()A.无确定值B.a的地址 C.512 D.51112.以下所列的各函数首部中,正确的是()A.void play(var :Integer,var b:Integer)B.void play(int a;b)C.void play(int a,int b)D.Sub play(a as integer,b as integer)13.设 int x=1, y=1; 表达式(!x||y--)的值是()A. 0B. 1C. 2D. -114.当调用函数时,实参是一个数组名,则向函数传送的是()A.数组的长度 B.数组的首地址C.数组每一个元素的地址 D.数组每个元素中的值15. 设有以下说明语句typedef struct{ int n;char ch[8];}PER;则下面叙述中正确的是()A.PER 是结构体变量名 B.PER是结构体类型名C.typedef struct 是结构体类型 D.struct 是结构体类型名16. 若有说明语句:int a,b,c,*d=&c;,则能正确从键盘读入三个整数分别赋给变量a、b、c的语句是()A.scanf("%d%d%d",&a,&b,d); B.scanf("%d%d%d",&a,&b,&d);C.scanf("%d%d%d",a,b,d); D.scanf("%d%d%d",a,b,*d);17.对于基类型相同的两个指针变量之间,不能进行的运算是()A.< B.= C.+ D.-18.在C语言中,局部变量的隐含存储类别是()A.auto B.static C.extern D.无存储类别19.整型变量x和y的值相等、且为非0值,则以下选项中,结果为零的表达式是( )。

A. x||yB. x|yC. x&yD. x^y20.若fp是指向某文件的指针,且已读到此文件末尾,则库函数feof(fp)的返回值是()A.无返回值 B.0 C.非零值 D.NULL21. 若变量已正确定义,要求程序段完成求5!的计算,不能完成此操作的程序段是( )。

A.for(i=1,p=1;i<=5;i++) p*=i;B.for(i=1;i<=5;i++){ p=1; p*=i;}C.i=1;p=1;while(i<=5){p*=i; i++;}D.i=1;p=1;do{p*=i; i++; }while(i<=5);22.设x、y、z和k都是int型变量,则执行表达式:x=(y=4,z=16,k=32)后,x 的值为()A.4 B.16 C.32 D.5223.假定有以下变量定义:int k=7,x=12; 则能使值为3的表达式是()A.x%=(k%=5) B.x%=(k-k%5) C. x%=k-k%5D.(x%=k)-(k%=5)24.下列程序执行后的输出结果是()A.6 B.8 C.10 D.12#define MA(x) x*(x-1)main(){ int a=4; printf("%d \n",MA(a));}25. 以下程序的输出结果是()main(){ char cf[3][5]={"AAAA","BBB","CC"};printf("%s\n",cf[1]);}A.AAAA B.BBB C.BBBCC D.CC26. 假定a和b为int型变量,则执行以下语句后b的值为()a=1; b=10;do{ b-=a; a++; }while (b--<0);A.9 B.-2 C.-1 D.827. 下列程序的输出结果是( )。

main(){ double d=3.2; int x,y;x=1.2; y=(x+3.8)/5.0;printf("%d \n", d*y);}A. 3B. 3.2C. 0D. 3.0728. 以下程序的输出结果为()。

main(){ char x=’A’;x=(x>=’A’&& x<=’Z’)? (x+’a’-‘A’): x ;printf(“%c\n”, x);}A. AB. aC. zD. Z29. 以下程序执行后的输出结果是()。

main(){ int i=0,s=0;do {if(i%2) {i++;continue;}i++;s+=i;}while(i<7);printf("%d\n",s);}A.16 B.12 C.28 D.2130. 设有如下定义:int arr[]={6,7,8,9,10};int *ptr;则下列程序段的输出结果为()ptr=arr;* (ptr+2)+=2;printf ("%d,%d\n",*ptr,*(ptr+2));A.8,10 B.6,8 C.7,9 D.6,1031. 以下程序的运行结果是( )。

fun(int x, int y, int z){ z=x*x+y*y; }main(){ int a=31;fun(5,2,a);printf("%d",a);}A. 0B. 29C. 31D. 无定值32. 定义如下变量和数组:int i;int x[3][3]={1,2,3,4,5,6,7,8,9};则下面语句的输出结果是()。

for(i=0;i<3;i++) printf("%d",x[i][2-i]);A.1 5 9 B.1 4 7 C.3 5 7 D.3 6 933. 有以下程序段char arr[]="ABCDE";char *ptr;for(ptr=arr;ptr<arr+5;ptr++)printf("%s\n",ptr);输出结果是()A. ABCD B. A C. E D. ABCDEB D BCDEC C CDED B DEE A E34. 有以下程序main( ){ char k; int i;for(i=1;i<3;i++){ scanf("%c",&k);switch(k){ case '0': printf("###\n");case '1': printf("***\n");}}}程序运行时,从键盘输入:01<回车>,程序执行后的输出结果是()A. ### B.### C. ### D. ****** *** *** ***### ***35. 以下程序运行后,输出结果是A.8,15 B.8,16 C.8,17 D.8,8func(int a, int b){ static int m=0,i=2;i+=m+1;m=i+a+b;return(m);}main(){ int k=4,m=1,p;p=func(k,m);printf(“%d”,p);p=func(k,m);printf(“%d\n”,p);}36. 若有以下定义和语句:char *s1="1234",*s2="12345";printf("%d\n",strlen(strcpy(s1,s2)));则输出结果是A. 4B. 5C. 9D. 1037. 有以下程序#include <stdio.h>main(){ int a,b,c=246;a=c/100%9;b=(-1)&&(-1);printf("%d,%d\n",a,b);}输出结果是()A.2,1 B.3,2 C.4,3 D.2,-138. 以下程序运行后,输出结果是()A. 10000 B. 10010 C. 00110 D. 10100main(){ int y=18,i=0,j,a[8];do{ a[i]=y%2; i++;y=y/2;} while(y>=1)for(j=i-1;j>=0;j--) printf(“%d”,a[j]);printf(“\n”);}39. 有以下程序#include <stdio.h>struct stu{ int num;char name[10];int age;};void fun(struct stu *p){ printf("%s\n",(*p).name); }main(){struct stu students[3]={ {9801,"Zhang",20},{9802,"Wang",19},{9803,"Zhao",18} };fun(students+2);}输出结果是()A. Zhang B.Zhao C. Wang D. 1840. 以下程序输出的是( )A. 0 B.44 C.17 D.37main( ){ int a[10]={19,23,44,17,37,28,49,36}, *p;p=a;printf(“%d\n”,p[3]);}41. 有以下程序main(){ char a[]="programming", b[]="language";char *p1,*p2;int i;p1=a; p2=b;for(i=0;i<7;i++)if(*(p1+i)==*(p2+i)) printf("%c",*(p1+i));}输出结果是A. gm B. rg C. or D. ga42. 以下程序输出的是( )A.2 1 4 3 B.1 2 1 2 C.1 2 3 4 D.2 1 1 2void fun(int *x, int *y){ printf("%d %d ", *x, *y); *x=3; *y=4;}main(){ int x=1,y=2;fun(&y,&x);printf("%d %d ",x, y);}43. 以下程序输出的是( )A.6 B.7 C.8 D.9#include "stdio.h"int abc(int u,int v);main (){ int a=24,b=16,c;c=abc(a,b);printf("%d\n",c);}int abc(int u,int v){ int w;while(v){ w=u%v; u=v; v=w }return u;}44. 若有以下定义:char s[20]="programming",*ps=s;则不能代表字符o的表达式是( )A.ps+2 B.s[2]C.ps[2] D.ps+=2,*ps45. 以下对C语言函数的有关描述中,正确的是A.在C中,调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参B. C函数既可以嵌套定义又可以递归调用C.函数必须有返回值,否则不能使用函数D. C程序中有调用关系的所有函数必须放在同一个源程序文件中46. 以下程序的输出结果是( )A.1 B.2 C.3 D.4long fun( int n){ long s;if(n==1 || n==2) s=2;else s=n-fun(n-1);return s;}main(){ printf("%ld\n", fun(3)); }47. 以下程序的输出是( )A.10 B.11 C.50 D.60struct st{ int x; int *y;} *p;int dt[4]={ 10,20,30,40 };struct st aa[4]={ 50,&dt[0],60,&dt[0],60,&dt[0],60,&dt[0]};main(){ p=aa;printf("%d\n",p->x);}48.若有说明:int i,j=7, *p=&i;,则与i=j;等价的语句是A. i= *p;B. *p=*&j;C. i=&j;D. i=**p;49.不能把字符串:Hello!赋给数组b的语句是A. char b[10]={'H','e','l','l','o','!'};B. char b[10];b="Hello!";C. char b[10];strcpy(b,"Hello!");D. char b[10]="Hello!";50. 下面程序的功能是输出以下形式的金字塔图案,应在下划线处填入的是()。

相关文档
最新文档