c语言模拟题1(有答案)

合集下载

c语言笔试模拟题以及答案

c语言笔试模拟题以及答案

1.一、单选题:(每题1.5分,共60分)1、 C语言程序的基本单位是_______.A. 语句B. 函数C. 程序行D. 字符答案: B2、 C语言程序由( )组成A. 子程序B. 过程C. 函数D. 主程序段程序答案: C3、算法的表示方法有________。

A. 自然语言,传统流程图,N-S流程图,伪代码,计算机语言B. 高级语言,汇编语言,机器语言C. C语言,QBASIC语言,InterDevD. 图形图像法,描述法,编程法E. 计算机语言答案: A4、以下程序的输出结果是main( ){ int k=17;printf(“%d,%o,%x \n”,k,k,k);}A. 17,021,0×11B. 17,17,17C. 17,0×11,021D. 17,21,11答案: D5、下列变量定义中合法的是A. short _a=1-.le-1;B. double b=1+5e2.5;C. long do=0xfdaL;D. float 2_and=1-e-3;答案: A6、 C语言中合法的字符常量是____A. ‘\084′B. ‘\X43′C. ‘ab’D. “\0″答案: B7、下面说法中正确的是( )A. int型和long型运算先将int型转换成unsigned型,再转换B. 两个float型运算结果为double型C. 只要表达式中存在double型,所有其他类型数据都必须转D. 表达式中的类型转换与运算顺序有关答案: C8、以下不正确的叙述是A. 在C程序中,逗号运算符的优先级最低B. 在C程序中,APH和aph是两个不同的变量C. 若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变D. 当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值答案: D9、设变量n为float类型,m为int类型,则以下能实现将n中的数值保留小数点后两位,第三位进行四舍五入运算的表达式是A. n=(n*100+0.5)/100.0B. m=n*100+0.5,n=m/100.0C. n=n*100+0.5/100.0D. n=(n/100+0.5)*100.0答案: B10、下列运算符中优先级最高的是A. <B. +C. &&D. !=答案: B11、若变量已正确定义并赋值,下面符合C语言语法的表达式是A. a:=b+1B. a=b=c+2C. int 18.5%3D. a=a+7:c+b答案: B12、设CH是字符型变量,其值为’A',下列表达式的值是CH=(CH > =’A'&&CH < =’Z')?(CH+32):CHA. AB. aC. zD. Z答案: B13、表达式18/4*sqrt(4.0)/8值的数据类型为A. intB. floatC. doubleD. 不确定答案: C14、在C语言中,要求运算数必须是整型的运算符是A. /B. %C. !D. >答案: B15、以下说法中正确的是A. #define和printf都是C语句B. #define是C语句,而printf不是C. printf是C语句,但#define不是D. #define和printf都不是C语句答案: D16、下面程序的输出是main(){int a=-1,b=4,k;k=(a++<=0)&&(!(b–<=0));printf(“%d%d%d%\n”,k,a,b);}A. 0 0 3B. 0 1 2C. 1 0 3D. 1 1 2答案: C17、设有:int a=1,b=2,c=3,d=4,m=2,n=2;执行 (m=a > b)&&(n=c > d)后n的值是A. 1B. 2C. 3D. 4答案: B18、若有条件表达式 (exp)?a++:b–,则以下表达式中能完全等价于表达式(exp)的是A. (exp==0B. (exp!=0)C. (exp==1)D. (exp!=1)答案: B19、为表示关系X≥Y≥Z应使用C语言表达式:__A. (X > =Y)&&(Y > =Z)B. (X > =Y)and(Y > =Z)C. (X≥ Y≥ Z)D. (X≥ Y)&(Y≥ Z)答案: A20、能正确表示逻辑关系:”a ≥ =10或a ≤ 0″的C语言表达式是A. a > =10 or a< =0B. a > =0||a < =10C. a > =10 && a < =0D. a < =0 || a>=10答案: D21、下面的程序是______main(){ int x=3,y=0,z=0;if (x==y+z) printf(“****”);else printf(“####”);}A. 有语法错误不能过通过编译B. 输出****C. 可能通过编译,但是不能通过连接,因而不能运行D. 输出####答案: D22、执行下面语句后的输出为( )int i= -1;if (i < =0)printf(“****\n”)else printf(“%%%%\n”)A. ****B. %%%%C. %%%%CD. 有语法错,不能执行答案: D23、若运行以下程序时,从键盘输入 ADescriptor < CR > ( < CR > 表示回车),则下面程序的运行结果是#include <stdio.h>main(){char c;int v0=0,v1=0,v2=0;do{switch(c=getchar()){case ‘a’:case ‘A’:case ‘e’:case ‘E’:case ‘i’:case ‘I’:case ‘o’:case ‘O’:case ‘u’:case ‘U’:v1+=1;default:v0+=1;v2+=1;}}while(c!=’\n’);printf(“v0=%d,v1=%d,v2=%d\n”,v0,v1,v2);}A. v0=7,v1=4,v2=7B. v0=8,v1=4,v2=8C. v0=11,v1=4,v2=11D. v0=12,v1=4,v2=12答案: D24、以下程序的输出结果是main( ){ int n=4;while(n–)printf(“%d “,–n);}A. 2 0B. 3 1C. 3 2 1D. 2 1 0答案: A25、有一堆零件(100到200之间),如果分成4个零件一组的若干组,则多2个零件;若分成7个零件一组,则多3个零件;若分成9个零件一组,则多5个零件。

c语言模拟考试试题及答案

c语言模拟考试试题及答案

c语言模拟考试试题及答案C语言模拟考试试题及答案一、选择题(每题2分,共20分)1. 在C语言中,以下哪个是合法的变量名?A. 2variableB. variable-nameC. variable_nameD. variable#name答案:B2. 下列哪个选项是C语言中的关键字?A. charB. variableC. ifD. string答案:C3. C语言中,哪个运算符用于计算两个数的乘积?A. +B. -C. *D. /答案:C4. 在C语言中,以下哪个语句用于定义一个整型变量?A. int var;B. float var;C. double var;D. char var;答案:A5. 下列哪个选项是C语言中的控制结构?A. switch-caseB. if-elseC. for-loopD. All of the above答案:D6. 在C语言中,哪个函数用于计算两个数的和?A. pow()B. sqrt()C. sum()D. None of the above答案:D(注:C语言标准库中没有sum()函数)7. 以下哪个选项是C语言中数组的正确声明方式?A. int array[10] = {1, 2, 3};B. int [10] array = {1, 2, 3};C. Both A and BD. None of the above答案:C8. 在C语言中,哪个函数用于将整数转换为字符串?A. itoa()B. atoi()C. printf()D. sprintf()答案:A9. 下列哪个选项是C语言中正确的函数定义?A. int function(int a, int b) { ... }B. int function(int a; int b) { ... }C. int function(int a, int b) { ... }D. int function(int a, b) { ... }答案:C10. 在C语言中,哪个关键字用于定义一个函数?A. functionB. defC. methodD. void答案:D二、填空题(每空2分,共20分)11. 在C语言中,使用____关键字可以定义一个函数。

昆明理工大学C语言程序设计模拟试卷1,附答案

昆明理工大学C语言程序设计模拟试卷1,附答案

C语言模拟考试卷一、是非题(每小题1分,共5分)(1)若有说明:int a[][4] ={0,0}; 则二维数组a的第一维大小为1 BA)对B)错(2)判断char型变量cl是否为大写字母的正确表达式是(cl>= 'A')&&(cl<= 'Z')A A)对B)错(3)已知int a=1,b=-1; 则语句printf("%d\n", (a--, ++b)); 的输出结果是-1B A)对B)错(4)strcmp函数的功能是字符串的比较AA)对B)错(5)sizeof(float)是一个不合法的表达式BA)对B)错二、单项选择题(每小题3分,共75分)(1)下列关于C语言用户标识符的叙述中正确的是(A)。

A)用户标识符中可以出现下划线和中划线(减号)B)用户标识符中不可以出现中划线,但可以出现下划线C)用户标识符中可以出现下划线,但不可以放在用户标识符的开头D)用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头(2)下列叙述中正确的是(B)。

A)C语言的函数可以嵌套调用B)C语言的子程序有过程和函数两种C)C语言的函数可以嵌套定义D)C语言编译时不检查语法(3)以下4个选项中,不能看做一条语句的是(D)。

A); B)a=5,b=2.5,c=3.6;C)if(a<5); D)if(b!=5)x=2;y=6;(4)以下程序段的描述,正确的是(C)。

x=-1;do{x=x*x;}while(!x);A)是死循环B)循环执行两次C)循环执行一次D)有语法错误(5)已知char ch=’C’;则以下表达式的值是(D)。

ch=(ch>=’A’ && ch<=’Z’)?(ch+32):ch;A)A B)a C)Z D)c(6)执行下面的程序段后,变量k中的值为(A)。

int k=3, s[2];s[0]=k; k=s[1]*10;A)不定值B)33 C)30 D)10(7)现有如下定义:int a, b, *p, *q;,则下列赋值语句错误的是(D)。

C语言程序设计模拟题(含答案)

C语言程序设计模拟题(含答案)

