201202C语言上机考试题1参考答案与评分标准
- 格式:doc
- 大小:33.00 KB
- 文档页数:1
C语言第一次上机实验要求(C程序的运行环境)及补充题答案doc上机前请仔细阅读以下内容C程序设计上机实验目的及要求C语言程序设计是一门实践性很强的软件基础课程,该课程对提高学生的逻辑分析、抽象思维和程序设计能力,培养优良的程序设计的风格有重要意义。
而上机实践则是学好本课程的十分重要的环节。
为此,认真上机实践,有利于进一步巩固和加深对本课程基本概念和基本知识的理解和掌握,同时,也为后续相关的课程学习打下了必备的技能基础。
★上机时,主要完成源程序的编辑、编译、连接和运行。
我们将检查程序的算法是否正确、程序的逻辑是否正确、程序的执行顺序是否正确的过程称为调试过程。
★通常,上机的各个环节都有可能碰到不少问题,不会一次成功,应针对问题细心地查找原因,逐个解决,这也是锻炼上机调试能力的好机会。
若是语法错误(编译就不通过。
一般是保留字输入错误、括号不匹配、语句缺少分号等),可根据提示重新编辑,纠正错误语法。
若是连接错误(连接不通过。
通常是由于函数名书写错误-----初学者最容易把函数名写错、缺少包含文件-----库函数()或路径错误等),需要仔细分析。
若是运行错误(编译连接都过了,但运行结果不正确),则算法就有问题,称之为逻辑错误,则须对照流程图和源程序,认真检查算法。
总之,碰到困难时切忌轻易放弃。
通过多上机,切实掌握程序调试技术(相信程序是调试出来的,不是“编”出来的)。
★当首次程序调试通过以后,应养成重新组织数据对程序进行测试的习惯。
由于种种原因,一次程序运行成功,并不一定保证问题已完满解决,只有对可能产生问题的各种数据经过进行测试并都有预定的输出,程序才可能是没有错误的。
★对于同一个设计题目,一般都会有多种算法答案,当一种算法设计成功以后,学习者要养成重新设计算法的习惯,并对多种算法进行比较,从而深刻领会各种算法的适用领域,开阔思维,达到灵活运用各种算法的目的。
★每次实验都必须写出实验报告,包括:实验目的、实验内容和要求,概要设计或详细设计源程序、上机调试记录(尤其是出错情况和排错记录)、调试数据和运行结果记录、心得体会等。
实验一Visual C++6.0的使用及顺序结构程序设计一、实验目的1、掌握启动和退出VC6 的方法。
2、熟悉 VC6 开发环境。
3、初步掌握简单程序的上机操作基本步骤,熟悉 C 单文件程序的输入、编译、链接和运行过程。
4、初步掌握程序的编辑修改和调试。
5、熟练使用赋值运算、算术运算等表达式。
6、熟练使用标准输入、输出函数及各种数据类型的格式说明符。
二、实验内容1、下面C语言程序,其功能是显示字符串“欢迎同学们来到华北水院计算中心!”。
请同学们按照下面的实验指导学习VisualC++6.0的使用。
1 .启动 VisualC++6 .0 开发环境(1)单击开“始”按钮,选择程“序”——〉“Microsoft Visual Studio6.0菜单项,单击“MicrosoftVisualC++6.0”,屏幕出现标题为“当时的提示”的窗口。
(2)单击“结束”按钮,关闭窗口,进入VC6.0 开发环境的主窗口。
2 .使用 Visual C++6.0 对一个 C 程序进行编辑、编译、连接和运行。
⑴分析Visual C++6.0 中程序的开发过程与其它高级语言的开发过程相仿,都要经过编辑、编译、连接和运行四个步骤。
⑵步骤①编辑图 1-1 New 对话框编辑是将 C 源程序输入计算机的过程。
在Visual C++6.0 主界面下,点击File 菜单,选择Ne w 菜单项,即可出现New 对话框,如图1-1 所示。
在弹出窗口中的Files 标签页下,选择C++ Sour ce File。
在选项卡右面的File 编辑框里输入文件名如“Exa.c”,在 Location 编辑框里输入文件路径,2如 : \test”。
点击 OK 按钮。
将出现编辑窗口 ,如图 1-2 所示。
在图 1-2 所示的右端编辑窗口里输 入以下 C 源程序并保存文件。
图 1-2 编辑窗口②编译编译是使用系统提供的编译器将文本文件 Exa.c 生成机器语言的过程 ,结果为 Exa.obj ,由于没有 得到系统分配的绝对地址,还不能直接运行,如图 1-3 所示。
C 语言理论上机考试选择题局部〔共200 题,仅针对 11 级定向专业〕1、下面程序的输出是___D______ {int x=023;#include<stdio.h> printf("%d\n",--x);voidmain()}{ intk=11; A) 17 B) 18 C) 23 D) 24 printf("k=%d,k=%o,k=%x\n",k,k,k); 11、下面程序的输出的是 _____C____.} #include<stdio.h>A) k=11,k=12,k=11 B) k=11,k=13,k=13 void main()C)k=11,k=013,k=0xb D) k=11,k=13,k=b {intx=10,y=3;printf("%d\n",y=x /y);2、在以下选项中 ,不正确的赋值语句是 __D______. }A) ++t; B)n1=(n2=(n3=0)); A) 0 B) 1 C) 3 D) 不确定的值C) k=i=j; D) a=b+c=1;12、字母A 的 ASCII 码为十进制的65,下面程序3、下面合法的 C 语言字符常量是 ______A____. 的输出是 ______A_____.A) '\t' B)"A" C) 65 D) A #include<stdio.h>void main()4、表达式 : 10!=9 的值是________D____. {char ch1,ch2;A) true B) 非零值C) 0 D) 1 ch1='A'+'5'-'3';ch2='A'+'6'-'3';5、C 语言提供的合法的数据类型关键字是printf("%d,%c\n",ch1,ch2);_____B____. }A) Double B) short C) integer D) Char A) 67,D B) B,C C) C,D D) 不确定的值6 、字符 (char) 型数据在微机内存中的存储形式是13、假设要求在if后一对圆括号中表示a 不等于 0 的关__D__. 系,那么能正确表示这一关系的表达式为____D__.A) 反码B) 补码C) EBCDIC 码D) ASCII 码A) a<>0 B) !a C) a=0D) a7、 C 语言程序的根本单位是_____C______. 14、以下程序的输出结果是____D_____.A) 程序行B)语句C) 函数D) 字符#include<stdio.h>void main()8、设int a=12,那么执行完语句a+=a-=a*a后 ,a 的值是{ int x=10,y=10;____D____ printf("%d %d\n",x--,--y);A) 552 B) 264 C) 144 D) -264 }A) 10 10 B)99 C)910 D)1099、执行下面程序中的输出语句后,输出结果是____B__. 15、设有如下定义 :#include<stdio.h> int x=10,y=3,z;voidmain()那么语句{inta; printf("%d\n",z=(x%y,x/y));printf("%d\n",(a=3*5,a*4,a+5));的输出结果是 _____D_____.} A) 1 B) 0 C) 4 D) 3A) 65 B) 20 C)15 D) 1016 、为表示关系x ≥ y ≥ z,应使用 C 语言表达式10、下面程序的输出是 ____B______. ___A___.#include<stdio.h> A) (x>=y)&&(y>=z) B) (x>=y)AND(y>=z)void main()C)(x>=y>=z) D) (x>=y) & (y>=z)-1-A) 8,10,8,10 B) 9,11,8,1017、 C 语言中非空的根本数据类型包括____B____. C) 9,11,9,10 D) 9,10,9,11A) 整型 ,实型 ,逻辑型B) 整型 ,实型 ,字符型C) 整型 ,字符型 ,逻辑型22 、 a=12, 那么表达式 a+=a-=a*=a的结果是D) 整型 ,实型 ,逻辑型 ,字符型_____A__.18、假设 x 和 y 都是 int 型变量 ,x=100,y=200, 且有下面的A) 0 B) 144C) 12 D) -264程序片段 : 23、假设已定义int a,那么表达式 a=10,a+10,a++的值是printf("%d",(x,y)); __B_.上面程序片段的输出结果是____A___. A) 20 B) 10 C) 21 D) 11 A) 200 B) 100C) 100 200 D) 输出格式符不够 ,输出不确定的值24、阅读下面的程序#include<stdio.h>19、阅读下面的程序void main()#include<stdio.h> {void main() int i,j;{ scanf("%3d%2d",&i,&j); char ch; printf("i=%d,j=%d\n",i,j); scanf("%3c",&ch); }printf("%c",ch); 如果从键盘上输入 1234567<回车 >,那么程序的运行结果} 是____D____.如果从键盘上输入A)i=123,j=4567B) i=1234,j=567abc<回车 > C) i=1,j=2 D) i=123,j=45那么程序的运行结果是 __A_____.A) a B) b C) cD) 程序语法出错25、下面程序的输出结果是 ____D____.#include<stdio.h>20、阅读下面的程序void main()#include<stdio.h> {void main() int a= -1, b=4, k;{ k=(++a<=0)&&(b--<=0);inti,j; printf("%d,%d,%d\n",k,a,b);i=010; }j=9; A) 1,1,2B)1,0,3 C) 0,1,2 D) 0,0,3printf("%d,%d",i-j,i+j);} 26、下面程序的输出结果是 ____A____.那么程序的运行结果是 ____D____. #include<stdio.h >A) 1,19 B) -1,19 C) 1,17D) -1,17 void main() {21、阅读下面的程序int a=5,b=3;#include<stdio.h> float x=3.14, y=6.5;void main() printf("%d,%d\n",a+b!=a-b,x<=(y-=6.1));{ }int i,j,m,n; A) 1,0 B) 0,1 C) 1,1 D) 0,0 i=8;j=10;m=++i; 27、执行下面程序段后 ,输出结果是 ____A____.n=j++; int a;printf("%d,%d,%d,%d",i,j,m,n); int b=65536;} a=b;程序的运行结果是 ______C____. printf("%d\n",a);-2-A) 65536B) 0C) -1D) 128、假设有以下定义和语句:int a=010, b=0x10, c=10;printf("%d,%d,%d\n",a,b,c); 那么输出结果是____B_____.A) 10,10,10 B) 8,16,10 C) 8,10,10 D) 8,8,1029、有double 型变量 x=2.5,y=4.7, 整型变量a=7, 那么表达式x+a%3*(int)(x+y)%2/4的值是_____B____.A) 2.4B) 2.5C) 2.75D) 030 、假设已定义x和y是整型变量,x=2;, 那么表达式y=2.75+x/2 的值是 ____C____.A) 5.5B) 5C) 3D) 4.031、以下程序的输出结果是____D____.#include<stdio.h>void main(){int a=12, b=12;printf("%d,%d\n",--a,++b);}A) 10,10B) 12,12C) 11,10D) 11,1332、设有以下语句:int x=10;x+=3+x%(3), 那么 x 的值是.____A_____A) 14B) 15C) 11D) 1233、假设 d 为 double 型变量 ,那么表达式d=1,d+5,d++的值是 _____D__.A) 1 B) 6.0 C) 2.0 D) 1.034、表达式 5!=3 的值是 ____D____.A) T B) 非零值C) 0 D) 135、假设有定义int a=12,n=5,那么表达式a%=(n%2) 运算后,a 的值 ______A____.A)0B)1C)12D)636、假设有定义int x=3,y=2 和 float a=2.5,b=3.5,那么表达式:(x+y)%2+(int)a/(int)b 的值是 __D__.A)0B)2C)1.5D)137、在 C 语言中 ,以下表达不正确的选项是_____A____.A)在 C 程序中 ,无论是整数还是实数 ,都能被准确无误的表示B)在 C 程序中 ,变量名代表存储器中的一个位置C)静态变量的生存期与整个程序的生存期一样D)C 语言中变量必须先定义后引用38、C 语言中的变量名只能由字母 ,数字和下划线三种字符组成 ,且第一个字符 ____C____.A)必须为字母B)必须为下划线C)必须为字母或下划线D)可以是字母 ,数字或下划线中的任意一种39、设有说明 :char w; int x; float y; double z;那么表达式:w*x+z-y 值的数据类型是___D____.A) floatB) charC) intD) double40、一个 C 语言的执行是从 _____A______.A)本程序的主函数开场 ,到本程序的主函数完毕B)本程序的第一个函数开场 ,到本程序的最后一个函数完毕C)本程序的主函数开场 ,到本程序的最后一个函数结束D)本程序的第一个函数开场 ,到本程序的主函数完毕41、设 a 为整型变量 ,不能正确表达数学关系10<a<15的C 语言表达式是 ____A____.A) 10<a<15B) a==11||a==12||a==13||a==14C) a>10&&a<15D) !(a<=10)&&!(a>=15)42、以下程序执行后的输出结果是_____C____.#include <stdio.h>void main( ){ inta=5,b=60,c;if (a<b){c=a*b;printf("%d*%d=%d\n",b,a,c);}else{c=b/a;printf("%d/%d=%d\n",b,a,c);}}A) 60/5=12B) 300C) 60*5=300D) 1243、如果 c 为字符型变量,判断c 是否为空格不能使用____A____.( 假设空格 ASCII 码为 32)A) if(c=='32')B) if(c==32)C) if(c=='\40')D) if(c=='')44、运行下面程序时,假设从键盘输入"3,5<CR>",那么程序的输出结果是____D____.#include <stdio.h>void main( ){int x,y;scanf("%d,%d",&x,&y);-3-if (x==y)printf("x==y");else if (x>y)printf("x>y");elseprintf("x<y");}A) 3<5B) 5>3C) x>yD) x<y45、运行下面程序时,假设从键盘输入数据为"6,5,7<CR>" ,那么输出结果是 ____C___.#include <stdio.h>void main( ){ int a,b,c;scanf("%d,%d,%d",&a,&b,&c); if (a>b)if (a>c)printf("%d\n",a);elseprintf("%d\n",c);elseif (b>c)printf("%d\n",b);elseprintf("%d\n",c);}A)5B)6C)7D) 不定值46、执行下面程序时 ,假设从键盘输入"2<CR>" ,那么程序的运行结果是____A____.#include <stdio.h>void main( ){ int k; char cp;cp=getchar( );if (cp>='0' && cp<='9')k=cp-'0';else if (cp>='a' &&cp<='f')k=cp-'a'+10;else k=cp-'A'+10;printf("%d\n",k);}A) 2B) 4 C) 1 D) 1047、运行下面程序时,从键盘输入 "2.0<CR>" ,那么输出结果是 ___B_____.#include <stdio.h>void main( ){ float a,b;scanf("%f",&a);if (a<0.0) b=0.0;else if ((a<0.5) && (a!=2.0))b=1.0/(a+2.0);else if (a<10.0) b=1.0/2;else b=10.0;printf("%f\n",b);}A) 0.000000 B) 0.500000C) 1.000000 D) 0.25000048、执行下面程序后,运行结果是____A____.#include<stdio.h>void main( ){ int x=41,y=1;if (x%3= =0 && x%7==0){ y+=x;printf("y=%d\n",y);} else{y=x;printf("y=%d",y);}}A) y=41B) y=43C) y=42D) y=149、运行下面程序时,从键盘输入"12,34,9<CR>" ,那么输出结果是 ___A___.#include <stdio.h>void main( ){ int x,y,z;scanf("%d,%d,%d",&x,&y,&z);if (x<y)if (y<z)printf("%d\n",z);else printf("%d\n",y);else if(x<z)printf("%d\n",z);else printf("%d\n",x);}A) 34B)12C)9D) 不确定的值50、运行下面程序时,从键盘输入字母H,那么输出结果是 _____C___.#include <stdio.h>void main( ){ char ch;ch=getchar();switch(ch){ case 'H':printf("Hello!\n");case 'G':printf("Good morning!\n");default:printf("Bye_Bye!\n");}}A) Hello!B) Hello!Good Morning! C) Hello!D) Hello!-4-Good morning! Bye_Bye! #include <stdio.h>Bye_Bye! void main( ){ intx=0,y=1,z=0;51、执行以下程序段后的输出结果是_____A____. if (x=z=y)int x=1,y=1,z=1; x=3;x+=y+=z; printf("%d,%d\n",x,z);printf("%d\n",x<y?y:x); }A) 3 B) 2 C) 1 D) 4 A) 3,0 B)0,0 C) 0,1D)3,152、设 ch 是 char 型变量 ,值为 'A', 那么表达式ch=(ch>='A' 57、假定等级和分数有以下对应关系:&& ch<='Z')?ch+32:ch 的值是 __B___. 等级: A 分数: 85~100A) Z B) a C) z D) A 等级: B 分数: 60~84等级: C 分数: 60 以下53、下面程序的输出结果是 ____C____. 对于等级 grade 输出相应的分数区间,能够完成该功#include <stdio.h> 能的程序段是 ____D____.void main( ) A) switch (grade){ int x=8,y=-7,z=9; {if(x<y) case 'A':printf("85--100\n");if (y<0) z=0; case 'B':printf("60--84\n");else z-=1; case'C':printf("60 以下 \n");printf("%d\n",z); default:printf(" 等级错误 !\n");} }A) 8 B) 1 C) 9 D) 0 B)switch (grade){54、运行下面程序时 ,假设从键盘输入 "5 <CR>", 那么程序的case 'A':printf("85--100\n");break;输出结果是 _____B___. case 'B':printf("60--84\n");#include <stdio.h> case'C':printf("60 以下 \n");void main( ) default:printf(" 等级错误 !\n");{ int a ; }scanf("%d",&a); C)switch (grade)if(a++>5)printf("%d\n",a);{else printf("%d\n",a--) ; case 'A':printf("85--100\n");break;} case 'B':printf("60--84\n");break;A) 7 B) 6 C) 5 D) 4 case'C':printf("60 以下 \n"); default:printf(" 等级错误 !\n");55、运行下面程序时,假设从键盘输入"3,4 <CR>" ,那么}程序的输出结果是 ____B___. D) switch (grade)#include<stdio.h> {void main( ) case 'A':printf("85--100\n");break;{ int a,b,s; case 'B':printf("60--84\n");break;scanf("%d,%d",&a,&b); case'C':printf("60以下\n");break;s=a; default:printf(" 等级错误 !\n");if (s<b) s=b; }s=s*s;printf("%d\n",s) ; 58、能够完成如下函数计算的程序段是__B____.} ┌ -1 x<0A) 14 B) 16 C) 18 D) 20 y= ┤0 x=0└ 1 x>056、以下程序的执行结果是_____D____. A) y=1; B) if(x>=0)-5-if(x!=0)if(x>0) y=1;if (a) d=d-10;if(x>0) y=1;else y=0;else if(!b)else y=0;else y=-1;if (!c) x=15;C) y=0;D) y=-1;else x=25;if (x>=0)if (x>0) y=1;printf("d=%d\n",d);if (x>0) y=1;else y=0;}else y=-1; A) d=20 B) d=10 C) d=15 D) 2559、有如下程序62、有如下程序 :#include <stdio.h> #include <stdio.h>void main( ) void main( ){ floatx=5.0,y; { int a=2,b=-1,c=2;if(x<0.0) y=0.0; if (a<b)else if (x<10.0) y=1.0/x; if (b<0) c=0;elsey=1.0; else c++;printf("%f\n",y); printf("%d\n",c);} }该程序的输出结果是 ____C_____. 该程序的输出结果是 ___C_____.A) 0.000000 B) 0.50000 A) 0 B) 1 C) 2 D) 3C) 0.200000 D) 1.00000063、以下程序执行后的输出结果是____B____.60、以下程序的执行结果是 ___B_____. #include <stdio.h>#include <stdio.h> void main( )void main( ) { int x,y=1,z;{ intx=1,y=0; if((z=y)<0)x=4;switch (x) else if (y==0) x=5; { else x=6;case 1: printf("%d,%d\n",x, y);switch (y) }{ A) 4,1 B) 6,1C) 5,0 D) 出错信息case 0:printf("first\n");break;case 1:printf("second\n");break; 64、有如下程序} #include <stdio.h>case 2:printf("third\n"); void main( )} { int x=1,a=0,b=0;} switch(x )A) first B) first {second third case 0: b++;C) first D) second case 1: a++;third case 2: a++;b++;}61、以下程序的执行结果是 ____A____. printf("a=%d,b=%d\n",a,b); #include <stdio.h> }void main( ) 该程序的输出结果是 ______A____.{ inta,b,c,d,x; A) a=2,b=1B) a=1,b=1C)a=1,b=0 D) a=2,b=2a=c=0;b=1; 65、下面程序的输出结果是 ____C_____.d=20; #include <stdio.h>-6-void main( ) elseprintf("%d\n",x--);{ int a= -1,b=1,k; }if ((++a<0) && (b--<=0)) A) 7 B) 6 C) 5 D) 4 printf("%d %d\n",a,b);else 71、以下程序段运行结果是____A____.printf("%d %d\n",b,a);int x=1,y=1,z=-1; } x+=y+=z;A)-11 B)01 C)10 D)00 printf("%d\n",x<y?y: x);66、假定 w、 x、 y、 z、 m 均为 int 型变量,有如下程A) 1 B) 2 C) 4 D) 不确定的值序段:72、有以下程序w=1;x=2;y=3;z=4; #include <stdio.h>m=(w<x)?w:x; m=(m<y)?m:y; m=(m<z)?m:z; void main( )那么该程序段执行后,m 的值是 ____D_____. { int a,b,c=246;A) 4 B) 3 C) 2 D) 1a=c/100%9;b=(-1)&&(-1);67、以下程序的输出结果是 ___D______. printf("%d,%d\n",a ,b);main( ) }{ inta=100; 输出结果是 ____A____.if (a>100)printf("%d\n",a>100); A) 2,1 B) 3,2 C) 4,3 D) 2,-1else printf("%d\n",a<=100);} 73、运行下面程序时,假设从键盘输入数据为"123",A) a<=100 B) 100 C) 0 D) 1那么输出结果是___C____.#include "stdio.h"68、假设执行下面的程序从键盘上输入9,那么输出结果void main()是 .______B________ { intnum,i,j,k,place;#include<stdio.h> scanf("%d",&num); voidmain( ) if (num>99){int n; place=3;scanf("%d",&n); else if(num>9) if (n++<10) printf("%d\n",n); place=2;else printf("%d\n",n--);} elseA) 11 B) 10 C) 9 D) 8 place=1;i=num/100;69、以下程序输出结果是 _____D_____. j=(num-i*100)/10;#include <stdio.h> k=(num-i*100-j*10);voidmain( ) switch (place){ int m=4; { case 3:printf("%d%d%d\n",k,j,i);if (++m>5) printf("%d\n",m-- break;);else printf("%d\n",--m); case 2:printf("%d%d\n",k,j);} break;A) 7 B) 6 C) 5 D) 4case 1:printf("%d\n",k); }70、假设执行下面的程序从键盘上输入5,那么输出结果是 . }#include<stdio.h> A) 123 B)1,2,3 C) 321D)3,2,1voidmain( ){int x; 74、执行以下程序后的输出结果是___D____.scanf("%d",&x); #include <stdio.h>if (x++>5)printf("%d\n",x); void main( )-7-{ int k=4,a=3,b=2,c=1;printf("%d\n",k<a?k:c<b?c:a);}A)4B)3C)2D)175、以下条件表达式中能完全等价于条件表达式x 的是____B___.A) (x==0)B) (x!=0)C) (x==1)D) (x!=1)76、假设运行下面程序时,给变量a 输入 15,那么输出结果是___A___.#include <stdio.h>void main( ){ int a,b;scanf("%d",&a);b=a>15?a+10:a-10;printf("%d\n",b) ;}A)5B)25C)15D)1077、运行下面程序后 ,输出是 ___D___.#include <stdio.h>void main( ){ int k=-3;if (k<=0) printf("****\n");else printf("####\n")}A)####B)****C)####****D)有语法错误不能通过编译78、执行下面程序的输出结果是____C____.#include <stdio.h>void main( ){ int a=5,b=0,c=0;if (a=a+b) printf("****\n");else printf("####\n");}A)有语法错误不能编译B)能通过编译,但不能通过连接C)输出 ****D)输出 ####79、为了防止嵌套的if-else 语句的二义性, C 语言规定else 总是与 ___C___组成配对关系 .A)缩排位置一样的 if B)在其之前未配对的 ifC) 在其之前尚未配对的最近的ifD)同一行上的 if80、设 x 、y 、z 、t 均为 int 型变量 ,那么执行以下语句后,t 的值为 ____C_____.x=y=z=1;t=++x || ++y &&++z;A) 不定值B) 4 C) 1D)0 81、以下程序段____C______.x=-1;do{x=x*x;} while (!x);A)是死循环B) 循环执行两次C)循环执行一次D) 有语法错误82、对下面程序段描述正确的选项是___B____.int x=0,s=0;while (!x!=0) s+=++x;printf("%d",s);A)运行程序段后输出 0B)运行程序段后输出 1C)程序段中的控制表达式是非法的D)程序段循环无数次83、下面程序段的输出结果是____C____.x=3;do { y=x--;if (!y) {printf("*");continue;}printf("#");} while(x=2);A) ##B) ##*C) 死循环D)输出错误信息84、下面程序的运行结果是____B____.#include<stdio.h>void main( ){ int a=1,b=10;do{ b-=a;a++;} while(b--<0);printf("%d,%d\n",a,b);}A)3,11 B) 2,8 C) 1,-1D)4,9 85、下面程序段的运行结果是____B______.int n=0;-8-while (n++<=2) a=-1;printf("%d",n); b=0;A) 012 B) 123C) 234D) 错误信息do {++a;86、下面程序段的运行结果是___D_____. ++a;int x=0,y=0; b+=a;while (x<15) y++,x+=++y; }while(a<9);printf("%d,%d",y,x); printf("%d\n", b);A) 20,7 B) 6,12 C) 20,8 D)8,20 }87、下面程序的运行结果是 ___B_____. A) 34 B) 24 C) 26 D) 25#include<stdio.h> 91、下面程序段的运行结果是 _____D______.void main() for(i=1;i<=5;){ int s=0,i=1; printf("%d",i);while (s<=10) i++;{ s=s+i*i; A) 12345 B) 1234 C) 15 D) 无限循环i++;} 92、下面程序的输出结果是 _____B_____.printf("%d",--i); #include<stdio.h>} void main( )A) 4 B) 3 C) 5 D) 6{ int n=4;while (n--) printf("%d ",n--);88、函数pi 的功能是根据以下近似公式求π 值:}____C______ A)20 B)31 C)321 D)210 ( π *π6=1+1/(2*2)+1/(3*3)+)/..+1/(n*n)请填空,完成求π 的功能。
一级c计算机考试试题及答案一、单项选择题(每题2分,共20分)1. 在C语言中,用于定义一个整型变量的关键字是:A. floatB. doubleC. intD. char答案:C2. 下列哪个选项是C语言中的合法标识符?A. 2variableB. variable2C. variable-2D. variable$2答案:B3. C语言中,用于表示逻辑“与”操作的运算符是:A. &&B. ||C. !D. %答案:A4. 若有定义 `int a = 10;`,则表达式 `a++` 的结果是:A. 9B. 10C. 11D. 12答案:B5. 在C语言中,用于表示“不等于”的运算符是:A. ==B. !=C. =D. <=答案:B6. 下列哪个选项是C语言标准库函数,用于计算两个浮点数的差的绝对值?A. abs()B. fabs()C. sqrt()D. pow()答案:B7. 在C语言中,哪个关键字用于声明一个函数?A. structB. unionC. enumD. void答案:D8. 若有定义 `char ch = 'A';`,则表达式 `ch - 'a'` 的结果是:A. 0B. 1C. 32D. 64答案:C9. 在C语言中,用于声明一个指向整型变量的指针的语句是:A. int *p;B. int *p[];C. int (*p)[];D. int p[];答案:A10. 下列哪个选项是C语言中正确的字符串字面量?A. "Hello, World"B. 'Hello, World'C. "Hello, World\n"D. "Hello, World\"答案:C二、填空题(每题2分,共10分)1. 在C语言中,定义一个整型数组的语句是 `int arr[5] = {1, 2, 3, 4, 5};`,数组的第一个元素的值是 _______。
2021-2022学年甘肃省金昌市全国计算机等级考试C语言程序设计真题一卷(含答案)学校:________ 班级:________ 姓名:________ 考号:________一、单选题(12题)1.对于循环队列()。
A.无法判断队列是否为空B.无法判断队列是否为满C.队列不可能满D.以上说法都不对2.下列关于栈的叙述中,正确的是()。
A.栈底元素一定是最后入栈的元素B.栈操作遵循先进后出的原则C.栈顶元素一定是最先入栈的元素D.以上三种说法都不对3.4.若有以下程序:int a=1,b=2:a=a^b:b=b^a:则执行以上语句后a 和b的值分别是( )。
A.a=1,b=2B.a=3,b=lC.a=3,b=2D.a=2.b=15. 有以下程序:程序执行后的输出结果是()。
A.45B.50C.60D.556.有以下程序:程序运行后的输出结果是()。
A.4321098765B.5678901234C.0987654321D.09876512347. 用树形结构表示实体之间联系的模型的是A.关系模型B.网状模型C.层次模型D.以上三个都是8. 下面程序段的输出结果是______。
char *s="abcde"; s+=2;printf("%d",s);A.cdeB.字符'c'C.字符'c'的地址D.无确定的输出结果9.有下列程序:程序执行后的输出结果是()。
A.2,3,1,2B.9,9,2,9C.8,10,2,8D.9,9,1,910. 定义int*swap()指的是______。
A.—个返回整型值的函数swap()B.一个返回指向整型值指针的函swap()C.一个指向函数swap()的指针,函数返回一个整型值D.以上说法均错11.12.二、2.填空题(12题)13. 以下程序运行后的输出结果是【】。
main(){ int a=1,b=3,c=5;if(c=a+b) printf("yes\n");else printf("no\n");}14. 若有程序main(){ int i,j;scanf("i=%d,j=%d",&i,&j);pfintf("i=%d,j=%d\n",i,j);}要求给i赋10,给j赋20,则应该从键盘输入【】。
2021-2022学年河北省沧州市全国计算机等级考试C语言程序设计真题一卷(含答案)学校:________ 班级:________ 姓名:________ 考号:________一、单选题(12题)1.数据库管理系统中负责数据模式定义的语言是()。
A.数据定义语言B.数据管理语言C.数据操纵语言D.数据控制语言2.3.若有下列定义(设int类型变量占2个字节):int i=8;则下列语句:printf("i=%08d",i);输出的结果是( )。
A.A.i=8B.i=00000008C.i=08D.84.设有二维数组A7×8,每个数据元素占8个字节存储单元,顺序存放,A第一个元素A0,0的存储地址为1000,数组A的最后一个元素A6,7的存储地址为()。
A.1024B.1440C.1448D.14325.在黑盒测试方法中,设计测试用例的主要根据是()。
A.程序外部功能B.程序内部逻辑C.程序数据结构D.程序流程图6.一个序列中有10000个元素,若只想得到其中前10个最小元素,最好采用_______方法A.快速排序B.堆排序C.插入排序D.二路归并排序7.8.函数fseek(pf,OL,SEEK_END)中的SEEK_END代表的起始点是()。
A.文件开始B.文件末尾C.文件当前位置D.以上都不对9.下列程序的输出结果是( )。
#include<stdio.h>main{ int a=0,i;for(i=1;i<5;i++){ switch(i){ case 0:case 3:a+=1;case 1;case 2:a+=2;default:a+=3;}}printf("%d",a);}A.19B.1C.6D.810.有以下程序#include<stdio.h>int fun(char s[]){int n=0;while(*s<=9&&*s>=0){n=10*n+*s-o;s++;) return(n);}main{char s[10]={6,1,*,4,*,9,*,0,*);printf("%d",fun(s));}程序运行的结果是( )。
2021-2022学年四川省眉山市全国计算机等级考试C语言程序设计测试卷一(含答案) 学校:________ 班级:________ 姓名:________ 考号:________一、单选题(12题)1.某完全二叉树有256个节点,则该二叉树的深度为()。
A.7B.8C.9D.102.关于C语言中数的表示,以下叙述中正确的是()。
A.只有整型数在允许范围内能精确无误地表示,实型数会有误差B.只要在允许范围内整型数和实型数都能精确地表示C.只有实型数在允许范围内能精确无误地表示,整形数会有误差D.只有用八进制表示的数才不会有误差3.若有以下的说明和语句,则在执行for语句后,’(*(pt+1)+2)表示的数组元素是( )。
int t[3][3],*pt[3],k;for(k=0;k<3;k++)pt[k]= &t[k][0];A.t[2][0]B.t[2][2]C.t[1][2]D.t[2][1]4. 下面程序的输出结果是#include<stdio.h>#include<string.h>main() { char *p1="abc",*p2="ABC",str[50]="xyz";strcpy(str+2,strcat(p1,p2));printf("%s\n",str);}A.xyzabcABCB.zabcABCC.xyabcABCD.yzabcABC5. 以下程序的输出结果是______。
main() { int i,k,a[10],p[3]; k=5; for(i=0;i<10;i++) a[i]=i; for(i=0;i<3;i++) p[i]=a[i*(i+1)]; for(i=0;i<3;i++)k+=p[i]*2; printf("%d\n",k); }A.20B.21C.22D.236.考虑函数原型voidtest(inta,intb=7,charz='*'),下面的函数调用中,属于不合法调用的是()。
计算机系c语言考试题及答案C语言作为计算机科学与技术专业中的重要课程之一,考试是检验学生对于C语言基本知识和编程能力的重要方式之一。
下面将为大家提供一套C语言的考试题目及其答案,帮助大家更好地复习和准备考试。
题目一:简答题(20分)1. C语言中的运算符有哪些?请分别举例并说明其功能。
2. 什么是指针?请简要描述指针的概念和用途。
3. C语言中的控制结构有哪些?请简要说明各种控制结构的特点和应用场景。
(参考答案)1. C语言中常见的运算符包括算术运算符(+、-、*、/)、关系运算符(>、<、==、!=)、逻辑运算符(&&、||、!)、位运算符(&、|、^、~)、赋值运算符(=)、条件运算符(? :)等。
例如:算术运算符可以用于对变量进行加减乘除等操作,如 a + b、c - d;关系运算符用于比较两个变量的大小关系,如a > b;逻辑运算符用于进行逻辑判断,如 a > b && c < d;位运算符用于对二进制位进行位操作,如 a & b。
2. 指针是C语言中的一种特殊数据类型,用于存储变量的内存地址。
可以通过指针来间接访问或修改对应内存地址中的数据。
指针在C语言中具有重要作用,可用于动态分配内存、传递参数、实现数据结构等。
例如,int *p; 声明了一个整型指针变量p,可以用来存储整型变量的地址。
3. C语言中的控制结构包括顺序结构、分支结构(if-else语句、switch-case语句)和循环结构(for循环、while循环、do-while循环等)。
顺序结构按照代码的先后顺序依次执行;分支结构根据条件的判断结果选择执行不同的代码段;循环结构根据条件的判断结果重复执行一段代码。
这些控制结构在程序设计中用于控制程序的流程和逻辑。
题目二:编程题(30分)实现一个简单的学生成绩管理系统,要求能够输入学生信息(包括姓名、学号、各科成绩等),并能够计算并显示学生的平均成绩和总成绩。
全国计算机等级考试c语言试题及答案一、选择题(每题2分,共20分)1. 在C语言中,用于定义一个结构体的关键字是()。
A. structB. unionC. enumD. typedef答案:A2. 下列哪个选项是合法的C语言常量?A. 0x1AB. 1.2.3C. 0.1eD. 0.1E5答案:A3. C语言中,用于定义一个整型数组的语句是()。
A. int a[5];B. int a[];C. int a=5;D. int a[5]={0};答案:A4. 若有定义语句:int a=1, b=2; 则执行以下语句后,变量a的值是多少?```ca=b;b=a;```A. 1B. 2C. 3D. 4答案:B5. 下列哪个选项是C语言中的合法字符串常量?A. "hello"B. 'hello'C. "helloD. "hello\答案:A6. 在C语言中,用于声明一个函数的关键字是()。
A. defineB. declareC. functionD. void答案:D7. 下列哪个选项是C语言中的合法变量名?A. 2variableB. variable2C. _variableD. int答案:C8. C语言中,用于定义一个指针变量的语句是()。
A. int *p;B. int *p = 0;C. int p;D. int *p = 1;答案:A9. 在C语言中,用于定义一个二维数组的语句是()。
A. int a[2][3];B. int a[2][3] = {{1,2,3}, {4,5,6}};C. int a[2][3] = 0;D. int a[][] = {{1,2,3}, {4,5,6}};答案:A10. 下列哪个选项是C语言中的合法浮点数?A. 3.14B. .14C. 3.14e-2D. 3.14E+2答案:C二、填空题(每题2分,共10分)1. 在C语言中,表示逻辑与的运算符是____。