C语言程序设计模拟题(含答案)C语言程序设计试题一、单项选择题(本题共25小题,每小题2分,共50分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其正确答案涂写在答题卡上。

错选、多选或未选均无分。

1. 以下正确的C语言自定义标识符是__A____。

A. _1aB. 2a_C. doD. a.122. 在C语言中,错误的常数表示是___D____。

A. 0LB.-0x6aLC. '6'D. 1.234E3.53. 设int a, x=2; 执行语句a=x>0?3*x:x=10;后,变量x的值是___B____。

A. 1B. 2C. 6D. 104.设有以下程序段:int x=2,y=2,z=0,a;a=++x||++y&&z++;printf("%d,%d,%d\n",x,y,z);执行后输出的结果是___C______。

A. 2, 2, 0B. 3, 3,1C. 3, 2, 0D. 3, 2, 15. 在C语言中,字符串"\\TOP\t\65\""的长度是__B_____。

A. 5 B.7C. 8D. 126. 设float x,由键盘输入:12.45, 能正确读入数据的输入语句是___C_____A_。

A. scanf("%5f",&x)B. scanf("%5d",&x);C. scanf("%f",x);D. scanf("%s",&x);7.逗号表达式a=2*6,a*3,a+5的值是___B______。

A. 12B. 17C.36 D. 418. C语言程序中,整型常量的书写形式不包括___A______。

A. 二进制B. 八进制C. 十进制D. 十六进制9. 在C语言中,下列运算符中结合性属于自右向左的是________B_。

C语言模拟试卷及答案

C语言模拟试卷及答案

C语言程序设计模拟试题一、单项选择题(请把答案填在每个题的括号内,每小题2分,共30分)1.对于一个正常运行的C程序,以下叙述中正确的是()A)程序的执行总是从main函数开始,在main函数结束B)程序的执行总是从程序的第一个函数开始,在main函数结束C)程序的执行总是从main函数开始,在程序的最后一个函数中结束D)程序的执行总是从程序中的第一个函数开始,程序的最后一个函数中结束2.设变量均已正确定义,若要通过scanf("%d%c,%d%c",&a1,&c1,&a2,&c2);语句为变量a1和a2赋数值10和20,为变量c1和c2赋字符'X'和'Y'。

以下所示的输入形式中正确的是()(注:口代表空格字符)A)10X,20Y<回车>B)10口X20口Y<回车>C)10口X<回车>20口Y<回车>D)10X<回车>20Y<回车>3.以下定义语句中正确的是()A)char a='A'b='B';B)float a=b=10.0;C)int a=10,*b=&a;D)float*a,b=&a;4.下列选项中,不能用作标识符的是()A)_main B)a1C)int_2_D)2_int_5.下列选项中,合法的C语言关键字是()A)VAR B)cher C)integer D)default6.为表示关系z≥y≥x,应使用C语言表达式()A)(z>=y>=x)B)(z>=y)AND(y>=x)C)(z>=y)&&(y>=x)D)(z>=y)&(y>=x)7.有以下程序段:int k=0,a=1,b=2;k=a<b?b:a;执行该程序段后,k的值是()A)3B)2C)1D)08.C语言中用于结构化程序设计的三种基本结构是()A)if、switch、break B)顺序结构、选择结构、循环结构C)for、while、do-while D)break、for、continue9.若int i;则语句:for(i=2;i==0;)printf("%d",i--);的循环执行次数是()A)无限次B)0次C)1次D)2次10.在循环结构的循环体中执行break语句,其作用是()A)结束本次循环,进行下次循环B)继续执行break语句之后的循环体中各语句C)跳出该循环体,提前结束循环D)终止程序运行11.已定义int a[10],i;以下能正确为a数组元素进行赋值的语句是()A)for(i=0;i<10;i++)scanf("%d",a[i]);B)for(i=0;i<=10;i++)scanf("%d",a[i]);C)for(i=0;i<10;i++)scanf("%d",&a[i]);D)for(i=1;i<=10;i++)scanf("%d",&a[i]);12.以下能正确定义二维数组的是()A)int a[][3];B)int a[][3]={{2,3},{4}};C)int a[][3]={};D)int a[2][3]={{1},{2},{3,4}};13.s1和s2已正确定义并分别指向两个字符串。

C语言模拟试题及答案

C语言模拟试题及答案

C语言模拟试题及答案C语言模拟试题及答案为天地立心,为生民立命,为往圣继绝学,为万世开太平。

以下是店铺为大家搜索整理的C语言模拟试题及答案,希望能给大家带来帮助!一、选择题(每小题1分,共40分)1、以下函数实现按每行8个输出W所指数组中的数据:在横线处应填人的语句是( )。

A.if(i/8==0)printf(”\n”);B.if(i/8==O)continue;C.if(i%8==0)prinff(’’\n”);D.if(i%8==0)continue;2、有以下程序:在VC 6.0平台上编译运行,程序运行后的输出结果是( )。

A.10,6B.4,4C.2,4D.4。

83、有以下函数:以下关于aaa函数功能叙述正确的是( )。

A.将串s复制到串tB.比较两个串的大小C.求字符串s的长度D.求字符串s所占字节数4、在以下给出的表达式中,与while(E)中的(E)不等价的表达式是( )。

5、有以下程序:程序运行后的输出结果是( )。

A.7B.10C.8D.96、有以下程序:程序运行后的输出结果是( )。

A.1,1,2,0B.0,0,0,3C.编译有错D.0,1,2,07、已知字符‘A’的ASCII代码值是65,字符变量cl的值是‘A’,c2的值是‘D’。

则执行语句printf(”%d,%d”,cl,c2—2);的输出结果是( )。

A.65,68B.A,68C.A,BD.65,668、下列叙述中正确的是( )。

A.线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的B.线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构C.线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构D.线性表的链式存储结构与顺序存储结构在存储空间的需求上没有可比性9、以下选项中正确的定义语句是( )。

A.double,a,b;B.double a=b=7;C.double a;b;D.double a=7,b=7;10、以下关于C语言数据类型使用的叙述中错误的是( )。

全国计算机等级考试二级c语言模拟试题及答案一

全国计算机等级考试二级c语言模拟试题及答案一

全国计算机等级考试二级C语言模拟试题及答案(一)一、选择题(1)栈和队列的共同特点是A)都是先进先出B)都是先进后出C)只允许在端点处插入和删除元素?D)没有共同点正确答案:? C(2)已知二叉树后序遍历序列是dabec,中序遍历序列是debac,它的前序遍历序列是A)acbedB)decabC)deabcD)cedba正确答案:? D(3)链表不具有的特点是A)不必事先估计存储空间B)可随机访问任一元素C)插入删除不需要移动元素?D)所需空间与线性表长度成正比正确答案:? B(4)结构化程序设计的3种结构是A)顺序结构、选择结构、转移结构B)分支结构、等价结构、循环结构C)多分支结构、赋值结构、等价结构D)顺序结构、选择结构、循环结构正确答案:? D(5)为了提高测试的效率,应该A)随机选取测试数据B)取一切可能的输入数据作为测试数据C)在完成编码以后制定软件的测试计划D)集中对付那些错误群集的程序正确答案:? D(6)算法的时间复杂度是指A)执行算法程序所需要的时间B)算法程序的长度C)算法执行过程中所需要的基本运算次数D)算法程序中的指令条数正确答案:? C(7)软件生命周期中所花费用最多的阶段是A)详细设计B)软件编码C)软件测试D)软件维护正确答案:? D(8)数据库管理系统DBMS中用来定义模式、内模式和外模式的语言为A)CB)BasicC)DDLD)DML正确答案:? C(9)下列有关数据库的描述,正确的是A)数据库是一个DBF文件B)数据库是一个关系C)数据库是一个结构化的数据集合D)数据库是一组文件正确答案:? C(10)下列有关数据库的描述,正确的是A)数据处理是将信息转化为数据的过程B)数据的物理独立性是指当数据的逻辑结构改变时,数据的存储结构不变C)关系中的每一列称为元组,一个元组就是一个字段D)如果一个关系中的属性或属性组并非该关系的关键字,但它是另一个关系的关键字,则称其为本关系的外关键字正确答案:? D(11)以下叙述中正确的是A)C语言比其他语言高级B)C语言可以不用编译就能被计算机识别执行C)C语言以接近英语国家的自然语言和数学语言作为语言的表达形式D)C语言出现的最晚,具有其他语言的一切优点正确答案:? C(12)C语言中用于结构化程序设计的3种基本结构是A)顺序结构、选择结构、循环结构B)if,switch,breakC)for,while,do-whileD)if,for,continue正确答案:? A(13)C语言中最简单的数据类型包括A)整型、实型、逻辑型B)整型、实型、字符型C)整型、字符型、逻辑型D)字符型、实型、逻辑型正确答案:? B(14)若变量已正确定义并赋值,以下符合C语言语法的表达式是A)a:=b+1B)a=b=c+2C)int %3D)a=a+7=c+b正确答案:? B(15)下列可用于C语言用户标识符的一组是A)void, define, WORDB)a3_b3, _123,CarC)For, -abc, IF CaseD)2a, DO, sizeof正确答案:? B(16)C语言中运算对象必须是整型的运算符是A)%=B)/C)=D)<=正确答案:? A(17)若变量a,i已正确定义,且i已正确赋值,合法的语句是A)a= =1B)++i;C)a=a++=5;D)a=int(i);正确答案:? B(18)已知int t=0;while (t=1){...}则以下叙述正确的是A)循环控制表达式的值为0B)循环控制表达式的值为1C)循环控制表达式不合法D)以上说法都不对正确答案:? B(19)若变量已正确说明为float型,要通过语句scanf("%f%f%f",&a,&b,&c);给a赋予,b赋予,c赋予,下列不正确的输入形式是A)10<回车>22<回车>33<回车>B),,<回车>C)<回车>22.033.0<回车>D)10? 22<回车>33<回车>正确答案:? B(20)有如下程序:main(){int x=1,a=0,b=0;switch(x){case 0: b++;case 1: a++;case 2: a++;b++;}printf("a=%d,b=%d\n",a,b);} 该程序的输出结果是A)a=2,b=1B)a=1,b=1C)a=1,b=0D)a=2,b=2正确答案:? A(21)有以下程序main(){int i=1,j=1,k=2;if((j++||k++)&&i++)printf("%d,%d,%d\n",i,j,k); }执行后输出结果是A)1,1,2B)2,2,1C)2,2,2D)2,2,3正确答案:? C(22)有如下程序main(){float x=,y;if(x<)y=;else if(x<)y=x;else y=;printf("%f\n",y);}该程序的输出结果是A)B)0.250000C)D)正确答案:? C(23)有如下程序:main(){int n=9;while(n>6){n--; printf("%d",n);} }该程序的输出结果是A)987B)876C)8765D)9876正确答案:? B(24)在下列选项中,没有构成死循环的是A)int i=100;while(1){i=i%100+1;if(i>100)break;}B)for(;;);C)int k=10000;do{k++;}while(k>10000);D)int s=36;while(s)--s;正确答案:? D(25)设int x=1,y=1;表达式(!x||y--)的值是A)0B)1C)2D)-1正确答案:? B(26)若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是A)函数调用可以作为独立的语句存在B)函数调用可以作为一个函数的实参C)函数调用可以出现在表达式中D)函数调用可以作为一个函数的形参正确答案:? D(27)有以下程序float fun(int x,int y){return(x+y);}main(){int a=2,b=5,c=8;printf("%3.0f\n",fun((int)fun(a+c,b),a-c));}程序运行后的输出结果是A)编译出错B)9C)21D)正确答案:? B(28)若有以下调用语句,则不正确的fun函数的首部是main(){ …int a[50],n;…fun(n, &a[9]);…}A)void fun(int m, int x[])B)void fun(int s, int h[41])C)void fun(int p, int *s)D)void fun(int n, int a)正确答案:? D(29)fseek函数的正确调用形式是A)fseek(文件指针,起始点,位移量)B)fseek(文件指针,位移量,起始点)C)fseek(位移量,起始点,文件指针)D)fseek(起始点,位移量,文件指针)正确答案:? B(30)若fp是指向某文件的指针,且已读到文件末尾,则函数feof(fp)的返回值是A)EOFB)-1C)1正确答案:? C(31)若有说明语句:char c='\72';则变量cA)包含1个字符B)包含2个字符C)包含3个字符D)说明不合法,c的值不确定正确答案:? A(32)若有说明int a[3][4];则a数组元素的非法引用是A)a[0][2*1]B)a[1][3]C)a[4-2][0]D)a[0][4]正确答案:? D(33)设有以下说明语句{int a;float b;} stutype;则下面的叙述不正确的是A)struct是结构体类型的关键字B)struct stu是用户定义的结构体类型C)stutype是用户定义的结构体类型名D)a和b都是结构体成员名正确答案:? C(34)在C语言中,引用数组元素时,其数组下标的数据类型允许是A)整型常量B)整型表达式C)整型常量或整型表达式D)任何类型的表达式正确答案:? C(35)若运行时给变量x输入12,则以下程序的运行结果是main(){int x,y;scanf("%d",&x);y=x>12?x+10:x-12;printf("%d\n",y);}A)0B)22C)12D)10正确答案:? A(36)以下说法正确的是A)C语言程序总是从第一个的函数开始执行B)在C语言程序中,要调用函数必须在main()函数中定义C)C语言程序总是从main()函数开始执行D)C语言程序中的main()函数必须放在程序的开始部分正确答案:? C(37)表达式0x13^0x17的值是A)0x04B)0x13C)0xE8D)0x17正确答案:? A(38)有以下程序#define F(X,Y)(X)*(Y)main(){int a=3, b=4;printf("%d\n", F(a++, b++));}程序运行后的输出结果是A)12B)15C)16D)20正确答案:? A(39)下列程序执行后的输出结果是void func(int *a,int b[]){ b[0]=*a+6; }main(){int a,b[5];a=0; b[0]=3;func(&a,b); printf("%d\n",b[0]); }A)6B)7C)8D)9正确答案:? A(40)若有下面的程序段:char s[]="china";char *p; p=s;则下列叙述正确的是A)s和p完全相同B)数组s中的内容和指针变量p中的内容相等C)s数组长度和p所指向的字符串长度相等D)*p与s[0]相等正确答案:? D(41)以下程序中函数sort的功能是对a数组中的数据进行由大到小的排序void sort(int a[],int n){int i,j,t;for(i=0;i<n-1;i++)for(j=i+1;j<n;j++)if(a[i]<a[j]){t=a[i];a[i]=a[j];a[j]=t;} }main(){int aa[10]={1,2,3,4,5,6,7,8,9,10},i;sort(&aa[3],5);for(i=0;i<10;i++)printf("%d,",aa[i]);printf("\n");}程序运行后的输出结果是A)1,2,3,4,5,6,7,8,9,10,B)10,9,8,7,6,5,4,3,2,1,C)1,2,3,8,7,6,5,4,9,10,D)1,2,10,9,8,7,6,5,4,3,正确答案:? C?(42)以下程序的运行结果是#include ""main(){struct date{int year,month,day;}today;printf("%d\n",sizeof(struct date));}A)6B)8C)10D)12正确答案:? A(43)若有语句int *point,a=4;和point=&a;下面均代表地址的一组选项是A)a,point,*&aB)&*a,&a,*pointC)*&point,*point,&aD)&a,&*point,point正确答案:? D(44)在调用函数时,如果实参是简单的变量,它与对应形参之间的数据传递方式是A)地址传递B)单向值传递C)由实参传形参,再由形参传实参D)传递方式由用户指定正确答案:? B(45)已定义以下函数fun(char *p2, char *p1){while((*p2=*p1)!='\0'){p1++;p2++;}}函数的功能是A)将p1所指字符串复制到p2所指内存空间B)将p1所指字符串的地址赋给指针p2C)对p1和p2两个指针所指字符串进行比较D)检查p1和p2两个指针所指字符串中是否有'\0'正确答案:? A(46)若执行下述程序时,若从键盘输入6和8时,结果为main(){int a,b,s;scanf("%d%d",&a,&b);s=aif(a<b)s=b;s*=s;printf("%d",s);}A)36B)64C)48D)以上都不对正确答案:? B(47)fscanf函数的正确调用形式是A)fscanf(fp,格式字符串,输出表列);B)fscanf(格式字符串,输出表列,fp);C)fscanf(格式字符串,文件指针,输出表列);D)fscanf(文件指针,格式字符串,输入表列);正确答案:? D(48)下列关于C语言数据文件的叙述中正确的是A)文件由ASCII码字符序列组成,C语言只能读写文本文件B)文件由二进制数据序列组成,C语言只能读写二进制文件C)文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件D)文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件正确答案:? D(49)有以下程序void ss(char *s,char t){while(*s){if(*s= =t)*s=t-'a'+'A';s++;}}main(){char str1[100]="abcddfefdbd",c='d'; ss(str1,c); printf("%s\n",str1); }程序运行后的输出结果是A)ABCDDEFEDBDB)abcDDfefDbDC)abcAAfefAbAD)Abcddfefdbd正确答案:? B(50)若以下定义:struct link{int data;struct link *next;} a,b,c,*p,*q;且变量a和b之间已有如下图所示的链表结构:?指针p指向变量a,q指向变量c。

C语言程序设计模拟试题1(附答案)

C语言程序设计模拟试题1(附答案)

C语言程序设计模拟试题1(附答案)《C语言程序设计》模拟试卷一一、单项选择题(每题2分,共30分)1、下列有关C语言的叙述中错误的是(B)。

A) C语句必须以分号结束B) 任何一个C程序中有且只有一个主函数C) 复合语句在语法上可被看作一条语句D) C程序中对数据的任何操作都可由运算符实现2、以下不能定义为用户标识符的是(C)。

A) MAIN B) _HJ C) 2ong D) LINE13、下列符号中用来表示C语言中的回车换行的是(B)。

A) \r B) \n C) \b D) \t4、如有如下定义:int a=1,则语句printf(“%d,%d”, a, ++a);的运行结果为(B)。

A) 1, 1 B) 1, 2 C) 2, 2 D) 2, 15、已知ch为字符型变量,下面表达式中正确的是(A)。

A) ch=’\xff ’B) ch=’\ff ’C) ch=’ ff ’D) ch=” ff ”6、以下能正确定义一维数组的是(C)。

A) int a[5]={0,1,2,3,4,5}; B) int a[5]=”012345”;C) char a[ ]=”012345”; D) char a[5]={0,1,2,3,4,5};7、以下语句中能正确定义变量并赋初值的是(A)。

A) char c=65; B) float f=f+1.1;C) double x=12.3e3.6; D) int m=n=2.0;8、在执行下列程序时输入:1357924,则程序的运行结果为(C)。

main( ){ int x, y;scanf(“%2d%2d”,&x,&y);printf(“%2d”,x*y); }A) 13 B) 1357 C) 74 D) 7419、执行下列程序段后输出的结果是(C)。

x = 9;while (x > 7){ printf(“*”); x- -; }A) **** B) *** C) ** D) *10、设char str1[10] = “ABCDE”, str2[10] = “xyz”;则执行语句printf(“%d”, strlen(strcpy(str1, str2))); 后的输出结果是(D)A) 9 B) 8 C) 5 D) 311、若用数组名作为函数调用的实参,则传递给形参的是(A)A) 数组的首地址 B) 数组第一个元素的值C) 数组中全部元素的值 D) 数组元素的个数12、在C程序中,若未在函数定义时说明函数类型,则函数默认的类型为( A )A)void B)double C)int D)char13、下面不能正确进行字符串赋值操作的语句是(B )A) char s[5]={"ABCD"}; B) char s[5]; s="ABCD";C) char *s;s="ABCDEF"; D) char *s="ABCD";14、设有说明int s[5]={1,3,5,7,9}; int *p=s; 则下列表达式中值为3的是 (C )A)++p B)++(*p) C) *(++p) D) *(p+=2)15、下面程序的输出结果是(B)int m=13;int fun( int x, int y){ int m=3;return( x*y-m); }main( ){ int a=7,b=5;printf(“%d\n”, fun(a,b)/m); }A) 1 B) 2 C) 3 D) 10二、判断(每空1分,共10分)1、C语言有三种结构化程序设计方法,分别为顺序结构、选择结构和循环结构。

C语言程序设计模拟试题1(附答案)

C语言程序设计模拟试题1(附答案)

《C语言程序设计》模拟试卷一一、单项选择题(每题2分,共30分)1、下列有关C语言的叙述中错误的是(D)。

A) C语句必须以分号结束B) 任何一个C程序中有且只有一个主函数C) 复合语句在语法上可被看作一条语句D) C程序中对数据的任何操作都可由运算符实现2、以下不能定义为用户标识符的是(C)。

A) MAIN B) _HJ C)2ong D) LINE13、下列符号中用来表示C语言中的回车换行的是(B)。

A) \r B) \n C)\b D) \t4、如有如下定义:int a=1,则语句printf(“%d,%d”, a, ++a);的运行结果为(B)。

A) 1, 1 B) 1, 2 C) 2, 2 D)2, 15、已知ch为字符型变量,下面表达式中正确的是(A)。

A) ch=’\xff ’B) ch=’\ff ’C) ch=’ ff ’D) ch=” ff ”6、以下能正确定义一维数组的是(C)。

A) int a[5]={0,1,2,3,4,5}; B) int a[5]=”012345”;C) char a[ ]=”012345”;D) char a[5]={0,1,2,3,4,5};7、以下语句中能正确定义变量并赋初值的是(A)。

A) char c=65; B) float f=f+1.1;C) double x=12.3e3.6; D) int m=n=2.0;8、在执行下列程序时输入:1357924,则程序的运行结果为(D)。

main( ){ int x, y;scanf(“%2d%2d”,&x,&y);printf(“%2d”,x*y); }A) 13 B) 1357 C) 74 D) 7419、执行下列程序段后输出的结果是(C)。

x = 9;while (x > 7){ printf(“*”); x- -; }A) **** B) *** C) ** D) *10、设char str1[10] = “ABCDE”, str2[10] = “xyz”;则执行语句printf(“%d”, strlen(strcpy(str1, str2))); 后的输出结果是(D)A) 9 B) 8 C) 5 D) 311、若用数组名作为函数调用的实参,则传递给形参的是(A)A) 数组的首地址B) 数组第一个元素的值C) 数组中全部元素的值 D) 数组元素的个数12、在C程序中,若未在函数定义时说明函数类型,则函数默认的类型为( A ) A)void B)double C)int D)char13、下面不能正确进行字符串赋值操作的语句是(A)A) char s[5]={"ABCD"};B) char s[5]; s="ABCD";C) char *s;s="ABCDEF"; D) char *s="ABCD";14、设有说明int s[5]={1,3,5,7,9}; int *p=s; 则下列表达式中值为3的是(B )A)++p B)++(*p) C) *(++p) D) *(p+=2)15、下面程序的输出结果是(B)int m=13;int fun( int x, int y){ int m=3;return( x*y-m); }main( ){ int a=7,b=5;printf(“%d\n”, fun(a,b)/m); }A) 1 B) 2 C) 3 D) 10二、判断(每空1分,共10分)1、C语言有三种结构化程序设计方法,分别为顺序结构、选择结构和循环结构。

C语言程序设计模拟试题一(含答案)

C语言程序设计模拟试题一(含答案)

C语言程序设计模拟试题一(含答案)1、下列述叙中正确的是A) 显示器和打印机都是输出设备B) 显示器只能显示字符C) 通常的彩色显示器都有7种颜色D) 打印机只能打印字符和表格2、微型计算机中运算器的主要功能是进行A) 算术运算B) 逻辑运算C) 算术和逻辑运算D) 初等函数运算3、是DOS系统的最外层模块,通常称之为A) 引导程序B) 输入输出系统C) 命令处理系统D) 文件管理系统4、电子邮件是A) 网络信息检索服务B) 通过Web网页发布的公告信息C) 通过网络实时交互的信息传递方式D) 一种利用网络交换信息的非交互式服务5、和十进制数225相等的二进制数是A) 11101110 B) 11111110C) 10000000 D) 111111116、下列叙述中正确的是A) 指令由操作数和操作码两部分组成\B) 常用参数xxMB表示计算机的速度C) 计算机的一个字长总是等于两个字节D) 计算机语言是完成某一任务的指令集7、计算机的内存储器比外存储器A) 价格便宜B) 存储容量大C) 读写速度快D) 读写速度慢8、设当前盘为C盘,执行DOS命令"COPY B:\A.TXT PRN"之后,结果是A) B盘上的A.TXT文件被复制到C盘的PRN文件B) 屏幕上显示B盘上的A.TXT文件内容C) B盘上的A.TXT文件内容在打印机上输出D) B盘上的A.TXT文件被复制到B盘上的PRN文件9、要将当前盘当前目录下的两个文件X1.TXT和B1.TXT连接起来之后存入B盘当前目录下并且命名为Z.TXT,无论B 盘当前目录是什么,完成这件任务可以使用的命令是A) COPY A:X1.TXT+C:B1.TXT Z.TXTB) COPY X1.TXT+C:\\WS\\B1.TXT B:\\Z.TXTC) COPY A:X1.TXT+C:\\WS\\B1.TXTD) COPY X1.TXT+B1.TXT B:Z.TXT10、下列四组DOS命令中,功能等价的一组是A) COPY A:*.* B:与DISKCOPY A: B:B) COPY ABC.TXT+XYZ.TXT 与TYPE XYZ.TXT>>ABC.TXTC) COPY ABC.TXT+XYZ.TXT与COPY XYZ.TXT+ABC.TXTD) TYPE *.FOR>CON与COPY *.FOR CON11、设当前目录为D:\BB,现要把D:\AA目录下首字符是A的文本文件全部删除,应该使用命令A) DEL A*.TXT B) DEL \\AA\\A.TXTC) DEL \\AA\\A*.TXT D) DEL \\AA\\A?.TXT12、在Windows中,启动应用程序的正确方法是A) 用鼠标指向该应用程序图标B) 将该应用程序窗口最小化成图标C) 将该应用程序窗口还原D) 用鼠标双击该应用程序图标13、在Windows中,终止应用程序执行的正确方法是A) 将该应用程序窗口最小化成图标B) 用鼠标双击应用程序窗口右上角的还原按钮C) 用鼠标双击应用程序窗口中的标题栏D) 用鼠标双击应用程序窗口左上角的控制菜单框14、在微机系统中,对输入输出设备进行管理的基本程序模块(BIOS)存放在A) RAM中B) ROM中C) 硬盘中D) 寄存器中15、使计算机病毒传播范围最广的媒介是A) 硬磁盘B) 软磁盘C) 内部存储器D) 互联网16、设有int x=11; 则表达式(x++ * 1/3) 的值是A) 3 B) 4C) 11 D) 1217、下列程序的输出结果是main(){ double d=3.2; int x,y;x=1.2; y=(x+3.8)/5.0;printf("%d \n", d*y);}A) 3 B) 3.2C) 0 D) 3.0718、下列程序执行后的输出结果是(小数点后只写一位)main(){ double d; float f; ling l; int i;i=f=1=d=20/3;printf("%d %ld %f %f \n", i,l,f,d);}A) 6 6 6.0 6.0 B) 6 6 6.7 6.7C) 6 6 6.0 6.7 D) 6 6 6.7 6.019、下列变量定义中合法的是A) short _a=1-.le-1; B) double b=1+5e2.5;C) long do=0xfdaL; D) float 2_and=1-e-3;20、设int x=1, y=1; 表达式(!x||y--)的值是A) 0 B) 1C) 2 D) -121. 与y=(x>0?1:x<0?-1:0);的功能相同的if语句是A) if (x>0) y=1;else if(x<0)y=-1;else y=0;B) if(x)if(x>0)y=1;else if(x<0)y=-1;else y=0;C) y=-1if(x)if(x>0)y=1;else if(x==0)y=0;else y=-1;D) y=0;if(x>=0)if(x>0)y=1;else y=-1;22. 以下循环体的执行次数是main(){ int i,j;for(i=0,j=1; i<=j+1; i+=2, j--)printf("%d \n",i);}A) 3 B) 2C) 1 D) 023. 以下叙述正确的是A) do-while语句构成的循环不能用其它语句构成的循环来代替B) do-while语句构成的循环只能用break语句退出C) 用do-while语句构成的循环,在while后的表达式为非零时结束循环D) 用do-while语句构成的循环,在while后的表达式为零时结束循环24. 下列程序执行后的输出结果是main(){ int x='f'; printf("%c \n",'A'+(x-'a'+1)); }A) G B) HC) I D) J25. 执行下面的程序段后,变量k中的值为int k=3, s[2];s[0]=k; k=s[1]*10;A) 不定值B) 33C) 30 D) 1026. 若已定义:int a[ ]={0,1,2,3,4,5,6,7,8,9}, *p=a,i; 其中0≤i≤9, 则对a数组元素不正确的引用上A} a[p-a] B} *(&a[i])C} p[i] D} a[10]27、下列程序执行后的输出结果是void func(int *a,int b[]){ b[0]=*a+6; }main(){ int a,b[5];a=0; b[0]=3;func(&a,b); printf("%d \n,b[0]);}A) 6 B) 7C) 8 D) 928、下列程序的运行结果是#include <stdio.h>main(){ int a=2,c=5;printf("a=%d,b=%d\n",a,c); }A) a=%2,b=%5 B) a=2,b=5C) a=d, b=d D) a=%d,b=%d29、下列程序执行后的输出结果是main(){ int a[3][3], *p,i;p=&a[0][0];for(i=p; i<9; i++) p[i]=i+1;printf("%d \n",a[1][2]);}A) 3 B) 6C) 9 D) 随机数30、设有数组定义: char array [ ]="China"; 则数组array所占的空间为A) 4个字节B) 5个字节C) 6个字节D) 7个字节31、下列程序的输出结果是int b=2;int func(int *a){ b += *a; return(b);}main(){ int a=2, res=2;res += func(&a);printf("%d \n",res);}A) 4 B) 6C) 8 D) 1032、在以下四组中,每组有两个分别运算的函数,运算结果相同的是main(){ int i, j, m=0, n=0;for(i=p; i<2; i++)for(j=0; j<2; j++)if(j>=i) m=1; n++;printf("%d \n",n);}A) 4 B) 2C) 2 D) 033、下列程序的输出结果是struct abc{ int a, b, c; };main(){ struct abc s[2]={{1,2,3},{4,5,6}}; int t;t=s[0],a+s[1],b;printf("%d \n",t);}A) 5 B) 6C) 7 D) 834、设int b=2;表达式(b>>2)/(b>>1)的值是A) 0 B) 2C) 4 D) 835、在C程序中,可把整型数以二进制形式存放到文件中的函数是A) fprintf函数B) fread函数C) fwrite函数D) fputc函数36、下列程序执行后的输出结果是main(){ char x=0xFFFF; printf("%d \n",x--); } A) -32767 B) FFFEC) -1 D) -3276837、若有定义: float w;int a, b;则合法的switch语句是A) switch(w){ case 1.0: printf("*\\n");case 2.0: printf("**\\n");}B) switch(a);{ case 1 printf("*\\n");case 2 printf("**\\n");}C) switch(b){ case 1: printf("*\\n");default: printf("\\n");case 1+2: printf("**\\n");}D) switch(a+b);{ case 1: printf("*\\n");case 2: printf("**\\n");default: printf("\\n");}38、以下程序段的执行结果是int a, y;a=10; y=0;do{ a+=2; y+=a;printf("a=%d y=%d\n",a,y);if(y>20) break;{ while(a=14);A} a=12 y=12a=14 y=16a=16 y=20a=18 y=24B} a=12 y=12a=16 y=28C} a=12 y=12D} a=12 y=12a=14 y=26a=14 y=4439、若有以下调用语句,则不正确的fun函数的首部是main(){ …int a[50],n;…fun(n, &a[9]);…A} void fun(int m, int x[]) B} void fun(int s, int h[41])C} void fun(int p, int *s) D} void fun(int n, int a)40、语句printf("a\bre\'hi\'y\\\bou\n");的输出结果是(说明:'\b'是退格符)A) a\\bre\\'hi\\'y\\\\\\bou B) a\\bre\\'hi\\'y\\bouC) re'hi'you D) abre'hi'y\\bou41、请选出正确的程序段A) int *p;scanf("%d",p);…B) int *s, k;*s=100;…C) int *s, k;char *p, c;s=&k;p=&c;*p='a';…D) int *s, k;char *p, e;s=&k;p=&c;s=p;*s=1;42、已知指针p的指向如下图所示,则执行语句*--p;后*p的值是A) 30 B) 20C) 19 D) 2943、设已有定义:char *st="how are you";下列程序段中正确的是A) char a[11], *p; strcpy(p=a+1,&st[4]);B) char a[11]; strcpy(++a, st);C) char a[11];strcpy(a, st);D) char a[], *p;strcpy(p=&a[1],st+2);44、下列程序执行后的输出结果是mai(){ char arr[2][4];strcpy(arr,"you"); strcpy(arr[1],"me");arr[0][3]='&';printf("%s \n",arr);}A) you&ne B) youC) me D) err45、下列程序执行后的输出结果是void func1(int i);void func2(int i);char st[]="hello,friend!";void func1(int i){ printf("%c",st[i]);if(i<3){i+=2;func2(i);}}void func2(int i){ printf("%c",st[i]);if(i<3){i+=2;func1(i);}}main(){ int i=0; func1(i); printf("\n");}A) hello B) helC) hlo D) hlm46、假定下列程序的可执行文件名为prg.exe,则在该程序所在的子目录下输入命令行: prg hello good<回车>后,程序的输出结果是main()int argc, char *argv[]){int i;if(argc<-0)return;for(i=1;i<argc;i++)printf("%c", *argv[i]);}A) hello good B) hgC) hel D) hellogood47、下列程序执行后的输出结果是#define MA(x) x*(x-1)main(){ int a=1,b=2;printf("%d \n",MA(1+a+b));}A) 6 B) 8C) 10 D) 1248、变量a所占内存字节数是union U{ char st[4];int i;long l;};struct A{ int c;union U u;}a;A) 4 B) 5C) 6 D) 849、执行下列程序时输入:123<空格>456<空格>789<回车>,输出结果是main(){char s[100];int c, i;scanf("%c",&c);scanf("%d",&i);scanf("%s",s);printf("%c,%d,%s \n",c,i,s);}A) 123,456,789 B) 1,456,789C) 1,23,456,789 D) 1,23,45650、执行下列程序时输入:123<空格>456<空格>789<回车>,输出结果是main(){char s[100];int c, i;scanf("%c",&c);scanf("%d",&i);scanf("%s",s);printf("%c,%d,%s \n",c,i,s); }A) 123,456,789 B) 1,456,789 C) 1,23,456,789 D) 1,23,456答案:ACCDD ACCDBCDDBD ACAABACDAA DABBCBABDA CDBCCCBABC BBCDD。

C语言模拟题十套附答案

C语言模拟题十套附答案

第一部分:选择题(40分,20小题/套)概述1、下面关于C语言的叙述中,正确的是(D)A. 每行只能写一条语句B. 程序中必须包含有输入语句C. main函数必须位于文件的开头D. 每条语句最后必须有一个分号2、下面关于C语言的叙述中,错误的是(B)A. 若一条语句较长,也可分写在下一行上B. 构成C语言源程序的基本单位是表达式C. C语言源程序中大、小写字母是有区别的D. 一个C语言源程序可由一个或多个函数组成3、关于C语言数据类型的叙述,正确的是()A. 枚举类型不是基本类型B. 数组不是构造类型C. 变量必须先定义后使用D. 不允许使用空类型4、C程序中main函数的位置(C)A. 必须在最开始B. 必须在系统库函数后面C. 可以在自定义函数后面D. 必须在最后5、C语言的函数体由(B)括起来A. ( )B. { }C. [ ]D. /* */6、关于C语言的叙述中,不正确的是(C)A. C程序可由一个或多个函数组成B. C程序必须包含一个main()函数C. C程序的基本组成单位是函数D. 注释说明只能位于一条语句的后面7、一个程序的执行是从(C)A. 本程序的第一个函数开始,到最后一个函数结束B. 本程序的main函数开始,到main函数结束C. 本程序的main函数开始,到最后一个函数结束D. 本程序的第一个函数开始,到main函数结束8、结构化程序设计的三种基本结构是(C)A. 函数结构、分支结构、判断结构B. 函数结构、嵌套结构、平行结构C. 顺序结构、分支结构、循环结构D. 分支结构、循环结构、嵌套结构9、调试程序是指对程序进行(C)A. 编辑B. 编译C. 查错和排错D. 连接10、C语言中,复合语句的构成是将一系列语句置于(C)A. begin与end之间B. 一对圆括号“()”之间C. 一对花括号“{ }”之间D. 一对方括号“[ ]”之间11、构成C语言源程序的基本单位是(D)A. 语句B. 过程C. 表达式D. 函数语法基础12、在C语言中,正确的用户标识符是(B)A. 3fB. _forC. structD. _f.513、C语言的基本数据类型包括(A)A. 整型、实型、字符型B. 整型、实型、字符型、逻辑型C. 整型、字符型、逻辑型D. 整型、实型、逻辑型14、以下(D)是正确的常量A. E-5B. 1E5.1C. …a12‟D. 32766L15、以下(D)是正确的变量名A. a.beeB. –p11C. intD. p_1116、以下(C)是正确的字符常量A. “c”B. …//”C. …W‟D. “\32a”17、以下(A)是不正确的字符串常量A. …abc‟B. “12‟12”C. “0”D. “ “18、C语言的整型数据在内存中的存储形式是(C)A. 原码B. 反码C. 补码D. ASCII码19、以下(B)是正确的浮点数( e后面的数必须为整数e前面必须要有数字A. e3B. .62C. 2e4.5D. 12320、下列不属于C语言关键字的是(D)A. continueB. integerC. staticD. signed21、C语言的字符型数据在内存中的存储形式是(D)A. 原码B. 补码C. 反码D. ASCII22、在C语言中,变量所分配的内存空间大小是(A)A. 由变量的类型决定B. 由用户自己决定C. 任意的D. 均为两个字节23、若有定义:int a=2;则正确的赋值表达式是(A)A. a-=(a*3)B. double(-1)C. a*3D. a*4=324、语句x=(a=3,b=++a);运行后,x、a、b的值依次为()A. 3,3,4B. 4,4,3C. 4,4,4D. 3,4,325、语句a=(3/4)+3%2;运行后,a的值为(B)A. 0B. 1C. 2D. 326、以下四项中,符合C语言语法的语句是(C)注意分号A. int a+b=c;B. int a=12:b=12:c=12;C. int a=12,b=12,c=12;D. int a,b=12,float c=2127、若有定义:int x,a;则语句x=(a=3,a+1);运行后,x、a的值依次为()A. 3,3B. 4,4C. 4,3D. 3,428、若变量已正确定义并赋值,符合C语言语法的表达式是()A. a=8+b+c,a++B. a=3aC. int(12.3%4)D. a=a+1=c+b29、若有定义:int a,b;double x;则以下不符合C语言语法的表达式是()A. x%(-3)B. a+=-1C. a=b=2D. x=a+b30、若有定义:int x=2,y=3;float i;则以下符合C语言语法的表达式是(B)A. x=x*3=2B. x=(y==1)C. i=float(x) ( 形式错误:正确的是:i=(float)x 是将数据类型括号起来)D. i%(-3)31、若有定义:int x;则语句x=(2*3)+6%5;运行后,x的值是()A. 8B. 7C. 6D. 532、下面关于C语言变量的叙述中,错误的是(C)A. 可以用const关键字定义变量B. 在C程序中,SUM和sum是不同的变量C. 变量名必须由字母或下划线组成(可是是字母和数字组合)D. 变量的类型确定了变量的取值范围33、若有定义:int x=5,y=6;则表达式x=(y= =6)的值为()A. 5B. 1C. 6D. 034、下面叙述正确的是(B)A. 2/3与2.0/3.0等价B. (int)2.0/3与2/3等价C. ++5与6等价D. …A‟与”A”等价35、下面叙述中,错误的是(A)A. C语言基本的算术运算符不包含模运算符”%”B. 算术运算符的优先级高于关系运算符C. 自加和自减运算符的结合方向是”自右向左”D. C语言规定在表达式求值时,按其中运算符的优先级先高后低的次序进行36、下面叙述正确的是(A)A. 强制类型转换运算的优先级高于算术运算B. 若a和b是整型变量,(a+b)++是合法的(自加自减运算只能用于简单变量,不能用于表达式或常量)C. …A‟*‟B‟是不合法的D. “A”+”B”是合法的只能字符间运算37、若有定义:int i=1,j=5;则表达式(++j)*(i--)的值为(C)A. 1B. 0C. 6D. 7 (i先运算再减减,加了括号也一样38、设整型变量a为5,使b不为2的表达式是(C)A. b=(++a)/3B. b=6-(--a)C. b=a%2D. b=a/239、若有定义:int a=1,b=2,c=3;则语句++a||++b&&++c;运行后b的值为(C)A. 1B. 0C. 2D. 3(&&的优先级高于|| ,即先进行++b&&++c运算,~,<< ,>>,&,^(异或),| 优先级依次降低)40、若有定义:int i,j;则表达式(i=2,j=5,i++,i+j++)的值是(B)A. 7B. 8C. 9D. 10 (i++要算完)41、若有定义:int a,b;则表达式(a=2,b=5,a*2,b++,a+b)的值是(B)A. 7B. 8C. 9D. 1042、若有定义:int i=2,j=5;则表达式(i+1,j+1,(++i+(j--))的值为(A)A. 8B. 6C. 7D. 5 红字部分先算43、若已定义:int i=3,k;则语句k=(i--)+(i--);运行后k的值为(C)A. 4B. 5C. 6D. 7 ( i先运算再--44、C语言的运算符按运算对象的个数可以分为(C)A. 单目运算符一种B. 单目和双目运算符C. 单目、双目和三目运算符D. 单目、双目、三目和四目运算符45、若已定义:float m;拟从键盘输入135.78这一数据给变量m,则应选用的语句是(D)A. scanf(“%5.2f”,&m);B. scanf(“%3.2f”,&m);C. scanf(“6.2f”,&m);D. scanf(“%6f”,&m);46、已知double a;使用scanf()函数输入一个数值给变量a,正确的函数调用是()A. scanf(“%l d”,&a);B. scanf(“%l f”,&a);C. scanf(“%c”,&a);D. scanf(“%u”,&a);47、已知char a;使用scanf()函数输入一个字符给变量a,不正确的函数调用是(B)A. scanf(“%d”,&a);B. scanf(“%l f”,&a);不可能是实数C. scanf(“%c”,&a);D. scanf(“%u”,&a);十进制无符号48、putchar()函数的功能是向终端输出(B)A. 多个字符B. 一个字符C. 一个实型变量值D. 一个整型变量表达式49、以下程序段运行后的输出结果是(C)int k=11;printf(“k=%d,k=%o,k=%x\n”,k,k,k);A. k=11,k=13,k=cB. k=11,k=12,k=13C. k=11,k=13,k=bD. k=11,k=13,k=a50、若有定义:int x=1234,y=123,z=12;则语句printf(“%4d+%3d+%2d”,x,y,z);运行后的输出结果为(D)A. 123412312B. 12341234123412341231231231212C. 1234+1234+1234D. 1234+123+1251、已有如下定义和输入语句,int a;char c1,c2;scanf(“%d%c%c”,&a,&c1,&c2);若要求a、c1、c2的值分别为10、A和B,正确的数据输入是()A. 10ABB. 10 A BC. 10A BD. 10 AB52、以下程序段的运行结果是(A)int a=0,b=0,c=0;if(a&&++b) (因为a=0 又是与运算,故不进行&&后面的运算了)c++;printf(“%d,%d\n”,b,c);A. 0,0B. 1,2C. 2,2D. 1,053、以下程序的运行结果是()void main(){int a=65;c har c=‟A‟;printf(“%x,%d”,a ,c);}A. 65,aB. 41,aC. 65,65D. 41,6554、若已定义:int a=5;float b=63.72;以下语句中能输出正确值的是(B)A. printf(“%d%d”,a,b);B. printf(“%d%2f”,a,b);C. printf(“%2f%2f”,a,b);D. printf(“%2f%d”,a,b);55、运行以下程序段时编译出错,其原因是(A)char c1='8',c2='2008';printf("%c,%d\n",c1,c2);A. c2是字符变量,只能赋以字符常量,不能赋以字符串常量B. 字符串要用“2008“表示,而‘2008’不是字符串表示C. ‘2008’只能赋值给字符数组D. 字符变量不能用%d格式输出56、若已定义:int a=3,b=15,c;则语句c=a>b;运行后c的值为(B)A. 1B. 0C. tD. f57、在C语言中,判定逻辑值为“真“的最正确的叙述是(B)A. 1B. 非0的数C. 大于0的数D. 非0的整数58、若已定义:int a=-36,b=-30,c;则语句c=a<b;运行后c的值为(A)A. 1B. tC. 0D. f (有符号的比较,按负数进行比较)59、能正确表示数学关系式800>=y>=500的C语言表达式为(A)A. (y<=800)&&(y>=500)B. (y<=800)AND(y>=500)C. 800>=y>=500D. (y<=800)&(y>=500)60、若有定义:int x=3,y=4;则表达式!x||y的值为(A)(!,算术运算符,关系运算符,&&,|| ,赋值运算符优先级依次降低)注意:表达式的最后结果不是零就是一A. 1B. 0C. 3D. 461、若有定义:int i=7,j=8;则表达式i>=j||i<j的值为()A. 1B. 变量i的值C. 0D. 变量j的值62、若希望当a的值为奇数时,表达式的值为“真”,a的值为偶数时,表达式的值为”假”。

C语言模拟题目及答案

C语言模拟题目及答案
C语言模拟题目及答案
一.选择题:
1.设float x,y;则以下不合法的赋值语句是______。 x*=y+8; x=y=0; ++x; y=(x%2)/10; 2.设int k=017,g=111; 执行语句printf("%d,%x",k,g); 的输出是_____。 15,6f f,6f f,111 15,111 3.对语句for(i=0; ; i++);可理解为_____。 for(i=0;0;i++); for(i=0;!0;i++); for(i=0;3>4;i++); for(i=0;!5;i++); 4.下面对数组的初始化,错误的是_____。 char s[5]="abc"; char s[5]={'a','b','c'}; char s[5]=" "; char s[5];s="abc"; 5.设有程序段:int k=10;while(k=0)k=k-1;则下面描述中正确的是______。 是无限循环 while循环执行10次 循环体语句一次也不执行 循环体语句只执行一次 6.如果x为int型且为5,则执行if(x--<5) printf("%d",x);else printf("%d",x++);后输出结果是______。 3 4 5 6 7.有如下函数调用语句func(rec1, rec2+rec3, (rec4, rec5));,该函数调用语句中,含有的实参个数是____。 3 4 5 有语法错 8.在C语言的if语句中,可用作条件判断的表达式为_____。 算术表达式 逻辑表达式 关系表达式 任意表达式 9.若给定条件表达式(n)(c++):(c--),则与表达式中(n)等价的表达式是_____。 n==0 n==1 n!=0 n!=1 10.一个函数返回值的类型取决于_____。 调用该函数的主调函数的类型 定义函数时指定或缺省的函数类型 调用函数时临时决定 return语句中表达式的类型

c模拟考试试题及答案

c模拟考试试题及答案

c模拟考试试题及答案C模拟考试试题及答案试题一:C语言基础1. C语言中,一个整型变量int所占的字节数是多少?A. 1字节B. 2字节C. 4字节D. 8字节2. 以下哪个是C语言中的合法标识符?A. 3variableB. variable3C. -variableD. variable#33. 在C语言中,以下哪个语句可以正确地声明并初始化一个整型数组?A. int array[5] = {1, 2, 3, 4, 5};B. int array[5] = {1, 2, 3};C. int array[] = {1, 2, 3, 4, 5};D. int array = {1, 2, 3, 4, 5};4. C语言中,以下哪个是正确的条件语句?A. if (x = 5)B. if (x == 5)C. if x == 5D. if (x == 5) else5. 在C语言中,以下哪个函数用于计算两个数的和?A. sum()B. add()C. plus()D. None of the above答案:1. C2. B3. A4. B5. D试题二:C语言控制结构6. C语言中,哪个关键字用于实现循环结构?A. forB. whileC. do-whileD. All of the above7. 以下哪个是C语言中的无限循环?A. for(;;)B. while(1)C. do{}while(0)D. Both A and B8. 在C语言中,break语句的作用是什么?A. 继续下一次循环B. 跳出当前循环C. 退出程序D. 继续执行循环体9. 在C语言中,switch语句最多可以有多少个case?A. 1B. 2C. 10D. 没有限制10. 以下哪个是C语言中的选择结构?A. if-elseB. switch-caseC. A and BD. None of the above答案:6. D7. D8. B9. D10. C试题三:C语言函数11. C语言中,函数的返回类型是什么?A. 必须与函数名相同B. 可以是任意类型C. 必须与函数内部的代码匹配D. 必须声明在函数名之前12. 以下哪个是C语言中正确的函数声明?A. int myFunction();B. void myFunction(int x);C. int myFunction(int x) { ... }D. Both A and B13. 在C语言中,函数的参数可以是以下哪种类型?A. 常量B. 变量C. 表达式D. 所有选项都不正确14. 以下哪个是C语言中正确的函数调用?A. myFunction(5);B. myFunction(x++);C. myFunction("Hello");D. D. None of the above15. C语言中,以下哪个是递归函数的特点?A. 函数内部没有调用自身B. 函数内部调用了其他函数C. 函数内部调用了自身D. 函数没有返回值答案:11. D12. D13. B14. A15. C结束语:本模拟考试试题及答案旨在帮助考生复习C语言的基础知识、控制结构和函数使用。

C语言测试题及答案(1)(1)

C语言测试题及答案(1)(1)

一.选择题1.int i=10;float x; 执行x=5/i; 后x的值为 __C______。

A.0.5 B.0 C.0.0 D.1.02. 以下标识符中,哪一个是C语言的合法标识符 CA) 2abcd B)int C)a-2c D)_char E)#456xy3. 以下 C 是不正确的转义字符:A) '\n' B)’\’’C)'061' D)'\0'4.执行下面的程序后# include<stdio.h># define SQR(X) (X) * (X)void main (){ int a=10,K=2,m=1;a /= SQR(K+m) / SQR(K+m);printf(”a=%d”,a);}输出结果是a=__B_____。

A.10 B.1 C.9 D.05. 现有定义char str1[]="China",str2[5]={'C','h','i','l','e'};则有AA)strcmp(str1,str2)>0B)strcmp(str1,str2)<0C)strlen(str1)=6D)str1与str2所占存储空间大小一样6.有以下的结构体变量定义语句:struct student { int num; char name[9]; } stu;则下列叙述中错误的是B 。

A.结构体类型名为student B.结构体类型名为stuC.num是结构体成员名 D.struct是C的关键字7. 执行以下程序:# include<stdio.h>void main (void){char c=0;printf(“%c\n”,c);}输出结果是 _D_______。

A.‘\0’ B.语法错,不能执行 C.0 D.一个空行8.C语言对嵌套 if 语句的规定是: else 总是和 D 配对A)其之前最近的 if B) 缩进位置相同的 ifC)第一个 if D) 其之前最近且不带 else 的 if9.设有定义语句enum aa{add,sub,mul,div}opera;,以下对枚举变量opera的操作中,不正确的是 BA. opera=(enum aa)2B. scanf(“%d”,&opera)C. opera=add+1D. if(opera==sub)print(”OK”);10. 下列宏定义命令中,哪一个格式是正确的___D_____A.#define pi=3.14159;B. define pi=3.14159C. #define pi="3.14159"D. #define pi (3.14159)11.以下不正确的描述是 AA)在 switch 语句中使用 break 语句或continue语句的作用相同B)在循环语句中使用 continue 语句是为了结束本次循环,而不是终止整个循环C)break 语句不能用于循环语句和 switch 语句之外的任何其他语句D)在循环语句中使用 break 语句是为了使流程跳出循环体,提前结束循环12.定义int x=3,执行while(x){printf(“%d”,x);x--;}语句后,x的值为:A 。

C语言模拟测试题一及答案

C语言模拟测试题一及答案

模拟题一一、选择题1.下列说法正确的是()。

A)main函数必须放在C程序的开头B)main函数必须放在C程序的最后C)main函数可以放在C程序的中间部分,但在执行C程序时是从程序开头执行的D)main函数可以放在C程序的中间部分,但在执行C程序时是从main函数开始的2.C语言中不能用来表示整常数的进制是()。

A)十进制B)十六进制C)八进制D)二进制3.在下面几组数据类型中, 全为最常用的基本数据类型的是哪一组:()。

A)整型实型字符型B)整型数组指针C)数组结构体共用体D)指针逻辑型空类型4.C语言规定标识符由()等字符组成。

A)字母数字下划线B)中划线字母数字C)字母数字逗号D)字母下划线中划线5.若有说明语句:char c= ‘\64’ ; 则变量C包含()。

A)1个字符B)2个字符C)3个字符D)说明不合法,C值不确定6.若有如下定义:int a=2,b=3; float x=3.5,y=2.5; 则表达式:(float)(a+b)/2+(int)x%(int)y的值是()。

A)2.500000 B)3.500000 C)4.500000 D)5.0000007.设有如下定义和执行语句,其输出结果为()。

int a=3,b=3;a = --b + 1; printf(“%d %d”,a,b);A)3 2 B)4 2 C)2 2 D)2 38.以下表达式: 2+’a’+i*f, 其中i为整型变量,f为float型变量,则表达式的最终数据类型为()。

A)int B)float C)char D)double9.C语言中,运算对象必须是整型数的运算符是()。

A)%B)\C)% 和\D)**10.有如下语句:printf(“%s,%5.3s\n”,“COMPUTER”,“COMPUTER”);执行语句后的最终结果为()。

A)COMPUTER ,CMP . B)COMPUTER, CMP.C)COMPU, CMP. D)COMPU, CMP .11.能正确表示x的取值范围在[0,100]和[-10,-5]内的表达式是()。

C语言模拟题

C语言模拟题

C语言模拟题(一)一、选择题1、以下字符中不是转义字符的是( A)。

A '\c'B、'\b'C '\\'D '\a'2、设a=12,且a定义为整型变量。

执行语句a+=a-=a*=a;后a的值为(A)A 0B、144C 132D 123、已定义floatx=1.25,y=3.37;根据下面的输出结果,正确的输出语句是(C).y+x=4.62,y-x=2.12A printf("y+x=%6.2f,y-x=%6.2f\n",y+x,y-x);B、printf("y+x=%f,y-x=%f\n",y+x,y-x);,lC printf("y+x=%.2f,y-x=%.2f\n",y+x,y-x);D printf("y+x=%5.2f,y=%5.2f\n",y+x,y-x);4、执行下面程序段后,b的值为(A).ints=35;chart='A';intb;b=((s&&4)&&(tv'a'));B、3C 2D 05k是整型,则以下程序段的执行结果是:(B)k=-3;if(kv=O)printf("####") elseprintf("&&&&");A ####B、有语法错误,无结果C &&&&D ####&&&& 6设j和k都是int类型,则下面的for循环语句(D) for(j=0,k=0;jv=9&&k!=876;j++)scanf("%d",&k);A最多执行9次B、是无限循环C循环体一次也不执行D最多执行10次7以下正确的描述是(A).A、只能在循环体内和switch语句内使用break语句B、continue语句的作用是终止整个循环的执行C从多层嵌套的外层循环中退出时,只能使用goto语句D在循环体内使用break和continue语句的作用相同8以下能对一维数组a进行正确初始化的语句是(B)。

C考试模拟题1及参考答案

C考试模拟题1及参考答案

考试模拟题1及参考答案考试模拟题1一、单项选择题(共20题,每题1分,共20分。

)1. 以下叙述不正确的是。

A. 一个C源程序可由一个或多个函数组成B. 在C程序中注释说明只能位于一条语句的后面C. C程序的基本组成单位是函数D. 一个C源程序必须包含一个main函数2. 若变量已正确定义并赋值,表达式()不符合C语言语法。

A. 3%2.0B. a*b/cC. 2, bD. a/b/c3. 六种基本数据类型的长度排列正确的是()。

A. bool=char<int≤long=float<doubleB. char<bool=int≤long=float<doubleC. bool<char<int<long<float<doubleD. bool<char<int<long=float<double4. 下面程序段的运行结果是()。

char a[7]= "abcdef",b[4]= "ABC";strcpy(a,b);printf("%c",a[5]);A. 空格B. \0C. eD. f5. 设int a=9,b=8,c=7,x=1;则执行语句if(a>7) if(b>8) if(c>9)x=2;else x=3;后x的值是()。

A. 2B. 1C. 0D. 36. 对以下程序,当输入数据的形式为12a345b789↙,正确的输出结果为()。

int main(){char c1,c2;int a1,a2;c1=getchar(1); scanf("%2d",&a1);2c2=getchar(a); scanf("%3d",&a2);345printf("%d,%d,%c,%c\n",a1,a2,c1,c2); ,,,return 0;}A. 12,345,a,bB.C. 2a,45b,1,3D. 2,789,1,a7. 以下程序的输出结果是:()。

C语言模拟试卷及答案

C语言模拟试卷及答案

字节存放 13,高 1 字节存放 0,所以输出这两个字节组成的值时输出 13。
8.【答案】B
【解析】同上题,z.i[0]的值为十进制的 56,输出 z.c 就是输出最低字节的值,而且以%c 的形式输出,所以输出 ascii 码值为 56 的字符 8。
9.【答案】B
【解析】本题考查位运算的概念,把 a,b,c 转换成二进制,按照优先级先算~,再算&,最后|,即可。
A. strcpy(str1,"HELLO1");
B. strcpy(str2,"HELLO2");
C. strcpy(str3,"HELLO3");
D. strcpy(str4,"HELLO4");
5.设有定义: int a[4][3]={1,2,3,4,5,6,7,8,9,10,11,12};
int (*prt)[3]=a,*p=a[0];
输出结果为____。
A.6 B.8 C.0 D.3
9.若有定义 char a=1,b=2,c=3;,则表达式 a | b & ~c 的值为____。
A.0 B.1 C.2 D.3
10.以下程序的输出结果是____。
main()
{ char x=020;
printf("%o\n",x<<2);
}
A.100 B.80 C.64 D.32
13.若 fp 是指向某文件的指针,且已读到文件末尾,则库函数 feof(fp)的返回值是____。
A. EOF B. 1 C. 非零值 D. NULL
14.用 fopen 函数打开文件时,若文件使用方式参数为“r+”,则该文件____。

c语言模拟题1(有答案)

c语言模拟题1(有答案)

模拟题1一、单选题(本大题10小题,每题2分,共20分)1.C语言表达式a=15,a%6的值是_______AA.3B.5C.非法表达式D.152.循环语句中,continue语句的作用是______AA.结束本次循环B.跳出子函数C.从本循环体内跳出D.终止程序3.定义一个返回值为int 的无参函数cacul的正确语句是______CA.void cacul(void);B.void cacul(int);C.int cacul();D.int cacul;4.下面运算优先级按从高到低的排列正确的是_____AA.条件运算赋值运算逗号运算B.算术运算逻辑运算关系运算C.逻辑运算关系运算赋值运算D.位运算算术运算赋值运算5.以下叙述中,正确的是_____BA.C程序中,main函数必须位于程序最前面B.C语言本身没有输入和输出语句C.在对一个C程序进行编译的过程中发现注释中的拼写错误D.C程序中每行中只能写一个语句6.数组age[2][4]的非法引用是________AA.age[3][0]B.&age[0][0]C.age[0][1]D.age[1][1+1]7.变量定义int x, a=3, b=4;则语句x = ( a = 0 ) && ( b = 8 ); 执行之后各变量的值为______BA.x =0, a=3, b=4B.x =0, a=0, b=4C.x =0, a=3, b=8D.x =0, a=0, b=88.下列_________语句正确定义字符数组。

CA.char x[4]= "hello"B.char x[5]= "hello"C.char x[]= "hello"D.char x[4+1]= "hello"9.下面四个程序段中,不能输出23个*号的程序段是________DA.for(int i=0;i<23;i++) putchar(‘*’)B.for(int j=23;j>0;j--) putchar(‘*’)C.int k=23;while (k>0) {putchar(‘*’);k--}D.int i=0;while(i>23) {putchar(‘*’);i++;}10.若x是整型变量,y是单精度浮点型变量,值为10,表达式x = y/4 的值是_____C 。

C语言模拟题目及答案

C语言模拟题目及答案

C语言模拟题目及答案一.选择题:1.设float x,y;则以下不合法的赋值语句是______。

x*=y+8; x=y=0; ++x; y=(x%2)/10;2. 设int k=017,g=111; 执行语句printf("%d,%x",k,g); 的输出是_____。

15,6f f,6f f,111 15,111 3. 对语句for(i=0; ; i++);可理解为_____。

for(i=0;0;i++); for(i=0;!0;i++); for(i=0;3>4;i++); for(i=0;!5;i++);4. 下面对数组的初始化,错误的是_____。

char s[5]="abc"; char s[5]={'a','b','c'}; char s[5]=" "; char s[5];s="abc";5. 设有程序段:int k=10;while(k=0)k=k-1;则下面描述中正确的是______。

是无限循环 while循环执行10次循环体语句一次也不执行循环体语句只执行一次6. 如果x为int型且为5,则执行if(x--<5) printf("%d",x);else printf("%d",x++);后输出结果是______。

3 4 5 6 7. 有如下函数调用语句func(rec1, rec2+rec3, (rec4, rec5));,该函数调用语句中,含有的实参个数是____。

3 4 5 有语法错8. 在C语言的if语句中,可用作条件判断的表达式为_____。

算术表达式逻辑表达式关系表达式任意表达式9. 若给定条件表达式(n)?(c++):(c--),则与表达式中(n)等价的表达式是_____。

n==0 n==1 n!=0 n!=1 10. 一个函数返回值的类型取决于_____。

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

模拟题1一、单选题(本大题10小题,每题2分,共20分)1.C语言表达式a=15,a%6的值是_______AA.3B.5C.非法表达式D.152.循环语句中,continue语句的作用是______AA.结束本次循环B.跳出子函数C.|D.从本循环体内跳出E.终止程序3.定义一个返回值为int 的无参函数cacul的正确语句是______CA.void cacul(void);B.void cacul(int);C.int cacul();D.int cacul;4.下面运算优先级按从高到低的排列正确的是_____AA.条件运算赋值运算逗号运算B.算术运算逻辑运算关系运算C.】D.逻辑运算关系运算赋值运算E.位运算算术运算赋值运算5.以下叙述中,正确的是_____BA.C程序中,main函数必须位于程序最前面B.C语言本身没有输入和输出语句C.在对一个C程序进行编译的过程中发现注释中的拼写错误D.C程序中每行中只能写一个语句6.数组age[2][4]的非法引用是________AA.age[3][0]B.&age[0][0]C.>D.age[0][1]E.age[1][1+1]7.变量定义int x, a=3, b=4;则语句x = ( a = 0 ) && ( b = 8 ); 执行之后各变量的值为______BA.x =0, a=3, b=4B.x =0, a=0, b=4C.x =0, a=3, b=8D.x =0, a=0, b=88.下列_________语句正确定义字符数组。

CA.char x[4]= "hello"B.char x[5]= "hello"C.&D.char x[]= "hello"E.char x[4+1]= "hello"9.下面四个程序段中,不能输出23个*号的程序段是________DA.for(int i=0;i<23;i++) putchar(‘*’)B.for(int j=23;j>0;j--) putchar(‘*’)C.int k=23;while (k>0) {putchar(‘*’);k--}D.int i=0;while(i>23) {putchar(‘*’);i++;}10.若x是整型变量,y是单精度浮点型变量,值为10,表达式x = y/4 的值是_____C 。

B. 二、程序填空题(本大题2小题,每题5分,共10分)1、以下程序按每行5个数的格式输出1至n范围内能被7或17 整除的整数,并求出其和。

?如输入:50则输出:7 14 17 21 2834 35 42 49Sum=247源程序:#include <>void main(){int i, n, ct=0, sum=0;{scanf( "%d", &n );for ( i=1; i<=n; i++ )if ( ____(1)i%7==0||i%17==0 _____ ){printf( "%d\t", i );_____(2)sum=sum+i_______;ct++;if ( ___(3)ct%5==0______ )printf( "\n" );}】printf( "\nSum=%d\n", sum );}2.以下程序输入10个整数到a数组,找到并输出其中最大的整数及其下标。

如输入:80 290 150 520 330 -160 -99 0 200 9则输出:a[3]=520源程序:#include <>#define N 10int get_max_index( int a[], int n )'{int i, k=0;for ( i=1; i<n; i++ )if ( ____(1)a[k]<a[i]____ )k = i;return ______(2)k_____;}void main(){int i, k, a[N];¥for ( i=0; i<N; i++ )scanf( "%d", &a[i] );k = _______(3)get_max_index(a,10)______;printf( "a[%d]=%d\n", k, a[k] );}三、程序调试题(本大题3小题,每题10分,共30分)1. 程序调试题1()调试要求:下列程序不能得到正确的结果,请按题中的功能要求,调试并修改该程序(在所修改语句后加/*******/字样的注释),使其运行能得到正确的结果。

将结果(包括文件和文件)保存。

功能说明:程序计算并输出1! + 2! + ……+ n!(1至n阶乘的累加和),其中函数fact(n)计算n!的值,返回类型为double。

—如输入:10则输出:1!+2!+…+10! = 4037913原程序(见C:\KS\):#include <>double fact( int n ){int i;double result = 1;for ( i=1; i<n; i++ )result = result * i;%return result;}void main(){int i, n;double sum = 0;scanf( "%d", &n );for ( i=1 ; i<=n; i++ )sum += fact(int i);printf( "1!+2!+...+%d! = %.0lf\n", n, sum );(}#include <>double fact( int n ){int i;double result=1;for ( i=1; i<=n; i++ )result = result * i;return result;}~void main(){int i, n;double sum = 0;scanf( "%d", &n );for ( i=1 ; i<=n; i++ )sum += fact(i);printf( "1!+2!+...+%d! = %.0lf\n", n, sum );}2. 程序调试题2();调试要求:下列程序有3处错误,请按题中的功能要求,在不改变程序结构(不增加、删除语句,不调整语句顺序)的情况下调试并修改该程序(在所修改语句后加/*******/字样的注释),使其运行能得到正确的结果。

将结果(包括文件和文件)保存。

功能说明:程序输入任意一行字符串(设字符数不大于20),提取该字符串中的数字字符并组成一个整数,输出该整数及其两倍的值。

如输入:abc12e3fgh4i则输出:1234 2468原程序(见C:\KS\):#include <>void main(){int i, n=0;char str[80];*gets(str[80]);for ( i=0; str[i]!='\0'; i++ )if ( str[i]>=0 && str[i]<=9 )n = n*10 + str[i];printf("%d %d\n", n, 2*n);}#include <>void main(){int i, n=0;}char str[80];gets(str);for ( i=0; str[i]!='\0'; i++ )if ( str[i]>='0' && str[i]<='9' )n=n*10+(str[i]-48);printf("%d %d\n", n, 2*n);}3、输出杨辉三角的前N行(N<10)。

将结果(包括文件和文件)保存。

11 11 2 1133 11 4 6 4 1[代码]}#include <>#define M 10#define N 10main(){ int a[M][N],i,j;a[0][0]=1;a[1][0]=1;a[1][1]=1;for (i=2;i<M;i++) /*从第3行开始*/for (j=0;j<=i;j++) /*求每行的各个元素*/{ if(j==0 )!a[i][j]=1;elsea[i][j]=a[i-1][j-1]+a[i-1][j];}for (i=0;i<M;i++){ for (j=0;j<3*(M-i);j++)printf(" ");for (j=0;j<=N;j++)printf("%6d",a[i][j]);}】printf("\n");}#include <>#define M 10#define N 10main(){ int a[M][N]={0},i,j;a[0][0]=1;a[1][0]=1;a[1][1]=1;!for (i=2;i<M;i++) /*从第3行开始*/for (j=0;j<N;j++) /*求每行的各个元素*/{ if(j==0)a[i][j]=1;elsea[i][j]=a[i-1][j-1]+a[i-1][j];}for (i=0;i<M;i++){ for (j=0;j<3*(M-i);j++)printf(" ");>for (j=0;j<=i;j++)printf("%6d",a[i][j]);printf("\n");}}四、编程题(本大题2小题,每题20分,共40分)1.编程题1()编程要求:请按题中的功能要求,编写程序并能得到正确的结果。

将结果(包括文件和文件)。

功能说明:输入5个整数,输出其中正整数的累加和与正整数的平均值,输入输出格式如以下示例。

?如输入:10 0 20 -5 31则输出:Sum=61, Average=#define N 5void f1(int a[]){int i;for(i=0;i<N;i++)scanf("%d",&a[i]);}float f2(int a[],int b[])/{int i,sum=0,j=0;for(i=0;i<N;i++)if(a[i]>0) {sum=sum+a[i];j++;}b[0]=sum;return (float)sum/j;}main(){int a[N],b[1];float ave;"f1(a);ave=f2(a,b);printf("sum=%d ave=%.1f\n",b[0],ave);}2.编程题2()编程要求:请按题中的功能要求,编写程序并能得到正确的结果。

相关文档
最新文档